PROGETTAZIONE DEL SOFTWARE

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROGETTAZIONE DEL SOFTWARE"

Transcript

1 PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI Cos è UML UNIFIED MODELING LANGUAGE! Linguaggi di modellazione formali e informali! Livelli d uso di UML! Viste del modello! Panoramica sui diagrammi! Note e Stereotipi! Use Case! Activity Diagram! State Machine Diagram! Class/Object Diagram! Sequence Diagram E.Casalicchio -- Progettazione del Software a.a. 2009/2010 2

2 LA STORIA DI UML!!! UML sta per Unified Modeling Language, perché il progetto UML nasce nel 1994 come unificazione di:! Booch! Rumbaugh: OMT (Object Medeling Technique)! Jacobson: OOSE (Object-Oriented Software Engineering) Storia! 1995: Versione 0.8 (Booch, Rumbaugh)! 1996: Versione 0.9 (Booch, Rumbaugh, Jacbson)! Versione 1.0 (BRJ + Digital, IBM, HP,...)! 1999, 2004: Versione 1,3, 1.4, 1.5, UML si diffonde universalmente! 2005: Versione 2.0, nuova versione (estende la versione 1.5) Riferimento:! G. Booch, J. Rumbaugh, I. Jacobson, The unified modeling language user guide, Addison Wesley, (2 ed. 2005)! E.Casalicchio (basato su materiale di G.De Giacomo) Progettazione del SW II Parte 3 COS È UML! Il linuaggio di modellazione standard per lo sviluppo di software e sistemi! UML permette di! Tenere traccia dei componenti di cui si ha bisogno e la loro funzione! Quali requisiti del cliente soddisfano! Condividere il lavoro (ossia i vari artefatti progettuali)! UML permette di modellare un sistema! Astrarre i dettagli inutili! Dare una visione semplificata del sistema/problema! Un linguaggio di modellazione formale permette di essere precisi come con un linguaggio di programmazine! precisione =machine-readability, intrepretability, executability, and transformation E.Casalicchio -- Progettazione del Software a.a. 2009/2010 4

3 LINGUAGGIO DI MODELLAZIONE! Notazione + Semantica! Notazione = elementi descrittivi quali! Pseudo-codice! Codice! Figure! Diagrammi! Descrizione testuale!! Semantica = descrizione del significato degli elementi descrittivi! Perche UML? Ha 6 vantagi E.Casalicchio -- Progettazione del Software a.a. 2009/ VANTAGGI DI UML! E un linguaggio formale! E conciso! E completo! E Scalabile! Costruito sull esperienza (on lesson learned)! E standard E.Casalicchio -- Progettazione del Software a.a. 2009/2010 6

4 ESEMPIO: MODELLAZIONE MEDIANTE CODICE E.Casalicchio -- Progettazione del Software a.a. 2009/ ESEMPIO: MODELLAZIONE MEDIANTE CODICE! Nessun dettaglio viene astratto! Modella solo l implementazione del SW! Completo e non-ambiguo! Non mi da informazioni su! Come verrà usato il sw! Chi utilizzarà il software! Come verrà sviluppato, distribuito e supportato! Non da una visione globale the big picture is missing entirely! Non mi da strumenti per comunicare, ossia SPIEGARE il software! Come, le varie componenti interaggiscono e come soddisfano i requisiti?! Il codice non sempre può essere riutilizzato, un modello può spesso essere riutilizzato E.Casalicchio -- Progettazione del Software a.a. 2009/2010 8

5 MODELLARE CON LINGUAGGI INFORMALI! Verbosità, ambiguità e confusione! Non ci sono regole esatte per la notazione! Il modelo non può essere trasformato, e.g. non si può generare codice a partire dal modelo E.Casalicchio -- Progettazione del Software a.a. 2009/ MODELLARE CON LINGUAGGI INFORMALI E.Casalicchio -- Progettazione del Software a.a. 2009/

6 MODELLARE CON LINGUAGGI FORMALI! No-ambiguità, giusto livello di verbosità, no confisione! Preciso significato attribuito alla notazione! Un diagramma (composizione di elementi della notazione) descrive una parte del modello ma non tutto! Possibilità di trasformare il modello, e.g. generare codice E.Casalicchio -- Progettazione del Software a.a. 2009/ ESEMPIO DI DIAGRAMMA FORMALE: IL CLASS DIAGRAM E.Casalicchio -- Progettazione del Software a.a. 2009/

7 FORMALISMO = DISAMBIGUAZIONE E.Casalicchio -- Progettazione del Software a.a. 2009/ LIVELLI DI UTILIZZO DI UML! Come una bozza (as a sketch)! Come una mappa/disegno tecnico (as a blueprint)! Come un linguaggio di programmazione E.Casalicchio -- Progettazione del Software a.a. 2009/

8 ! Vista Logica! Parti del sistema KRUCTHEN 4+1 VIEW MODEL! Class, object, state machine, interaction diagram! Vista di Processo! Processo nel sistema! Activity diagram! Vista Fisica! Come il processo è portato alla vita! Deployment diagram! Vista Use Case! Funzionalità del sistema viste dal mondo esterno! Use Case, description, overview diagram Logical View Physical View Use Case View Process View Development View E.Casalicchio -- Progettazione del Software a.a. 2009/ UN ALTRA CLASSIFICAZIONE DEI DIAGRAMMI UML! Diagrammi strutturali:! Diagramma delle classi e degli oggetti (class and object diagram)! Diagrammi comportamentali:! Diagramma degli use case (use case diagram),! Diagramma degli stati e delle transizioni (state/transition diagram),! Interaction (Sequence e Collaboration diagram),! Activity diagram! Diagrammi architetturali:! Component diagram! Deployment diagram E.Casalicchio (basato su materiale di G.De Giacomo) Progettazione del SW II Parte 16

9 ! Cos è UML UNIFIED MODELING LANGUAGE! Linguaggi di modellazione formali e informali! Livelli d uso di UML! Viste del modello! Panoramica sui diagrammi! Note e Stereotipi! Use Case! Activity Diagram! State Machine Diagram! Class/Object Diagram! Sequence Diagram E.Casalicchio -- Progettazione del Software a.a. 2009/ NOTE! Note: commenti addizionali = commenti nel codice E.Casalicchio -- Progettazione del Software a.a. 2009/

10 STEREOTIPI! Sterotype: uso speciale o intento d uso di un elemento! applicabile ad ogni elemento E.Casalicchio -- Progettazione del Software a.a. 2009/ USE CASE DIAGRAM! Composto da Actors e Use Case! Funzionalità del sistema viste dal mondo esterno E.Casalicchio -- Progettazione del Software a.a. 2009/

11 USE CASE: BOUNDARIES E REFINEMENT (INCLUDE) E.Casalicchio -- Progettazione del Software a.a. 2009/ Logical View Process View ACTIVITY DIAGRAM Use Case View Physical View Development View! come il sistema svolgerà i suoi compiti! simile ai flow-chart! modellazione dei business process E.Casalicchio -- Progettazione del Software a.a. 2009/

12 ACTIVITY DIAGRAM: ACTIVITY AND ACTIONS E.Casalicchio -- Progettazione del Software a.a. 2009/ ACTIVITY DIAGRAM: DECISION E.Casalicchio -- Progettazione del Software a.a. 2009/

13 ACTIVITY DIAGRAM: DECISION E.Casalicchio -- Progettazione del Software a.a. 2009/ ACTIVITY DIAGRAM: UML 1.X VS UML 2.0 E.Casalicchio -- Progettazione del Software a.a. 2009/

14 ACTIVITY DIAGRAM: FORK AND JOIN E.Casalicchio -- Progettazione del Software a.a. 2009/ ACTIVITY DIAGRAM: CHIAMATA DI ATTIVITÀ E.Casalicchio -- Progettazione del Software a.a. 2009/

15 ACTIVITY DIAGRAM: PASSAGGIO DI OGGETTI, INPUT/ OUTPUT, TRASFORMAZIONI E.Casalicchio -- Progettazione del Software a.a. 2009/ ACTIVITY DIAGRAM: CAMBIAMENTO DI STATO E.Casalicchio -- Progettazione del Software a.a. 2009/

16 ACTIVITY DIAGRAM: SWIMLANE! Partecipanti differenti (gruppi, ruoli) E.Casalicchio -- Progettazione del Software a.a. 2009/ CLASS DIAGRAM Logical View Process View! Il diagramm UML più conosciuto! descrive i differenti tipi di oggetti presenti nel sistema e le relazioni che intercorrono tra le classi di oggetti. Physical View Use Case View Development View E.Casalicchio -- Progettazione del Software a.a. 2009/

17 CLASS DIAGRAM E.Casalicchio -- Progettazione del Software a.a. 2009/ CLASS DIAGRAM: ATTRIBUTI E OPERAZIONI E.Casalicchio -- Progettazione del Software a.a. 2009/

18 SEQUENCE DIAGRAM! Come le parti di un sistema interagiscono! Catturano l ordine delle interazioni tra le parti E.Casalicchio -- Progettazione del Software a.a. 2009/ SEQUENCE DIAGRAM E.Casalicchio -- Progettazione del Software a.a. 2009/

19 SEQUENCE DIAGRAM E.Casalicchio -- Progettazione del Software a.a. 2009/ STATE MACHINE DIAGRAM! Quando lo stato di un oggetto/sistema è un elemento importante! real-time, mission critical systems! Dedicated devices il cui comportamento è definito dallo stato (ATM)! First-person shooter games (Doom, Half-life) Logical View Physical View Use Case View Process View Development View E.Casalicchio -- Progettazione del Software a.a. 2009/

20 STATE MACHINE DIAGRAM: TRIGGER, GUARDIE E TRANSIZIONI E.Casalicchio -- Progettazione del Software a.a. 2009/ STATE MACHINE DIAGRAM: TRIGGER, GUARDIE E TRANSIZIONI E.Casalicchio -- Progettazione del Software a.a. 2009/

Ingegneria del Software UML - Unified Modeling Language

Ingegneria 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

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - 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

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione 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

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione 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,

Dettagli

Introduzione ad UML. Perché modelliamo

Introduzione 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

Dettagli

UML e (R)UP (an overview)

UML 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

Dettagli

Modellazione di sistema

Modellazione 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

Dettagli

Progettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti

Progettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti Progettazione del Software L3.1 Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw (Basato su materiale didattico

Dettagli

UML un linguaggio universale per la modellazione del software. Adriano Comai

UML 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,

Dettagli

UML - Unified Modeling Language

UML - 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

Dettagli

Rational Unified Process Introduzione

Rational 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

Dettagli

Paradigma object-oriented

Paradigma 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

Dettagli

Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.

Introduzione 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

Dettagli

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali

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

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Analisi: Introduzione ad UML & UML Class Diagrams Domenico Lembo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Corso di Laurea in Ingegneria

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti 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

Dettagli

UML. Una introduzione incompleta. UML: Unified Modeling Language

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

Dettagli

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Activity Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è un Activity Diagram Quando si

Dettagli

Il linguaggio di modellazione UML. Rational Unified Process. Model Driven Architecture. Sistemi Informativi Aziendali

Il linguaggio di modellazione UML. Rational Unified Process. Model Driven Architecture. Sistemi Informativi Aziendali Contenuti Il linguaggio di modellazione UML Rational Unified Process. Model Driven Architecture. Sistemi Informativi Aziendali Con le slides che seguono l intento è quello di introdurre gli strumenti e

Dettagli

UML 2.0: Introduzione Versione 1.3

UML 2.0: Introduzione Versione 1.3 UML 2.0: Introduzione Versione 1.3 Gianna Reggio Modelli Rappresentazioni semplificate di entità astraendo da alcuni aspetti/dettagli irrilevanti per lo specifico scopo a cui sono destinati Usati da sempre

Dettagli

Ingegneria del Software I. UML - Use Case Diagram

Ingegneria 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

Dettagli

UML e i casi d uso. Dr. Andrea Baruzzo. S i n t a s s i e L i n e e G u i d a. andrea.baruzzo@dimi.uniud.it

UML e i casi d uso. Dr. Andrea Baruzzo. S i n t a s s i e L i n e e G u i d a. andrea.baruzzo@dimi.uniud.it UML e i casi d uso S i n t a s s i e L i n e e G u i d a Dr. Andrea Baruzzo andrea.baruzzo@dimi.uniud.it Page 2 Agenda 1 Introduzione a UML: storia, approccio e motivazioni Cos è un modello (software)?

Dettagli

Principi di Progettazione del Software a.a. 2015-2016" Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento!

Principi di Progettazione del Software a.a. 2015-2016 Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento! Principi di Progettazione del Software a.a. 2015-2016" Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento! Obiettivi della lezione" Introdurre il linguaggio UML per

Dettagli

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)

ANALISI 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

Linguaggi di Programmazione I Lezione 5

Linguaggi di Programmazione I Lezione 5 Linguaggi di Programmazione I Lezione 5 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 1 aprile 2008 Diagrammi UML 3 UML: richiami..........................................................

Dettagli

Indice. Prefazione all edizione italiana

Indice. Prefazione all edizione italiana Indice Prefazione all edizione italiana XV Capitolo 1 Il software e l ingegneria del software 1 1.1 L evoluzione del ruolo del software 3 1.2 Il software 5 1.3 La natura mutevole del software 8 1.4 Il

