Beruflich Dokumente
Kultur Dokumente
N control: 09320796
Abril 2013
Contenido
Introduccin .................................................................................................... 3 Tipos de diagramas de UML ........................................................................... 4 Diagramas de comportamiento ....................................................................... 7 Diagrama de actividad ................................................................................. 7 Diagrama de estados ................................................................................ 11 Diagrama de casos de uso ........................................................................ 12 Diagramas de interaccin ............................................................................. 14 Diagrama de comunicacin ....................................................................... 14 Diagrama global de interaccin ................................................................. 15 Diagrama de secuencia ............................................................................. 16 Diagrama de tiempo .................................................................................. 19 Diagramas de estructura ............................................................................... 20 Diagrama de clases................................................................................... 20 Diagrama de objetos ................................................................................. 23 Diagrama de estructura compuesta .......................................................... 24 Diagrama de componentes ....................................................................... 28 Diagrama de despliegue ........................................................................... 30 Diagrama de paquetes .............................................................................. 31 Conclusiones ................................................................................................ 34 Referencias ................................................................................................... 35
Introduccin
El llevar a cabo un proyecto de software no es tarea sencilla debido a que se debe atravesar por un proceso de anlisis y modelado con el cual se determine la estructura del proyecto antes de ser desarrollado.
Debido a las diversas maneras que existan de desarrollar un proyecto, se plante un estndar con el cual se facilitara la tarea de modelar un sistema de software. Es as como se introdujo UML y sus mltiples herramientas de modelado de software.
UML ofrece diferentes tipos de diagramas con los cuales es posible modelar de la manera ms correcta y eficiente posible un sistema de software, brindando una perspectiva diferente de cada parte del sistema, de manera que cada uno de los usuarios involucrados pueda entender de manera general y sencilla como es que el sistema funciona, respondiendo preguntas tale como el Qu hace?, Cmo lo hace?, Quines lo hacen?, entre otras.
En las hojas siguientes se dar a conocer un poco acerca de cmo construir cada uno de los diagramas UML, explicando los elementos que conforma a cada diagrama y la informacin que nos pueden brindar sobre la estructura esttica y dinmica del sistema.
Diagramas en UML
El estndar de UML facilita diversos tipos de diagramas con los cuales se puede representar cada uno de los aspectos involucrados en un sistema de software, incluyendo entre estos la representacin de requisitos, funcionalidades, acciones y mtodos que tienen lugar dentro del sistema.
El objetivo principal de estos diagramas es simplemente brindar el mayor nmero de perspectivas posibles para poder as entender de manera clara el funcionamiento de un sistema de software. Cada una de estas perspectivas son comnmente denominadas modelos del sistema, los cuales son una
representacin abstracta y simplificada de la realidad. Es importante mencionar que estos modelos dan una idea de lo que el sistema debe hacer, pero no dan la idea concreta de cmo implementarlo, es decir que solo representan al sistema de manera que cada persona involucrada en el uso del sistema sea capaz de entender lo que ste hace y como lo hace.
Los diagramas UML se clasifican en dos grandes grupos: estticos y dinmicos. Los diagramas UML estticos representan a los objetos del sistema mediante sus atributos y relaciones con otros objetos, de manera tal que solo se da una idea de las acciones implcitas entre los objetos. Por otro lado los diagramas UML dinmicos incluyen funciones o acciones realizables que permiten seguir un flujo de trabajo para cada una de las tareas posibles a realizar en el sistema.
Pgina 4
Diagramas en UML
Una clasificacin ms especfica divide a los diagramas en tres grupos, que son los diagramas de comportamiento, los diagramas de interaccin y los diagramas de estructura.
Los diagramas de comportamiento representan la manera en que cada objeto dentro del sistema se comporta en un momento dado. Se enfocan en el qu hacen los objetos dada una situacin particular del sistema.
Los diagramas de interaccin muestran de manera detallada la comunicacin que hay entre los diversos objetos del sistema, enfocndose en con quin trata cada objeto del sistema.
Los diagramas de estructura representan de manera detallada la arquitectura lgica o fsica del sistema, determinando las partes en donde estn involucrados los objetos, incluyendo informacin tal como los atributos y funciones o acciones permitidas para cada objeto presente en el sistema. Pgina 5
Diagramas en UML
Oficialmente UML presenta trece tipos de diagramas, los cuales se detallan en la siguiente tabla.
Diagrama de actividad (Activity diagram) Diagrama de estados (State machine diagram) Diagrama de casos de uso (Use case diagram) Diagrama de comunicacin (Communication diagram) Diagrama global de interaccin (Interaction overview diagram) Diagrama de secuencia (Sequence diagram) Diagrama de tiempo (Timing diagram) Diagrama de clases (Class diagram) Diagrama de objetos (Object diagram) Diagrama de estructura compuesta (Composite structure diagram) Diagrama de componentes (Component diagram) Diagrama de despliegue (Deployment diagram) Diagrama de paquetes (Package diagram)
Dinmico
Dinmico
Dinmico
Dinmico
Dinmico
Diagrama de interaccin
Dinmico
Diagrama de interaccin
Dinmico
Diagrama de interaccin
Esttico
Diagrama de estructura
Esttico
Diagrama de estructura
Esttico
Diagrama de estructura
Esttico
Diagrama de estructura
Esttico
Diagrama de estructura
Esttico
Diagrama de estructura
Pgina 6
Diagrama de actividad
Los diagramas de actividad describen las tareas operacionales de cada uno de los objetos del sistema.
Un diagrama de actividades ilustra la naturaleza dinmica de un sistema mediante el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una operacin en alguna clase del sistema y que resulta en un cambio en el estado del sistema. Tpicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo interno de una operacin.
Rectngulos redondeados, que representan las acciones. Rombos, que representan decisiones. Barras, que representan la divisin o la unin de actividades concurrentes. Crculo relleno, que representa el inicio del flujo del diagrama. Crculo relleno encerrado en un crculo, que representa el final del flujo del diagrama. Flecha, que indica el flujo del diagrama.
Estados de accin. Los estados de accin representan las acciones no interrumpidas de los objetos. Pgina 7
Diagramas en UML
Flujo
de
accin, las
representados
ilustran
Flujo de objetos. El flujo de objetos se refiere a la creacin y modificacin de objetos por parte de actividades. Una flecha de flujo de objeto, desde una accin a un objeto, significa que la accin est creando o influyendo sobre dicho objeto. Adems indica que el estado de accin utiliza dicho objeto.
Ramificacin. Un rombo representa una decisin con caminos alternativos. Las salidas alternativas deben estar etiquetadas con una condicin.
Sincronizacin. Una barra de sincronizacin ayuda a ilustrar la ocurrencia de transiciones paralela, as quedan representadas las
Diagramas en UML
Marcos de responsabilidad. Los marcos de responsabilidad agrupan a las actividades relacionadas en una misma columna.
Un estado inicial no puede ser destino de una transicin. Toda actividad tiene al menos un flujo de entrada y otro de salida. Puede haber cero o ms estados finales (un procesos continuo no tendr estado final). Una decisin tiene un flujo de entrada y dos o ms de salida. Todo flujo de salida de una decisin debe estar etiquetado con una condicin. Las condiciones de todos los flujos de salida de una decisin deben ser disjuntas y completas. Se puede utilizar la condicin else para representar el flujo de que se sigue en caso de que ninguna de las otras condiciones sea cierta. Una divisin tiene un flujo de entrada y dos o ms flujos de salida. Una unin tiene dos o ms flujos de entrada y un flujo de salida. El flujo de salida de una unin se dispara cuando se han finalizado todos los flujos de entrada en la unin (todos ellos discurren en paralelo). Cada actividad debe estar en una particin. No se aconseja representar diagramas con ms de cinco particiones por simplicidad.
Pgina 9
Diagramas en UML
Pgina 10
Diagramas en UML
Diagrama de estados
Describen los estados de los objetos en un momento dado, incluyendo descripcin del estado y las transiciones que se dan para pasar de uno a otro. Normalmente es utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de informacin luego de ejecutarse cada proceso. Permite adems identificar bajo qu argumentos se ejecuta cada uno de los procesos y en qu momento podran tener una variacin.
Crculo relleno, que indica el inicio del diagrama y apunta al primer estado. Crculo relleno encerrado en crculo, que representa el final del diagrama. Rectngulo redondeado, que denota un estado. Se divide en tres partes, la parte superior contiene el nombre del estado, la parte central contiene las variables del estado, y la parte inferior contiene las actividades que se realizan en el estado.
Flecha, que indica una transicin de un estado a otro. Entre corchetes y al lado de la flecha se especifica el evento que causa la transicin.
Transicin. Una flecha representa el pasaje entre diferentes estados de un objeto. Se etiqueta con el evento que lo provoca y con la accin resultante.
Pgina 11
Diagramas en UML
Estado inicial y estado final. Son los estados nicos por los que la secuencia de estados comienza o termina.
Pgina 12
Diagramas en UML
Un caso de uso es una descripcin de las acciones posibles a realizar dentro de un sistema con una perspectiva orientada al punto de vista del usuario. Es una herramienta valiosa dado que es una tcnica de aciertos y errores para obtener los requerimientos del sistema, justamente que es lo que se requiere a mayor certeza para satisfacer las necesidades de los usuarios.
Sistema. El rectngulo representa los lmites del sistema que contiene los casos de uso. Los actores se ubican fuera de los lmites del sistema.
Caso de uso. Se representan con valos. La etiqueta en el valo indica la funcin en el sistema.
Pgina 13
Diagrama de comunicacin
Este tipo de diagramas muestran las interacciones entre objetos por medio del uso de mensajes secuenciales. Es una combinacin de elementos tomados de los diagramas de clases, de secuencias y casos de uso, describiendo en un momento dado la estructura esttica y dinmica de los objetos involucrados.
Los mensajes entre cada objeto deben ser enumerados para poder conocer el orden secuencial de la comunicacin. Generalmente se marcan con los nmeros 1, 2, 3 los mensajes principales, y como 1.1, 1.2, 2.1, 2.2, 2.3 los mensajes secundarios.
:objeto
Enlace. Son las lneas que definen la interaccin entre uno o ms objetos.
Mensaje. Es la informacin que se enva entre objetos, y representa acciones secuenciales entre los objetos. Deben tener un nmero que denote el orden en la secuencia de comunicacin y un flecha que indique el flujo del mensaje de un objeto a otro.
1: mensaje
Pgina 14
Diagramas en UML
Cada frame representa un nodo dentro del diagrama. Un diagrama global de interaccin puede contener mltiples nodos, con lo cual permite representar partes complejas del sistema que haciendo uso de otros diagramas sera ms difcil de hacer.
Un caso de un diagrama de este tipo puede ser representado con una estructura parecida al siguiente diagrama:
Pgina 15
Diagramas en UML
Diagrama de secuencia
Muestra la comunicacin de los objetos en momentos determinados a lo largo del tiempo. La comunicacin se da de manera secuencial a travs del tiempo de vida de cada componente dentro del sistema.
Rol de la clase. El rol de la clase describe la manera en que un objeto se va a comportar en el contexto. No se listan los atributos del objeto.
Pgina 16
Diagramas en UML
Activacin.
Los
cuadros
de
activacin
Mensajes. Los mensajes son flechas que representan comunicaciones entre objetos. Las medias flechas representan mensajes asincrnicos. Los mensajes asincrnicos son enviados desde un objeto que no va a esperar una respuesta del receptor para continuar con sus tareas.
Lneas de vida. Las lneas de vida son verticales y en la lnea de puntos, ellas indican la presencia del objeto durante todo el tiempo.
Pgina 17
Diagramas en UML
Destruccin de objetos. Los objetos pueden ser eliminados tempranamente usando una flecha etiquetada <<destruir>> que apunta a una X.
Loops. Una repeticin o loop en un diagrama de secuencias, es representado como un rectngulo. La condicin para abandonar el loop se coloca en la parte inferior entre corchetes.
Pgina 18
Diagramas en UML
Diagrama de tiempo
El diagrama de tiempo muestra las restricciones de tiempo para cada actividad que se presenta en un momento dado dentro del sistema.
Generalmente este tipo de diagramas son usados para explorar el comportamiento de los objetos a travs de un periodo de tiempo dado. Se considera una variante del diagrama de secuencias, debido a que existe una lnea de vida para cada objeto, solo que la lnea de vida se extiende horizontalmente y dura tanto como el periodo de tiempo definido segn los eventos propios del sistema.
Pgina 19
Clase. Las clases se representan con rectngulos divididos en tres reas: la superior contiene el nombre de la clase, la central contiene los atributos y la inferior las acciones.
Asociaciones. Las asociaciones son las que representan a las relaciones estticas entre las clases. El nombre de la asociacin va por sobre o por debajo de la lnea que la representa. Una flecha rellena indica la direccin de la relacin. Los roles se ubican cerca del final de una asociacin. Los roles representan la manera en que dos clases se ven entre ellas. Cuando una asociacin es se calificada, coloca la clase al el final smbolo de la de
contra
que
hace
Pgina 20
Diagramas en UML
Multiplicidad. Las notaciones utilizadas para sealar la multiplicidad se colocan cerca del final de una asociacin. Estos smbolos indican el nmero de instancias de una clase vinculadas a una de las instancias de la otra clase. Por ejemplo, una empresa puede tener uno o ms empleados, pero cada empleado trabaja para una sola empresa solamente.
Asociacin tripartita. Algunas ocasiones tres clases estn involucradas entre s, para ello se hace uso de un rombo con el cual se denota la relacin de las tres clases.
Composicin y agregacin. Composicin es un tipo especial de agregacin que denota una fuerte posesin de la Clase Todo, a la Clase Parte. Se grafica con un rombo diamante relleno contra la clase que representa el todo. La agregacin es una relacin en la que la Clase Todo juega un rol ms importante que la Clase "Parte", pero las dos clases no son dependientes una de otra. Se grafica con un rombo diamante vaco contra la Clase Todo.
Pgina 21
Diagramas en UML
Generalizacin. Generalizacin es otro nombre para herencia. Se refiere a una relacin entre dos clases en donde una Clase Especfica es una versin especializada de la otra, o Clase General. Por ejemplo, Honda es un tipo de auto, por lo que la Clase Honda va a tener una relacin de generalizacin con la Clase Auto.
Pgina 22
Diagramas en UML
Diagrama de objetos
Muestra una vista parcial o completa de la estructura de un ejemplo especfico del sistema en un momento dado.
Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias especficas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notacin es similar a los diagramas de clase.
Los elementos presentes en este tipo de diagramas incluyen los usados en los diagramas de clases, con la nica diferencia de que las clases son sustituidas por objetos que cuentan con un nombre y atributos, y se representan de la siguiente manera:
Nombre
de
los
objetos.
Cada
objeto
es
representado como un rectngulo, que contiene el nombre del objeto y su clase subrayadas y separadas por dos puntos.
Atributos. Como con las clases, los atributos se listan en un rea inferior. Sin embargo, los atributos de los objetos deben tener un valor asignado.
Pgina 23
Diagramas en UML
Parte. Es un elemento que representa un conjunto de una o ms instancias que pertenecen a una instancia del clasificador contenida. Por ejemplo, si una instancia de diagrama se apropia de un conjunto de elementos grficos, luego los elementos grficos se pueden representar
Pgina 24
Diagramas en UML
como partes, si fuera til hacer eso para modelar algn tipo de relacin entre ellos. Tener en cuenta que una parte se puede quitar de sus padres
antes de que el padre se elimine, para que la parte no se elimine al mismo tiempo. Una parte se muestra como un rectngulo no adornado dentro del cuerpo de una clase o del elemento componente.
Puerto. Es un elemento escrito que representa una parte visible externa de una instancia del clasificador contenido. Los puertos definen la interaccin entre un clasificador y su entorno. Un Puerto puede aparecer en el lmite de la parte contenida, una clase o una estructura compuesta. Un Puerto puede especificar los servicios que un clasificador provee as como tambin los servicios que este requiere de su entorno. Un Puerto se muestra como un rectngulo nombrado en el borde del lmite de su clasificador apropiado.
Interfaces. Es similar a una clase pero con un nmero de restricciones. Todas las operaciones de la interfaz son pblicas y abstractas, y no proveen ninguna implementacin predeterminada. Todos los atributos de la interfaz deben ser constantes. Una interfaz, cuando est sola en un diagrama, se muestra como un rectngulo del elemento clase con la clave interfaz y con su nombre en itlica para denotar que es abstracto, o se muestra como un crculo. Pgina 25
Diagramas en UML
Colaboracin. Una colaboracin define un conjunto de roles cooperativos usados colectivamente para ilustrar una funcionalidad
especifica. Una colaboracin debera solo mostrar los roles y los atributos requeridos para lograr sus tareas o funciones definidas. Aislar los roles primarios es un ejercicio de simplificar la estructura y clasificar el comportamiento, y tambin provee para poder re- usarlo. Un elemento colaboracin a menudo implementa un patrn. Un elemento colaboracin se muestra como una elipse.
Enlace de roles. Un conector enlace de roles se dibuja desde una colaboracin a un clasificador que completa el rol. Esto se muestra como una lnea de trazos con una punta de flecha y el estereotipo enlace de roles.
Pgina 26
Diagramas en UML
Representa. Un conector representa se puede dibujar desde una colaboracin a un clasificador para mostrar que una colaboracin se usa en el clasificador. Se muestra como una lnea de trazos con una punta de flecha y el estereotipo representa.
Ocurrencia. Un conector ocurrencia se puede dibujar desde una colaboracin a un clasificador para mostrar que la colaboracin representa (sic) el clasificador. Esto se muestra como una lnea de trazos y el estereotipo ocurrencia.
Pgina 27
Diagramas en UML
Diagrama de componentes
Muestra al sistema de software dividido en componentes y las dependencias entre stos.
Un diagrama de componentes representa cmo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. Los componentes fsicos incluyen archivos, cabeceras, bibliotecas compartidas, mdulos, ejecutables, o paquetes. Los diagramas de componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.
Debido a que los diagramas de componentes son ms parecidos a los diagramas de casos de usos, stos son utilizados para modelar la vista esttica y dinmica de un sistema. Muestra la organizacin y las dependencias entre un conjunto de componentes. No es necesario que un diagrama incluya todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema. En l se situarn libreras, tablas, archivos, ejecutables y documentos que formen parte del sistema.
Uno de los usos principales es que puede servir para ver qu componentes pueden compartirse entre sistemas o entre diferentes partes de un sistema.
Pgina 28
Diagramas en UML
Interface. Una interface describe a un grupo de operaciones usada o creada por componentes.
Dependencias.
Las
dependencias
entre
Pgina 29
Diagramas en UML
Diagrama de despliegue
Presenta la estructura fsica a implementarse para el sistema, incluye los elementos de hardware y sus conexiones, as como algunos componentes software.
Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones, las cuales representan los medios de comunicacin entre nodos, como puede ser Ethernet.
Asociacin. La asociacin se refiere a la conexin fsica entre los nodos, como por ejemplo, Ethernet.
Componente. En este caso un componente puede ser una parte de una aplicacin que es ejecutada por el nodo que lo contiene.
Pgina 30
Diagramas en UML
Un ejemplo de este tipo de diagramas es el siguiente:
Diagrama de paquetes
Un diagrama de paquetes muestra cmo un sistema est dividido en agrupaciones lgicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete est pensado como un directorio, los diagramas de paquetes suministran una descomposicin de la jerarqua lgica de un sistema.
Los paquetes estn normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas lneas maestras sobre la mesa, los paquetes son buenos elementos de gestin. Cada paquete puede asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo requerido.
Pgina 31
Diagramas en UML
Los paquetes de importacin son relaciones entre un espacio de nombre y un paquete, indicando que el espacio de nombre importado agrega los nombres de los miembros del paquete a su propio espacio de nombres.
Un paquete de fusin es una relacin directa entre dos paquetes, que indica que el contenido de dos paquetes se ha combinado.
Paquete. Es un mecanismo general para organizar modelos de objetos y diagramas en grupos. Provee un espacio de nombres encapsulado dentro del cual todos los nombres deben ser nicos.
Clase. Es la representacin de un grupo de objetos, que refleja su estructura y comportamiento dentro del sistema.
Interface. Es una especificacin de comportamiento. Implementa las clases de una clase interface que es requerida para apoyar el comportamiento.
Objeto. Es una instancia de una clase. Es usualmente usado en el anlisis para representar diversos artefactos y elementos existentes.
Pgina 32
Diagramas en UML
Pgina 33
Conclusiones
Con la informacin presentada en este documento podemos darnos cuenta de la gran utilidad de estos diagramas en la tarea del modelado de un sistema de software.
Cada diagrama nos permitir conocer a mayor detalle el funcionamiento de un sistema desde diferentes puntos de vista, ya sea de manera fsica o lgica, esttica o dinmica, funcional o no funcional.
El saber cmo construir cada uno de los diagramas nos permitir en un futuro cuando seamos parte de un equipo de desarrollo de un sistema de software, saber qu es lo que queremos del sistema, como estructurarlo y construirlo, para as tener la seguridad que estamos haciendo un trabajo correcto y que el diseo del sistema ser lo mayor eficiente y con la mayor calidad posible.
34
Referencias
Weitzenfeld , Alfredo(2005). Ingeniera de software orientada a objetos con UML, Java en Internet. Cengage Learning Editores.
Teniente Lpez, Ernest; Oliv Ramon, Antoni; Mayol Sarroca, Enric & Gmez Seone, Cristina (2004). Diseo de sistemas software en UML. Politext.
Fowler, Martin; Scott, Rendall & Scott, Kendall (1999). UML gota a gota. Pearson Educacin.
Teniente Lpez, Ernest; Costal Costa, Dolores & Sancho Sams, Ma Ribera (2004). Especificacin de sistemas software en UML. Politext.
http://en.wikipedia.org/wiki/Unified_Modeling_Language#Diagrams_overview http://en.wikipedia.org/wiki/Class_diagram http://en.wikipedia.org/wiki/Component_diagram http://en.wikipedia.org/wiki/Composite_structure_diagram http://en.wikipedia.org/wiki/Deployment_diagram http://en.wikipedia.org/wiki/Object_diagram http://en.wikipedia.org/wiki/Package_diagram http://en.wikipedia.org/wiki/Activity_diagram http://en.wikipedia.org/wiki/Communication_diagram http://en.wikipedia.org/wiki/Interaction_overview_diagram http://en.wikipedia.org/wiki/Sequence_diagram http://en.wikipedia.org/wiki/State_diagram_(UML) http://en.wikipedia.org/wiki/Timing_diagram_(Unified_Modeling_Language) http://en.wikipedia.org/wiki/Use_case_diagram http://www.clubdelsuran.com.ar/site/materiales/proyecto/diagramas_del_uml.pdf http://jtentor.com.ar/post/UML-Diagramas.aspx
http://es.slideshare.net/e1da4/diagramas-uml 35