2 Ing. Reynaldo Achahuanco Curi UML es un lenguaje para
Visualizar Especificar Construir Documentar artefactos de sistemas intensivos de software
3 Ing. Reynaldo Achahuanco Curi Un lenguaje de modelado permite expresar los distintos modelos que se producen en el proceso de desarrollo. Un modelo es una representacin abstracta de una especificacin, un diseo o un sistema desde un punto de vista particular. Un diagrama es una representacin de (parte de) un modelo de diseo Un modelo se representa por uno o ms diagramas
4 Ing. Reynaldo Achahuanco Curi Elementos primitivos de modelado (estticos, dinmicos, agrupamiento, anotaciones)
5 Ing. Reynaldo Achahuanco Curi Dependencia Una relacin semntica entre dos elementos, tal que un cambio en una de ellos (el independiente) puede afectar al otro (el dependiente). A B B depende de A 6 Ing. Reynaldo Achahuanco Curi Asociacin Es una relacin estructural que describe un conjunto de links, siendo un link una conexin entre objetos 0..1 * empleador empleado 7 Ing. Reynaldo Achahuanco Curi Generalizacin Una relacin de generalizacin/especializacin en la que el elemento especializado (descendiente) se construye sobre la especificacin del elemento generalizado (ancestro) 8 Ing. Reynaldo Achahuanco Curi Realizacin Es una relacin semntica en la que un clasificador, tal como una interfaz o un caso de uso, especifica un contrato que otro clasificador, tal como una clase o una colaboracin, garantiza llevar a cabo. 9 Ing. Reynaldo Achahuanco Curi Diagramas estticos Diagrama de clases Diagrama de objetos Diagrama de componentes Diagrama de estructura compuesta Diagrama de paquetes Diagrama de despliegue
1 0 Ing. Reynaldo Achahuanco Curi Muestra un conjunto de clases, interfaces, colaboraciones y sus relaciones
1 1 Ing. Reynaldo Achahuanco Curi Muestra una instantnea de un conjunto de objetos y sus relaciones
1 2 Ing. Reynaldo Achahuanco Curi Muestra la organizacin y dependencias entre un conjunto de componentes, la vista de implementacin de un sistema. Estn relacionados a diagramas de clases en donde un componente se corresponde con una o ms clases,interfaces o colaboraciones.
1 3 Ing. Reynaldo Achahuanco Curi Muestra la estructura interna (incluyendo partes y conectores) de un clasificador o una colaboracin estructurada.
1 4 Ing. Reynaldo Achahuanco Curi Muestra la descomposicin del modelo en unidades de organizacin y sus dependencias. 1 5 Ing. Reynaldo Achahuanco Curi Muestra los enlaces de comunicacin fsica entre elementos de hardware y las relaciones entre mquinas fsicas y procesos: qu se ejecuta y dnde
1 6 Ing. Reynaldo Achahuanco Curi Diagramas de comportamiento Diagramas de casos de uso Diagrama de secuencia Diagrama de colaboracin Diagrama de estados Diagrama de actividades Diagrama cronolgico Diagrama general de interacciones 1 7 Ing. Reynaldo Achahuanco Curi Muestra un conjunto de casos de uso y actores y sus relaciones 1 8 Ing. Reynaldo Achahuanco Curi Es un diagrama de interaccin que muestra los objetos y actores que participan en una colaboracin poniendo el nfasis en el ordenamiento en el tiempo de los mensajes 1 9 Ing. Reynaldo Achahuanco Curi Un diagrama de interaccin que pone el nfasis en la organizacin estructural de los objetos o roles que envan y reciben mensajes. 2 0 Ing. Reynaldo Achahuanco Curi Muestra un autmata que consiste de estados, transiciones, eventos y actividades 2 1 Ing. Reynaldo Achahuanco Curi Muestra la estructura de un proceso u otro clculo como el flujo de control y datos paso a paso en el clculo. 2 2 Ing. Reynaldo Achahuanco Curi Es un diagrama de interaccin que muestra tiempos a lo largo de diferentes objetos o roles, y no secuencias relativas de mensajes 2 3 Ing. Reynaldo Achahuanco Curi Es un hbrido de diagramas de actividad y de secuencia. 2 4 Ing. Reynaldo Achahuanco Curi
Diagramas estticos UML Diagrama de clases 2 5 Ing. Reynaldo Achahuanco Curi Es el diagrama ms comn en modelos orientados a objetos. Elementos de un diagrama de clases Clases Interfaz, clases abstractas, clases parametrizadas Relaciones de dependencia, generalizacin y asociacin Colaboraciones Notas y constraints
2 6 Ing. Reynaldo Achahuanco Curi 2 7 Ing. Reynaldo Achahuanco Curi Una clase es una descripcin de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica. nombre atributos operaciones 2 8 Ing. Reynaldo Achahuanco Curi Una responsabilidad es un contrato o una obligacin de una clase.
Shipment Responsabilities --maintain the information regarding products shipped against an order --track the status and location of the shipped products 2 9 Ing. Reynaldo Achahuanco Curi UML permite diferentes formas de acceso a miembros de una clase:
+ Pblico # Protegido - Privado
3 0 Ing. Reynaldo Achahuanco Curi Las relaciones ms importantes entre clases son:
Dependencia Generalizacin Asociacin 3 1 Ing. Reynaldo Achahuanco Curi Una asociacin es una relacin estructural que especifica que objetos de una clase estn conectados a objetos de otra Tipos de asociaciones Unaria Binaria N-aria
3 2 Ing. Reynaldo Achahuanco Curi
Multiplicidad nombre 0..1 Trabaja-para *
empleador empleado rol
3 3 Ing. Reynaldo Achahuanco Curi Nombre Rol Cuando una clase participa en una asociacin, tiene un rol especfico que juega en tal relacin. Multiplicidad Puede ser un rango de valores o un valor explcito: Exactamente 1 1 Cero 0..1 0..1 Cero o ms 0..* Uno o ms 1..* Subrango m..n Navegabilidad 3 4 Ing. Reynaldo Achahuanco Curi Relaciones es-parte-de, una clase representa al todo y otra a las partes. Agregacin Diamante blanco Composicin Diamante negro En una composicin hay relacin entre los ciclos de vida del todo y sus partes. La multiplicidad en el extremo del todo en una composicin debe ser 1 0..1 una parte no puede pertencer a ms de un todo 3 5 Ing. Reynaldo Achahuanco Curi 3 6 Ing. Reynaldo Achahuanco Curi Una interfaz es una coleccin de operaciones que son usadas para especificar un servicio de una clase No especifican estructura ( no tiene atributos) No tiene asociadas implementaciones con ninguna de las operaciones No necesita especificar todas las operaciones Una clase podra incluir varias interfaces diferentes 3 7 Ing. Reynaldo Achahuanco Curi 3 8 Ing. Reynaldo Achahuanco Curi Pueden tener implementaciones definidas para algunas de sus operaciones ( al menos una no est definida) Una clase abstracta en la que ninguna de las operaciones tiene implementacin y no tiene atributos es lo mismo que una interfaz. 3 9 Ing. Reynaldo Achahuanco Curi 4 0 Ing. Reynaldo Achahuanco Curi 4 1 Ing. Reynaldo Achahuanco Curi
Booch, G., Rumbaugh, J., Jacobson, I. The Unified Modeling Language. User Guide. Addison Wesley. (2005)
Stevens, P. Pooley R. Utilizacin de UML en Ingeniera del software con objetos y componentes (2002)