La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il linguaggio UML Luca Lista.

Presentazioni simili


Presentazione sul tema: "Il linguaggio UML Luca Lista."— Transcript della presentazione:

1 Il linguaggio UML Luca Lista

2 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

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

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

5 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

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

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

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

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

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

11 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

12 Generalizzazione (ereditarietà)
virtuale!

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

14 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

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

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


Scaricare ppt "Il linguaggio UML Luca Lista."

Presentazioni simili


Annunci Google