Analisi e diagrammi di struttura: esercizi

Documenti analoghi
ESERCITAZIONE. Francesco Poggi A.A

SCHEDE CRC E DIAGRAMMA DELLE CLASSI

Introduzione a UML. Ingegneria del Software () Introduzione a UML A.A / 42

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Classi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini

UML2. Package di Analisi. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Ingegneria del Software 6. Classi e oggetti. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Il modello Entità/Relazioni (ER)

ESERCITAZIONE ER-1. a.a Basi di Dati e di Conoscenza. Basi di dati

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

SOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni

UML I diagrammi implementativi

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

Corso di Basi di Dati

I diagrammi di struttura - I parte

Alcuni diagrammi. OCL (Object Constraint Language)

Progettazione Concettuale. Raccolta e analisi dei requisiti

Fondamenti di Informatica

UML UNIFIED MODELING LANGUAGE

Ingegneria del Software

Tecniche di sviluppo di progetti. Lezione 4: Diagrammi UML

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

UML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino

CLASS DIAGRAM PARTE 1

UML Diagrammi delle classi. UML Diagramma classi 1

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Class Diagram. Unified Modeling Language (2) Classi. Definiscono la visione statica del sistema

DIAGRAMMI DEI PACKAGE

Esercitazione di Basi di Dati

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

Progettazione concettuale A. Ferrari

Casi d uso: esercizi

SYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

