UML: Introduzione Corso IS I - 2002/03 Gianna Reggio Versione 0.0.

Slides:



Advertisements
Presentazioni simili
Approximate Sequence Matching: Implementazione e Analisi Prestazionale
Advertisements

Introduzione a UML (c) TECNET DATI.
Analisi e progettazione
Unified Modeling Language
Sistemi informativi e Sistemi informatici
Progettazione concettuale
Real World UML Omid Ehsani Senior Consultant and Trainer Omid Ehsani Senior Consultant and Trainer
Una Introduzione alle Basi di Dati
Specifiche Algebriche
UML: Class Diagram 1 Corso IS I /03
Corso IS I /03 Esame Scritto - Parte generale 10 Giugno 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole sempre.
Generalità Linguaggio e Macchina Astratta
1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il.
Principi di Programmazione Object-Oriented
Principi di Programmazione Object-Oriented
©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Argomenti Avanzati di Sistemi Informativi Approfondimento su Workflow e Web Services: "Gestione delle eccezioni: confronto tra soluzioni per applicazioni.
Il linguaggio UML Luca Lista. Metodi Object Oriented –Booch Method by Grady Booch –OMT by Jim Rumbaugh –Objectory (Use Cases) by Ivar Jacobson –CRC by.
UML: Class Diagram Corso IS I /03
UML: Extension Mechanism Corso IS I /03 Gianna Reggio Versione 0.0.
Corso IS I /03 Esame Scritto - Parte generale 4 Febbraio 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole.
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
L’ingegneria del software
Introduzione alla programmazione Object Oriented
UML: Collaboration diagram Corso IS I /03 Gianna Reggio Versione 1.0.
La tecnologia CWM Alessandro Lorenzi A.A.2002/2003.
Sistemi Informativi sul Web
Il linguaggio UML Luca Lista.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 -Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Esercitazioni di Ingegneria del Software con UML
Progettazione concettuale di SI basati su Web
1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.
Evoluzione di UML Andrea Bencini
O C L Object Constraint Language
Programmazione ad oggetti
Lezione 1 Panoramica sui paradigmi di programmazione
Introduzione a UML.
Diagramma delle Classi
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
LABORATORIO DI INFORMATICA Ingegneria Informatica a. a
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Unified Modeling Language
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Corso di Laurea in Informatica
UML: Sequence diagram Corso IS I /03 Gianna Reggio Versione 0.0.
UML: Constraints-OCL Corso IS I /03
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
1 Metodologie di Programmazione §tecniche per la programmazione orientata ad oggetti §esemplificate utilizzando il linguaggio Java §testo di riferimento.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
1 Metodologie di Programmazione §tecniche per la programmazione orientata ad oggetti §esemplificate utilizzando il linguaggio Java §testo di riferimento.
4/18/ :18 AM.
InI0405 DISP-URM2 UML - Introduzione Informatica Industriale Docenti -Prof. Giovanni Cantone, UniRM2 -Dott. Ing. Giuseppe Calavaro,
Standard e strumenti per lo sviluppo del software Marco Carezzano Andrea Andrenacci (ZEROPIU, Business Partner di Telecom Italia) Milano, 2 febbraio 2005.
Unified Modeling Language. –un linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema software –uno standard OMG (Object Management.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Programmazione orientata agli Oggetti Introduzione a Java.
Introduzione alle Classi e agli Oggetti in Java 1.
Diagrammi Implementativi
UML Creato da: Enrico Tarantino Alessandro Vilucchi Roberta Barcella.
Transcript della presentazione:

UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0

versione 0.0 Cosa è UML UML = Unified Modelling Language –MODELLI *Il processo di sviluppo di un sistema software (o di una sua parte) consiste essenzialmente nel produrre una serie di elaborati (artifacts) che definiscono ˚tale sistema a diversi livelli di astrazione, es. requisiti dal punto di vista dell’utilizzatore del sistema, progetto (design) ˚particolari aspetti di tale sistema, es. prestazioni (Quality Of Service), dominio su cui opera il sistema *quindi occorre produrre descrizioni di (particolari aspetti) (parti di) sistemi software, i modelli –LANGUAGE *notazione visuale object-oriented per presentare modelli –UNIFIED *sviluppato dall’incontro dei “Three Amigos” *in pratica una collezione di varie notazioni integrate tra di loro, rese OO e “standardizzate”

versione 0.0 Storia di UML (1) linguaggi di programmazione OO –Simula-67, Smalltalk-80, Java 1996, C# (200?) metodi OO di analisi e design –Shalaer&Mellor (1988) –Coad & Yourdon (1990,1991) –Booch (1991) –Rumbaugh et all (1991) –Jacobson et all (1992) –…. moltissimi altri –differenti metodi, basati su differenti rappresentazioni visuali per classi/oggetti/… three amigos

versione 0.0 Storia di UML (2) metà anni novanta affermazione di *OMT-2 (Rumbaugh) *Booch "Object-oriented Analysis and Design with Applications", second edition, 1994 *Objectory (Jacobson) –molte similarità, inorporano vari aspetti da altri metodi 1994 Rumbaugh e Booch iniziano a lavorare alla Rational per unificare i loro metodi 1995 si unisce Jacobson sviluppo di UML e di “Unifed Software Development Process” 1996 UML 0.9

versione 0.0 Storia di UML (3) 1996 OMG (Object Management Group) lanciò una RFP per un linguaggio di modellazione OO Rational fonda un consorzio con IBM, HP, Microsoft, Oracle,… per rispondere 1997 UML 1.1 accettato dall’OMG 1998 UML UML 1.3 nel corso useremo questa 2001 UML 1.4 UML 2.0 –in corso di sviluppo (doveva già essere finito) –importanti aggiunge e modifiche di parti problematiche

versione 0.0 UML: Overview (1) Object-oriented Visuale (diagrammi, non puro testo) Un gruppo di notazioni integrate –class diagram *classi (operazioni, attributi), associazioni, specializzazione, aggregazione,… CONSTRAINTS –collaboration diagram *come alcuni oggetti collaborano tra di loro scambiandosi messaggi (chiamate di metodi) per realizzare una qualche attività –sequence diagram *collaboration ma mostrando l’ordine temporale degli scambi di messaggi –statechart diagram *comportamento dinamico di entità di vari tipi (oggetti, use case, metodi) –activity diagram *per descrivere workflow (attività e loro relazioni causali) –use case diagram *l’uso da parte dei fruitori di un sistema (prossimamente) –altre che non vedremo *component diagram, deployment diagram

versione 0.0 UML: Overview (2) estensibile, in realtà è una famiglia di linguaggi –estremamente generale e molto ricco *usarlo per particolari domini, particolari tipi di applicazioni, particolari tecnologie implementative richiede di adattarlo (terminologia: definire un profilo) ˚per Corba (vedere Sistemi distribuiti ??) ˚per Enterprise Java Beans (vedere TAPS) *offre lui stesso i meccanismi per definire le sue varianti (es. stereotypes) –espressioni, tipi, azioni (statements) parzialmente definiti è possibile usare il proprio linguaggio per tali parti *linguaggio naturale *di programmazione (Java, C++,…) *OCL (Object Constraint Language) per espressioni e tipi nel corso OCL + gli ovvi statement imperativi per il controllo del flusso

versione 0.0 UML: come è definito (1) sintassi –molto diverso dai soliti linguaggi (es. Java) –astratta *espressa in modo OO, utilizzando una semplicissima notazione OO (sottoinsieme di UML) *corrispondente definizione XML –concreta *diagrammi frammento esempio

versione 0.0 UML: come è definito (2) correttezza statica (well-formedness) –constraints (proprietà, condizioni logiche) sulla sintassi astratta semantica –definita informalmente utilizzando il linguaggio naturale –problemi *incompletezza, ambiguità, inconsistenze,...

versione 0.0 Cosa non è UML un modello del processo di sviluppo software un metodo OO per produrre software –esistono tantissimi metodi basati su UML *RUP (Rational Unified Process) *COMET (per sistemi distribuiti) *quello che useremo in questo corso (Astesiano&Reggio) uno strumento CASE (Computer Aided Software Engineering) –esistono molti strumenti che supportano l’uso di UML *Rational Rose *Together (che useremo nel corso) un linguaggio di programmazione OO –ma i tools aiutano a generare codice a partire dai modelli UML

versione 0.0 Sources definizione ufficiale ( Unified Modeling Language Specification 1.3 (file pdf nel sito del corso) pdf –per specialisti, o problemi specifici –notare che *Semantics ˚sintassi astratta + semantica informale *Notation guide ˚sintassi concreta Libro usato nel corso –UML, Bennet-Skelton-Lunn (serie Shaum’s Outlines) [edizione italiana in biblioteca] Altri libri/materiale vedere sito corso