uml 2 - udgima.udg.edu/~sellares/einf-es2/present1213/presentaciouml2.pdf · • unified modeling...

34
UML 2 Jordi Coll Caballero Enginyeria del Sofware II, EINF

Upload: others

Post on 14-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

UML 2

Jordi Coll CaballeroEnginyeria del Sofware II, EINF

Page 2: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals

Page 3: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Què és UML?

• Unified Modeling Language

• Llenguatge gràfic per especificar, visualitzar, construïr i documentar un sistema software OO.

• Desenvolupem models

• Creat per OMG (Object Management Group)

• Última revisió: UML 2

Page 4: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals

Page 5: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

UML 2 (I)• Objectius:

• Llenguatge de modelat més extensible.• Validació i execució de models.

• Especificacions:

Page 6: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

UML 2 (II)• La superestructura defineix els diagrames que

utilitzen els desenvolupadors

Page 7: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

UML 2 (III)• La infraestructura defineix conceptes de més baix

nivell. Defineix UML en si. No és usada per els desenvolupadors de software.

• OCL (Object Constraint Language) defineix restriccions sobre elements del model (pre, post, invariants...)

• Intercanvi de diagrames (XMI): XMI (XML Metadata Exchange) facilita la portabilitat de models entre eines CASE diferents amb una mateixa representació.

Page 8: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals

Page 9: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de comportament

• Diagrames de cas d’ús

• Diagrames d’activitat

• Diagrames d’estat

• Diagrames d’interacció

Page 10: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de cas d’ús (I)• Interacció d’actors (usuaris, processos, subsistems...)

amb el sistema• Descriuen les funcionalitats del sistema• Se’n pot fer una especificació textual formal, amb les

fitxes de cas d’ús:

Page 11: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de cas d’ús (II)• Representació

• Actors representats per ninots• Casos d’ús representats per el·lipses• Comunicacions representades per segments• Es pot posar una frontera (requadre) per separar actors i

casos d’us

• Relacions entre casos d’ús• Generalització• Inclusió• Extensió

Page 12: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de cas d’ús (III)

Page 13: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’activitat• Representen processos de negoci a alt

nivell.• S’emmarquen dins de casos d’ús• Descriuen un ordre i dependències entre

les parts del procés• Representació:

• Inicien en un cercle ple, i acaben en dos cercles concèntrics (el del mig ple).

• Activitats amb cercles arrodonits• Les activitats es poden dividir en seccions o

carrers• Transicions amb branques excloents amb

rombe• Transicions amb fils paral·lels amb segments

perpendiculars

Page 14: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’estat• Representen el comportament d’un objecte o sistema,

com varia, i quins esdeveniments ho provoquen• Les transicions poden tenir una condició i una acció

([condició]/acció)

[potAnul·lar]/buscarNousUsuaris

Page 15: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals

Page 16: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’interacció

• Diagrames de seqüència

• Diagrames de comunicació

• Diagrames de revisió de la interacció

• Diagrames de temporització/sincronització

Page 17: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Classes d’anàlisi

• Classes d’entitats: objectes del món real

• Classes de control: direcció dels camins del cas d’ús

• Classes frontera: interacció amb usuaris

Page 18: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de seqüència (I)• Descriuen enviament de missatges entre objectes o

elements.• Mostren una temporització• Es representen amb la notació d’altres diagrames

(objectes, actors..), i es disposen per columnes.

Page 19: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de seqüència (II)• Poden usar requadres per estructures més complexes

(iteracions, condicions, referències, etc.)

Page 20: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de comunicació• Antics diagrames de col·laboració• Semblants als diagrames de seqüència• Posen l'èmfasi en la identificació dels objectes que es

passen els missatges.

Page 21: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de temporització• Comportament dels objectes durant un període de

temps concret.• Eix temporal horitzontal

Page 22: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de revisió de la interacció• Visió general del flux de control de les interaccions.• Variant dels diagrames d’activitats, estesa a

interaccions.

Page 23: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals

Page 24: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’estructura• Diagrama de classes• Diagrama d’objectes• Diagrama de components• Diagrama de desplegament• Diagrama d’estructura de composició • Diagrama de paquets

Page 25: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de classes (I)• Classes d’objectes que tindrà el software.• Relacions entre les classes.• Hi ha classes es poden instanciar, o bé classes

abstractes (nom cursiva) o interfícies (interface).

Page 26: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de classes (II)• Visibilitat d’atributs i mètodes:

• Tipus de relacions:• Generalització/especificació• Associació• Agregació• Composició

• Multiplicitat d’associacions entre classes:

Page 27: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de classes (III)

Page 28: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de classes (IV)• Associacions qualificades: una associació binària pot

tenir qualificacions

• Classes associació: associacions que tenen el mateix comportament que una classe

Page 29: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’objectes• Diagrama d’instància de classes• Mostra relacions i estat de les instàncies

Page 30: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de components• Component: part d’un sistema (llibreria, document,

base de dades)• Mostra relacions i dependències entre components.

Page 31: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de desplegament• Mostren a on es desplegarà físicament el sistema.• Elements hardware

Page 32: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames d’estructura de composició• Entenem classificador com un element com pot ser una

classe, component o cas d’ús.• Representa l’estructura interna, i els punts d’interacció,

tan interns com externs.

Page 33: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Diagrames de paquets• Mostren dependències entre paquets.• Un paquet és una col·lecció d’elements del model (classes,

altres paquets, casos d’ús...)• Un paquet depèn d’un altre paquet si els canvis del primer

l’afecten.• Els paquets continguts a altres paquets veuen el contingut

del paquet contenidor.

Page 34: UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling Language • Llenguatge gràfic per especificar, visualitzar, construïr i documentar

Referències• Introducció a UML – Toni Sellarès:

http://ima.udg.edu/~sellares/ETIG-ES/index.html• http://www.omg.org/• http://www.tutorialspoint.com/uml/uml_2_overview.htm• http://www.epidataconsulting.com/tikiwiki/tiki-

read_article.php?articleId=15#El_Nuevo_Enfoque_del_UML_2.0

• http://www.agilemodeling.com/essays/umlDiagrams.htm• http://sourcemaking.com/uml/basic-principles-and-

background/uml2• http://www.visual-paradigm.com/VPGallery/diagrams/• http://www.drdobbs.com/web-development/whats-new-in-

uml-2/184415097• http://en.wikipedia.org/wiki