Académique Documents
Professionnel Documents
Culture Documents
UML - 1
Contenido
Modelos. Tipos de modelos. El papel de los modelos visuales en la ingeniera. El papel de UML en el modelado visual. Generalidades sobre UML. Diagramas de casos de uso. Objetos y sus relaciones en el flujo de anlisis. Diagramas de colaboracin. Objetos y sus relaciones en el flujo de diseo. Diagramas de actividad. Diagramas de secuencia. Diagramas de estado. Diagramas de paquete. Diagramas de componente. Diagramas de emplazamiento.
Generalidades
Anlisis
Diseo
Implementacin
UML - 2
Modelos
El lenguaje unificado de modelo, UML, es un lenguaje visual que se utiliza para especificar, visualizar, construir y documentar artefactos de un sistema de software, captura decisiones y conocimiento sobre los sistemas lo que permite entender, disear, hojear, configurar, mantener y controlar la informacin sobre los mismos.
UML - 3
modelos
Un modelo es un representacin, en cierto medio, del algo en el mismo u otro medio. Un modelo capta y enumera exhaustivamente los requisitos y el dominio de conocimiento, de forma que todos los implicados pueden entenderlo y estar de acuerdo con l. Capta los aspectos importantes de lo modelado, desde cierto punto de vista, y simplifica u omite el resto. Los modelos de software tienen semntica y notacin. El modelo pretende ser ms fcil de usar para ciertos propsitos que el sistema final.
UML - 4
modelos
Guas para proceso de pensamiento: enfocan el proceso de pensamiento de los participantes y destacan determinadas opciones. Especificaciones abstractas de la estructura esencial de un sistema: consiguen que los aspectos de alto nivel estn correctos. Especificaciones completas de un sistema final: generan modelos de implantacin. Son descripciones completas o parciales de los sistemas.
UML - 5
modelos
Pensar el diseo de un sistema. Capturar decisiones del diseo en una forma mutable a partir de los requisitos. Generar productos aprovechables para el trabajo. Organizar, filtrar, recuperar, examinar y corregir la informacin en grandes sistemas. Explorar econmicamente mltiples soluciones. Domesticar los sistemas complejos.
UML - 6
Tipos de modelos
Isomorfos: Dos sistemas que pueden representarse por medio de un modelo equivalente. Ej.: la lnea recta y su ecuacin matemtica son ambos modelos isomorfos. Homomorfos: Dos sistemas que se representan mediante modelos anlogos, generalmente escalados uno a otro. Ej.: una maqueta de una casa.
UML - 7
Abstraccin frente a detalle: Un modelo captura los modelos esenciales de un sistema y omite otros. Especificacin frente a implementacin: Un modelo puede decir qu hace algo (especificacin) y tambin cmo se logra la funcin (implementacin). Descripcin frente a instancia: Los modelos son sobre todo descripcin. Las cosas que describen son las instancias. Variaciones en la interpretacin: Los modelos pueden definir puntos de variacin semntica.
UML - 8
El objetivo de UML es especificar, disear, construir o entender sistemas de software complejos. UML no requiere un proceso de desarrollo particular, aunque fue diseado para usarse con un proceso iterativo, incremental, guiado por casos de uso y centrado en la arquitectura. Es un estndar de la industria en general. Se ha diseado realizado combinaciones de una gran cantidad de estndares. Permite modelar sistemas de informacin y permite generar modelos que contengan aspectos formales sin que resulten complicados para los usuarios a quienes se les modela.
UML - 9
Concurrencia. Ampliamente usado en la industria desde su adopcin en OMG, 1977. Reemplaza a notaciones usadas en otros lenguajes. Modela estructuras complejas. Se fundamenta en metodologas orientadas a objetos. Emplea operaciones abstractas. Modela el comportamiento de sistemas.
UML - 10
Estructura esttica: Define los conceptos clave de la aplicacin, sus propiedades internas y las relaciones entre cada una. Comportamiento dinmico: Unifica la estructura de los datos, el control de flujo y el flujo de los datos en una sola vista. Construcciones de implementacin: Los modelos de UML tienen significado para el anlisis lgico y para la implementacin fsica. Ciertos constructores(componentes y nodos) representan elementos de implementacin. Organizacin del modelo: En los sistemas grandes, la organizacin debe ser dividida en piezas coherentes. Los paquetes son unidades organizativas, jerrquicas, y de propsito general. Mecanismos de extensin: Aunque el ncleo del lenguaje no cambia, este permite una elementos de extensin.
UML - 11
UML - 12
Un diagrama de caso de uso es un elemento grfico usado para modelar lo que la gente espera sobre el uso de un sistema. Describe lo relevante para los usuarios: los servicios que requieren del sistema y los servicios que deben proporcionar al mismo. Los casos de uso se enfocan en las metas de un proceso, las cuales identifican los factores crticos de xito del sistema. La meta de un diagrama de casos de uso es proporcionar una vista externa de la relacin entre el sistema y el mundo exterior. Es una vista encapsulada del sistema. Los diagramas de casos de uso no describen la forma interna de trabajar de alguna elemento del sistema.
UML - 13
Actor: un rol desempeado por una persona, sistema, dispositivo, u organizacin, que tiene participacin en la operacin exitosa del sistema. Caso de uso: identifica un comportamiento clave para el sistema sin el cual no se satisfacen los requerimientos del actor. Asociacin: identifica una interaccin entre actores y casos de uso. Relacin Incluir: identifica un caso de uso reutilizable que es incorporado incondicionalmente en la ejecucin de otro caso de uso. Relacin Extender: identifica un caso de uso reutilizable que condicionalmente interrumpe la ejecucin de otro caso de uso para aumentar su funcionalidad. Generalizacin: indica una relacin de herencia entre actores o casos de uso.
Diagrama de casos de uso (Rumbaugh et al., 2000)
UML - 14
UML - 15
Ejemplo: realice el diagrama de casos de uso para el sistema de control bibliotecario de la biblioteca del campus donde estudia.
UML - 16
Aadir libro
Eliminar libro
Aadir usuarios Consultar opinin Eliminar usuarios Sistema de control escolar Prestar libro Sancionar <<Extender>> Bibliotecario Devolver libro
UML - 17
Ventajas: describe claramente la relacin entre los actores y las caractersticas del sistema. Desventajas: carece del nivel de detalle necesario para apoyar el comportamiento del sistema.
Descripcin de casos de uso: documento escrito que explica que un caso de uso es un comportamiento del sistema con un inicio (disparador), intermedio (dilogo), y fin (terminacin).
UML - 18
Existen algunas plantillas, no definitivas, sobre los elementos que puede contener una descripcin de casos de uso.
Nombre del caso de uso. Nmero de caso de uso. Autor. ltima actualizacin. Suposiciones. Precondiciones. Iniciacin del caso de uso. Dilogo del caso de uso. Post condiciones.
UML - 19
Ejemplos de la documentacin de casos de uso para el diagrama de casos de uso de control bibliotecario (p. 17):
UML - 20
Ejercicio: usa las plantillas para descripcin de caso de uso vistas previamente y describe el caso de uso Prestar libro que aparece en la pgina 17.
UML - 21
Objetos: son instancias de clasificadores. Clasificadores: conceptos significativos en una aplicacin, incluyendo conceptos del mundo real, conceptos abstractos, conceptos de computacin, etc. Los clasificadores describen las entidades de comportamiento como elementos de modelado discretos, pero no contienen detalles de su comportamiento dinmico. Los elementos clave en la vista esttica son: Clasificadores: Elemento del modelado que describe cosas. Relaciones:
UML - 23
UML - 24
UML - 25
UML - 26
Relacin de asociacin.
Lleva informacin sobre las relaciones entre objetos en un sistema. Cada conexin de una asociacin a una clase se llama extremo de la asociacin. Los extremos de una asociacin pueden tener nombres (nombres de rol) y visibilidad. La propiedad ms importante de una relacin es la multiplicidad.
UML - 27
UML - 28
Asociacin calificada (Rumbaugh et al., 2000) Propiedades del diseo de asociacin (Rumbaugh et al., 2000)
UML - 29
Agregacin y composicin: Una agregacin es una relacin todo-parte, una composicin es una relacin en la cual el compuesto es el nico responsable de gestionar sus partes.
UML - 30
Generalizacin: relacin taxonmica entre una descripcin ms general y una construccin ms especfica. La descripcin ms especfica es consistente con la general. A la descripcin ms general se le llama padre y a la ms especfica hijo.
UML - 31
Realizacin: conecta a un elemento del modelo con otro, especificando su comportamiento, pero no su estructura.
realizacin: Hay una notacin especial reducida para mostrar interfaces (sin su contenido) y las clases o componentes que las realizan.
UML - 33
Representacin de objetos.
0..3 Automvil
1 Persona
Relacin de clases
Representacin de objetos
UML - 34
Ejemplo: considere el diagrama de casos de uso de la pgina 17 y escriba un diagrama de clases de anlisis para el sistema de control bibliotecario.
UML - 35
Prstamo
Libro * 0..3 1
Usuario * 1 1
Control
UML - 36
Diagramas de colaboracin
Pertenecen a la vista de interaccin. La vista de interaccin proporciona una versin integral del comportamiento de un sistema de objetos. En esta vista el modelado se hace mediante colaboraciones. Un diagrama de colaboracin modela los mensajes intercambiados entre los objetos en un contexto especfico.
UML - 37
diagramas de colaboracin
Un diagrama de colaboracin es un diagrama de clases que contiene roles de clasificador y roles de asociacin en lugar de slo clasificadores y asociaciones.
UML - 38
diagramas de colaboracin
Los nmeros entre los mensajes son esenciales en estos diagramas porque determinan el orden en el cual estos se transmiten. Existen smbolos de enlace que pueden llevar estereotipos para indicar enlaces temporales (parameter o local) o llamadas al mismo objeto (self).
UML - 39
diagramas de colaboracin
Los que existen con la interaccin entera. Los creados durante la interaccin (new). Los destruidos durante la interaccin (destroyed). Los que se crean y destruyen durante la interaccin (transient).
UML - 40
diagramas de colaboracin
Los mensajes se muestran como flechas etiquetadas unidas a los enlaces. Los flujos sirven para hacer explcitos los diversos estados de un objeto. Los diferentes smbolos de objeto que representan un objeto, se pueden conectar usando flujos become o coversion (en ambos casos, transiciones a partir de un estado de un objeto a otro). El esterotipo copy muestraun valor de objeto producido al copiar otro valor de objeto.
UML - 41
diagramas de colaboracin
Ejemplo: basado en el diagrama de casos de uso y en la descripcin de los mismos, realizada previamente, escriba un diagrama de colaboracin que ilustre los mensajes transmitidos entre los objetos del caso de uso Buscar libro.
UML - 42
diagramas de colaboracin
3: SelectCriterio()
iz ar B sq ue da ()
6: CrearListaLibros()
7: ConsultarLibro()
5: R
ea l
UML - 43
Para convertir una clase de anlisis a una de diseo puede agregarse a la primera las propiedades y las operaciones.
UML - 44
Ejemplo: basado en el diagrama de clases de anlisis, elabore el diagrama de clases de diseo equivalentes.
UML - 45
1 Libro Administrador -idAdmi -nomAdmi -apAdmi +buscarLib() +consultarLib() +adLibro() +borrarLibro() 1..2 -idLibro -isdn -nombre -area -subarea +crear() +eliminar() +buscar() +modificar() +crearLista() +buscarLibros() Opinin -idOpinion -fechaOpinion -tipoOpinion -textoOpinion +crear() +eliminar() +buscar() +modificar() +analizar() 1 * Usuario -idUsr -nomUsr -apeUsr -fechNac -domicilio -localidad -telefono +crear() +eliminar() +modificar() +buscar() +ejOrdCotrol() Control -idSesion -fechaSesion -hraIniSesion -hraFinSesion +addUsuario() +elimUsuario()
1..2
0..3 1
UML - 46
Diagramas de actividad
Un diagrama de actividades es una forma especial de mquina de estados, prevista para modelar cmputo y flujo de datos. Los estados del grafo de actividades representan los estados de ejecucin del cmputo, no los estados de un objeto ordinario. Un diagrama de actividades asume que los cmputos proceden sin interrupciones externas por eventos. Los diagramas de actividades contienen estados de actividad. Dichos estados representan la ejecucin de una sentencia en un procedimiento, o el funcionamiento de una actividad en un flujo de trabajo. Un diagrama de actividades pueden contener bifurcaciones, as como divisiones de control en hilos concurrentes.
UML - 47
diagramas de actividad
UML - 48
diagramas de actividad
UML - 49
diagramas de actividad
UML - 50
diagramas de actividad
Apuntar criterio por defecto Desplegar criterios Especificar cadena de bsqueda
[El usuario seleccion criterio Autor] [El usuario no eligi detallar] Desplegar autores
Despliega ttulos
[No]
Desplegar confirmacin
[S]
UML - 51
diagramas de actividad
UML - 52
diagramas de actividad
Ejemplo: dibuje el diagrama de actividades que genere y muestre nmeros pares desde 2 hasta 20.
UML - 53
diagramas de actividad
p=p+2; c=c+1
UML - 54
Diagramas de secuencia
Un diagrama de secuencia representa una interaccin como grfico bidimensional. La dimensin vertical es el eje del tiempo, la horizontal muestra los roles de clasificador que representan objetos individuales en la colaboracin.
UML - 55
diagramas de secuencia
UML - 56
diagramas de secuencia
diagramas de secuencia
diagramas de secuencia
UML - 59
diagramas de secuencia
UML - 60
diagramas de secuencia
UML - 61
diagramas de secuencia
:usuario :interfaz libro Consultar libro
inicio() criterioDefecto() opciones selecCriterio() defineCadena() buscarLibro(criterio,cadena) crearLista() lista[] lista[] mostrarDetalle(lista[libro]) detallarLibro(libro) detalle[libro] detalle[libro] mostrar(lista[]) mostrarCriterios()
UML - 62
Diagramas de estado
Describen el comportamiento dinmico de los objetos, en un cierto plazo, modelando los ciclos de vida de los objetos de cada clase. Un estado es un conjunto de los valores de un objeto para una clase dada, que tiene la misma respuesta cualitativa a los eventos que ocurren. Una mquina de estados es un grfico de estados y transiciones, tambin pueden unir operaciones a los casos de uso y a las colaboraciones para describir su ejecucin.
UML - 63
diagramas de estado
Una transicin define la respuesta de un objeto en ese estado a la ocurrencia de un evento. Un evento disparador es un evento cuya ocurrencia permite la transicin.
UML - 64
diagramas de estado
Cuando se dispara una transicin, su accin (si la hay) es ejecutada. Una accin es un cmputo atmico y normalmente breve. Una condicin de guarda es una expresin booleana. Se evala cuando ocurre el evento disparador, si dicha evaluacin es verdadera, entonces se dispara la transicin. Un evento es una ocurrencia significativa que tiene una localizacin en tiempo y espacio.
UML - 65
diagramas de estado
UML - 66
diagramas de estado
Diagrama de detalles
UML - 67
diagramas de estado
Un estado simple no tiene estructura, apenas un conjunto de transiciones y posiblemente acciones de entrada y salida, un estado compuesto es un estado que se ha descompuesto en subestados secuenciales o concurrentes.
UML - 68
diagramas de estado
Tipos de estado:
Contina...
UML - 69
diagramas de estado
UML - 70
diagramas de estado
UML - 71
diagramas de estado
UML - 72
diagramas de estado
UML - 73
diagramas de estado
Seleccionando criterio
oculta detalle
Escribiendo cadena
buscar
Buscando
Observando resultado
solicita detalle
Observando detalle
termina bsqueda
Terminando bsqueda
UML - 74
Diagramas de paquetes
Pertenecen a la vista de gestin del modelo, la cual consiste en paquetes y relaciones de dependencias entre paquetes. Un paquete es una parte de un modelo. Contiene elementos del modelo al ms alto nivel, tales como clases y sus relaciones, mquinas de estado, diagramas de casos de uso, interacciones y colaboraciones: cualquier elemento que no est contenido en otro.
UML - 75
diagramas de paquetes
Los paquetes pueden contener otros paquetes. Las dependencias entre paquetes resumen dependencias entre los elementos internos a ellos, es decir, las dependencias del paquete se derivan a partir de las dependencias entre los elementos individuales.
UML - 76
diagramas de paquetes
diagramas de paquetes
UML - 78
diagramas de paquetes
Ejemplo: considere el sistema de control bibliotecario y cree un diagrama de paquetes del mismo, haciendo referencia a una vista funcional.
UML - 79
diagramas de paquetes
<<Sistema>> Control bibliotecario
UML - 80
Diagramas de componentes
Pertenecen a la vista de implementacin. Un componente es una unidad fsica de implementacin con interfaces bien definidas pensada para ser utilizada como parte reemplazable de un sistema.
UML - 81
diagramas de componentes
Los componentes bien diseados no dependen directamente de otros componentes sino de las interfaces que ofrecen los componentes. Los diagramas de componentes muestran el empaquetado fsico de las partes reutilizables del sistema en unidades sustituibles llamadas componentes.
UML - 82
diagramas de componentes
UML - 83
diagramas de componentes
Diagrama de componentes
UML - 84
diagramas de componentes
Ejemplo: considere los diagramas de casos de uso y de clases realizados previamente y realice un diagrama de componentes.
UML - 85
diagramas de componentes
file Base de datos ejecutable Administrar usuarios administrar biblioteca Motor base de datos actualizar
conexion
puerto
Acceso USD-3
UML - 86
Diagramas de emplazamiento
Pertenecen a la vista de implementacin. Muestran la disposicin fsica de los recursos de ejecucin computacionales, tales como computadoras y sus interconexiones. Sus elementos principales son los nodos. Un nodo es un objeto fsico de ejecucin que representa un recurso computacional, que generalmente tiene por lo menos memoria y a menudo tambin capacidad de proceso. Las asociaciones entre nodos representan lneas de comunicacin.
UML - 87
diagramas de emplazamiento
UML - 88
diagramas de emplazamiento
UML - 89
diagramas de emplazamiento
UML - 90
diagramas de emplazamiento
UML - 91
diagramas de emplazamiento
UML - 92
diagramas de emplazamiento
servidor: equipo host file Base de datos ejecutable Administrar usuarios administrar biblioteca Motor base de datos actualizar
1 TCP/IP
cliente: computadora personal ejecutable Control bibliotecario ejecutable Atencin usuarios comunicar
usuario
puerto
* RS-232
Bibliotecario
Administrador
Acceso USD-3
UML - 93
Mecanismos de extensin
Los mecanismos de extensin existen con el fin de que los modeladores hagan algunas extensiones comunes sin tener que modificar el lenguaje de modelado subyacente. Estos mecanismos se dan por medio de las restricciones, valores etiquetados y estereotipos.
UML - 94
mecanismos de extensin
UML - 95
El entorno de UML
9
Responsabilidades semnticas. Responsabilidades de notacin. Responsabilidades del lenguaje de programacin. Modelado con herramientas.
UML - 96
Referencias
Benneth, S., Skelton, J., & Lunn, K. (2001). Uml (1st ed.). Vincenza: Mc. Graw Hill. D'Sousa, D. F., & Wills, A. C. (1999). Objects, components, and frameworks with uml. The catalysis approach (1st ed.). Reading: Addison Wesley. Gustafson, D. (2002). Software engineering (1st ed.). USA: McGraw-Hill Companies, Inc. Jacobson, I., Booch, G., & Rumbaugh, J. (2000). El proceso unificado de desarrollo de software (1a ed.). Madrid: Adison Wesley. Larman, C. (2003). Uml y patrones. Una introduccin al anlisis y diseo orientado a objetos y al proceso unificado (2d ed.). Madrid: Prentice Hall. Martin, J., & Odell, J. J. (1998). Object-oriented methods: A foundation (2d ed.). Upper Saddle River, NJ: Prentice Hall International. Schmuller, J. (2001). Aprendiendo uml en 24 horas (1st ed.). Madrid: Prentice Hall. OMG. (2005). Unified modeling language: Superstructure (2.0 ed.): Object Management Group, consultado en lnea en octubre 11 de 2006: http://www.omg.org/technology/documents/formal/uml.htm. Pender, T. (2003). Uml biblie (1st ed.). Indianapolis, IN: Wiley Publishing, Inc. Ruble, D. A. (1998). Anlisis y diseo prctico de sistemas cliente/servidor con gui (1a ed.). Mxico: Prentice Hall Hispanoamericana, S.A. Rumbaugh, J., Jacobson, I., & Booch, G. (2000). El lenguaje unificado de modelado. Manual de referencia (1a ed.). Madrid: Addison Wesley. Stevens, P., & Pooley, R. (2002). Utilizacin de uml en ingeniera de software con objetos y componentes (1st ed.). Madrid: Addison Wesley.
UML - 97