Dettagli

Progettazione del Software A.A.2008/09

Progettazione del Software A.A.2008/09 Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma

Dettagli

Object Oriented Programming

Object 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

Dettagli

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

Dettagli

Unified Modeling Language

Unified 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

Dettagli

LEZIONE 9 - Linguaggi di Modellazione & UML

LEZIONE 9 - Linguaggi di Modellazione & UML Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 9 - Linguaggi di Modellazione & UML Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Cosa sono? 2 1

Dettagli

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

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

Dettagli

ANALISI E PROGETTAZIONE OBJECT ORIENTED. Lorenzo Saladini

ANALISI E PROGETTAZIONE OBJECT ORIENTED. Lorenzo Saladini ANALISI E PROGETTAZIONE OBJECT ORIENTED Lorenzo Saladini 1. Introduzione In questo capitolo vengono presentati alcuni degli elementi necessari al corretto sviluppo di sistemi informatici secondo una metodologia

Dettagli

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle

Dettagli

Progettazione di Applicazioni Web

Progettazione di Applicazioni Web 1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Progettazione del Software

Progettazione del Software L4.4 Progettazione del Software Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw Seconda Parte La fase di

Dettagli

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1 La ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5. Creazione di un software: dal problema ai risultati (/2) Creazione di un software: dal problema ai risultati

Dettagli

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

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Introduzione a UML 2.0 1 parte Iolanda Salinari

Introduzione a UML 2.0 1 parte Iolanda Salinari Introduzione a UML 2.0 1 parte Iolanda Salinari Per un introduzione generale ai diagrammi UML si rimanda al tutorial Introduzione UML presente su questo sito UML E un linguaggio che serve per visualizzare

Dettagli

Principi di UML e WebML

Principi di UML e WebML Università degli Studi dell Insubria FACOLTA DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Scienze e Tecnologie dell informazione Principi di UML e WebML Metodi Formali Dell Informatica

Dettagli

Il linguaggio per la moderna progettazione dei processi aziendali

Il linguaggio per la moderna progettazione dei processi aziendali Il linguaggio per la moderna progettazione dei processi aziendali Organizzare un azienda sotto il profilo dei processi è oramai diventata una disciplina a cavallo tra la competenza aziendalistica ed informatica.

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Object Oriented Software Design

Object Oriented Software Design Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Ingegneria del Software T

Ingegneria del Software T Ingegneria del Software T Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2012/2013 Premessa Una domanda fondamentale Che cosa significa scrivere del buon software? Ingegneria del Software

Dettagli

Artifact Centric Business Processes (I)

Artifact Centric Business Processes (I) Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di

Dettagli

Sommario Unified Modeling Language Ing. Gianluca Di Tomassi www.ditomassi.it Modelli del processo SW Modello a cascata Sviluppo iterativo del SW Modello incrementale Modello a spirale Unified Modeling

Dettagli

Linguaggi di Programmazione I Lezione 6

Linguaggi di Programmazione I Lezione 6 Linguaggi di Programmazione I Lezione 6 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 aprile 2008 Analisi di oggetti e classi 3 Introduzione............................................................

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Use case diagrams and templates in the specification of functional requirements

Use case diagrams and templates in the specification of functional requirements Software Engineering - A.A. 13/14 Use case diagrams and templates in the specification of functional requirements Enrico Vicario Dipartimento di Ingegneria dell'informazione Laboratorio Scienza e Tecnologia

Dettagli

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione Obiettivo della lezione Casi d uso La modellazione dei requisiti funzionali I casi d uso Gli attori Gli scenari Come scrivere casi d uso Casi d uso (use cases) Scenari d interazione Proposti da Ivar Jacobson

Dettagli

Il modello Entity-Relationship per il progetto delle basi di dati

Il modello Entity-Relationship per il progetto delle basi di dati 1 Il modello Entity-Relationship per il progetto delle basi di dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Le metodologie di progettazione delle Basi di Dati 2 Una metodologia

Dettagli

La specifica del problema

La specifica del problema 2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a

Dettagli

Automazione della gestione degli ordini d acquisto di una società di autonoleggio

Automazione della gestione degli ordini d acquisto di una società di autonoleggio Automazione della gestione degli ordini d acquisto di una società di autonoleggio Professore Gaetanino Paolone Studenti Paolo Del Gizzi Maurizio Di Stefano 1 INDICE INTRODUZIONE.pag.3 IL PIANO METODOLOGICO

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Riepilogo della lezione

