10. Modellazione Concettuale Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 10. Modellazione Concettuale 1 / 10 Obiettivo Sono disponibili i requisiti del sistema specificati in forma di caso d’uso. Obiettivo è concretizzare i casi d’uso ed i requisiti identificati. (Ingegneria del Software) 10. Modellazione Concettuale 2 / 10 Modello Concettuale La modellazione concettuale intende fornire una rappresentazione concettuale del dominio di interesse. Per far questo vengono identificate classi di analisi al fine di dare una rappresentazione ben definita del dominio. (Ingegneria del Software) 10. Modellazione Concettuale 3 / 10 Identificare le classi concettuali Non esiste una ricetta magica per poter identificare le classi concettuali. Non di meno sono state sviluppate alcune tecniche che possono aiutare in questo compito. Analisi nome/verbo analisi CRC Elenchi di categorie concettuali modelli di dominio analisi RUP (Ingegneria del Software) 10. Modellazione Concettuale 4 / 10 Analisi nome/verbo Si considerino tutti i documenti prodotti Requisiti casi d’uso glossario ... Si faccia una lista dei nomi (libro) e dei pronomi nominali (classificazione libro) trovati all’interno di tali documenti (candidati a diventare classi ed attributi) si faccia elenco di verbi (catalogare) e predicati verbali (verificare prestiti già attivi) trovati all’interno di tali documenti (candidati a definire responsabilità) Attenzione alle classi nascoste! (Ingegneria del Software) 10. Modellazione Concettuale 5 / 10 Analisi CRC CRC (Classe/Responsabilità/Collaboratori) è una tecnica di identificazione delle classi organizzata su due fasi. Committenti e Analisti (ed altre parti eventualmente interessate) vengono riunite in un incontro di “brainstorming”. Ognuno deve identificare tutte le cose che agiscono nel proprio dominio Ognuna di queste “cose” viene annotata in un post-it insieme al nome ed alle responsabilità che si ritengono importanti per la classe. Cercare di identificare le classi che potrebbero avere necessità di interagire ed annotare sul post-it Nella seconda fase i post-it vengono riconsiderati per capire quali devono acquisire lo status di classe nel modello concettuale e quali invece di attributo. Nel dubbio il concetto viene inserito come classe. (Ingegneria del Software) 10. Modellazione Concettuale 6 / 10 Elenco di categorie concettuali (Ingegneria del Software) 10. Modellazione Concettuale 7 / 10 Stereotipi RUP RUP suggerisce di riflettere su tre tipi necessari di elementi di un sistema software: Controllo Entità Interazione (Ingegneria del Software) 10. Modellazione Concettuale 8 / 10 Modellazione Web (in una slide) È possibile utilizzare l’approccio per modellare applicazioni Web? Intuitivamente molto girerebbe attorno al concetto di pagina. In effetti il modello che tipicamente dovrebbe essere prodotto è un modello delle pagine che esprime il contenuto delle pagine, come queste vengono prodotte e come sono interconesse. Concetti di base saranno: Pagine web con contenuti e form Componenti lato server che generano pagine ed accedono ad informazioni sul DB Modellazione delle strutture dati e DB (Ingegneria del Software) 10. Modellazione Concettuale 9 / 10 Quale è il prossimo passo? Dal modello concettuale all’implementazione . . . Rimettendo tutto a posto (Ingegneria del Software) 10. Modellazione Concettuale 10 / 10