46
Universidad Politécnica de Tecámac DIAGRAMAS UML CARRERA: INGENIERÍA EN SOFTWARE MATERIA: DISEÑO DE SISTEMAS PROFESOR: RENE DOMÍNGUEZ ESCALONA ALUMNO: RAMÍREZ HERNÁNDEZ JUAN FERNANDO MATRICULA: 14140530101 GRUPO: 2716IS

Diagramas UML (Diseño de Sistemas)

Embed Size (px)

Citation preview

Universidad Politécnica de Tecámac

DIAGRAMAS UMLCARRERA: INGENIERÍA EN SOFTWARE

MATERIA: DISEÑO DE SISTEMASPROFESOR: RENE DOMÍNGUEZ ESCALONA

ALUMNO: RAMÍREZ HERNÁNDEZ JUAN FERNANDOMATRICULA: 14140530101

GRUPO: 2716IS

Diagrama de Clases

Es una representación gráfica que sirve para representar la estructura de un sistema que será implementado utilizando un lenguaje orientado a objetos. Los diagramas de clases se realizan en la fase de diseño del software después de la fase de requisitos (más información sobre las fases de la ingeniería del software aquí). La idea de estos diagramas es representar las clases que tendrá el sistema así como su contenido y sus relaciones con otras clases. La implementación de sistemas medianamente grandes no sería abordable sin este tipo de diagramas, y aunque fuera abordable se tardaría mucho más y sería más fácil cometer errores.

Componentes de un diagrama de clases

ClaseEste es el elemento básico del diagrama de clases. Las clases representan entidades o conceptos. Normalmente cada vez que aparece un sustantivo en un documento de descripción de un sistema ese sustantivo es una clase. En cada clase se definen los atributos y métodos que tendrán los objetos de esa clase.

Atributos y métodos

Los atributos y los métodos se muestran con su nombre además de su tipo. En el caso de los métodos también se muestra el tipo de retorno en caso de que retorne algo y el nombre y tipo de sus parámetros. Los atributos pueden tener un valor inicial. Además, los símbolos que se encuentran antes del nombre de los atributos y métodos representan la visibilidad de éstos: El símbolo – representa atributos privados. El símbolo + representa atributos públicos. El símbolo # representa atributos protegidos.

Relaciones

Como he dicho antes las clases se relacionan con otras. En cada relación aparece el nombre del atributo que se usará para representar esa relación y la multiplicidad. Las relaciones que existen son las siguientes:

Generalización: Esta relación representa la herencia o la extensión de una clase de otra.

Asociación

Representa una relación básica entre dos clases. Pueden ser unidireccionales (sólo una de las clases conoce a la otra) o bidireccionales (ambas clases tienen conocimiento de la otra). En la siguiente imagen podemos ver un ejemplo. La primera es una asociación bidireccional que representa que un curso tiene desde 1 hasta varios alumnos y que un alumno puede estar en 0 o varios cursos. La segunda es una asociación unidireccional que representa que una asignatura tiene un único profesor responsable.

Agregación y Composición

Agregación: Es un tipo de asociación con la que se representa que cada objeto de una de las clases contiene objetos de la otra clase. El objeto contenedor seguirá existiendo aunque los objetos contenidos dejen de existir.

Composición: Es un tipo de asociación, pero podemos decir que son agregaciones fuertes. La diferencia con las agregaciones es que no tiene sentido que el objeto contenedor siga existiendo si no existen los objetos contenidos.

Diagrama de Objeto

Los Diagramas de Objetos están vinculados con los Diagramas de Clases. Un objeto es una instancia de una clase, por lo que un diagrama de objetos puede ser visto como una instancia de un diagrama de clases. Los diagramas de objetos describen la estructura estática de un sistema en un momento particular y son usados para probar la precisión de los diagramas de clases..

Componentes de un Diagrama de Objeto

Nombre de los objetos

Cada objeto es representado como un rectángulo, 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.

Diagrama de Componentes

Un diagrama de componentes describe la organización de los componentes físicos de un sistema.

Componentes de un Diagrama de Componentes Componente

Un componente es un bloque de construcción física del sistema.

Interfase

Una interfase describe a un grupo de operaciones usada o creada por componentes.

Dependencias

Las dependencias entre componentes se grafican usando flechas de puntos.

Diagrama de Estructura CompuestaUn diagrama de estructura es un tipo de diagrama en el Lenguaje de Modelado Unificado (UML), que muestra la estructura interna de una clase y las colaboraciones que esta estructura hace posibles. Esto puede incluir partes internas, puertas mediante las cuales, las partes interactúan con cada una de las otras o mediante las cuales, instancias de la clase interactúan con las partes y con el mundo exterior, y conectores entre partes o puertas. Una estructura compuesta es un conjunto de elementos interconectados que colaboran en tiempo de ejecución para lograr algún propósito. Cada elemento tiene algún rol definido en la colaboración.

Componentes de un Diagrama de Estructura Compuesta Parte

Una parte representa un rol jugado en tiempo de ejecución por una instancia de una clase o por una colección de instancias. La parte puede nombrar solamente un rol, una superclase abstracta, o puede nombrar una clase concreta específica. La parte puede incluir un factor de multiplicidad (cardinalidad), tal como el [0..*] mostrado para Viewer en el diagrama.

Puerta

Una puerta es un punto de interacción que puede ser usado para conectar clasificadores estructurados con sus partes y con el ambiente. Las puertas pueden opcionalmente especificar los servicios que proveen y los servicios que requieren de otras partes del sistema. En el diagrama, cada uno de los cuadrados pequeños es una puerta. Cada puerta tiene un tipo y esta etiquetado con un nombre, tal como "var", "indVar1", or "view" en el diagrama.

Conector

Un conector une dos o más entidades, permitiéndoles interactuar en tiempo de ejecución. Un conector es representado por una línea que une una combinación de partes, puertas y clasificadores estructurados. El diagrama muestra tres conectores entre puertas, y un conector entre un clasificador estructurado y una parte.

Colaboración

Una colaboración es generalmente más abstracta que un clasificador estructurado. Ésta es mostrada como un óvalo sin relleno conteniendo los roles que las instancias pueden jugar en la colaboración.

Clasificador estructurado

Un Clasificador Estructurado representa una clase, frecuentemente una clase abstracta, cuyo comportamiento puede ser completa o parcialmente descrito mediante interacciones entre partes.

Un Clasificador Encapsulado es un tipo de clasificador estructurado que contiene puertas. En el diagrama abajo, ambos FibonacciSystem y Variable son clasificadores encapsulados, porque ambos tienen puertas a lo largo de sus límites.

Diagrama de Despliegue

El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar la disposición física de los artefactos software en nodos (usualmente plataforma de hardware).

uso

Sistemas empotrados: Un sistema empotrado es una colección de hardware con una gran cantidad de software que interactúa con el mundo físico.

Sistemas cliente-servidor: Los sistemas cliente-servidor son un extremo del espectro de los sistemas distribuidos y requieren tomar decisiones sobre la conectividad de red de los clientes a los servidores y sobre la distribución física de los componentes software del sistema a través de nodos.

Sistemas completamente distribuidos: En el otro extremo encontramos aquellos sistemas que son ampliamente o totalmente distribuidos y que normalmente incluyen varios niveles de servidores. Tales sistemas contienen a menudo varias versiones de componentes software, alguno de los cuales pueden incluso migrar de un nodo a otro. El diseño de tales sistemas requiere tomar decisiones que permitan un cambio continuo de la topología del sistema.

Diagrama de actividades

Un diagrama de actividades ilustra la naturaleza dinámica de un sistema mediante el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una operación en alguna clase del sistema y que resulta en un cambio en el estado del sistema. Típicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo interno de una operación.

Componentes de un Diagrama de Actividades Estados de Acción Los estados de acción representan las acciones no interrumpidas de los objetos.

Flujo de la Acción

Los flujos de acción, representados con flechas, ilustran las relaciones entre los estados de acción.

Flujo de Objetos

El flujo de objetos se refiere a la creación y modificación de objetos por parte de actividades. Una flecha de flujo de objeto, desde una acción a un objeto, significa que la acción está creando o influyendo sobre dicho objeto. Una flecha de flujo de objeto, desde un objeto a una acción, indica que el estado de acción utiliza dicho objeto.

