Il linguaggio UML Luca Lista.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Introduzione a UML (c) TECNET DATI.
Unified Modeling Language
Recupero debito quarto anno Primo incontro
Progettazione concettuale
Real World UML Omid Ehsani Senior Consultant and Trainer Omid Ehsani Senior Consultant and Trainer
DALLE RELAZIONI AGLI OGGETTI
UML: Class Diagram 1 Corso IS I /03
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA DI INGEGNERIA – SEDE DI MODENA Corso di Laurea in Ingegneria Informatica PROGETTAZIONE UML NELLAMBITO.
Principi di Programmazione Object-Oriented
Principi di Programmazione Object-Oriented
Programmazione orientata agli oggetti OOP Object Oriented Programming
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
Modulo Object Oriented Programming (Linguaggio Java)
8. Progettazione del Software
Interfacce. Interfacce come strumento di progetto Scelta delle classi di un progetto Criteri di coesione e accoppiamento Interfacce e riuso di codice.
Distributed Object Computing
Programmazione orientata agli oggetti nel calcolo scientifico
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.
Programmazione con Interfacce
Ciclo di vita del software
Introduzione alla modellazione di sistemi interattivi
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Introduzione a C#.
Introduzione allAnalisi e Design ad oggetti Luca Lista.
Progetto di Controllo dei Processi
L’ingegneria del software
Introduzione alla programmazione Object Oriented
Dipartimento di Informatica e Sistemistica
La tecnologia CWM Alessandro Lorenzi A.A.2002/2003.
Presentazione Finale Team 2

Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Esercitazioni di Ingegneria del Software con UML
‘Progettazione SW in ambito Industriale’ Attivita’ di supporto al corso ‘Ingegneria del SW’ Esempio di progetto di un sistema di misura secondo la metodologia.
Progettazione concettuale di SI basati su Web
Evoluzione di UML Andrea Bencini
O C L Object Constraint Language
Programmazione ad oggetti
Lezione 1 Panoramica sui paradigmi di programmazione
Introduzione a UML.
Programmazione ad oggetti
Diagramma delle Classi
Mapping Database Atsilo Componenti : Antonio Cesarano Luca Di Costanzo Luigi Lomasto.
1 LABORATORIO DI INFORMATICA Ingegneria Informatica Dott. Giorgio Cicerchia a.a ° Ciclo.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Fondamenti di Informatica II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Politecnico di Milano Dipartimento di Elettronica ed Informazione Progettazione di applicazioni Web Based – Esercitazione 1 Sistemi Informativi – INF N.O.
Alberto Colombo Fulvio Frati
Unified Modeling Language
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software 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.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
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.
1 Diagramma delle Classi. 2 Diagramma delle classi Grafico che fornisce una vista strutturale (statica) del sistema in termini di classi attributi operazioni.
Diagrammi Implementativi
UML Creato da: Enrico Tarantino Alessandro Vilucchi Roberta Barcella.
Transcript della presentazione:

Il linguaggio UML Luca Lista

Metodi Object Oriented Grady Booch Jim Rumbaugh Ivar Jacobson Booch Method by Grady Booch OMT by Jim Rumbaugh Objectory (Use Cases) by Ivar Jacobson CRC by R.Wirfs-Brock Di recente introduzione: UML uno standard OMG (Object Management Group), dal novembre 1997

Unified Modeling Language Class Diagrams Sequence & Collaboration Diagrams Use Case Diagrams State Diagrams The Unified Modeling Language provides a rich set of diagrams which can be used to document almost all aspects of a software model. Class (and object) diagrams to show the “static” appearance of the model, with the various classes, their methods and attributes and the relationships among them, Use case diagram to illustrate the various use cases , their relationships and the “actors” participating in them. A whole set of sequence, collaboration, interaction, state diagrams to describe the dynamic behavior of the system.

Modello UML (Class diagram) Il nostro piccolo esempio in notazione UML. Vediamo: le classi astratte (riconoscibili dal nome in italico), le frecce che indicano l'ereditarietà, la notazione per l’aggregazione con il ruolo e la cardinalità. In alcune classi sono mostrati i metodi (parte bassa) e gli attributi (parte alta) con i simboli di privato, protetto e pubblico. UML, a differenza di Booch, è poco orientato al C++ e quindi molte altre proprietà, importanti in C++, non possono essere mostrate.

Concetti delle classi rivisitati Relazioni tra oggetti Decomposizione funzionale all’interno di una classe responsabilità dei metodi Decomposizione funzionale tra più classi responsabilità delle classi Object Oriented Design makes use also of many well known techniques which have been used successfully for many years such as entity-relationship models, functional decomposition and, why not, structural programming

Rappresentazione delle classi Nome + metodo(arg) # metodo(arg) - metodo(arg) - dato attibuti pubblico protetto privato operatori

Attributi e metodi Notazione di Rational Rose Protetto (#) Publico (+) Privato (-) Protetto (#) Notazione di Rational Rose

Principali relazioni fra classi associazione aggregazione by reference (il composito non vive senza il componente) aggregazione by value (aggregazione fisica: esistenza contemporanea) dipendenza generalizzazione (inheritance)

Aggregazione (contenimento) By reference (condivisa) un autista guida più automobili By value (possesso) una automobile possiede il suo motore

Cardinalità e direzionalità Non navigabile Il punto non conosce i poligoni Il poligono è costituito da punti

Non c’è nessuna associazione C’è comunque relazione di uso Dipendenza Non c’è nessuna associazione C’è comunque relazione di uso Il CD non conosce il CDPlayer Il CDPlayer usa il CD: se cambia il formato del CD il CDPlayer deve essere modificato

Generalizzazione (ereditarietà) virtuale!

Class Diagram Another UML diagram: this time for the Trajectory surface package. We can directly compare the diagram with the C++ to better understand the semantics of the various symbols.

Class Diagram Class diagrams should not necessarily show all class and relationship in the software with all their details. They are intended to document particular aspects of the model architecture and design and therefore should contain only the details relevant to the part the designer wants to stress. This diagram is intended to describe the Plane class and onlly the details of the relationships among Plane and the classes which collaborate with it are shown

Object Sequence Diagram Sequence Diagrams are a powerful tool to describe the dynamic behavior of the model. Usually a Sequence Diagram is associated to a “scenario” Each participating object is represented by a vertical line Horizontal arrows shows messages send from one object to another. The sequence of the messages, an therefore the development of the scenario, is easily seen reading the diagram from top to bottom.

Object Collaboration Diagram Object Collaboration Diagrams convey exactly the same information as Sequence Diagrams and there is indeed a one to one correspondence among the components of the two diagrams. The only difference is the focus: The Sequence diagram focuses on the temporal sequence of the messages while the OCD more on the collaboration among the various objects. My opinion is that using either one or the other is just a manner of personal taste although I find the sequence diagrams more clear and better matching the textual presentation of a scenario.