Un sistema per il commercio elettronico, che deve supportare diverse tipologie di utente (Fornitore, Consumatore, Banca on line) nella conduzione di vari casi d’uso (Acquisto di Prodotti da Catalogo, Gestione Ordini e Pagamenti, Gestione Magazzino).
Il ciclo di sviluppo si articola nelle fasi di analisi dei requisiti, progettazione e programmazione. Gli artefatti prodotti sono:
Interfaccia Redattore Catalogo (boundary)
Ruolo: Regola l’interazione dell’utente con il redattore del catalogo
Interfaccia Catalogo (boundary)
Ruolo: Visualizza il catalogo e fornisce un supporto alle richieste di prenotazione dei singoli prodotti (selezione del prodotto ed acquisizione della quantità da prenotare) e alla richiesta di ordine (acquisizione dei dati anagrafici necessari alla redazione dell’ordine.
Redattore Catalogo (coordinator)
Ruolo: Redige il catalogo secondo criteri di scelta e fornisce cataloghi “preconfezionati”.
Gestore Acquisti (coordinator)
Ruolo: Supporta il client nell’acquisto dei prodotti gestendo le richieste di prenotazione (selezionando il prodotto scelto, verificandone la disponibilità ed aggiungendo la prenotazione nel carrello). È inoltre responsabile della redazione dell’ordine di acquisto.
Catalogo (entity)
Ruolo: È un contenitore dei dettagli dei prodotti. È creato dal RedattoreCatalogo
Carrello (entity)
Ruolo: Contenitore temporaneo delle prenotazioni effettuate.
Prodotto (entity)
Ruolo: Rappresenta il Prodotto archiviato nel sistema.
Ordine (entity)
Ruolo: Rappresenta l’ordine sistema. È creato dal GestoreAcquisti.
In questa fase occorre definire l’architettura dell’applicazione. Tra le scelte progettuali da effettuare si segnalano quelle relative alle problematiche di:
A) interazione tra oggetti distribuiti;
B) persistenza degli oggetti;
C) interfacciamento con l’utente.
A) Un diagramma di distribuzione illustra l’allocazione degli oggetti sui nodi del sistema. L’interazione avviene attraverso il middleware CORBA.
B) la scelta in questo esempio è di impiegare un DBMS relazionale e il linguaggio standard SQL. Gli oggetti da rendere persistenti vengono progettati in modo da essere responsabili del salvataggio e ripristino del proprio stato nel/dal DBMS.
C) La progettazione delle interfacce utente viene qui trascurata, essendo irrilevante al fine di mostrare l’utilizzo dei meccanismi del middleware. L’applicazione cliente è costituita da un semplice programma di prova che emula le interazioni con l’utente.
2. La modellazione a oggetti e il linguaggio UML (richiami)
3. Generalità su Java e la programmazione ad oggetti
6. Regole di traduzione da UML a Java/C++
7. Programmazione multi-thread
8. Sincronizzazione tra thread
9. Programmazione client-server con socket TCP/IP (Java networkin...
10. Programmazione di applicazioni client-server: il Pattern Proxy...
12. Design Patterns
13. Pattern architetturali - Esempi
14. Design pattern creazionali. Esempi
15. Design pattern strutturali. Esempi
16. Introduzione alle tecnologie middleware
17. Modelli di middleware: RPC, MOM, TP, TS