Estado Inicial y Estado Final

Estado Inicial

Estado inicial de un estado de acción. Estado Final

Estado final de un estado de acción.

Ramificación

Un rombo representa una decisión con caminos alternativos. Las salidas alternativas deben estar etiquetadas con una condición.

Sincronización

Una barra de sincronización ayuda a ilustrar la ocurrencia de transiciones paralelas, así quedan representadas las acciones concurrentes.

Marcos de Responsabilidad

Los marcos de responsabilidad agrupan a las actividades relacionadas en una misma columna.

Diagrama de Caso de Uso

Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario. Es una herramienta valiosa dado que es una técnica de aciertos y errores para obtener los requerimientos del sistema, justamente desde el punto de vista del usuario. Los diagramas de caso de uso modelan la funcionalidad del sistema usando actores y casos de uso. Los casos de uso son servicios o funciones provistas por el sistema para sus usuarios.

Componentes de un Diagrama de Caso de Uso Sistema

El rectángulo representa los límites del sistema que contiene los casos de uso. Los actores se ubican fuera de los límites del sistema.

Casos de Uso

Se representan con óvalos. La etiqueta en el óvalo indica la función del sistema.

Actores

Los actores son los usuarios de un sistema.

Relaciones

Las relaciones entre un actor y un caso de uso, se dibujan con una línea simple. Para relaciones entre casos de uso, se utilizan flechas etiquetadas "incluir" o "extender." Una relación "incluir" indica que un caso de uso es necesitado por otro para poder cumplir una tarea. Una relación "extender" indica opciones alternativas para un cierto caso de uso.

Diagrama de Maquina de Estados

Los diagramas de máquina de estados ofrecen un método orientado a objetos de mostrar el comportamiento de un objeto y documentar cómo el objeto responde a determinados eventos, incluidos estímulos internos y externos.

Diagrama de Secuencia

Los diagramas de clases y los de objetos representan información estática. No obstante, en un sistema funcional, los objetos interactúan entre sí, y tales interacciones suceden con el tiempo. El diagrama de secuencias UML muestra la mecánica de la interacción con base en tiempos.

Componentes de un Diagrama de Caso de Secuencia 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.

Activación

Los cuadros de activación representan el tiempo que un objeto necesita para completar una tarea.

Mensajes

Los mensajes son flechas que representan comunicaciones entre objetos. Las medias flechas representan mensajes asincrónicos. Los mensajes asincrónicos son enviados desde un objeto que no va a esperar una respuesta del receptor para continuar con sus tareas.

Líneas de Vida

Las líneas de vida son verticales y en línea de puntos, ellas indican la presencia del objeto durante el tiempo.

Destrucción de Objetos

Los objetos pueden ser eliminados tempranamente usando una flecha etiquetada "<>" que apunta a una X.

Loops

Una repetición o loop en un diagrama de secuencias, es representado como un rectángulo. La condición para abandonar el loop se coloca en la parte inferior entre corchetes [ ].

Diagrama de Comunicaciones

Un diagrama de comunicación modela las interacciones entre objetos o partes en términos de mensajes en secuencia. Los diagramas de comunicación representan una combinación de información tomada desde el diagrama de clases, secuencia, y diagrama de casos de uso describiendo tanto la estructura estática como el comportamiento dinámico de un sistema.

Diagrama de Tiempo

Un diagrama de tiempos o cronograma es una gráfica de formas de onda digitales que muestra la relación temporal entre varias señales, y cómo varía cada señal en relación a las demás

Diagrama de la Descripción de la InteracciónUn diagrama de descripción de la interacción es una forma de diagrama de actividad en el cual los nodos representan diagramas de interacción. Los diagramas de interacción pueden incluir diagramas de secuencia, comunicación, de descripción de la interacción y de tiempos. La mayoría de la notación para los diagramas de descripción de la interacción es la misma que para los diagramas de actividad, por ejemplo los nodos inicial, final, decisión, combinación, bifurcación y unión son todos lo mismo. Sin embargo, los diagramas de descripción de la interacción introducen dos elementos nuevos, ocurrencias de interacción y elementos de interacción.