Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COORDINACIN GENERAL DE INVESTIGACIN Y POSTGRADO UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA Lenguaje de Modelado Unificado
Antes de UML
Coad / Yourdon:
Jerarquas de composicin
Lenguaje de Modelado Unificado
Antes de UML
James Rumbaugh OMT:
Antes de UML
James Rumbaugh OMT:
Modelo de estado
Lenguaje de Modelado Unificado
Antes de UML
Martin / Odell Ptech:
Esquema de concepto
Antes de UML
Jacobson Objectory y OOSE:
Antes de UML
Reenskaug - OORASS (Anlisis, Sntesis y Estructuracin de Papeles Orientada a Objetos):
Diagrama de papeles
Texel:
Modelo esttico
Modelo dinmico
Lenguaje de Modelado Unificado
Antes de UML
Fusin:
Modelo de procesos
Antes de UML
HOOD (Diseo OO Jerrquico):
Flujos de datos
Antes de UML
OOSD (Diseo Estructurado OO):
Antes de UML
Booch:
Diagrama de Clases
Lenguaje de Modelado Unificado
Antes de UML
Otros mtodos:
OBA (Anlisis de Comportamiento de Objetos) Rubin y Goldberg (1992). FOA (Anlisis Orientado a Marcos) Andleigh y Gretzinger (1992). Notacin Uniforme de Objetos Page-Jones, Constantine y Weiss (1990). MOSES (Metodologa para la Ingeniera de Sistemas de Software Orientada a Objetos) Henderson-Sellers y Edwards (1993). Wirfs-Brock (1990). JSD y OOJSD Jackson (1983).
Lenguaje de Modelado Unificado
Vista de concurrencia: o Diagrama de Colaboracin o Diagrama de Secuencias Vista de componentes: o Diagrama de Componentes
Vista de despliegue: o Diagrama de Distribucin
Extensiones de UML
Valores etiquetados:
Son propiedades asociadas a elementos de UML en forma de etiquetas. Existe una serie de etiquetas ya predefinidas en UML (documentacin, ubicacin, persistencia, semntica, responsabilidad, precondicin, poscondicin, abstracto, etc.). Permiten agregar semntica extra a los elementos asociados (precondiciones y poscondiciones de las operaciones, por ejemplo). Tambin son usados para agregar informacin administrativa sobre el progreso o estado de un proyecto. Se representan en los diagramas encerrados entre llaves y consisten de una etiqueta, un signo de igualdad = y un valor. Ejemplo: { Algoritmo = QuickSort } { Autor = Mauricio Paletta }
Lenguaje de Modelado Unificado
Extensiones de UML
Restricciones:
Reglas que restringen la semntica de uno o ms elementos de UML. Tambin llamadas condiciones semnticas. Pueden estar asociadas a clases u objetos y tambin a las relaciones entre stos, a fin de restringir la participacin de estos elementos en la relacin. Se representan en los diagramas encerrados entre llaves. Hay 14 restricciones predefinidas: asociacin, local, parmetro, auto, completa, disjunta, incompleta, sobrelapada, implcita, or ordenada, voto y difundida. El usuario tambin puede definir sus propias restricciones (parecido a la forma como se definen valores etiquetados). Ejemplo: { persona.jefe.sueldo >= persona.asistente.sueldo }
Lenguaje de Modelado Unificado
Extensiones de UML
Estereotipos:
Representa una semntica asociada a un elemento existente. Se pueden ver como un tipo de especializacin del elemento. Cuando un estereotipo est asociado a un elemento, se sobrescribe la semntica definida para ese elemento y ste puede ser visto como un nuevo elemento basado en otro ya existente. Es una extensin de la semntica pero no de la estructura del elemento. Por lo general son metaclases (para ser asociados a clases) o importaciones (para las relaciones de dependencia entre paquetes). Hay mas de 40 estereotipos predefinidos en UML y tambin es posible definir estereotipos propios.
Lenguaje de Modelado Unificado
Extensiones de UML
Estereotipos:
Se representan o identifican con un nombre encerrado entre << y >> que por lo general se coloca delante del identificador del elemento asociado. Tres tipos particulares de estereotipos aplicado a clases son: Control, Lmite y Entidad. Estn basados en el concepto model-view-controller donde Entidad es el modelo, Control es el controlador y Lmite es la vista. Esta es la notacin utilizada:
Control
Entidad
Lmite
Extensiones de UML
Estereotipos:
El estereotipo Lmite especializa el uso de una clase para su presentacin y manipulacin. Presenta y comunica la informacin entre sistemas (hombre-mquina por ejemplo). Por lo general son ventanas, cajas de dilogos o formas, clases que representan elementos de comunicacin (como TCP/IP). El estereotipo Entidad es usado para modelar objetos del negocio. El estereotipo Control es usado para conectar objetos Lmite con sus objetos Entidad y manejar una secuencia de operaciones dentro del sistema. Estos objetos tpicamente manejan el procesamiento de la informacin en los objetos Entidad.
Lenguaje de Modelado Unificado
Extensiones de UML
Estereotipos:
Curso
1..* 1
Cursos Ofrecidos
Actor
Persona
Empleado
Comprar un refresco
El case de uso Comprar en una mquina es ms genrico que el caso de uso Comprar un refresco
Alquilar un vehculo
<<extend>>
Alquilar un chofer
Acceder a un sistema
<<include>>
<<include>>
<<include>>
Diagrama de Actividad
Definicin:
Representan la dinmica del sistema. Son diagramas usados para mostrar el flujo de las actividades del sistema, es decir, muestran el flujo de control entre actividades del sistema, cules actividades se pueden hacer en paralelo y caminos alternativos del flujo. En el anlisis, se pueden crear para representar el flujo a travs de los casos de uso o para representar el flujo de un caso de uso particular. En el diseo, se pueden usar para representar el flujo de una operacin particular (algoritmo). Contienen actividades, transiciones entre actividades, cajas de decisin y barras de sincronizacin.
Lenguaje de Modelado Unificado
Diagrama de Actividad
Elementos: Actividad: representa el desempeo de algn comportamiento en el diagrama de flujo. Actividades inicial y final: smbolos especiales usados para iniciar y finalizar el diagrama de flujo. Transicin: muestran el paso del flujo de control de una actividad a otra. Cajas de decisin: muestran rutas alternativas del flujo de control basado en una condicin. Barras de sincronizacin: permite representar actividades que se pueden ejecutar de forma concurrente (una transicin de entrada y varias de salida) o diversos flujos que, una vez culminados, convergen en un punto (varias transiciones de entrada y una de salida).
Lenguaje de Modelado Unificado
Diagrama de Actividad
Notacin:
Comienzo Actividad 1 Transicin Actividad 2 Transicin Cclica Actividad 3 Si Actividad 4 No Rutas concurrentes Actividad 5 Estado Actividad 6
Decisin
Diagrama de Actividad
Ejemplo:
Diagrama de Clases
Definicin:
Describe la vista esttica de un sistema en trminos de sus clases y las relaciones entre ellas. Sirve de base para otros diagramas que muestran otros aspectos del sistema (como el de estados de los objetos y el de colaboracin entre objetos que se muestran en los diagramas dinmicos). Para su definicin, es necesario que las clases hayan sido identificadas y descritas; luego se pueden asociar con otras clases usando relaciones especficas.
Diagrama de Clases
Relaciones:
Asociacin: conexin semntica entre clases que indica que existe una conexin entre objetos de esas clases. Generalizacin: relacin entre un elemento mas general y otro mas especfico (herencia). El elemento mas especfico puede contener informacin adicional. Dependencia: relacin entre un elemento independiente y otro dependiente. Un cambio en el elemento independiente afecta al elemento dependiente. Refinamiento: relacin entre dos descripciones del mismo tipo pero en niveles diferentes de abstraccin.
Diagrama de Clases
Asociaciones:
Normal: es la asociacin ms comn y se dibuja como una lnea slida que une las dos clases. Tiene un nombre (comnmente un verbo) que etiqueta el enlace. Es posible agregar una flecha al final de la asociacin, que indica que la asociacin slo se puede usar en la direccin de la flecha. Si no tiene la flecha se asume que la asociacin es vlida para ambos sentidos. Tambin se puede indicar la multiplicidad vlida en la asociacin.
Usa Empleado Computadora
Persona 1..* 0..* Propietario Carro
Diagrama de Clases
Asociaciones:
Recursiva: representa la conexin de una clase consigo misma. Los objetos conectados semnticamente son de la misma clase. Las asociaciones en general pueden tener roles conectados a cada clase involucrada en la asociacin e indican el papel que juega la clase en trminos de la asociacin. Es una tcnica til para especificar el contexto de una clase y sus objetos.
Nodo 0..* 0..*
Persona esposa
esposo
Conecta
Se casa con
Diagrama de Clases
Asociaciones:
Cualificada: son usadas en asociaciones de uno a muchos o muchos a muchos. El cualificador indica cmo distinguir entre el conjunto de objetos de los muchos al final de la asociacin; puede verse como un tipo de clave que permite separar todos los objetos en la asociacin. Reducen la multiplicidad en el modelo de uno a muchos a uno a uno.
0..*
Canvas
id figura
Figura
Recepcionista
nmero de confirmacin
Localiza
Reservacin
Diagrama de Clases
Asociaciones:
Disyuntiva (or): representa una restriccin entre dos o ms asociaciones. Indica que los objetos de una clase pueden participar en a lo sumo una de las asociaciones a la vez. Las asociaciones en general tambin pueden contener restricciones para indicar que la asociacin debe seguir cierta regla para su cumplimiento.
Compaa de Seguros 1 0..* Pliza de Seguros 0..* {Or} 1..* Persona 1..* Compaa 0..* {Or}
1..* Cliente
Diagrama de Clases
Asociaciones:
Ternaria: representa la asociacin de tres clases. Se representa mediante un diamante. Los calificadores y la agregacin no estn permitidos en este tipo de asociacin. Se puede evitar con la definicin de asociaciones simples.
Compaa de Seguros
0..*
Pliza de Seguros
0..*
Persona
Diagrama de Clases
Asociaciones:
Agregacin: es un caso especial de asociacin que indica que la relacin entre las clases es del tipo parte de. Se representa mediante un diamante. Cuando la asociacin de composicin es obligatoria, el diamante est relleno.
Texto *
Naval Contiene
Barco de Guerra
Ventana
Botn
* Men
Diagrama de Clases
Generalizacin:
Permite representar herencias. Relacin es un o caso particular de.
Vehculo
Carro
Bote
Carro Deportivo
Carro de Pasajeros
Camin
Velero
Bote a motor
Carguero
Diagrama de Clases
Dependencia:
Es una conexin semntica entre dos elementos del modelo, uno independiente y otro dependiente. Por ejemplo, cuando una clase toma el objeto de otra clase como parmetro; una clase hace uso del objeto global de otra clase; la relacin de amistad entre clases permitida por algunos lenguajes (C++); etc. Se utiliza una lnea no continua con una flecha que indica la direccin de la dependencia.
<<friend>> Clase A Clase B
Diagrama de Clases
Refinamiento:
Relaciones entre dos descripciones del mismo tipo pero en niveles de abstraccin diferentes. Por ejemplo, entre un tipo y una clase; entre una clase en tiempo de anlisis y la misma clase en tiempo de diseo; etc. Se utiliza una lnea no continua con una flecha cerrada dirigida al elemento de ms alto nivel de abstraccin.
Clase (anlisis)
Clase (diseo)
Diagrama de Clases
Multiplicidades:
Esposo 1 Est casado con 1 Esposa uno a uno
Maestro
Ensea
Estudiante
uno a muchos
Cajero
Atiende
1..*
Cliente
uno a uno o ms
Casa
0..1
Chimenea
Estudiante
Toma
12..18
Crdito
uno a 12 hasta 18
Triciclo
Rueda
uno a 3
Cartn de huevos
Contiene
12,24
Huevo
uno a 12 24
Diagrama de Clases
Otros tipos de clases:
Parametrizada: permiten generalizar la definicin de una clase o definir grupos de clases para que, mediante los parmetros, se puedan crear luego las clases reales. Es como una clase que an no ha sido completamente especificada. En el entorno de programacin se conocen como Templates. (C++ lo soporta).
Clase Parametrizada
Diagrama de Clases
Otros tipos de clases:
De utilidad: son agrupaciones de variables globales y funciones que se conjugan en una clase representados como atributos y mtodos respectivamente. No son clases en realidad pero son tiles en aquellos lenguajes de programacin no completamente orientados a objetos (como C++), para darle una connotacin ms formal de orientacin a objetos y no dejar elementos dispersos que queden fuera de algn objeto .
Clase de Utilidad
Diagrama de Clases
Otros tipos de clases:
Metaclases y clases instanciadas: Las metaclases son clases cuyas instancias no son objetos sino otras clases, es decir, es una clase para crear clases. Son tiles en sistemas donde se requiere la creacin de clases de forma dinmica (por ejemplo en Smalltalk). Las clases instanciadas son instancias de metaclases. La relacin de instanciacin se hace mediante una dependencia.
Metaclase
Clase Instanciada
Diagrama de Clases
Paquetes:
Es un mecanismo de agrupamiento para organizar elementos del modelo en grupos semnticamente relacionados. Pueden importar elementos de otros paquetes. Los paquetes se pueden relacionar por generalizacin y dependencia.
Diagrama de Clases
Interfaces:
Un paquete, componente o clase que tiene una interfaz conectada a l, se dice que implementa o soporta la interfaz especfica dado que soporta el comportamiento definido en esa interfaz. Se pueden ver como contratos de colaboracin entre los diferentes elementos del modelo. Una interfaz slo se describe como operaciones abstractas. Se representan mediante pequeos crculos asociado (lnea slida) al elemento del modelo (uno a uno). Una clase que usa la interfaz se conecta mediante una relacin de dependencia.
Clase A Una interfaz Clase B
Diagrama de Clases
Ejemplo:
Diagrama de Objetos
Definicin y notacin:
El diagrama de objetos representa la asociacin y relaciones entre objetos. Sigue la misma notacin que el diagrama de clases a diferencia de que en lugar de identificar una clase, identifica una instancia particular u objeto. El identificador de un objeto puede ir acompaado del identificador de la clase asociada y un separador entre ambos nombres. Por lo general se subraya el identificador de los objetos. Se pueden usar para ejemplificar un diagrama de clases con instancias explcitas. Tambin se pueden usar como parte de los diagramas de colaboracin en el modelo dinmico.
Diagrama de Objetos
Ejemplo:
Diagrama de Estados
Definicin:
Representa el comportamiento del sistema en el tiempo. Por lo general se hace un diagrama de estados por clase. El comportamiento es modelado en trminos del estado en el cual se encuentra un objeto. Se indican qu acciones se ejecutan en cada estado y cul es el nuevo estado al que se llega luego de un determinado evento. Los estados representan condiciones que son vlidas en el objeto en un momento dado; los eventos representan la causa que origina el cambio desde un estado a otro.
Diagrama de Estados
Notacin:
Estado inicial
Estado final
Estado
Condicional
Estado1
Transicin / Evento
Estado2
Diagrama de Estados
Ejemplo:
Abrir
Abierta
Cerrar
Diagrama de Componentes
Definicin:
Permite modelar la estructura del software, incluyendo dependencias entre componentes en cdigo fuente, componentes en cdigo binario y componentes ejecutables. Establece relaciones de dependencia entre componentes y/o paquetes de componentes. Un componente es un grupo de clases que trabajan estrechamente. Se pueden clasificar segn los su existencia en: tiempo de compilacin; tiempo de enlace; tiempo de ejecucin y en varios de esos momentos. Una dependencia indica que un elemento del modelo (fuente) depende de otro (objeto), de manera que un cambio en el elemento objeto puede significar cambiar el elemento fuente.
Lenguaje de Modelado Unificado
Diagrama de Componentes
Tipos de componentes:
Componentes para trabajar en el producto: tambin llamados componentes fuente, son tpicamente archivos de cdigo fuente usados para implementar una o ms clases (archivos de base de datos, cdigo fuente, recursos grficos, etc.). Componentes de distribucin: tambin llamados componentes binarios, conforman el fundamento de los sistemas ejecutables y son tpicamente archivos de cdigo objeto que se generan a partir de los componentes anteriores (ejecutables, DLL, controles ActiveX, etc.). Componentes de ejecucin: son los creados como resultado de un sistema en ejecucin (archivos temporales, ndices de bsqueda, etc.).
Lenguaje de Modelado Unificado
Diagrama de Componentes
Ejemplo:
Diagrama de Colaboracin
Definicin:
Muestra la interaccin entre objetos organizada alrededor de los objetos. Contiene: o Objetos dibujados como rectngulos. Tres maneras de identificacin: el nombre del objeto, el nombre del objeto y su clase o slo el nombre de la clase (objeto annimo). o Enlaces entre objetos mediante lneas que conectan dichos objetos. o Mensajes que se muestran con un texto descriptivo y una flecha que indica el sentido de la ejecucin desde el cliente hacia el que suple el evento.
Lenguaje de Modelado Unificado
Diagrama de Colaboracin
Ejemplo:
Diagrama de Secuencias
Definicin:
Muestra la interaccin entre objetos estructurada u ordenada en una secuencia de eventos en el tiempo. Representan el comportamiento del sistema de una forma amplia. Se lee de izquierda a derecha y de arriba abajo. Por lo general estn relacionados con la realizacin de los casos de uso. Pueden haber varios diagramas de secuencia por caso de uso. Pueden ser excesivamente grandes si estn involucradas muchas clases u objetos en la interaccin, en comparacin con los diagramas de colaboracin.
Diagrama de Secuencias
Notacin:
Objetos
: Actor
Objeto1
Mensaje Activacin
Retorno
Diagrama de Secuencias
Ejemplo:
Diagrama de Distribucin
Definicin:
Modela la distribucin en tiempo de ejecucin de los elementos de procesamiento y componentes de software, procesos y objetos asociados. Tiene que ver con la arquitectura fsica del sistema: dnde estn localizados fsicamente los programas que implementan las clases y objetos?, en cules computadoras se ejecutan estos procesos?, cmo se conectan las diferentes computadoras que requiere el sistema para funcionar?. Se modelan los nodos (objetos fsicos o dispositivos) y la comunicacin entre ellos. Cada nodo puede contener instancias de componentes.
Diagrama de Distribucin
Notacin:
Procesador Conexin
Dispositivo
Diagrama de Distribucin
Ejemplo: