UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling...
Transcript of UML 2 - UdGima.udg.edu/~sellares/EINF-ES2/Present1213/PresentacioUML2.pdf · • Unified Modeling...
UML 2
Jordi Coll CaballeroEnginyeria del Sofware II, EINF
1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals
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
1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals
UML 2 (I)• Objectius:
• Llenguatge de modelat més extensible.• Validació i execució de models.
• Especificacions:
UML 2 (II)• La superestructura defineix els diagrames que
utilitzen els desenvolupadors
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ó.
1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals
Diagrames de comportament
• Diagrames de cas d’ús
• Diagrames d’activitat
• Diagrames d’estat
• Diagrames d’interacció
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:
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ó
Diagrames de cas d’ús (III)
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
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
1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals
Diagrames d’interacció
• Diagrames de seqüència
• Diagrames de comunicació
• Diagrames de revisió de la interacció
• Diagrames de temporització/sincronització
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
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.
Diagrames de seqüència (II)• Poden usar requadres per estructures més complexes
(iteracions, condicions, referències, etc.)
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.
Diagrames de temporització• Comportament dels objectes durant un període de
temps concret.• Eix temporal horitzontal
Diagrames de revisió de la interacció• Visió general del flux de control de les interaccions.• Variant dels diagrames d’activitats, estesa a
interaccions.
1. Què és UML?2. UML 23. Diagrames de comportament4. Diagrames d’interacció5. Diagrames estructurals
Diagrames d’estructura• Diagrama de classes• Diagrama d’objectes• Diagrama de components• Diagrama de desplegament• Diagrama d’estructura de composició • Diagrama de paquets
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).
Diagrames de classes (II)• Visibilitat d’atributs i mètodes:
• Tipus de relacions:• Generalització/especificació• Associació• Agregació• Composició
• Multiplicitat d’associacions entre classes:
Diagrames de classes (III)
Diagrames de classes (IV)• Associacions qualificades: una associació binària pot
tenir qualificacions
• Classes associació: associacions que tenen el mateix comportament que una classe
Diagrames d’objectes• Diagrama d’instància de classes• Mostra relacions i estat de les instàncies
Diagrames de components• Component: part d’un sistema (llibreria, document,
base de dades)• Mostra relacions i dependències entre components.
Diagrames de desplegament• Mostren a on es desplegarà físicament el sistema.• Elements hardware
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.
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.
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