Sei sulla pagina 1di 74

Introduccin a UML

David Pinelo
Marzo Abril de 2009

ndice
Introduccin a UML
Vista general Arquitectura Bloques de construccin

Modelado Estructural
Diagramas de clases Diagramas de objetos

Modelado del comportamiento


Diagramas de interaccin
Diagramas de secuencia Diagramas de colaboracin

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

Introduccin. Objetivos (II)


UML es un lenguaje con un alcance muy grande y que cubre diversos conjuntos de dominios arquitectnicos en el diseo de aplicaciones. Por ello, no todas sus capacidades de modelados son necesariamente tiles en todos los dominios o aplicaciones. UML permite seleccionar slo aquellas partes del lenguaje que sean realmente tiles. El 80 por ciento de la mayora de los problemas pueden modelarse usando alrededor del 20 por ciento de UML - Grady Booch

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

UML. Vista general


Bloques de construccin
Elementos
Estructurales Comportamiento Agrupacin Anotacin

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 Despliegue Diagramas de Paquetes

Diagramas de Actividad Diagramas de Interaccin

Diagramas de Estados

Diagramas de Objetos

Diagramas de Estructura Compuesta

Diagramas de Casos de uso

Diagramas de Secuencia

Diagramas de Colaboracin

Diagrama Global de Interaccin

Diagramas de Tiempos

UML. Lo imprescindible de historia


En 2000 se aprueba UML 1.4 que supone una revisin mayor. Es la habitual hoy da En 2007 se aprueba la revisin 2.0 que introducen bastantes novedades, que se estn implantando hoy da Participantes
Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond D'Souza) Intellicorp and James Martin & co. (James Odell) MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys

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.

Bloques de construccin (II)


Elementos estructurales
Clase Activa
Clase cuyos objetos tienen uno o ms procesos o hilos de ejecucin por lo y tanto pueden dar lugar a actividades de control. Es igual que una clase, excepto que sus objetos representan elementos cuyo comportamiento es concurrente con otros elementos.

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.

Bloques de construccin (III)


Elementos estructurales
Interaccin
dibujar
Comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de objetos, dentro de un contexto particular para conseguir un propsito especfico. Involucra otros muchos elementos, incluyendo mensajes, secuencias de accin (comportamiento invocado por un objeto) y enlaces (conexiones entre objetos)

Mquinas de estados
Waiting

Elementos de agrupacin
Paquete

Elementos de anotacin

Bloques de construccin (IV)


Relaciones
Dependencia Asociacin
0..1 Es una relacin semntica entre dos elementos en la cual un cambio a un elemento (el elemento independiente) puede afectar a la semntica del otro elemento (elemento dependiente). *

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

Ensamblado del sistema Gestin de las configuraciones

Vista de Diseo

Vista de Implementacin

Vista de los Casos de Uso

Vista de procesos

Vista de despliegue

Funcionamiento Capacidad de crecimiento Rendimiento

Topologa del sistema Distribucin

Modelado Estructural. ndice


Clases Responsabilidades Relaciones
Dependencia Generalizacin Asociacin

Interfaces
Relaciones de Realizacin

Roles Paquetes Instancias Diagramas de clases Diagramas de objetos

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

Modelado Estructural (II)


Responsabilidades: Fin para el que es creada una clase. Obligaciones Es buena prctica iniciar especificando las responsabilidades de cada clase. Objetivo: Abstraer lo necesario y suficiente. No dar demasiadas responsabilidades a una sola clase ni obtener clases con muy pocas responsabilidades.

Modelado Estructural (III)


Relaciones
Manera de representar las interacciones entre clases OJO: Si se modela en exceso, se obtendrn diagramas con un alto nivel de dificultad para poder leerlos. Si se modela insuficiente, se obtendrn diagramas sin la semntica suficiente. Relacin de dependencia
Un cambio en la especificacin del elemento independiente puede afectar al otro elemento implicado en la relacin

Modelado Estructural (IV)


Relacin de Generalizacin
Se establece entre un elemento general (superclase o padre) y un caso ms especfico de ese elemento (subclase o hijo). Es el caso de la Herencia Los objetos hijos se pueden utilizar en cualquier lugar donde aparece el padre Puede modelarse herencia simple y mltiple Polimorfismo: as es como el hijo extiende la funcionalidad del padre en su mbito.

Modelado Estructural (V)


