Beruflich Dokumente
Kultur Dokumente
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 actividades Diagramas de despliegue Diagramas de paquetes Diagramas de tiempos Nuevos diagramas en UML 2.0 Herramientas CASE XMI
Casos de uso
Diagramas de casos de uso
Introduccin. Objetivos
Se presentar la revision 2 del OMG (Object Management Group) de noviembre de 2007. UML: Unified Modeling Language El objetivo de UML es proporcionar a desarrolladores de software, arquitectos de sistemas e ingenieros de software de herramientas para el anlisis, diseo e implementacin de sistemas basados en software, as como modelar procesos de negocio y similares El modelado captura las partes esenciales del sistema
Modelado
Busca representar los planos del software El modelado es la espina dorsal del desarrollo de software de calidad Modelo: Simplificacin de la realidad UML busca
Visualizar cmo es o queremos que sea un sistema Especificar la estructura o el comportamiento de un sistema Proporcionar plantillas que nos guen en la construccin de un sistema Documentar las decisiones que hemos adoptado
Modelado (II)
Principios bsicos del modelado
Seleccionar el modelo adecuado para cada momento, y dependiendo de qu modelo se elija se obtendrn diferentes beneficios y diferentes costes
El modelado orientado a objetos proporciona sistemas ms flexibles y readaptables. Todo modelo puede ser expresado en base a diferentes niveles de precisin Obtener modelos que representen la realidad lo ms claramente posible Un nico modelo no es suficiente
UML. Qu proporciona
Proporciona un vocabulario y las reglas para utilizarlo para as tener una representacin conceptual y fsica de un sistema Utiliza grficos y textos
Los modelos pueden ser interpretados por personas que no participaron en su diseo, sin ninguna ambigedad
Diagramas
Clases Objetos Casos de Uso Secuencia Colaboracin Estados Componente Despliegue
Reglas
Nombres Alcance Visibilidad Integridad
Afectan
Afectan
Colaboran Relaciones
Dependencia Asociacin Generalizacin Realizacin
Mecanismos
Especificaciones Adornos Divisiones Comunes Extensibilidad
Actan
UML. Diagramas
Diagramas
Diagramas de Estructura
Diagramas de comportamiento
Diagramas de Clases
Diagramas de Componentes
Diagramas de Estados
Diagramas de Objetos
Diagramas de Secuencia
Diagramas de Colaboracin
Diagramas de Tiempos
Bloques de construccin
Elementos estructurales
Clases
Descripcin de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica.
Colaboracin
Cadena de responsabilidad
Interfaz
Coleccin de operaciones que especifican un servicio de una determinada clase o componente. Describe el comportamiento visible externamente de ese elemento. Puede mostrar el comportamiento completo o slo una parte del mismo. No muestra su implementacin
Casos de uso
Login de usuario
Define una interaccin y 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. Tienen una dimensin tanto estructural como de comportamiento. Una misma clase puede participar en diferentes colaboraciones. Representan la implementacin de patrones que forman un sistema.
Descripcin de un conjunto de acciones que un sistema ejecuta y que produce un determinado resultado que es de inters para un actor particular. Se utiliza para organizar los aspectos del comportamiento en un modelo. Es realizado por una colaboracin.
Nodos
Servidor
Elemento fsico que existe en tiempo de ejecucin y representa un recurso computacional que, por lo general, dispone de algo de memoria y, con frecuencia, de capacidad de procesamiento. Un conjunto de componentes puede residir en un nodo.
Componente
Parte fsica y reemplazable de un sistema que conforma con un conjunto de interfaces y proporciona la implementacin de dicho conjunto. Representa tpicamente el empaquetamiento fsico de diferentes elementos lgicos, como clases, interfaces y colaboraciones.
Mquinas de estados
Waiting
Elementos de agrupacin
Paquete
Elementos de anotacin
Relacin estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos. La agregacin es un tipo especial de asociacin y representa una relacin estructural entre un todo y sus partes.
Generalizacin
Realizacin
Es una relacin de especializacin / generalizacin en la cual los objetos del elemento especializado (el hijo) pueden sustituir a los objetos del elemento general (el padre). De esta forma, el hijo comparte la estructura y el comportamiento del padre.
Es una relacin semntica entre clasificadores, donde un clasificador especifica un contrato que otro clasificador garantiza que cumplir. Se pueden encontrar relaciones de realizacin en dos sitios: entre interfaces y las clases y componentes que las realizan, y entre los casos de uso y las colaboraciones que los realizan.
Arquitectura
Es el conjunto de decisiones significativas sobre
La organizacin del sistema Elementos estructurales y sus interfaces Comportamiento Composicin de los elementos estructurales y de comportamiento en subsistemas ms grandes Estilo arquitectnico
Vocabulario Funcionalidad
Vista de Diseo
Vista de Implementacin
Vista de procesos
Vista de despliegue
Interfaces
Relaciones de Realizacin
Modelado Estructural
Modelado: Parte del UML que se ocupa de identificar todas las partes importantes de un sistema, as como sus interacciones. Modelado estructural: Se modelan los aspectos estticos de un sistema Se utilizan clases
Nombre Atributos
Operaciones
Estereotipos
Para cada clase hay que determinar un conjunto de responsabilidades y posteriormente determinar los atributos y las operaciones necesarias para llevar a cabo las responsabilidades de la clase
Empresa Rol
empleado
Patrn
Ejemplo de agregacin
Ejemplo de composicin
Representacin 1
Representacin 2
Roles
Una clase puede implementar varios interfaces. Un rol denota un comportamiento de una entidad en un contexto particular.
Lo habitual es utilizar la notacin en forma de crculo para denotar lneas de separacin del sistema cuando utilizamos componentes, y utilizar la notacin expandida en las relaciones de realizacin
GestinUsuarios::Usuario
Usuario Accesos
Permisos
Los paquetes se pueden anidar, pero deben evitarse paquetes muy anidados. Dos o tres niveles de anidamiento como mximo.
Diagramas de clases
Diagrama que muestra un conjunto de clases, interfaces, colaboraciones y sus relaciones Usos
Modelar el vocabulario de un sistema (abstracciones que son parte del sistema y las que no lo son) Modelar colaboraciones simples
Colaboracin: Sociedad de clases, interfaces y otros elementos que colaboran para proporcionar un comportamiento cooperativo mayor que la suma de todos sus elementos.
Se utilizan para visualizar los aspectos estticos de los bloques de construccin del sistema.
Para cada elemento, identificar las clases, interfaces y otras colaboraciones que participan en esta colaboracin, as como las relaciones entre estos elementos Usar escenarios para recorrer la interaccin entre estos elementos. Se descubrirn partes del modelo que faltaban y las que son semnticamente incorrectas Dotar a estos elementos de contenido: Equilibrar el reparto de responsabilidades entre clases, y convertir las responsabilidades en atributos
Casos de uso
Actores Flujo de eventos Escenarios Colaboraciones Modelado del comportamiento de un elemento Diagramas de actividades
Los objetos que participan en una interaccin son o bien elementos concretos (objetos) o bien elementos prototpicos (clases, nodos y casos de uso Enlace: Instancia de una asociacin. Siempre que exista un enlace entre dos objetos, un objeto puede mandar un mensaje al otro
Diagramas de Interaccin
Representaciones grficas de escenarios que implican la interaccin de ciertos objetos interesantes y los mensajes enviados entre ellos, para modelar aspectos dinmicos. Dos formas de construirlos
Destacando la ordenacin temporal de los mensajes
Diagramas de secuencias
Foco de control. Representa el perodo de tiempo durante el cual un objeto ejecuta una accin
Tpicamente uno examina la descripcin de un caso de uso para determinar qu objetos son necesarios para la implementacin del escenario. Si tiene modelada la descripcin de cada caso de uso como una secuencia de varios pasos, entonces puedes "caminar sobre" esos pasos para descubrir qu objetos son necesarios para que se puedan seguir los pasos.
Nmero de secuencia para indicar la ordenacin temporal de un mensaje y su anidamiento: numeracin decimal de Dewey
Variantes: Casos de uso que son versiones especializadas de otros casos de uso. Pueden aplicarse al sistema completo o partes del sistema.
Organizar los actores similares en jerarquas de generalizacin / especializacin Proporcionar un estereotipo a cada uno de esos actores Introducir esos actores en un diagrama de casos de uso y especificar las vas de comunicacin con cada uno de los casos de uso del sistema
Especialmente til para visualizar los flujos de trabajo y los procesos de negocio
No se pueden descomponer. Son atmicos (no se interrumpe su ejecucin) Su ejecucin conlleva un tiempo insignificante
Estados de actividad. Elemento compuesto cuyo flujo de control se compone de otro estado de actividad y estados de accin No son atmicos. Se pueden descomponer Su ejecucin conlleva un tiempo
Diagrama de despliegue
Utilizados para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes Elementos usados
nodos (representados como un prisma) componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) asociaciones
Artefacto: un archivo, un programa, una biblioteca, o una base de datos construida o modificada en un proyecto. Estos artefactos implementan colecciones de componentes Los nodos internos indican ambientes, un concepto ms amplio que el hardware propiamente dicho, ya que un ambiente puede incluir al lenguaje de programacin, a un sistema operativo, un ordenador o un cluster de terminales
Diagrama de paquetes
Muestra como un sistema est dividido en agrupaciones lgicas mostrando las dependencias entre esas agrupaciones
Diagrama de tiempos
Grfica de formas de onda digitales que muestra la relacin temporal entre varias seales, y cmo vara cada seal en relacin a las dems.
Inconvenientes de UML
Problemas tpicamente achacados a UML
Carencia de una semntica precisa, lo que ha dado lugar a que la interpretacin de un modelo UML no pueda ser objetiva. No se presta con facilidad al diseo de sistemas distribuidos (cmo se modela transmisin, serializacin, persistencia, que un objeto es persistente o remoto?)
UML no es una metodologa, pero se entiende as Solucin: UML s acepta la creacin de nuestros propios componentes para este tipo de modelado
Herramientas CASE
Computer Aided Software Engineering: Ingeniera de Software Asistida por Ordenador) Aplicaciones informticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en trminos de tiempo y de dinero. Nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseo del proyecto, calculo de costes, implementacin de parte del cdigo automticamente con el diseo dado, compilacin automtica, documentacin o deteccin de errores entre otras.
XMI
XMI o XML Metadata Interchange (XML de Intercambio de Metadatos) es una especificacin para el Intercambio de Diagramas La especificacin para el intercambio de diagramas fue escrita para proveer una manera de compartir modelos UML entre diferentes herramientas de modelado