Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción A UML: David Pinelo
Introducción A UML: David Pinelo
David Pinelo
Marzo Abril de 2009
ndice
Introduccin a UML
Vista general Arquitectura Bloques de construccin
Modelado Estructural
Diagramas de clases Diagramas de objetos
Diagramas de acti"idades Diagramas de des liegue Diagramas de aquetes Diagramas de tiem os #ue"os diagramas en UML $%& 'erramientas !A(E )MI
!asos de uso
Diagramas de casos de uso
Introduccin% *bjeti"os
(e resentar+ la re"ision $ del *M, -*bject Management ,rou . de no"iembre de $&&/% UML0 Uni1ied Modeling Language El objeti"o de UML es 2 ro orcionar a desarrolladores de so1t3are4 arquitectos de sistemas e ingenieros de so1t3are de 5erramientas ara el an+lisis4 dise6o e im lementacin de sistemas basados en so1t3are4 as7 como modelar rocesos de negocio 8 similares El modelado captura las partes esenciales del sistema
Modelado
Busca re resentar los lanos del so1t3are El modelado es la es ina dorsal del desarrollo de so1t3are de calidad Modelo0 (im li1icacin de la realidad UML busca
Visuali=ar cmo es o queremos que sea un sistema Es eci1icar la estructura o el com ortamiento de un sistema 9ro orcionar lantillas que nos gu7en en la construccin de un sistema Documentar las decisiones que 5emos ado tado
Modelado -II.
9rinci ios b+sicos del modelado
(eleccionar el modelo adecuado ara cada momento4 8 de endiendo de qu> modelo se elija se obtendr+n di1erentes bene1icios 8 di1erentes costes
El modelado orientado a objetos ro orciona sistemas m+s 1le?ibles 8 reada tables% @odo modelo uede ser e? resado en base a di1erentes ni"eles de recisin *btener modelos que re resenten la realidad lo m+s claramente osible Un :nico modelo no es su1iciente
Diagramas
Clases Objetos Casos de Uso Secuencia Colaboracin Estados Componente Despliegue
Reglas
ombres Alcance !isibilidad "ntegridad
A#ectan
A#ectan
Colaboran Relaciones
Dependencia Asociacin Generalizacin Realizacin
Mecanismos
Especi#icaciones Adornos Di$isiones Comunes E%tensibilidad
Act&an
UML% Diagramas
Diagramas
Diagramas de Estructura
Diagramas de !lases
Diagramas de Estados
Diagramas de *bjetos
Diagramas de (ecuencia
Diagramas de !olaboracin
Diagramas de @iem os
Bloques de construccin
Elementos estructurales
!lases
Descripcin de un conjunto de objetos que com arten los mismos atributos4 o eraciones4 relaciones 8 sem+ntica%
!olaboracin
Cadena de responsabilidad
Inter1a=
!oleccin de operaciones que especifican un servicio de una determinada clase o componente Describe el com ortamiento "isible e?ternamente de ese elemento% 9uede mostrar el com ortamiento com leto o slo una arte del mismo% #o muestra su im lementacin
!asos de uso
'ogin de usuario
De1ine una interaccin 8 es una sociedad de roles y otros elementos que colaboran para proporcionar un comportamiento cooperativo mayor que la suma de los comportamientos de sus elementos% @ienen una dimensin tanto estructural como de com ortamiento% Una misma clase uede artici ar en di1erentes colaboraciones% Ee resentan la implementacin de patrones que 1orman un sistema%
Descri cin de un conjunto de acciones que un sistema ejecuta y que produce un determinado resultado que es de inter!s para un actor particular% (e utili=a ara organi=ar los as ectos del com ortamiento en un modelo% Es reali=ado or una colaboracin%
#odos
Ser$idor
Elemento fsico que e?iste en tiem o de ejecucin 8 re resenta un recurso computacional que4 or lo general4 dis one de algo de memoria 84 con 1recuencia4 de ca acidad de rocesamiento% Un conjunto de com onentes uede residir en un nodo%
!om onente
9arte 17sica 8 reem la=able de un sistema que conforma con un conjunto de interfaces y proporciona la implementacin de dic#o conjunto% Ee resenta t7 icamente el em aquetamiento 17sico de di1erentes elementos lgicos4 como clases4 inter1aces 8 colaboraciones%
M+quinas de estados
(aiting
Elementos de anotacin
'elacin estructural que describe un conjunto de enlaces4 los cuales son cone?iones entre objetos% La agregacin es un ti o es ecial de asociacin 8 re resenta una relacin estructural entre un todo y sus partes%
,enerali=acin
Eeali=acin
Es una relacin de es eciali=acin K generali=acin en la cual los objetos del elemento es eciali=ado -el 5ijo. ueden sustituir a los objetos del elemento general -el adre.% De esta 1orma4 el #ijo comparte la estructura y el comportamiento del padre%
Es una relacin sem+ntica entre clasi1icadores4 donde un clasificador especifica un contrato que otro clasificador &aranti(a que cumplir"% (e ueden encontrar relaciones de reali=acin en dos sitios0 entre inter1aces 8 las clases 8 com onentes que las reali=an4 8 entre los casos de uso 8 las colaboraciones que los reali=an%
Arquitectura
Es el conjunto de decisiones signi1icati"as sobre
La organi=acin del sistema Elementos estructurales 8 sus inter1aces !om ortamiento !om osicin de los elementos estructurales 8 de com ortamiento en subsistemas m+s grandes Estilo arquitectnico
Vocabulario Luncionalidad
!ista de Dise)o
!ista de "mplementacin
!ista de procesos
!ista de despliegue
Inter1aces
Eelaciones de Eeali=acin
Modelado Estructural
Modelado: 9arte del UML que se ocu a de identi1icar todas las artes im ortantes de un sistema4 as7 como sus interacciones% Modelado estructural: (e modelan los aspectos est"ticos de un sistema (e utili=an clases
Nombre Atributos
Operaciones
Estereotipos
9ara cada clase 5a8 que determinar un conjunto de res onsabilidades 8 osteriormente determinar los atributos 8 las o eraciones necesarias ara lle"ar a cabo las res onsabilidades de la clase
Empresa Rol
empleado
*atrn
Ejem lo de agregacin
Representacin +
Representacin ,
Roles
Una clase uede im lementar "arios inter1aces% Un rol denota un com ortamiento de una entidad en un conte?to articular%
Lo 5abitual es utili=ar la notacin en 1orma de c7rculo ara denotar l7neas de se aracin del sistema cuando utili=amos com onentes4 8 utili=ar la notacin e? andida en las relaciones de reali=acin
GestinUsuarios::Usuario
Usuario Accesos
*ermisos
Los aquetes se ueden anidar4 ero deben e"itarse aquetes mu8 anidados% Dos o tres ni"eles de anidamiento como m+?imo%
Diagramas de clases
Diagrama que muestra un conjunto de clases4 inter1aces4 colaboraciones 8 sus relaciones Usos
Modelar el "ocabulario de un sistema -abstracciones que son arte del sistema 8 las que no lo son. Modelar colaboraciones sim les
!olaboracin0 (ociedad de clases4 inter1aces 8 otros elementos que colaboran ara ro orcionar un com ortamiento coo erati"o ma8or que la suma de todos sus elementos%
(e utili=an ara visuali(ar los aspectos est"ticos de los bloques de construccin del sistema
9ara cada elemento4 identi1icar las clases4 inter1aces 8 otras colaboraciones que artici an en esta colaboracin4 as7 como las relaciones entre estos elementos Usar escenarios ara recorrer la interaccin entre estos elementos% (e descubrir+n artes del modelo que 1altaban 8 las que son sem+nticamente incorrectas Dotar a estos elementos de contenido0 Equilibrar el re arto de res onsabilidades entre clases4 8 con"ertir las res onsabilidades en atributos
!asos de uso
Actores Llujo de e"entos Escenarios !olaboraciones Modelado del com ortamiento de un elemento Diagramas de acti"idades
Los objetos que artici an en una interaccin son o bien elementos concretos -objetos. o bien elementos rotot7 icos -clases4 nodos 8 casos de uso &nlace0 Instancia de una asociacin% (iem re que e?ista un enlace entre dos objetos4 un objeto uede mandar un mensaje al otro
Diagramas de Interaccin
Ee resentaciones gr+1icas de escenarios que im lican la interaccin de ciertos objetos interesantes 8 los mensajes en"iados entre ellos4 ara modelar aspectos din"micos Dos 1ormas de construirlos
Destacando la ordenacin tem oral de los mensajes
Diagramas de secuencias
0oco de control Ee resenta el er7odo de tiem o durante el cual un objeto ejecuta una accin
@7 icamente uno e?amina la descri cin de un caso de uso ara determinar qu> objetos son necesarios ara la im lementacin del escenario% (i tiene modelada la descri cin de cada caso de uso como una secuencia de "arios asos4 entonces uedes Pcaminar sobreP esos asos ara descubrir qu> objetos son necesarios ara que se uedan seguir los asos%
#:mero de secuencia ara indicar la ordenacin tem oral de un mensaje 8 su anidamiento0 numeracin decimal de De2ey
Variantes0 !asos de uso que son "ersiones es eciali=adas de otros casos de uso% 9ueden a licarse al sistema com leto o artes del sistema%
*rgani=ar los actores similares en jerarqu7as de generali=acin K es eciali=acin 9ro orcionar un estereoti o a cada uno de esos actores Introducir esos actores en un diagrama de casos de uso 8 es eci1icar las "7as de comunicacin con cada uno de los casos de uso del sistema
Es ecialmente :til ara "isuali=ar los 1lujos de trabajo 8 los rocesos de negocio
#o se ueden descom oner% (on atmicos -no se interrum e su ejecucin. (u ejecucin conlle"a un tiem o insigni1icante
Estados de actividad Elemento com uesto cu8o 1lujo de control se com one de otro estado de acti"idad 8 estados de accin #o son atmicos% (e ueden descom oner (u ejecucin conlle"a un tiem o
*rtefacto0 un arc5i"o4 un rograma4 una biblioteca4 o una base de datos construida o modi1icada en un ro8ecto% Estos arte1actos im lementan colecciones de com onentes Los nodos internos indican ambientes4 un conce to m+s am lio que el 5ard3are ro iamente dic5o4 8a que un ambiente uede incluir al lenguaje de rogramacin4 a un sistema o erati"o4 un ordenador o un cluster de terminales
Diagrama de aquetes
Muestra como un sistema est+ di"idido en agru aciones lgicas mostrando las de endencias entre esas agru aciones
Diagrama de tiem os
,r+1ica de 1ormas de onda digitales que muestra la relacin tem oral entre "arias se6ales4 8 cmo "ar7a cada se6al en relacin a las dem+s%
Incon"enientes de UML
9roblemas t7 icamente ac5acados a UML
!arencia de una sem+ntica recisa4 lo que 5a dado lugar a que la inter retacin de un modelo UML no ueda ser objeti"a% #o se resta con 1acilidad al dise6o de sistemas distribuidos -Mcmo se modela transmisin4 seriali=acin4 ersistencia4 que un objeto es ersistente o remotoN.
UML no es una metodolog7a4 ero 2se entiende as7; (olucin0 UML s7 ace ta la creacin de nuestros ro ios com onentes ara este ti o de modelado
'erramientas !A(E
-omputer *ided 1oft2are En&ineerin&, Ingenier7a de (o1t3are Asistida or *rdenador. A licaciones in1orm+ticas destinadas a aumentar la roducti"idad en el desarrollo de so1t3are reduciendo el coste de las mismas en t>rminos de tiem o 8 de dinero% #os ueden a8udar en todos los as ectos del ciclo de "ida de desarrollo del so1t3are en tareas como el roceso de reali=ar un dise6o del ro8ecto4 calculo de costes4 im lementacin de arte del cdigo autom+ticamente con el dise6o dado4 com ilacin autom+tica4 documentacin o deteccin de errores entre otras%
)MI
)MI o )ML Metadata Interc5ange -)ML de Intercambio de Metadatos. es una es eci1icacin ara el Intercambio de Diagramas La es eci1icacin ara el intercambio de diagramas 1ue escrita ara ro"eer una manera de com artir modelos UML entre di1erentes 5erramientas de modelado