PROGETTO DA PRESENTARE COME PROVA D ESAME DEL CORSO INGEGNERIA DEL SOFTWARE PER ALLIEVI IN INGEGNERIA ELETTRONICA (V.O.

Antinisca Di Marco. Laboratorio di Ingegneria del Software a.a

Modellazione discreta con UML

Il PROCESSO UNIFICATO

Principi di Progettazione del Software a.a

Le Basi di dati: progettazione concettuale

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione parte seconda

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

MICROSOFT ACCESS IL MODELLO E/R

Modellazione dei dati in UML

IL MODELLO ER. Modello ER. ì En#ty-Rela#onship (ER) ì Diagrammi ER. ì Unified Modeling Language (UML)

Introduzione a UML. + Classi e oggetti. Ingegneria del Software B a.a /2010 Laura Semini. Ruolo dell analisi e della progettazione

Il diplomato in "Amministrazione, Finanza e Marketing specializzato in Sistemi Informativi Aziendali" nel mercato del lavoro

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Il modello Entità-Relazioni (entity-relationship)

Progettazione del Software

Progettazione del Software Analisi

Progettazione Concettuale/1

Progettazione del Software

Diagrammi dei package. All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi

A. Ferrari progettazione concettuale

Esercitazione su UML Ingegneria del Software - San Pietro

Progettazione del Sofware

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

Alcune info sulle prossime lezioni

FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI A. A. 2004/2005

A. Ferrari Object Oriented Design

Il modello Entity-Relationship: elementi avanzati

OO design pattern. Design pattern: motivazioni

Laboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale

Laboratorio di Progettazione di Sistemi Software Design Patterns

Progettazione del Software

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Progettazione del Software

Il modello Entity-Relationship: elementi avanzati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

INGEGNERIA DEL SOFTWARE

I3A LAUREA IN INGEGNERIA CIVILE E AMBIENTALE

SCD IS. Documentazione. Domande ricorrenti 1. Cosa documentare. Come documentare. Perché documentare 3. Domande ricorrenti 2. Perché documentare

<Nome Tabella>.<attributo>

FONDAMENTI DI INFORMATICA 2

SAPIENZA Università di Roma, Facoltà di Ingegneria (sede di RIETI)

Il modello relazionale. A. Ferrari

Un esempio di progettazione concettuale

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Corso di Informatica

Giovanni A. Cignoni 1

Diagrammi di classe e sistemi orientati agli oggetti

Esercizi su Modello Entità-Relazioni

A Descrizione: ruota effetti opzionale con supporto/ optional effects wheel with support/ iprofile FLEX MODIFICHE. Codice assemblato:

Ski Ways Documento di Progettazione. Ingegneria del Software, A.A. 2016/2017 Andrea Boscaro, Michele Dal Ben, Alberto Carraro, Davide Niero


Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Principi di Progettazione del Software a.a

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

Transcript:

Analisi e diagrammi di struttura: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 1 / 18

Modello di dominio e classi di analisi Estrarre un insieme di classi di analisi dalla specifica del problema (ne parleremo tra poco) Ragionare su queste classi: quali attributi e quali operazioni devono fornire? Stendere una mappa delle classi e delle loro relazioni. Modellare la dinamica delle classi con i diagrammi di comportamento. Procedere per raffinamenti successivi fino a quando il modello rappresenta efficacemente il dominio del problema. Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 2 / 18

Come estrarre le classi di analisi Una classe di analisi modella un concetto o entità del problema: se la specifica dei casi d uso è buona i concetti basilari sono già in evidenza. I candidati più probabili sono nomi che compaiono nella specifica e nella documentazione. Una ragione in più per tenere un glossario di progetto: le parole nel glossario sono spesso candidati ideali per diventare classi di analisi. Le classi di analisi non sopravviveranno necessariamente alla progettazione. Due metodi molto diffusi per trovare le classi di analisi: analisi nome-verbo analisi CRC (di cui oggi non parleremo) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 3 / 18

Analisi nome-verbo Si analizza tutta la documentazione disponibile, selezionando nomi e verbi. I nomi: (es: conto corrente) sono i potenziali candidati per divenire classi o attributi. I predicati nominali: (es: numero del conto corrente) sono i potenziali candidati per divenire classi o attributi. I verbi: (es: aprire) sono potenziali candidati a divenire responsabilità di classe. Notate che ancora non parliamo di UML! Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 4 / 18

Un po di notazione UML Person Person -age : int +getage() : int Jim : Person age = 10 : Person Le classi possono avere fino a 3 slot: nome (in UpperCamelCase), attributi (opzionale) e operazioni (opzionale) Attributi e operazioni hanno diverse visibilità (public, private, protected, package) Gli oggetti (istanze) hanno una notazione molto simile Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 5 / 18

Relazioni tra classi Ci sono alcune relazioni statiche tra classi particolarmente importanti in UML: Generalizzazione Associazione Aggregazione/Composizione Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 6 / 18

Esempi e notazione UML Mammal Vertebrate Company employer 1 employs employee * Person ComputerCluster 0..1 * Computer House 1 1..* Room Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 7 / 18

Esercizi Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 8 / 18

Esercizio Appartamento Rappresentare il seguente testo tramite un diagramma UML delle classi: Un appartamento è composto da una o più stanze, ciascuna delle quali ha una lunghezza e una larghezza. Un appartamento è posseduto da uno o più persone. Un palazzo ha un certo numero di piani ed è composto da uno o più appartamenti. Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 9 / 18

Esercizio Appartamento Rappresentare il seguente testo tramite un diagramma UML delle classi: Un appartamento è composto da una o più stanze, ciascuna delle quali ha una lunghezza e una larghezza. Un appartamento è posseduto da uno o più persone. Un palazzo ha un certo numero di piani ed è composto da uno o più appartamenti. Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 10 / 18

Esercizio Appartamento Aggregazione o composizione? Aggiungere la classe Piano? Come cambia il diagramma? Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 11 / 18

De Montfort University (DMU) Disegnare un diagramma delle classi di analisi per modellare il dominio: De Montfort University (DMU) offre percorsi formativi ciascuno dei quali porta al conseguimento di un titolo di riconoscimento. Ogni titolo di riconoscimento è pubblicizzato nel prospetto informativo di DMU Ogni percorso comprende differenti moduli Gli studenti di un percorso seguono fino a 8 moduli all anno Alcuni titoli sono congiunti, ad esempio uno studente può iscriversi a due differenti percorsi (come contabilità e ragioneria ) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 12 / 18

De Montfort University (DMU) Disegnare un diagramma delle classi di analisi per modellare il dominio: De Montfort University (DMU) offre percorsi formativi ciascuno dei quali porta al conseguimento di un titolo di riconoscimento. Ogni titolo di riconoscimento è pubblicizzato nel prospetto informativo di DMU Ogni percorso comprende differenti moduli Gli studenti di un percorso seguono fino a 8 moduli all anno Alcuni titoli sono congiunti, ad esempio uno studente può iscriversi a due differenti percorsi (come contabilità e ragioneria ) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 13 / 18

De Montfort University (DMU) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 14 / 18

De Montfort University (DMU) Completare il diagramma per rappresentare (parte 1): La DMU è composta di 6 Facoltà Ogni facoltà definisce un numero di materie ( contabilità, ragioneria, etc.) di cui si occupano moduli differenti e che sono insegnate in percorsi differenti. E successivamente (parte 2): Il consiglio di Facoltà è composto da studenti e da staff accademico o ammistrativo Lo staff accademico insegna un numero arbitrario di moduli Lo staff accademico supervisiona diversi studenti, ciascuno dei quali segue un percorso formativo Alcuni rappresentanti dello staff amministrativo sono consiglieri ma non insegnano Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 15 / 18

De Montfort University (DMU) Completare il diagramma per rappresentare (parte 1): La DMU è composta di 6 Facoltà Ogni facoltà definisce un numero di materie ( contabilità, ragioneria, etc.) di cui si occupano moduli differenti e che sono insegnate in percorsi differenti. E successivamente (parte 2): Il consiglio di Facoltà è composto da studenti e da staff accademico o ammistrativo Lo staff accademico insegna un numero arbitrario di moduli Lo staff accademico supervisiona diversi studenti, ciascuno dei quali segue un percorso formativo Alcuni rappresentanti dello staff amministrativo sono consiglieri ma non insegnano Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 16 / 18

De Montfort University (DMU) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 17 / 18

De Montfort University (DMU) Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 18 / 18