Dettagli

Processi di Sviluppo Software Introduzione. Giuseppe Calavaro

Processi di Sviluppo Software Introduzione. Giuseppe Calavaro Processi di Sviluppo Software Introduzione Giuseppe Calavaro Processi di sviluppo software - Agenda Differenza tra Programmazione e Progettazione SW I Processi di Sviluppo Software Waterfall Spirale RUP

Dettagli

Corso di Ingegneria del Software. Architetture in UML

Corso di Ingegneria del Software. Architetture in UML Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario Tipi di viste viste di tipo strutturale

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist www.roccatello.it

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it Modellazione e progettazione con UML Eduard Roccatello 3D GIS Specialist www.roccatello.it Object Oriented Analysis and Design Consente di modellare un sistema attraverso l

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera 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

Dettagli

Introduzione al Semantic Web

Introduzione al Semantic Web Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Giuseppe Loseto Dal Web al Semantic Web 2 Dal Web al Semantic Web: Motivazioni Il Web dovrebbe

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE UML Avvertenza: gli appunti si basano sul corso di Ingegneria del Software tenuto dal prof. Picco della facoltà di Ingegneria del Politecnico di Milano (che ringrazio per aver acconsentito

Dettagli

Prototipo di componente software interfacciabile via web services per le funzioni di storytelling SC7

Prototipo di componente software interfacciabile via web services per le funzioni di storytelling SC7 SC7 Prototipo di componente software interfacciabile via web services per le funzioni di storytelling 1 Indice generale 1.Introduzione al documento... 3 2.Specifiche funzionali... 4 2.1Panoramica dell

Dettagli

Use Case Driven Object Modeling: ICONIX

Use Case Driven Object Modeling: ICONIX Use Case Driven Object Modeling: ICONIX Un esempio di specifica, analisi, progetto e sviluppo utilizzando ICONIX Ditta di Noleggio Dvd Un sistema per la gestione di una ditta di noleggio dvd che ha più

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Processi BPEL. Obiettivi

Processi BPEL. Obiettivi Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Processi BPEL Corso di Sistemi Distribuiti Stefano Iannucci Anno accademico 2009/10 Email: sd@chmod.it Obiettivi Esercitazione pratica su:

Dettagli

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 16 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Nozioni di base Un sistema è una collezione di entità (es. persone o macchine) che interagiscono

Dettagli

Business Modeling UML

Business Modeling UML Business Modeling UML versione 16 marzo 2009 Adriano Comai http://www.analisi-disegno.com Obiettivo di questa introduzione fornire alcuni elementi di base sul business modeling UML i temi esposti sono

Dettagli

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello Corso di Laurea Triennale in Ingegneria Informatica Corso di Ingegneria del A. A. 2004-2005 1 La progettazione È applicata indipendentemente dal modello di processo utilizzato. Parte dal punto in cui sono

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

CIISE 2014 CONFERENZA INCOSE ITALIA SU SYSTEMS ENGINEERING. Modeling Approaches for the Design and Analysis of Complex Systems Prima Parte

CIISE 2014 CONFERENZA INCOSE ITALIA SU SYSTEMS ENGINEERING. Modeling Approaches for the Design and Analysis of Complex Systems Prima Parte CIISE 2014 CONFERENZA INCOSE ITALIA SU SYSTEMS ENGINEERING Modeling Approaches for the Design and Analysis of Complex Systems Prima Parte Università di Tor Vergata ROMA, 24-25 Novembre 2014 Model Based

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 I lucidi del corso sono stati prodotti

Dettagli

Introduzione alla Programmazione ad. Oggetti (OOP)

Introduzione alla Programmazione ad. Oggetti (OOP) Introduzione alla Programmazione ad Oggetti (OOP) Prof. Emanuele Papotto Introduzione alla Programmazione ad Oggetti Cosa Faremo: I linguaggi OOP Definizione di : classe, oggetto, attributi, metodi Cenni

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

Dettagli

Unified Modeling Language

Unified Modeling Language Unified Modeling Language 1 La modellazione del software Che cos è la modellazione? La progettazione di sistemi complessi si accompagna sempre alla realizzazione di modelli. In alcune discipline i modelli

Dettagli

Obiettivi. Sistemi Informativi SPECIFICA DEI REQUISITI FUNZIONALI. Obiettivi Specifica dei Requisiti UML Use Case Esercizi

Obiettivi. Sistemi Informativi SPECIFICA DEI REQUISITI FUNZIONALI. Obiettivi Specifica dei Requisiti UML Use Case Esercizi Sistemi Informativi SPECIFICA DEI REQUISITI FUNZIONALI Obiettivi Specifica dei Requisiti UML Use Case Esercizi Obiettivi Nelle lezioni precedenti abbiamo modellato il dominio business e i dati L obiettivo

Dettagli

LINEE GUIDA - UML - MODELLI ARCHITETTURALI

LINEE GUIDA - UML - MODELLI ARCHITETTURALI Linee guida UML Modelli Architetturali pag. 1 di 37 LINEE GUIDA - UML - MODELLI ARCHITETTURALI Adriano Comai 2002-2006 Versione 2.0 del 27-2-2006 Linee guida UML Modelli Architetturali pag. 2 di 37 INDICE

Dettagli

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale A-L, A.A. 2005-06 INFORMAZIONI AMMINISTRATIVE

Dettagli

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 22 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Prima di cominciare: Erasmus! Scadenza: 5 luglio 2012 Durata: min 3 max 12 mesi Dal 1 giugno 2012

Dettagli

Ingegneria del software e i formalismi

Ingegneria del software e i formalismi Ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5.1 Creazione di un software: dal problema ai risultati (1/2) problema ANALISI algoritmo FORMALIZZAZIONE specificazioni

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio 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

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design

Dettagli

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti Alessio Bechini - Corso di - Il paradigma OO e le relative metodologie di progettazione Metodologie OO Programmazione orientata agli oggetti La programmazione ad oggetti (OOP) è un paradigma di programmazione

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE Ingegneria del software approccio sistematico allo sviluppo, all'operatività, alla manutenzione ed al ritiro del software. Class diagram diagramma che contiene classi e relazioni

Dettagli

Bibliografia. Studio di caso: Bancomat Automated Teller Machine. uso dei diagrammi: use case, classi, collaborazione, stato

Bibliografia. Studio di caso: Bancomat Automated Teller Machine. uso dei diagrammi: use case, classi, collaborazione, stato ,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH 80/ Bibliografia Studio di caso: Bancomat Automated Teller Machine uso dei diagrammi: use case, classi, collaborazione, stato - Hassan Gomaa: Designing concurrent

Dettagli

Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams -

Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams - Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams - Henry Muccini Università degli Studi dell'aquila muccini@di.univaq.it http://www.henrymuccini.com Engineering

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli

Università 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 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

Dettagli

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

UML nella progettazione SW - 2. software

UML nella progettazione SW - 2. software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica UML nella progettazione software Giulio Destri UML nella progettazione SW - 1 Scopo del modulo Introdurre L

Dettagli

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale La Sicurezza Funzionale del Software Prof. Riccardo Sisto Ordinario di Sistemi di Elaborazione delle Informazioni Dipartimento di Automatica e Informatica Sicurezza Funzionale del Vari Aspetti Sicurezza

Dettagli

Work World WORK WORLD PROGETTO INGEGNERIA DEL SOFTWARE. Alessandro Spinelli

Work World WORK WORLD PROGETTO INGEGNERIA DEL SOFTWARE. Alessandro Spinelli WORK WORLD PROGETTO INGEGNERIA DEL SOFTWARE di Alessandro Spinelli Indice 1 - Introduzione 2 - Descrizione del problema 2.1 Requisiti funzionali 2.2 Requisiti non funzionali 3 - Analisi 3.1 Dizionario

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

Dettagli

Introduzione auml. Introduzione alla notazione UML Cenni sul metamodello I diagrammi Gli strumenti UML

Introduzione auml. Introduzione alla notazione UML Cenni sul metamodello I diagrammi Gli strumenti UML Introduzione a Introduzione alla notazione Cenni sul metamodello I diagrammi Gli strumenti Riferimenti: Booch, Rumbaugh, Jacobson, User Guide, AddisonWesley 1997 Fowler, Distilled, AddisonWesley 1998.ed.

Dettagli

3. Standard per l analisi Object Oriented

3. Standard per l analisi Object Oriented 1 3. Standard per l analisi Object Oriented Standards Object Management Group (OMG) Unified Modeling Language (UML) Ing. Alessandro Musumeci 3.-2 OMG Object Management Group: i fondatori Object Design

Dettagli

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c) DESIGN PATTERN Barrare con una X la lettera del diagramma delle classi che fra i seguenti rappresenta in modo corretto il design pattern architetturale Model View Controller (MVC) ESERCITAZIONE PREPARAZIONE

Dettagli