diagrama de clases

Anuncio
Lenguaje de
Modelamiento Unificado.
Pontificia Universidad Javeriana
Ingeniería de Software
Olga Lucía Roa
What can you Model
with UML?
1. Structure Diagrams include:
• The Class Diagram
• Object Diagram
• Component Diagram
• Composite Structure Diagram
• Package Diagram
• Deployment Diagram.
Ingeniería de Software
Olga Lucía Roa
What can you Model
with UML?
2. Behavior Diagrams include
• The Use Case Diagram (used
by some methodologies during
requirements gathering)
• Activity Diagram
• State Machine Diagram.
Ingeniería de Software
Olga Lucía Roa
What can you Model
with UML?
3. Interaction Diagrams, all
derived from the more general
Behavior Diagram, include:
• The Sequence Diagram
• Interaction Overview Diagram
Ingeniería de Software
Olga Lucía Roa
Área
Vista
Conceptos
Principales
Diagramas
Clase,
asociación,
dependencia,
interfaz.
generalización,
realización,
Caso
de Uso, Actor, asociación,
extensión, generalización.
Vista Estática
Diagrama de Clases
Vista de Casos de Uso
Diagramas de Casos de Uso
Vista de Implementación
Diagramas de Componentes
Vista de Despliegue
Diagramas de Despliegue
Vista de Estados de máquina
Diagramas de Estados
Estado, evento, transición, acción.
Vista de actividad
Diagramas de Actividad
Estado,
actividad,
transición,
determinación, división, unión.
Diagramas de Secuencia
Interacción,
objeto,
activación.
Diagramas de Colaboración
Colaboración, interacción, rol
colaboración, mensaje.
Diagramas de Clases
Paquete, subsistema, modelo.
Estructural
Componente, interfaz,
realización.
dependencia,
Nodo,
dependencia,
componente,
localización.
Dinámica
mensaje,
Vista de interacción
Administración o Gestión de modelo
Vista de Gestión de modelo
Extensión de UML
Todas
Ingeniería
Todos de Software
Olga Lucía Roa
Restricción,
estereotipo,
etiquetados.
de
valores,
DIAGRAMAS DE
CASOS DE USO
• Casos de Uso es una técnica para
capturar información de cómo un
sistema o negocio trabaja, o de cómo
se desea que trabaje.
Es una técnica para captura de
requisitos.
Ingeniería de Software
Olga Lucía Roa
El diagrama de casos de
uso soluciona ….
Que hace el sistema, a diferencia de
otros diagramas UML que intentan
dar respuesta a un Como logra su
comportamiento el sistema
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
CASOS DE USO
«extiende» (extend) se emplea para establecer una situación
excepcional o de error, que no corresponde al camino normal
del caso de uso básico
«incluye» (include) se utiliza para extraer las partes comunes
de los casos de uso
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
CASOS DE USO
Incorporar a lista
de espera
«extend»
Obtener préstamo
Alumno
«include»
Consultar
bibliografía
Bibliotecario
«include»
Incorporar
material a la
biblioteca
Ingeniería de Software
Olga Lucía Roa
Un Caso de Uso es empleado con
más frecuencia en alguna de las
siguientes etapas :
• Determinación de Requerimientos: Por lo general
nuevos requerimientos de sistema generan nuevos
usos-casos, conforme es analizado y diseñado el
sistema.
• Comunicación con el Cliente: Debido a la sencillez
de este tipo de diagramas, son fáciles de emplear
para comunicarse con el cliente final del proyecto.
• Generación de pruebas de Sistemas: A través
de los diagramas uso-caso se pueden generar una
serie de pruebas de sistema.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMA DE CLASES
Es un tipo de modelo estático. Describe
la vista estática de un sistema en
términos de clases y relaciones entre
ellas.
Ingeniería de Software
Olga Lucía Roa
Diagrama de Clases y sus asociaciones
Un “Cliente” Puede tener
una o más ordenes.
Agregación: La “Orden”
agrega una lista de
elementos tipo “Bebida”
Una Orden tiene un pago,
y un pago corresponde
únicamente a una orden
Agregación: La “Orden”
agrega una lista de
elementos tipo “Platillo”
“Efectivo” hereda de
“Pago”, es un tipo de pago.
“Credito” hereda de
“Pago”, es un tipo de pago.
CLASES
1. Leer el enunciado e identificar las entidades,
sustantivos, Clases (objetos) que representan algo
en la solución del problema siempre en singular.
2. Leer el enunciado e identificar las cualidades ó
atributos de las entidades anteriores.
3. Los métodos ó funciones (verbos- acciones)
necesarias para cumplir los requerimientos, por
ejemplo: registrar, crear, eliminar, modificar
XXXX, etc.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMA DE CLASES
Fig. 1
Fig. 3
Fig. 2
Ingeniería de Software
Olga Lucía Roa
DIAGRAMA DE CLASES
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
COMPORTAMIENTO
• Diagramas de estado.
• Diagramas de actividad.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE ESTADO
El Diagrama de Estados modela el comportamiento
de una parte del sistema.
• Típicamente se elabora un diagrama de Estados
para cada clase que tenga un comportamiento
significativo.
• El comportamiento es modelado en términos
del estado en el cual se encuentra el objeto,
qué acciones se ejecutan en cada estado y
cuál es el estado al que transita después de
un determinado evento.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
ESTADO
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
ACTIVIDAD
• Caso especial de Diagrama de Estados
donde:
– Todos (o la mayoría de) los estados son
estados de acción.
– Todas (la mayoría de) las transiciones
son “disparadas” como consecuencia de
la finalización de la acción.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
ACTIVIDAD
• El Diagrama de Actividades puede
especificar:
– El comportamiento de los objetos de una
clase.
– La lógica de una operación (método).
– Parte o toda la descripción de un Caso
de uso.
– La descripción de un Flujo de Trabajo.
Ingeniería de Software
Olga Lucía Roa
Diag. Actividad <> Diag.
De Flujo
Es importante recalcar que aunque un diagrama de
actividad es muy similar en definición a un diagrama de
flujo (típicamente asociado en el diseño de Software),
estos no son lo mismo. Un diagrama de actividad es
utilizado en conjunción de un diagrama uso-caso para
auxiliar a los miembros del equipo de desarrollo a
entender como es utilizado el sistema y como reacciona
en determinados eventos. Lo anterior, en contraste con
un diagrama de flujo que ayuda a un programador a
desarrollar código a través de una descripción lógica de
un proceso. Se pudiera considerar que un diagrama de
actividad describe el problema, mientras un diagrama de
flujo describe la solución.
DIAGRAMAS DE
ACTIVIDAD
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
ACTIVIDAD
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
INTERACCIÓN
• Diagramas de secuencia.
• Diagramas de colaboración.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
SECUENCIA
• Los Diagramas de Secuencia y de Colaboración son
usados para describir gráficamente un caso de uso o
un escenario.
• Un Diagrama de Secuencia muestra los objetos de un
escenario mediante líneas verticales y los mensajes
entre objetos como flechas conectando objetos.
• Los mensajes son dibujados cronológicamente desde
arriba hacia abajo. Los rectángulos en las líneas
verticales representan los periodos de actividad de
los objetos.
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
SECUENCIA
DIAGRAMAS DE
COLABORACIÓN
• El Diagrama de Colaboración modela la interacción
entre los objetos de un Caso de Uso.
• Los objetos están conectados por enlaces (links)
en los cuales se representan los mensajes enviados
acompañados de una flecha que indica su
dirección.
• El Diagrama de Colaboración ofrece una
mejor visión del escenario cuando el
analista está intentando comprender la
participación de un objeto en el sistema
Ingeniería de Software
Olga Lucía Roa
DIAGRAMAS DE
COLABORACIÓN
Los ‘:’ significa que es un
objeto, instancia de una
clase
Metodos
Metodos
Ingeniería de Software
Olga Lucía Roa
Descargar