Relacin de Asociacin
Los objetos de un elemento estn conectados con los objetos de otros Puede existir relaciones recursivas (conexin con otros objetos de la misma clase) Adornos para facilitar su comprensin
Nombre: Utilizado para describir la naturaleza de la relacin Rol: Cara que una clase presenta a la clase que en encuentra en el otro extremo de la asociacin Multiplicidad: Indica cuntos objetos se pueden conectar a traes de una instancia de la asociacin Agregacin: Relacin estructural entre iguales. Sirve para modelar relaciones del tipo todo/parte Composicin: Como la agregacin simple, pero existe una fuerte relacin de pertenencia y vidas coincidentes de la parte del todo.

Modelado Estructural (VI)


Ejemplo de asociacin simple
Nombre Persona
1..* Trabaja para *

Empresa Rol

empleado

Patrn

Ejemplo de agregacin

Ejemplo de composicin

Modelado Estructural (VII)


Interfaces
Coleccin de operaciones que sirven para especificar el servicio que una clase o componente da al resto de las partes involucradas en un sistema UML las utiliza para modelar las lneas de separacin de un sistema Puede participar en relaciones de realizacin Una interfaz especifica un contrato para una clase o componente sin dictar su implementacin

Representacin 1

Representacin 2

Modelado Estructural (VIII)


Relacin de realizacin (en interfaces)
La clase que implementa garantiza que har las veces de la interfaz. Es una relacin mucho ms fuerte que la generalizacin

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

Modelado Estructural (IX)


Paquetes
Mecanismo de propsito general para organizar elementos de modelado en grupos Se puede controlar la visibilidad de los elementos de un paquete (algunos podrn ser visibles, otros estarn ocultos) Un paquete forma un espacio de nombres.
GestinUsuarios

GestinUsuarios::Usuario

Usuario Accesos

Permisos

Los paquetes se pueden anidar, pero deben evitarse paquetes muy anidados. Dos o tres niveles de anidamiento como mximo.

Modelado Estructural (X)


Instancias
Sinnimo de objeto. Representa la manifestacin concreta de una abstraccin (clase, nodo, casos de uso, asociaciones...) Sus operaciones se denotan como
u.getPermisos()

Los valores concretos de sus atributos determinan su estado


usuario

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.

Modelar el esquema lgico de una base de datos.

Se utilizan para visualizar los aspectos estticos de los bloques de construccin del sistema.

Diagrama de clases (II)


Uso: Colaboraciones simples. Pasos a seguir
Identificar los mecanismos que se quieren modelar
Mecanismo: Funcin o comportamiento de parte del sistema que se est modelando y que resulta de la interaccin de una sociedad de clases, interfaces y otros elementos.

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

Diagrama de clases (III)

Diagrama de objetos (I)


Contiene un conjunto de instancias (objetos) de los elementos encontrados en un diagrama de clases Expresa la parte esttica de una interaccin, mostrando los objetos que colaboran pero sin ninguno de los mensajes enviados entre ellos Un diagrama de objetos congela un instante del tiempo Hay quienes los consideran como un caso particular de diagrama de clases Usos
Modelar estructuras de datos estticas para as sustentar los requisitos funcionales de un sistema. Visualizar, especificar, construir y documentar la estructura de objetos, especialmente en estructuras de datos complejas. Mostrar significativamente conjuntos interesantes de objetos concretos o prototpicos

Diagramas de objetos (II)


Pasos a seguir:
Identificar el mecanismo a modelar Para cada mecanismo, identificar las clases, interfaces y otros elementos que participan en esta colaboracin, as como las relaciones entre estos elementos Considerar un escenario en el que intervenga este mecanismo. Congelar este escenario en un momento concreto y representar cada objeto que participe en el mecanismo Mostrar el estado y valores de los atributos de cada uno de esos objetos, si son necesarios para comprender el escenario Mostrar los enlaces de esos objetos, que representaran instancias de las asociaciones entre ellos

Modelado del Comportamiento. ndice


Interacciones
Enlaces Mensajes Modelado de un flujo de control Diagramas de interaccin
Modelado de flujos de control por ordenacin temporal
Diagramas de secuencia

Modelado de flujos de control por organizacin


Diagramas de colaboracin

Casos de uso
Actores Flujo de eventos Escenarios Colaboraciones Modelado del comportamiento de un elemento Diagramas de actividades

Modelado del comportamiento (I)


Se modelan los aspectos dinmicos de un sistema mediante interacciones Interaccin: Comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un contexto para lograr un propsito Utilizada para modelar el flujo de control dentro de una operacin, una clase, un componente, un caso de uso el propio sistema Un mensaje es la especificacin de una comunicacin entre objetos que transmite informacin, con la expectativa de que se desencadenar una actividad

Modelado del comportamiento (II)


Dnde aparecen las interacciones?
En la colaboracin de objetos existentes en el contexto de un sistema o un subsistema Entre los objetos de un mismo subsistema en la implementacin de una operacin En el contexto de una clase (cmo los atributos y diferentes operaciones interaccionan entre s para dar lugar a una nueva operacin)

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

Modelado del comportamiento (III)


Mensajes: Especificacin de una comunicacin entre objetos que transmite informacin, con la expectativa de que se desencadenar alguna actividad Tipos de mensajes
Llamada: Invoca una operacin sobre un objeto Retorno: Devuelve un valor al invocador Envo: Enva una seal a un objeto Creacin Destruccin

Modelado del comportamiento (IV)


Modelado de un flujo de control: Construir una representacin grfica (a modo de diagrama de secuencias o de colaboracin) de las acciones que tienen lugar entre un conjunto de objetos. Mtodo base.
Establecer el contexto de la interaccin Establecer el escenario identificando qu objetos juegan un rol, estableciendo sus propiedades iniciales (estado = valores de sus atributos) Identificar los enlaces que conectan los objetos y que son relevantes para los flujos de mensajes que tienen lugar en la interaccin Especificar los mensajes que pasan de un objeto a otro mediante una organizacin temporal Adornar cada objeto con su estado y rol siempre que sea preciso

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

Destacando la relacin estructural de los objetos que interactan


Diagramas de colaboracin

Diagrama de secuencias (I)


Destaca la ordenacin temporal de los mensajes Se obtiene una representacin visual clara del flujo de control a lo largo del tiempo Caractersticas
Lnea de vida. Representa la existencia de un objeto a lo largo de un perodo de tiempo. Si se crean o destruyen objetos durante la interaccin, sus lneas de vida aparecen y desaparecen cuando reciben los mensajes estereotipados
<<create>> <<destroy>>

Foco de control. Representa el perodo de tiempo durante el cual un objeto ejecuta una accin

Diagrama de secuencias (II)


Clasificacin de mensajes
Sncronos se corresponden con llamadas a mtodos del objeto que recibe el mensaje. El objeto que enva el mensaje queda bloqueado hasta que termina la llamada. Se representan con flechas con la cabeza llena. Asncronos, estos mensajes terminan inmediatamente, y crean un nuevo hilo de ejecucin dentro de la secuencia. Se representan con flechas con la cabeza abierta.

Tambin se representa la respuesta a un mensaje con una flecha discontinua.

Diagramas de secuencias (III)


Modelado de flujos de control por ordenacin temporal
Establecer el contexto de la interaccin (sistema, subsistema, clase, caso de uso...). Tpicamente se escoge un caso de uso Establecer un escenario de la interaccin: identificar qu objetos juegan un rol. Los objetos se organizan en el diagrama de izquierda a derecha, colocando los objetos ms importantes a la izquierda y sus objetos vecinos a la derecha. Establecer la lnea de vida de cada objeto. La mayora persisten la interaccin completa. Para los que no, debe indicar explcitamente su creacin y destruccin A partir del mensaje que inicia la interaccin, hay que ir colocando los mensajes subsiguientes de arriba a abajo entre las lneas de vida, mostrando las propiedades de cada mensaje (sus parmetros, por ejemplo). Establecer si los mensajes son sncronos o asncronos Adornar cada mensaje con marca de tiempo si son necesarias restricciones de tiempo Se pueden incluir pre y poscondiciones.

Diagrama de secuencias (IV) Ejemplo

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.

Diagrama de colaboracin (I)


Desde UML 2.0 tenemos el diagrama de comunicacin, versin simplificada del diagrama de colaboracin Destaca la organizacin de los objetos que participan en una interaccin Ofrece una representacin clara del flujo de control en el contexto de la organizacin estructural de los objetos que colaboran Caractersticas
Para indicar cmo se enlaza un objeto a otro, se puede asociar un estereotipo de camino al extremo ms lejano de un enlace
<<local>> <<parameter>> <<global>> <<self>>

Nmero de secuencia para indicar la ordenacin temporal de un mensaje y su anidamiento: numeracin decimal de Dewey

Diagrama de colaboracin (II)


Modelado de flujos de control por organizacin
Establecer el contexto de la interaccin Establecer un escenario de la interaccin, identificando qu objetos juegan un rol en ella. Los objetos deben organizarse en el diagrama de colaboracin como los nodos del grafo, colocando los objetos ms importantes en el centro y sus objetos vecinos en el exterior Establecer las propiedades iniciales de cada uno de estos objetos. Si los valores de los atributos, valores etiquetados, estado o rol de algn objeto cambia de forma significativa durante la interaccin, hay que colorar un objeto duplicado en el diagrama, actualizado con los nuevos valores y conectarlo con un mensaje estereotipado como become o copy Especificar los enlaces entre esos objetos, juntos con los mensajes que pueden pasarse Colocar los enlaces de asociaciones en primer lugar Colocar los dems enlaces a continuacin, y adornarlos con los estereotipos de camino adecuados (como global y local) para especificar explcitamente cmo se conectan estos objetos entre s

Diagrama de colaboracin (III)


Modelado de flujos de control por organizacin (II)
Comenzando por le mensaje que inicia la interaccin, hay que asociar cada mensaje subsiguiente al enlace apropiado, estableciendo su nmero de secuencia. Los anidamientos se representan con la numeracin decimal de Dewey Si es necesario especificar restricciones de tiempo, hay que adornar cada mensaje con una marca de tiempo Si es necesario, pueden agregarse pre y postcondiciones

Diagrama de colaboracin (IV)

Modelado del comportamiento (IV)


Casos de uso: Especifica el comportamiento de un sistema o una parte del mismo, y es una descripcin de un conjunto de secuencias de acciones, incluyendo variantes, que ejecuta un sistema para producir un resultado observable para un actor Se emplean para capturar el comportamiento deseado del sistema en desarrollo sin tener que especificar cmo se implementa ese comportamiento. Proporcionan un medio para que desarrolladores y usuarios finales del sistema lleguen a una comprensin comn del sistema. No especifican cmo se implementa: especifican un comportamiento deseado, pero no indican cmo se lleva a cabo Normalmente se evita el empleo de jergas tcnicas, prefiriendo en su lugar un lenguaje ms cercano al usuario final. En ocasiones, se utiliza a usuarios sin experiencia junto a los analistas para el desarrollo de casos de uso.

Modelado del comportamiento (V)


Un caso de uso representa un requisito funcional del sistema Actores
Los actores representan un rol que puede ser jugado por una persona, un dispositivo hardware o incluso otro sistema Se pueden representar categoras de actores ms generales Slo se pueden conectar a los casos de uso a travs de asociaciones

Variantes: Casos de uso que son versiones especializadas de otros casos de uso. Pueden aplicarse al sistema completo o partes del sistema.

Modelado del comportamiento (VI)


El comportamiento de un caso de uso se puede especificar describiendo un flujo de eventos de forma textual, lo suficientemente claro para que alguien ajeno al sistema lo entienda fcilmente Una vez especificados en modo texto se pueden especificar grficamente mediante diagramas de interaccin
Se usa un diagrama de secuencia para especificar el flujo principal de un caso de uso Variantes del diagrama de secuencia para especificar los flujos excepcionales

Modelado del comportamiento (VII)

Modelado del comportamiento (VIII)


Importancia de los casos de uso
Permite a los analistas especificar su vista externa del sistema a nivel suficiente para que los desarrolladores construyan su vista interna Proporcionan un foro comn donde desarrolladores, analistas y usuarios finales pueden intercambiar opiniones Los casos de uso proporcionan a los desarrolladores una forma de abordar y comprender un elemento Permiten que el creador de un elemento comunique su intencin sobre cmo se debera usar Sirven de base para probar cada elemento segn evoluciona durante el desarrollo

Modelado del comportamiento (IX)


Modelado del comportamiento de un elemento
Identificar los actores que interactan con el elemento Organizar los actores identificando tanto los roles ms generales como los ms especializados Considerar las formas ms importantes que tiene cada actor de interactuar con el elemento Considerar las interacciones que implican el cambio de estado del elemento o su entorno o que involucren una respuesta ante algn evento Considerar las formas excepcionales en las que cada actor puede interactuar con el elemento Organizar estos comportamientos como casos de uso

Diagramas de casos de uso (I)


Sirve para visualizar el comportamiento del sistema: Los servicios visibles externamente que proporciona el sistema en el contexto de su entorno. Usos
Modelar el contexto de un sistema Modelar los requisitos de un sistema

Diagramas de casos de uso (II)


Modelado del contexto de un sistema
Hay que identificar los actores en torno al sistema considerando los siguientes grupos
Los que requieren ayuda del sistema para llevar a cabo sus tareas Los necesarios para ejecutar las funciones del sistema Los que interactan con el hardware externo o con otros sistemas software Los que realizan funciones secundarias de administracin y mantenimiento

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

Diagramas de casos de uso (III)

Diagrama de casos de uso (IV)


Modelado de los requisitos de un sistema
Establecer el contexto del sistema, identificando los actores a su alrededor Considerar el comportamiento que cada actor espera del sistema o requiere que ste le proporcione Nombrar esos comportamientos comunes como casos de uso Factorizar el comportamiento comn en nuevos casos de uso que puedan ser utilizado por otros Adornar los casos de uso con notas que enuncien los requisitos no funcionales

Diagrama de casos de uso (V)

Diagrama de Actividades (I)


Muestra el flujo de las actividades software de alto nivel en la ejecucin de un sistema, pero sin profundizar en los detalles internos de mensajes Actividad: Ejecucin no atmica en curso, dentro de una mquina de estados. Las actividades producen finalmente alguna accin Las acciones incluyen llamadas a otras operaciones, envo de seales, creacin o destruccin de objetos o simples clculos, como la evaluacin de una expresin Los diagramas de estado contienen
Estados de actividades Estados de accin Transiciones Objetos

Especialmente til para visualizar los flujos de trabajo y los procesos de negocio

Diagrama de Actividades (II)


Estados de accin: Estados del sistema. Representan la ejecucin de una accin.
Ejemplos
Evaluar una expresin Invocar una operacin sobre un objeto Enviar una seal a un objeto Crear o destruir un objeto

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 Actividades (III)


Transiciones Bifurcaciones: Especifica caminos alternativos, elegidos segn el valor de alguna expresin booleana Divisin y Unin: Utilizadas para modelar flujos concurrentes (estas pueden ser realmente concurrentes o secuenciales pero con ilusin de concurrencia)

Diagrama de Actividades (IV)


Calles (o Swimlanes): Dividir los estados de actividad de un diagrama de actividades en grupos, donde cada uno representa la parte de la organizacin responsable de esas actividades. Cada calle representa una responsabilidad de alto nivel de una parte de actividad global de un diagrama de actividades, y cada calle puede ser implementada en ltima instancia por una o ms clases

Diagrama de Actividades (VI)


Usos:
Se usan en el contexto del sistema global, un subsistema, una operacin o una clase. Se pueden asociar diagramas de actividades a un caso de uso (se modela un escenario) y a las colaboraciones (se modelan aspectos dinmicos de una sociedad de objetos) Modelar un flujo de trabajo (se ve el sistema desde el punto de vista de los actores) Modelar una operacin (utilizado como diagrama de flujo u organigrama)

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 despliegue (II)


La mayora de las veces el modelado de la vista de despliegue implica modelar la topologa del hardware sobre el que se ejecuta el sistema. Aunque UML no es un lenguaje de especificacin hardware de propsito general, se ha diseado para modelar muchos de los aspectos hardware de un sistema a un nivel suficiente para que un ingeniero software pueda especificar la plataforma sobre la que se ejecuta el software del sistema.

Diagrama de despliegue (III)

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.

Nuevos diagramas en UML 2.0


Diagrama de estructura compuesta
Muestra la estructura interna de una clase y las colaboraciones que esta estructura hace posibles

Diagrama global de interacciones


Es un diagrama de comportamiento, ms precisamente, uno de los cuatro diagramas de interaccin. Muestra una cierta vista sobre los aspectos dinmicos de los sistemas modelados Algunos elementos grficos estn tomados del diagrama de actividades

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

Ciclo de vida de un proyecto software

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.

Herramientas CASE. Objetivos


Mejorar la productividad en el desarrollo y mantenimiento del software Aumentar la calidad del software Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas informticos Mejorar la planificacin de un proyecto Aumentar la biblioteca de conocimiento informtico de una empresa ayudando a la bsqueda de soluciones para los requisitos Automatizar el desarrollo del software, la documentacin, la generacin de cdigo, las pruebas de errores y la gestin del proyecto Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la documentacin Gestin global en todas las fases de desarrollo de software con una misma herramienta Facilitar el uso de las distintas metodologas propias de la ingeniera del software

Algunas Herramientas CASE


ArgoUML CASE Studio 2 CASEWise Eclipse - Sitio Web GNU Ferret MetaCASE Rational Rose Umbrello Microsoft Visio

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

Potrebbero piacerti anche