1. UML 2 ed il Processo Unificato

Похожие документы
Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software L-A

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

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Ingegneria del Software e Programmazione Web, ISPW Laboratorio di Applicazioni Web, LAS

Il PROCESSO UNIFICATO

Ingegneria del Software T

UML I diagrammi implementativi

UniRoma2 - Ingegneria del Software 1 1

Introduzione a UML. Obiettivi. Unified Modeling Language. Gli autori di UML. Cos è UML. Cos è UML (cont.) Unified Modeling Language

UML GML- Classi di Oggetti

2. Modellazione dei casi d uso

3. Ciclo di Vita e Processi di Sviluppo

Introduzione a UML. Adriano Comai. versione 19 marzo Adriano Comai. Introduzione a UML Pag.

Linguaggi di Modellazione & UML

MODELLO e RAPPRESENTAZIONE

Progettazione orientata agli oggetti Introduzione a UML

Linguaggi, Traduttori e le Basi della Programmazione

Informatica per l Ambiente e il Territorio

UNIVERSITÀ DEGLI STUDI DI MILANO- BICOCCA CORSO EROGATO IN MODALITÀ BLENDED- LEARNING SYLLABUS

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

Ingegneria del Software UML - Unified Modeling Language

Elena Baralis 2007 Politecnico di Torino 1

I Diagrammi di Flusso OO

UML - Unified Modeling Language

PROGETTAZIONE DEL SOFTWARE

Modellazione dei dati in UML

Introduzione a UML. Iolanda Salinari

SETA Selection Tool del Sistema ARTIST

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

UML e (R)UP (an overview)

Introduzione ai casi d uso

Corso di Ingegneria del Software. Activity Diagram

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A Prof. Giuseppe Visaggio Presentazione

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

Programmazione in C. Requisiti didattici

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo

IL PROCESSO di PROGETTAZIONE

Ingegneria del Software

Università degli studi dell Aquila Sistemi informativi aziendali

Tecnologie dei Sistemi di Automazione

Università degli studi dell Aquila. Sistemi informativi aziendali 9 C.F.U.

Basi di dati. Elena Baralis Politecnico di Torino

Ingegneria del So-ware

Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni

Introduzione ad UML. Perché modelliamo

APPENDICE 4 AL CAPITOLATO TECNICO

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

Linguaggi di Programmazione

Valutazione di strumenti per la modellazione UML

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Elementi di UML (7): Diagrammi dei componenti e di deployment

13. Ciclo di Vita e Processi di Sviluppo

Транскрипт:

1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25

