Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Stefano Russo » 29.Studio di un caso


Descrizione dell’applicazione

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).

Ciclo di sviluppo

Il ciclo di sviluppo si articola nelle fasi di analisi dei requisiti, progettazione e programmazione. Gli artefatti prodotti sono:

  • il diagramma dei casi d’uso, il diagramma di collaborazione e un elenco delle classi di analisi (fase di analisi);
  • il diagramma di distribuzione, il diagramma delle classi, il diagramma di collaborazione, e la specifica IDL (fase di progettazione);
  • il codice in linguaggio Java dell’applicazione distribuita, basata sul middleware CORBA (fase di programmazione)

Caso d’uso “Acquisto prodotto da Catalogo”


Descrizione del caso d’uso


Definizione delle classi

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”.

Definizione delle classi

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.

Progettazione

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.

Diagramma di distribuzione


Diagramma delle classi


Diagramma di sequenza


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93