Ingegneria del Software
|
|
- Amando Puglisi
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 UML e gli Use Case Diagrams
2 Outline Cos è UML Scopi, storia, obiettivi Fornire alcuni elementi di base su UML Introdurre i diagrammi principali Fornire indicazioni sulle modalità di utilizzo di UML
3 Unified Modeling Language (UML) linguaggio per la descrizione di diverse tipologie di sistemi (software, hardware, organizzativo, ) Standard OMG (Object Management Group), dal nov.1997 Creatori: Grady Booch, Ivar Jacobson e Jim Rumbaugh noti come los gringos dell Ingegneria del SW
4 Definizione ufficiale Un linguaggio per specificare, visualizzare, e realizzare i prodotti di sistemi software, e anche per il business modeling. L UML rappresenta una collezione di "best engineering practices" che si sono dimostrate utili nella progettazione di sistemi complessi e di grandi dimensioni.
5 Cos è UML E un linguaggio di modellazione e specifica di sistemi, basato sul paradigma object-oriented Serve a specificare le caratteristiche di un nuovo sistema, oppure a documentarne uno già esistente E uno strumento di comunicazione tra i diversi ruoli coinvolti nello sviluppo e nell evoluzione dei sistemi UML svolge un'importantissima funzione di lingua comune nella comunità della progettazione e programmazione a oggetti. Gran parte della letteratura di settore usa UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico
6 Cosa NON è UML Non è una metodologia E un linguaggio, non un metodo completo Notazione e sintassi sono standard La semantica è spesso intuitiva e non sempre formalmente definita o universalmente accettata. Non è un linguaggio di specifica formale La semantica è spesso intuitiva e non sempre formalmente definita o universalmente accettata. UML non è legato ad uno specifico processo, e non fornisce indicazioni sul proprio utilizzo. Quindi può essere (ed è) utilizzato da persone e gruppi che seguono approcci diversi (è indipendente dai metodi ) UML è indipendente dal linguaggio di programmazione utilizzato
7 Breve Storia I linguaggi per la modellazione object-oriented iniziano a svilupparsi negli anni '80. notazioni di varia natura, per descrivere la struttura di un sistema software a oggetti (in termini di classi e relazioni fra classi) ed il suo comportamento dinamico. La proliferazione di queste notazioni diede luogo a quelle che furono poi battezzate guerre dei metodi (method wars), con diverse organizzazioni,che adottavano e sostenevano una particolare notazione a scapito delle altre. Nella metà degli anni '90 diversi metodi e linguaggi iniziarono a fondersi, e si iniziò a delineare la possibilità di una integrazione dei principali formalismi in una notazione universalmente accettabile. Fra le metodologie e le notazioni più apprezzate e diffuse del periodo spiccavano OMT (Object Modeling Technique) di Rumbaugh, e il cosiddetto metodo Booch di Grady Booch, entrambi ricercatori presso Rational Software. Il lavoro di unificazione iniziò con loro; in seguito si unì a questo sforzo Jacobson con la sua software house Objectory. Il primo risultato congiunto di questo team fu OOSE (Object Oriented Software Engineering).
8 Breve Storia (2) Mentre "i tre gringos" operavano per unificare i propri approcci all'analisi e alla progettazione a oggetti, il progetto fu accolto sotto l'egida dell'omg (Object Management Group). Nel 1995, l'omg raccolse tutti i principali metodologisti del settore in un incontro internazionale per discutere della notazione unificata. Nel 1996 l'omg emise una RFP (Request for Proposal) per tale notazione. Nello stesso anno, Booch, Rumbaugh e Jacobson misero a punto le release 0.9 e 0.91 di UML. Il progetto fu ben accolto dalla comunità internazionale e molte grandi organizzazioni si unirono a Rational per proseguirlo. Questo gruppo esteso realizzò, nel 1997, UML 1.0, che fu sottoposto alla OMG come risposta alla RFP dell'anno precedente. La release 1.1 di UML contribuì a consolidare la semantica del linguaggio e incluse elementi tratti da una proposta avanzata indipendentemente all'omg da un gruppo composto da IBM, ObjectTime, Ptech e altre.
9 Breve Storia (3) La versione 2.0 di UML, ufficializzata da OMG nel 2005, presenta numerose novità rispetto alla precedente versione 1.5, che resta comunque quella più diffusamente supportata dai tool di modellazione e citata nella letteratura. Principali novità di UML 2.0 : ampliamento, razionalizzazione e revisione del metamodello, permettendo una maggiore flessibilità introduzione del linguaggio formale OCL come parte integrante di UML numerosi nuovi elementi per la costruzione dei diagrammi tradizionali alcuni nuovi tipi di diagrammi
10 Panoramica del Linguaggio
11 Aspetti della modellazione Il progetto e l'architettura del sistema sono il risultato di una serie di decisioni importanti formulate ad un livello astratto. Un linguaggio per la descrizione del progetto è opportuno che sia fortemente basato su diagrammi. Un singolo diagramma non può catturare ogni aspetto rilevante: molteplici aspetti sono descritti da una molteplicità di diagrammi dedicati Il diagramma non è il progetto: è una rappresentazione del modello (di una parte) del progetto e ne cattura un aspetto in un formato che facilita la discussione.
12 Aspetti della modellazione UML consente di descrivere un sistema secondo tre aspetti: Il modello funzionale rappresenta il sistema dal punto di vista dell'utente, ovvero ne descrive il suo comportamento così come esso è percepito all'esterno, prescindendo dal suo funzionamento interno. Questo tipo di modellazione serve nell'analisi dei requisiti. La modellazione funzionale utilizza gli Use Case Diagram. Il modello statico rappresenta la struttura e sottostruttura del sistema utilizzando i concetti object-oriented di classe, oggetto, le relazioni fra classi e fra oggetti. Questo tipo di modellazione può essere utilizzata sia nella fase di analisi del dominio che nelle varie fasi di progetto a diversi livelli di dettaglio. Utilizza class diagram, object diagram, e deployment diagram. Il modello dinamico rappresenta il comportamento degli oggetti del sistema, cioè le dinamiche delle loro interazioni. È strettamente legato al modello a oggetti e viene impiegato negli stessi casi. Utilizza i sequence diagram, gli activity diagram e gli statechart diagram.
13 Viste Categorizzaione più fine: Vista dei casi d'uso: Use Case Diagram. Vista logica: quali parti del sistema sono legate concettualmente; modelli statici e dinamici per la la specifica del comportamento logico del sistema. Vista del processo: pone l'attenzione sui flussi del controllo; quali possono avvenire in parallelo; quali vanno sincronizzati (per il soddisfacimento di vincoli non-funzionali); diagrammi di interazione, stato, attività, deployment per la descrizione dei flussi di controllo. Vista dello sviluppo: aspetti di gestione dello sviluppo e riuso; diagrammi dei componenti e diagrammi dei package. Vista fisica: più concreta di quella di processo si concentra sull'esecuzione del software sulle macchine fisiche; diagrammi di deployment.
14 Classificazione dei Diagrammi UML (v. 2.x) diagrammi strutturali : diagramma delle classi (class) diagramma degli oggetti (object) diagramma dei componenti (component) diagramma delle strutture composite (composite structure) diagramma di deployment(deployment) diagramma dei package (package) diagrammi comportamentali di interazione : diagramma di sequenza (sequence) diagramma di comunicazione (communication) diagramma dei tempi (timing) diagramma di sintesi dell interazione (interaction overview) diagrammi comportamentali : diagramma dei casi d uso (usecase) diagramma di stato (statechart) diagramma delle attività (activity)
15 UML - considerazioni UML è il frutto di una rielaborazione di linguaggi preesistenti è adatto a esprimere modelli di varia tipologia, creati per obiettivi diversi. può descrivere un sistema software a diversi livelli di astrazione UML è sufficientemente espressivo per rispondere ad un ampio spettro di necessità di modellazione Può essere ritagliato in base alle specifiche esigenze dei progettisti e dei progetti, utilizzando solo ciò che serve nello specifico contesto
16 UML Diversi usi I modelli documentano decisioni di progetto e sono spesso utilizzati per la comunicazione tra le parti interessate. La produzione dei modelli è una attività dispendiosa (tempo) e costosa. Strategie: Riduzione della spesa: produzioni di modelli rapidi, non conservati e senza strumenti di supporto (ad esempio nei modelli di sviluppo agili) Aumento del valore: usare I modelli come Input per altri strumenti (ad esempio generazione del codice dai class diagram, generazione automatica dei casi di test...)
17 Gli Use Case Diagrams
18 Casi d uso I casi d'uso documentano il comportamento del sistema dal punto di vista dell'utente. Utente: qualsiasi si trovi fuori dal sistema e interagisca col sistema. La modellazione dei casi d'uso aiuta a modellare vari aspetti dello sviluppo: La definizione dei requisiti La pianificazione delle interazioni La validazione del sistema. Per questa fase UML offre i diagrammi dei casi d uso che vanno usualmente accompagnati a documentazione testuale strutturata (ad es. tabelle di Cockburn) o altri diagrammi di maggior dettaglio.
19 Caso d Uso Una sequenza di azioni, incluse le varianti, che un sistema compie per produrre un risultato osservabile che ha un valore per un attore Un caso d uso corrisponde a un compito che l attore vuole eseguire (l attore inizia il caso d uso) o il sistema deve eseguire (il sistema inizia il caso d uso) La descrizione di un caso d uso definisce cosa accade nel sistema in seguito all evento di innesco Generalmente lo stimolo di inizio parte dall attore ma può anche essere il sistema stesso a iniziare il caso d uso Uno scenario è una istanza di caso d'uso e rappresenta una interazione concreta di un attore con il sistema. Uno Use Case Diagram è l insieme di tutti i casi d uso. E una descrizione sintetica e completa delle funzionalità che offre un sistema e del contesto in cui opera.
20 Applicazione dei Casi d Uso Possono aiutare a identificare i requisiti fornendo una procedura di lavoro strutturata. Si identificano gli attori Per ogni attore: Cosa chiede al sistema (attore principale); Quali altre interazioni ha con il sistema, a quali casi d'uso prende parte per beneficiare altri (attore secondario) Per ciascun caso d'uso, per aspetti organizzativi di sviluppo (ad esempio, per stabilire gli incrementi nel processo iterativo): Importanza del caso d'uso e chi ne desidera la realizzazione; Rischi del caso d'uso; Tempistica di realizzazione e risorse richieste.
21 Diagramma dei Casi d Uso Contiene Attori Casi d uso Relazioni di associazione, dipendenza e generalizzazione Usato per modellare il contesto di un sistema Confini del sistema Gli attori sono esterni al sistema I casi d uso sono all interno del sistema Usato per modellare (visualmente) i requisiti funzionali Ogni caso d uso corrisponde a uno o più requisiti funzionali Ogni caso d uso è coinvolto in una qualche relazione Possibili diversi livelli di dettaglio Decomposizione gerarchica Individuazione di funzionalità riusabili
22 Elementi grafici del modello dei casi d uso Attore: è qualcuno (utente) o qualcosa (sistemi esterni dispositivi hardware) che: Controlla le funzionalità Fornisce input o riceve output dal sistema Ha un nome univoco all interno di un diagramma NB: gli attori identificano ruoli Più utenti con lo stesso ruolo Più ruoli per il medesimo utente Attore Use Case: è una funzionalità offerta dal sistema Caso d uso
23 Esempio di diagramma
24 Confini del sistema
25 Use Case Uno USE CASE rappresenta una classe di funzionalità offerte dal sistema, in termini di un flusso di eventi. Estendi prenotazione Uno Use Case è identificato da: Un nome univoco L insieme degli attori che vi partecipano La condizione di Entry Il Flusso degli Eventi Le condizioni di Exit Altre precondizioni
26 Esempio di descrizione di un Caso d Uso Nome: EstendiPrenotazione Attori: BookBorrower Entry condition: Utente con accesso al sistema. Utente accreditato Utente ha già in prestito il libro Flusso Eventi 1. Richiesta autenticazione 2. Utenente digita codice utente 3. Autenticazione 5. Richiesta estensione 6. Inserimento codice prestito 7. Verifica prenotazioni 8. Estensione prenotazione Exit condition: Utente ha esteso prestito.
27 Relazioni tra Use - Case Associazione: identifica relazioni semplici tra attori e casi d uso Include: fattorizza proprietà comuni. Extend: Varianti di comportamento. A può essere visto come una variante di B Generalization: si applica sia ad attori che a use case. A eredita il comportamento di B. A può essere sostituito ad ogni occorrenza di B
28 Relazione di inclusione
29 Relazione di inclusione Registra la decisione di utilizzare un componente o di evitare di ripetere le stesse informazioni su più casi d'uso. La fattorizzazione facilita la comprensione Identificazione delle possibilità di riuso. Granularità inclusioni: ogni inclusione rappresenta un caso d'uso significativo anche dal punto di vista della produzione
30 Relazione extend
31 Relazione extend Si utilizzano quando un caso d'uso riassume scenari diversi con uno scenario principale e alcune possibili varianti lecati a punti interni di decisone. Le varianti sono presentate casi d'uso legati da relazione extend. La descrizione comprende: La condizione sotto cui si presenta la variante Il punto in cui si verifica la decisione (Punto di estensione)
32 Generalizzazione use case
33 Generalizzazione attori Si applica quando un attore specializza l'interazione generica col sistema di un altro attore ereditando le sue possibilità di interazione La relazione è indicata da una freccia con la punta non riempita.
34 Esempio
35 Descrizione testuale degli Use Case La notazione diagrammatica è molto astratta e concisa e non permette di rappresentare informazione rilevante sugli scenari (Precondizioni, flusso del controllo, postcondizioni, etc). Ad ogni Use Case viene associata una descrizione più dettagliata spesso usando formati di testo strutturato (formati non regolati di UML) Esistono molti approcci e formati diversi in letteratura.
36 Dettaglio testuale Use Case
37 Diagrammi di CockBurn
38 Diagrammi di CockBurn(2)
39 Corrispondenza tra Casi d'uso e diagrammi di Cockburn Ogni caso d'uso dovrebbe avere in corrispondenza con un diagramma di Cockburn o una sua estensione o subvariazione (e viceversa). Per ogni caso d'uso U' che estende un caso d'uso U ci dovrebbe essere una extension in corrispondenza di U' nel diagramma di cockburn che corrisponde a U. Ogni caso d'uso U' che specializza un caso d'uso U potrebbe essere ragionevolmente in corrispondenza o con un diagramma di cockburn autonomo o con una subvariazione del diagramma di cockburn per U. Ogni caso d'uso che rappresenta una inclusione dovrebbe essere rappresentato da una diagramma di Cockburn autonomo di Level 'subfunction'.
40 Guida alla scrittura dei Casi d'uso I nomi dei casi d uso dovrebbero includere verbi I nomi di Attori dovrebbero essere sostantivi I casi d uso iniziano con un azione di un attore (trigger) Le relazioni causali nel flusso del controllo dovrebbero essere chiare Un caso d uso dovrebbe descrivere uno scenario completo Le varianti allo scenario principale dovrebbero essere descritte nelle sezioni apposite Un caso d uso non dovrebbe descrivere un interfaccia del sistema (utilizzare prototipi mock-up!) Un caso d uso non dovrebbe superare due o tre pagine
41 Guida alla scrittura dei Casi d'uso Errori da evitare: Modellare operazioni esterne al sistema (ad esempio rappresentare funzionalità di un sistema esterno che partecipa come attore); Introdurre generalizzazioni/specializzazioni improprie (ad esempio se un attore specializzato non ha uno Use Case distintivo è inutile); Adottare livelli di granularità troppo fine nella individuazione di casi d'uso inclusi (ogni caso d'uso dovrebbe avere associata una rilevanza non trascurabile nei tempi implementativi) non si deve tentare di rappresentare il flusso dei passi elementari mediante un diagramma Use Case (il flusso va allegato a documenti testuali). Evitare diagrammi troppo intricati ed illeggibili che vanificano l'efficacia comunicativa.
Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
DettagliIngegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
DettagliUML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009
UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata
DettagliIntroduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007
Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2006/2007 1 Che cos è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
DettagliUML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president:
UML Unified Modeling Language (UML) Lo standard emergente nella progettazione del software (e non solo) Perchè usare la progettazione visuale? Perchè usare la progettazione visuale? Ken Jacobs, Oracle
DettagliWeb Application Engineering
Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa
DettagliIngegneria del Software UML - Unified Modeling Language
Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliCasi d uso: esercizi
Casi d uso: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Casi d uso: esercizi A.A. 2013-2014 1 / 35 Tools UML ArgoUML, http://argouml.tigris.org/ Eclipse MDT UML2, http://www.eclipse.org/uml2/
DettagliUniRoma2 - Ingegneria del Software 1 1
Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software
DettagliLa Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013
La Raccolta dei Requisiti Corso di Ingegneria del Software Anno Accademico 2012/2013 Introduzione La raccolta dei requisiti è il processo della determinazione in forma testuale (anche grafica) di che cosa
DettagliLaboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi
DettagliCorso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili
DettagliProgettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di
DettagliIngegneria del Software I. UML - Use Case Diagram
Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale
DettagliModulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo
Modulo 16 Introduzione ai Design Patterns Partiamo da un analogia Obiettivo: costruire una casa. Tutte le case sono simili, ma non uguali, cioè: Tutte le case assolvono alla medesima funzione: offrire
DettagliMicrosoft Visio 2002 UML Sergio Colosio
Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra
DettagliIl PROCESSO UNIFICATO
Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante
DettagliIntroduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.
Introduzione a UML versione 19 marzo 2010 http://www.analisi-disegno.com Introduzione a UML Pag. 1 Obiettivo di questa introduzione fornire alcuni elementi di base su UML introdurre i diagrammi fornire
DettagliPROGETTAZIONE DEL SOFTWARE
PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!
DettagliProgettazione orientata agli oggetti Introduzione a UML
Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,
DettagliLaboratorio di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object
DettagliIntroduzione a UML. Iolanda Salinari
Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare
DettagliProgettazione del Sofware
Corso Serale Progettazione del Sofware Perché Modellare un Sistema Necessità di realizzare un artefatto, indipendentemente dalla sua dimensione e settore di interesse (una casa, un particolare macchinario,
DettagliProgetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it
Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica
DettagliUML un linguaggio universale per la modellazione del software. Adriano Comai
UML un linguaggio universale per la modellazione del software Adriano Comai 2 Finalmente uno standard per l analisi e disegno OO? L'obiettivo è ambizioso. Lo Unified Modeling Language (UML) vuole essere,
DettagliIntroduzione ai casi d uso. Iolanda Salinari
Introduzione ai casi d uso Iolanda Salinari Dai requisiti ai casi d uso definire gli obiettivi gli obiettivi del committente derivano da una o più esigenze di cambiamento funzionale e/o organizzativo e/o
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliCasi d uso: esercizi
Casi d uso: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini e Sara Zuppiroli) A.A. 2012-2013 Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 1 / 36 Tools UML ArgoUML,
DettagliProgettazione del Software
Progettazione del Software Analisi: UML Use Cases & Documenti di Specifica Domenico Lembo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Corso di Laurea in Ingegneria
DettagliStudio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti
tesi di laurea Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti Anno Accademico 2005/2006 relatore Ch.mo Prof. Stefano Russo correlatore Ing. Generoso Paolillo candidato
DettagliPolitecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework
Politecnico di Milano Progetto di Ingegneria del Software 2 MPH - Manage Project Homework Project Planning Docente: Autori Capiotto Roberto, matricola 783825 Prof.ssa Di Nitto Elisabetta Conforto Andrea,
DettagliIL PROCESSO di PROGETTAZIONE
IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto
DettagliBasi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati
Basi di Dati Cosa vuol dire progettare una base di dati? Il DBMS non va progettato il DBMS si acquista o esiste già è impossibile pensare di sviluppare un DBMS anni di sviluppo necessità di elevate competenze
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliLinguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
DettagliAttività vs. Stato. Elementi di UML (4) Activity diagram. Activity diagram: notazione (1/3) Activity diagram: notazione (2/3)
Elementi di UML (4) Attività vs. Stato UML 1! Attività: Un insieme di azioni che deve essere necessariamente ed interamente completato prima di potersi considerare terminato.! Stato: Un punto ben preciso
DettagliMetodologie e modelli di progetto
Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliTecniche di sviluppo di progetti. Lezione 4: Diagrammi UML
Tecniche di sviluppo di progetti Lezione 4: Diagrammi UML Struttura di un progetto UML Un progetto software è composto da parti, dette diagrammi UML. Ogni diagramma UML contiene un tipo ben definito di
DettagliREGIONE BASILICATA UFFICIO S. I. R. S.
UFFICIO S. I. R. S. Modellazione dati Id Base Dati CONTROLLO DEL DOCUMENTO APPROVAZIONI Redatto da: Approvato da: Data Autore Ing. Vincenzo Fiore VARIAZIONI Versione prec. Data Autore Paragrafi modificati
DettagliIntroduzione alla OOP Object Oriented Programming
Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali
DettagliI livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria
Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali
DettagliUML e (R)UP (an overview)
Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare
DettagliIntroduzione ad UML. Perché modelliamo
Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la
DettagliMateriale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso
DettagliCorso di Ingegneria del Software. Activity Diagram
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.
DettagliMODELLO e RAPPRESENTAZIONE
MODELLO e RAPPRESENTAZIONE I calcolatori elaborano informazione e restituiscono nuova informazione: questa deve essere rappresentata in forma simbolica Esempio : Per poter gestire una biblioteca dobbiamo
DettagliModellazione funzionale con Data Flow Diagram
Modellazione funzionale con Data Flow Diagram 1 1 I Data Flow Diagram Traggono origine dalla teoria dei grafi e sono stati utilizzati anche precedentemente all avvento dei computer per la gestione delle
DettagliStrategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down
Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più
DettagliModellazione di sistema
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di
DettagliPROGETTARE SISTEMI INFORMATIVI. Fasi e relativi approcci
PROGETTARE SISTEMI INFORMATIVI Fasi e relativi approcci OBIETTIVI 1. Descrivere un approccio generale per pianificare e impostare il progetto di un S.I. 2. Identificare i passi fondamentali 3. Illustrare
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliModelli e Metodi per la Simulazione (MMS)
Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di
DettagliUML - Unified Modeling Language
UML E CASI D USO UML - Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a
DettagliUML e i linguaggi di programmazione non OO
Appendice A UML e i linguaggi di programmazione non OO Introduzione Molte volte si è detto che lo UML è un linguaggio di modellazione che sebbene ideato per la progettazione di sistemi Object Oriented
DettagliStrumenti di modellazione. Gabriella Trucco
Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell
DettagliLaboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività
Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole
DettagliInformatica Industriale Modello funzionale: Informazione Modello Entità-Relazione
DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
Dettaglioggetti, classi e notazione UML
oggetti, classi e notazione UML 1 object orientation il paradigma object oriented è usato come linguaggio per esprimere modelli domain models design models implemenetation models ecc. tutto ciò che vedremo
DettagliParadigma object-oriented
Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced
DettagliEsercitazione di Basi di Dati
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035
DettagliAnalisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
DettagliComputer skills advanced problem solving e computational thinking
Computer skills advanced problem solving e computational thinking Prof. Raffaella FOLGIERI DEAS, Dipartimento di Scienze Economiche, Aziendali e Statistiche aa 2011/2012 Computational thinking Nuovo paradigma
DettagliREPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA
REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di
DettagliUML. Una introduzione incompleta. UML: Unified Modeling Language
UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli
DettagliI Diagrammi di Flusso OO
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a
DettagliAvete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION
1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università
DettagliPIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI
PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI ATTIVITA CHE ESAMINEREMO: 1. ANALISI PRELIMINARE identificazione problema / opportunita analisi di utenti, fabbisogni, requisiti, obiettivi, ecc. DOCUMENTO
DettagliConsidera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del
DettagliAnalisi e progettazione ad oggetti
Analisi e progettazione ad oggetti Richiami di Analisi e progettazione ad oggetti L idea di base della analisi ad oggetti è di partire da una descrizione del problema in termini di entità e relazioni tra
DettagliProgettazione di siti Web
Progettazione di siti Web Tipi di siti Siti statici Siti dinamici Software di progetto/gestione Editor visuali Content Management System Siti Internet Un sito Internet è come un qualsiasi altro S.I. ma
DettagliIngegneria del Software T. Analisi orientata agli oggetti
Ingegneria del Software T Analisi orientata agli oggetti Obiettivo Specificare (cioè definire) le proprietà che il sistema dovrà avere senza descrivere una loro possibile realizzazione Risultato: una serie
DettagliDescrizione processo
ALLEGATO B Standard Parte 3 Descrizione processo Ver. Pagina 1 di 16 SOMMARIO 1. INTRODUZIONE... 3 1.1 SCOPO E CAMPO DI APPLICAZIONE... 3 1.2 RIFERIMENTI... 3 1.3 GLOSSARIO ED ACRONIMI... 3 1.3.1
DettagliIngegneria del Software L-A
Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che
DettagliIntroduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali
Unified Modeling Language Introduzione Davide Frey Corso di Ingegneria del Software Tratto dal materiale di Luciano aresi Politecnico di Milano Modellazione visuale Perché UML richiesta ordine consegna
DettagliBasi di Dati Concetti Introduttivi
Università Magna Graecia di Catanzaro Informatica Basi di Dati Concetti Introduttivi Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri,
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliUnified Modeling Language
Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo
DettagliSOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.
SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 SOMMARIO Introduzione
DettagliLaboratorio di Progettazione di Sistemi Software Design Patterns
TITLE Laboratorio di Progettazione di Sistemi Software Design Patterns Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali Strutturali Comportamentali
DettagliProgrammazione di INFORMATICA e Laboratorio
ISIUO ECNICO SAALE settore ECNOLOGICO ad indirizzo: Elettronica ed Elettrotecnica - Informatica e elecomunicazioni Meccanica, Meccatronica ed Energia "VIORIO EMANUELE III" Via Duca della Verdura, 48-90143
DettagliI lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo
Luca Cabibbo Analisi e Progettazione del Software Capitolo 3 marzo 2016 Agilità:1, ogni altra cosa: 0. Tom DeMarco 1 *** AVVERTENZA *** I lucidi messi a disposizione sul sito del corso di Analisi e progettazione
DettagliBASI DI DATI. basi di dati - introduzione ai sistemi informativi 1
BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliDiagrammi di classe e sistemi orientati agli oggetti
Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema
DettagliProgrammazione con Java
Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliLaboratorio di Progettazione di Sistemi Software Introduzione
Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring
DettagliSOMMARIO CHE COS È UML
INTRODUZIONE A UML INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2016 2017 rcardin@math.unipd.it 2 Famiglia di notazioni grafiche
DettagliProgettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni
LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al
DettagliRational Unified Process Introduzione
Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un
DettagliDescrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento
Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di
DettagliANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)
ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML) a cura di Giacomo PISCITELLI Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari Questi appunti sono ricavati da una
Dettagli