Sommario 1 Informazioni Generali 2 Unified Modeling Language Costituenti fondamentali Architettura 3 Unified Process (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 2 / 25

Sommario Informazioni Generali 1 Informazioni Generali 2 Unified Modeling Language Costituenti fondamentali Architettura 3 Unified Process (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 3 / 25

Obiettivi Formativi Informazioni Generali Al termine del corso il vostro bagaglio di competenze dovrebbe essersi arricchito con: conoscenza delle problematiche della modellazione del software Conoscenza del linguaggio di modellazione unificato Al termine del corso dovreste esser capaci di: Applicare il processo unificato allo sviluppo di sistemi software complessi utilizzare lo Unified Modeling Language per specificare e progettare i diversi elementi di un sistema software complesso utilizzare strumenti specifici di supporto allo sviluppoper di sistemi software sviluppare applicazioni web attraverso l uso di Content Management Systems (CMS) (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 4 / 25

Informazioni Generali Materiale di studio Testo di riferimento: Jim Arlow, Ila Neustadt UML2 e Unified Process - analisi e progettazione Object Oriented, 2 a Ed. Italiana Addison-Wesley, 2006. Testi di consultazione: Craig Larman Applicare UML ed i Pattern - Analisi e progettazione orientata agli oggetti, 3 a Ed. Italiana Prentice Hall, 2005. Materiale fornito dal docente (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 5 / 25

Informazioni Generali UML e UP cosa sono? a cosa servono? come sono interrelati? UML - Unified Modeling Language: linguaggio di modellazione grafico di sistemi software Generale non è esclusivamente un linguaggio per definire applicazioni software OO i diagrammi sono generalmente facilmente comprensibili agli utenti con un minimo di conoscenze nel campo UP - Unified Process: specifica un processo di sviluppo del software indica le attività che devono essere eseguite, i manufatti etc etc UP descrive attività e raccomanda uso di UML. Vivono bene in simbiosi ma non necessariamente uno implica l altro. (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 6 / 25

Informazioni Generali Un po di storia... 1994: molti linguaggi di modellazione e molta confusione nel mondo dei metodi OO. Esistevano comunque alcuni primi della classe - Booch e Rumbaugh per i linguaggi di modellazione e Jacobson nelle metologie 1994: primo tentativo di unificazione - il linguaggio Fusion 1994: Booch e Rumbaugh si uniscono nella Rational Corporation dando vita a quello che chiamano UML 1996: Object Management Group (OMG) lancia una prima proposta di standardizzazione di UML 1997: OMG approva lo standard UML 1.0 2000: UML 1.4 - linguaggi di azione 2006: UML 2.0 2006... : Model Driven Architecture (MDA) (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 7 / 25

Informazioni Generali Model Driven Architecture Nel 2003 OMG parte iniziativa per MDA: obiettivo derivare codice eseguibile direttamente dai modelli Idee generali: CIM (Computer Independent Model) e PIM (Platform Independent Model) specifiche del software che non contengono nessun riferimento a piattaforme reali PSM (Platform Specific Model) i modelli del punto precedente vengono trasformati per contenere informazioni dipendenti dalla piattaforma su cui il software verrà deployed Ogni volta che volete far girare su nuova piattaforma rigenerate PSM utilizzando opportuno trasformatore (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 8 / 25

Informazioni Generali MDA... continua Nella visione dello MDA è possibile derivare il 100% del codice soltanto agento sui modelli. Esistono tool che generano tra il 70% ed il 90% del codice. Per i curiosi/volenterosi esistono tool che permettono di cominciare a giocare con MDA: AndroMDA (www.andromda.org) Eclipse Modeling Framework (www.eclipse.org/emf) (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 9 / 25

Sommario Unified Modeling Language 1 Informazioni Generali 2 Unified Modeling Language Costituenti fondamentali Architettura 3 Unified Process (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 10 / 25

Unified Modeling Language UML ed oggetti Principio base di UML è che un sistema software possa essere visto come un insieme di oggetti che collaborano. Vengono considerati due aspetti fondamentali del sistema: Struttura statica: oggetti necessari e relazioni tra questi Comportamento dinamico: come gli oggetti collaborano per raggiungere lo scopo (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 11 / 25

Unified Modeling Language UML e la sua struttura Costituenti Fondamentali: entità, relazioni, diagrammi Meccanismi comuni: techniche per personalizzare l uso dell UML e raggiungere obiettivi specifici Architettura: come UML descrive l architettura di un sistema In effetti l UML in quanto linguaggio può essere modellato e progettato utilizzando lo UML stesso! (Meta-Modello) (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 12 / 25

Unified Modeling Language Costituenti fondamentali Costituenti Fondamentali Entità Le entità costituiscono gli elementi di modellazione: entità strutturali entità comportamentali entità di raggruppamento entità informative (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 13 / 25

Unified Modeling Language Costituenti Fondamentali Relazioni Costituenti fondamentali Relazione mostrano come due entità (o più) sono correlate. Dunque la relazione stabilisce un legame semantico tra diverse entità. Esempi... (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 14 / 25

Unified Modeling Language Costituenti Fondamentali Diagrammi Costituenti fondamentali Forniscono viste su apsetti particolari del sistema che state progettando. Attenzione il singolo diagramma non è il modello del sistema!! (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 15 / 25

Diagrammi UML Unified Modeling Language Costituenti fondamentali UML definisce tredici differenti tipi di diagramma: Struttura di un diagramma UML (tipo, nome, parametri)... (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 16 / 25

Unified Modeling Language Specifiche ornamenti distinzioni comuni meccanismi di estendibilità (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 17 / 25

Unified Modeling Language specifiche Diagrammi due differenti dimensioni: grafica: strato sintattico testuale: semantica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 18 / 25

ornamenti Unified Modeling Language Permettono di arricchire la vista di un elemento aggiungendo informazioni presenti nel modello. Differenti diagrammi prevedono differenti ornamenti (class diagram) (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 19 / 25

Unified Modeling Language distinzioni comuni Classificatore/Istanza Interfaccia/Implementazione (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 20 / 25

Unified Modeling Language Classificatori Attore Classe Componente Interfaccia Nodo Segnale Caso d uso (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 21 / 25

Unified Modeling Language meccanismi di estendibilità vincoli valori etichettati stereotipi profili (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 22 / 25

Unified Modeling Language Architettura Il modello 4+1 architectural view (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 23 / 25

Sommario Unified Process 1 Informazioni Generali 2 Unified Modeling Language Costituenti fondamentali Architettura 3 Unified Process (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 24 / 25

Unified Process Il Processo Unificato Caratteristiche principali: Processo Iterativo ed Incrementale Guidato dai Casi d uso è incentrato sull architettura (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 25 / 25