1. 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
2. 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.
3. Componentes de un diagrama de
clases
Clase
Este 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.
4. 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.
5. 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.
6. 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.
7. 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.
8. 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..
9. 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
10. 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.
11. Diagrama de Componentes
Un diagrama de componentes describe
la organización de los componentes
físicos de un sistema.
12. Componentes de un Diagrama de
Componentes
Componente
Un componente es un bloque de construcción
física del sistema.
15. Diagrama de Estructura Compuesta
Un 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.
16. 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.
17. 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.
18. 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.
19. 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.
20. 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.
21. 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).
22. 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.
23. 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.
24. Componentes de un Diagrama de
Actividades
Estados de Acción
Los estados de acción representan las
acciones no interrumpidas de los objetos.
25. Flujo de la Acción
Los flujos de acción, representados con
flechas, ilustran las relaciones entre los
estados de acción.
26. 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.
27. 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.
28. Ramificación
Un rombo representa una decisión con
caminos alternativos. Las salidas
alternativas deben estar etiquetadas
con una condición.
29. Sincronización
Una barra de sincronización ayuda a
ilustrar la ocurrencia de transiciones
paralelas, así quedan representadas las
acciones concurrentes.
30. Marcos de Responsabilidad
Los marcos de responsabilidad agrupan
a las actividades relacionadas en una
misma columna.
31. 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.
32. 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.
33. Casos de Uso
Se representan con óvalos. La etiqueta
en el óvalo indica la función del sistema.
35. 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.
36. 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.
37. 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.
38. 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.
39. Activación
Los cuadros de activación representan el
tiempo que un objeto necesita para
completar una tarea.
40. 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.
41. 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.
42. Destrucción de Objetos
Los objetos pueden ser eliminados
tempranamente usando una flecha
etiquetada "<>" que apunta a una X.
43. 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 [ ].
44. 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.
45. 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
46. Diagrama de la Descripción de la
Interacción
Un 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.