Title: Especificaciones de software
1Especificaciones de software
Ingeniería de Software
- Nancy Zambrano
- Eleonora Acosta
- Amelia Soriano
2Que significa especificar?
3Propósito de las especificaciones
Propósito
Usuario
Implementador
4Características deseables en la especificación
- Comprensibles
- No ambíguas
- Consistentes
- Completas
- Incrementables
- Validables
- Formales
Cualidadesde unaespecificación
5Clasificación de las Especificaciones
- Informales
- basadas en lenguaje natural
- Formateadas
- basadas en Reglas
- Semi-formales
- basadas en notaciones rigurosas (diagramas ER,
diagramas UML) - Formales
- basadas en formalismos matemáticos
(especificaciones algebraicas)
6Especificaciones Informales
- Una especificación informal se refiere a una
descripción en lenguaje natural - Ejemplo especificar la operación pop del
tipo Stack - pop mediante esta operación se elimina el
elemento del tope de una pila
7Especificaciones Formateadas
- Una especificación formateada se basa en reglas
Ejemplo la operación push del tipo
Stack procedure push(mod SStack, X Elem)
post S agregar a S el elemento X
8Especificaciones semiformales
- Una especificación es semiformal si está escrita
en un lenguaje que tiene una sintaxis precisa
9Especificaciones Formales
- Una especificación es formal si está escrita en
un lenguaje que tiene una sintaxis precisa y una
semántica fundamentada formalmente.
Ejemplo la operación pop del tipo Stack pop
pop(push(x,p)) p
10Lenguaje de Modelación Unificado
U
Unified
L
M
Modeling
Language
NZ/EA/AS/Abril2001
11UML
- Un lenguaje para especificar, visualizar y
construir artefactos de sistemas de software
Artefacto un modelo o pieza de información
producido en el proceso de desarrollode software
12Antecedentes
- Proliferación de métodos OO
- Diferencias de notaciones
A
13Puntos de convergencia
- Coincidencias
- Unificación de conceptos y notaciones
- Búsqueda de estándares
14Lineas de convergencia
1999
Colaboradores Digital Equipment Corp, HP, TI,
IntelliCorp, Rational Software, Computing, MCI
Systemhouse, Microsoft, Oracle, Unisys, IBM,
ICON, i-Logix.
1998
www.rational.com
1997
1996
1995
15Lenguaje de modelacion
- Para expresar mediante diagramas gráficos
diferentes vistas o perspectivas de un sistema en
análisis o en desarrollo
sistema
16Lenguaje de modelacion
- Para expresar mediante diagramas gráficos
diferentes vistas o perspectivas de un sistema en
análisis o en desarrollo
sistema
Vista de máquina de estado del sistemaDiagrama
de estado
17Las vistas en UML
- Estas vistas presentan el sistema desde
diferentes perspectivas - Para su descripción, se seleccionan los diagramas
más apropiados (depende de la aplicación) - Son válidas para diferentes enfoques (no
necesariamente OO)
18Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
19Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Vista Lógica Modela los conceptos del dominio de
la aplicación, internos creados Componentes
principales CLASES y sus RELACIONES
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
20Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Vista Lógica Modela la funcionalidad del sistema
como lo perciben los usuarios externos
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
21Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Vista Física Modela los componentes de un
sistema y sus dependencias
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
22Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Vista Física Representa la disposición de
instancias de componentes de ejecución en
instancias de nodos
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
23Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
Vista Lógica que modela los comportamientos
posibles de un objeto de una clase usando
estados
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
24Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
Vista Lógica que muestra las actividades, su
secuenciamiento y coordinación
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
25Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Vista Lógica que describe secuencias de
intercambios de mensajes entre los roles que
implementan el comportamiento del sistema
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
26Vistas y diagramas de UML
Una vista es una descripción completa de un
sistema desde una perspectiva particular.
Vista Lógica que modela la administración del
modelo del sistema en sí mismo
Área Estructural
Área Dinámica
estática, implementación, casos de uso, despliegue
máquina de estados, actividad, interacción
Vistas por área
Área de Gestión del Modelo
Área de Extensión de UML
gestión del modelo
todas
27Diagramas
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Use Case Diagrams
Diagrama de Clases
Use Case Diagrams
Diagrama de Estados
State Diagrams
State Diagrams
Diagrama de Objeto
Scenario Diagrams
Scenario Diagrams
Component Diagrams
Diagrama de Actividad
Component Diagrams
Diagrama de Componentes
Diagramas
Scenario Diagrams
Scenario Diagrams
Component Diagrams
Diagrama de Secuencia
Component Diagrams
Diagrama de Colaboración
Diagrama de Despliegue
28Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Vista Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
29Vistas y Diagramas Área Dinámica
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
30Vistas y Diagramas Área Gestión del Modelo
State Diagrams
State Diagrams
Diagrama de Clases
Vista de Gestión del Modelo
Diagramas
31Vistas y Diagramas Extensión de UML
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Use Case Diagrams
Diagrama de Clases
Use Case Diagrams
Diagrama de Estados
State Diagrams
State Diagrams
Diagrama de Objeto
Casos de Uso
Gestión del Modelo
Máquina de Estados
Estática
Scenario Diagrams
Scenario Diagrams
Actividad
Component Diagrams
Diagrama de Actividad
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Interacción
Vista de Despliegue
Scenario Diagrams
Scenario Diagrams
Component Diagrams
Diagrama de Secuencia
Component Diagrams
Diagrama de Colaboración
Diagrama de Despliegue
32Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
33Construcciones generales
La notación UML
- Iconos
- Formas 2D
- strings
- Caminos (path)
es parte de
34Construcciones generales
La notación UML
- Notas
- Paquete
- Dependencia
- Estereotipo
Esto es...
ltltinterfazgtgt
35Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
36Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Vista Lógica Modela la funcionalidad del sistema
como lo perciben los usuarios externos
Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
37Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
38Vistas y Diagramas
- Diagramas de Casos de Uso
Representa las funcionalidades del sistema a
partir de las interacciones del usuario
39Diagrama de casos de uso
- Especifica el comportamiento de un sistema
- Describe la secuencia de acciones que dan un
resultado observable a un actor - Captura el comportamiento del sistema (el qué)
omitiendo la implementación del comportamiento
(el cómo) - Identifica las funcionalidades visibles al usuario
40Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
41Diagrama de Casos de Uso Componentes
La notación UML
- Actor entidad externa que interactúa con el
sistema activando los casos de uso - Caso de uso secuencia de transacciones iniciadas
por un actor y que constituye una funcionalidad
del sistema
Casos de uso
Actores
A
usuario1
B
usuario2
42Diagrama de casos de uso Relaciones
Relaciones entre actores y casos de
uso Relaciones entre casos de uso
Relaciones entre actores
- Relaciones entre actores y casos de uso
- Asociación
- Relaciones entre casos de uso
- Extensión (ltltextendgtgt)
- Generalización
- Inclusión (ltltincludegtgt)
- Relaciones entre actores
- Generalización
43Diagrama de casos de uso Relaciones entre
Actores y Casos de Uso
Relaciona la participación de un actor en un
caso de uso
44Diagrama de Casos de Uso
La notación UML
Caso de uso
Actor
Ir al cine
- En la relación de Asociación puede indicarse la
cardinalidad
45Diagrama de Casos de Uso Componentes
La notación UML
nombre del sistema
nombre del caso de uso número del caso de uso
Nombre del actor
nombre del caso de uso número del caso de uso
Nombre del actor
Participación de un actor en un caso de uso
46Casos de Uso Descripción
La notación UML
Caso de uso ltltnúmerogtgt Nombre ltltidentificador
del caso de usogtgt Actor ltlt lista de
actoresgtgt Descripción ltlt Breve
descripcióngtgt Precondición ltltprecondicióngtgt Curso
básicoltlt Breve descripción curso normalgtgt Curso
alterno ltlt Breve descripción curso
excepcionalgtgt Postcondición ltltpostcondicióngtgt
47Diagrama de Casos de Uso Relaciones entre Casos
de Uso
- Extensión (ltltextendgtgt)
- Generalización
- Inclusión (ltltincludegtgt)
Relación que define uncurso alterno
opcional(dependiendo de unacondición)de otro
caso de uso
48Diagrama de Casos de Uso Relación extend
La notación UML
Ir al cine
ltltextendgtgttengo dinero
- Relaciones extend
- el caso de uso Ir al cine puede incluir el
comportamiento especificado en el caso de uso
Comprar cotufa
Comprar cotufa
49Diagrama de Casos de Uso Relación extend
(extension points)
La notación UML
Ir al cine
Extension pointsrequerimientos
adicionales despues de entrar al cine
ltltextendgtgttengo dinero
- Extension points
- el caso de uso podrá ejecutarse una vez
alcanzado el (los) extension point(s) indicado(s)
Comprar cotufa
50Diagrama de Casos de Uso Relación extend
La notación UML
- Es una asociación que describe un curso alterno
opcional (la extensión) de otro caso de uso
(base). - Cuándo usarla?
- En partes opcionales de un caso de uso
- Cursos alternativos que raramente ocurren
- Cursos separados que son ejecutados bajo ciertas
condiciones - En situaciones donde se puede seleccionar una
entre diferentes alternativas
51Diagrama de casos de uso Relaciones entre Casos
de Uso
- Extend
- Generalización
- Include
Relación que define un caso de uso como una
generalización de otro caso de uso
52Relaciones entre Casos de Uso Generalización
La notación UML
Ir alcine
divertirse
- Relación Generalización
- el caso de uso divertirse es una generalización
del caso de uso ir al cine
53Diagrama de casos de uso Relaciones entre Casos
de Uso
- Extend
- Generalización
- Include
Relación que define una instancia de un caso de
uso como un curso obligatorio en otro caso de uso
54Relaciones entre Casos de Uso include
La notación UML
Ir al cine
Extension pointsrequerimientos
adicionales despues de entrar al cine
1
ltltincludegtgt
Comprar entrada
ltltextendgtgttengo dinero
Comprar cotufa
- Relación include
- el caso de uso Ir al cine siempre incluye el
comportamiento especificado en el caso de uso
Comprar entrada
55Relaciones entre Casos de Uso include
La notación UML
- Es una asociación que relaciona cursos
fuertemente acoplados que conforman el curso
completo del caso de uso base - Cuándo usarla?
- Para particionar un caso de uso complejo en los
casos de usos constitutivos - Cuando se quiere separar una funcionalidad en un
caso de uso
56Relaciones entre Casos de Uso Comparación
include/extend
- Diferentes intenciones
- Include
- permite extraer un comportamiento común o aislar
funcionalidades - en general los actores no están relacionados con
el caso de uso aislado - Extend
- permite extraer variantes de un curso normal
- el actor está relacionado con el caso de uso base
57Relaciones entre Casos de Uso Reacomode e
Indique las relaciones
buscar Calificación
leerexámen
responderexámen
colocar identificación al exámen
Utilizar calculadora
estudiante
solicitarexámen
ir al baño
entregarexámen
Realizar la Prueba
pediraclaratoria
58Relaciones entre Casos de Uso Reacomode e
Indique las relaciones
solicitarexámen
leerexámen
colocar identificación al exámen
ltltincludegtgt
ltltincludegtgt
ltltincludegtgt
responderexámen
Realizar la Prueba
ltltincludegtgt
ltltincludegtgt
entregarexámen
ltltextendgtgt
Buscar Calificación
ltltextendgtgt
pediraclaratoria
ltltextendgtgt
Utilizar calculadora
ir al baño
59Diagrama de casos de uso Relaciones entre
actores
Un actor es una instancia de otro actor
60Relaciones entre actores Generalización
estudiante
persona
- Relación de Generalización
- una persona es una generalización de un
estudiante
61Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Vista Lógica en la que se identifican clases,
objetos e interrelaciones entre ellos
Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
62Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
63Diagrama de clases
La notación UML
- Describe la estructura estática del modelo del
sistema, en particular, las clases, tipos,
interfaces y objetos, su estructura interna y las
relaciones entre ellos.
Item
Icon
Container
64Clase
La notación UML
- Descriptor de un conjunto de objetos con
estructura similar, mismo comportamiento y
relaciones - Representa un concepto en el systema que se modela
65Objeto
La notación UML
- Entidad con identidad única que encapsula estado
y comportamiento
66Identifique todos los elementos
La notación UML
Polígono centro Punto vértices Conj-Punto
color-borde Color color-relleno Color
........ ltltconstructorgtgt Polígono(p1,p2,p3Pu
nto) ltltquerygtgt área( ) Real aspecto( )
Real (...) ltltupdategtgt mover (deltaPunto)
escala (radio Real)
triángulo Polígono centro (0,0) vértices
((0,0),(4,0),(4,3)) color-borde negro
color-relleno blanco
67Clase Estereotipos
La notación UML
Un símbolo de clase puede contener o no un
estereotipo. Estereotipos ltlttypegtgtltltimplementat
ionClassgtgtltltinterfacegtgtltltutilitygtgt
68Type e ImplementationClass
La notación UML
ltlttypegtgt Tipo de dato
ltltimplementationClassgtgt Itd
69Type, ImplementationClass y Relación de
Realización
La notación UML
- un type permite especificar los objetos
abstractos y el comportamiento de las operaciones
externas
- una implementationClass
- es un descriptor de objetos
- con estados concretos y
- métodos.
- una relación de Realización implica que la
implementationClass provee al menos todas las
operaciones del Type.
70Interfaces
La notación UML
ltltinterfacegtgt Comparable esIgual(String)
Boolean Hash()Integer
71Clases Parametrizadas
La notación UML
- Es un descriptor para una clase con uno o más
parámetros formales no acotados. - Define una familia de clases, cada una de las
cuales viene dada por la asociación de valores
actuales a los parámetros
72Clases Parametrizadas
La notación UML
Forma de los parámetros nombre tipo valor
por defecto nombre
73Clases Parametrizadas
La notación UML
Punto
Rectángulo p1 Punto p2 Punto
ltltconstructorgtgt Rectángulo(p1p2Punto)
ltltquerygtgt área( ) Real aspecto( ) Real
(...) ltltupdategtgt mover (deltaPunto) escala
(radio Real)
nombre
parámetros
atributos
métodos
ltltbindgtgt (CoorCartesianas)
Rectángulo ltCoorPolaresgt
RectánguloCC
74Utilitarios
La notación UML
- Agrupa variables globales y procedimientos en
forma de una declaración de clase. - Los atributos y operacionesde un utility se
interpretan como atributos globales y operaciones.
ltltutilitygtgt Math Seno(Ángulo)
Real Coseno(Ángulo) Real Raiz2(Real)
Real Aleatorio()Real
75Relaciones
La notación UML
- Conexión semántica entre elementos del modelo
- asociación
- binaria
- agregación
- composición
- generalización
- dependencia
76Asociaciones binarias
La notación UML
- Conexión semántica bidireccional entre elementos,
con un nombre (nombre de la relación vinculada al
comportamiento específico) y un rol (nombre del
extremo de una asociación)
77Roles
- Una asociación tiene roles
- El Rol tiene dirección en la asociación
- El Rol es explicitamente etiquetado
Pedido
Fecha
Es prepagado?
Número
Costo
despacho( )
1
Línea de producto
Pedido de producto
CantidadPrecioSatisfecho?
Adapado de Univ. Calgary
78Multiplicidad
- Indica cuántos objetos pueden participar en la
relación
Pedido
Cliente
Fecha
nombre
Es prepagado?
dirección
1
Número
Precio
credito( )
despacho( )
Adaptado de Univ. Calgary
79Nombre del rol
- Rol identifica el extremo de la asociación
- El nombre del rol es obligatorio para
asociaciones entre objetos de la misma clase
Persona
Trabaja para
Nombre Cédula de Identidad Dirección
empresa
empleado
Persona
Gerente de Ventas
Nombre Cédula de Identidad Dirección
Supervisa
Vendedor
Adapado de Univ. Calgary
80Sumario notación básica para asociaciones
Nombre de la Asociación
Clase B
Clase B
rol_A
rol_B
Ejemplo
Contiene
Pedido
Item
Incluído en
Constituído de
Adaptado de Univ. Calgary
81Clase Asociación
- Se utiliza cuando los atributos no pertenecen a
las clases sino a la asociación
Estación de Trabajo
Autorizado en
Autorización
Prioridad Derechos de Acceso
Inicio de sesión
Tomado de Univ. Calgary
82Composición / agregación(todo/partes)
La notación UML
83Composición diferentes formas de expresarla
La notación UML
84Asociación n-aria
La notación UML
85Generalización
La notación UML
- Relación entre un elemento más general y un
elemento más específico - Especifica una relación de herencia
- Una superclase se define a través de una relación
de generalización
86Herencia
La notación UML
- Una clase B hereda de una clase A si adquiere las
propiedades (estructura y comportamiento)
definidas en la clase A - A es una superclase de la clase B
- B es una subclase de la clase A
87Especialización
La notación UML
- Dada una clase, se crea otra clase (subclase)
que especializa la clase dada, agregando las
diferencias (adición, supresión o redefinición de
propiedades)
Vehículo
88Generalización
La notación UML
- Se crea una clase (superclase), que generaliza
las propiedades comunes de varias clases
89Herencia múltiple
La notación UML
Vehículo
Vehículo PropulsiónViento
Vehículo Propulsión Motor
Vehículo terrestre
Vehículo Acuático
90Dependencias entre clases
La notación UML
- Relación unidireccional semántica entre 2 (o
más) elementos del modelo y existe cuándo cambios
en la definición de un elemento causa cambios en
el otro
ltltfuentegtgt
ltltdestinogtgt
Indica que un cambio en el fuente requiere un
cambio en el destino
91Dependencias entre clases
La notación UML
ltltrefinagtgt
Clase B
ClaseD OperaciónZ( )
Clase A
ltltimportagtgt
ltltinstanciagtgt
ltltusagtgt
ClaseC
Meta minimizar dependencias
92Diagrama de Clases
La notación UML
proyección
Elementos del modelo
Vistas del modelo
1..
0..
Proyección placementListOfPoint style
Uninterpreted
Diagrama
93Diagrama de objetos
La notación UML
- Presenta una imagen del sistema en un instante
de tiempo (un ejemplo del sistema). - Recuerde que los ejemplos de sistemas, no son
definiciones de sistemas.
94Diagrama de objetos
La notación UML
A partir de la definición, por agregación, de la
Clase Polígono,
es posible obtener el diagrama de objetos
correspondiente al objeto triángulo
95Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Vista Física Modela los componentes de un
sistema y sus dependencias
Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
96Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
97Diagrama de Componentes
98Vistas y Diagramas Área Estructural
Vistas y Diagramas Área Estructural
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Diagrama de Clases
State Diagrams
State Diagrams
Diagrama de Objeto
Vista de Casos de Uso
Vista Física Representa la disposición de
instancias de componentes de ejecución en
instancias de nodos
Estática
Component Diagrams
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Vista de Despliegue
Component Diagrams
Component Diagrams
Diagrama de Despliegue
99Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
100Diagrama de Despliegue
nodo
101Diagrama de Despliegue
102Vistas y Diagramas Área Dinámica
Vista Lógica modela la evolución o
comportamiento posibles de un objeto. (los
cambios de estado del objeto en su tiempo de
vida)
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
103Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
104Diagrama de Estado
La notación UML
- Muestra el comportamiento de un objeto cómo
cambia su estado en respuesta a los mensajes que
recibe - Antecedentes
- Diagramas de Transición de estados
- Diagramas de Harel
105Diagrama de Estado
- Estado condición/situación durante el tiempo de
vida de un objeto - Transición de estado relación que indica un
cambio de estado - Evento genera una transición de estado
- atómico y no-interrumpible
- Accion
- atómica y no-interrumpible
parado
apagar motor
no mas gasolina
Arrancagasolina disponible /conectar
arrancado
Adaptado de la Univ. Calgary
106Notación del Estado
- Acciones Entry/Exit
- entry una acción que es ejecutada en la entrada
al estado - exit una acción que es ejecutada en la salida
del estado - do una actividad que se está ejecutando mientras
permanece en un estado - interrumpible
- on una acción que se ejecuta como resultado de
un evento específico
Nombre del Estado
Variable(s) del Estado
entry acción de entradado actividadon
evento-Aacción-Aexit acción de salida
Adaptado de Univ. Calgary
107Transición de estados
Evento(argumentos)condicion/accion
estado-A
estado-B
- Evento
- ocurrencia significativa que tiene una
localización en el tiempo y el espacio - disparan (triggers) la transición (señales,
llamadas, límites de tiempo, cambio en estado) - Condiciones de Guarda
- se evalúan para determinar la transición
- Cuando el guardia evalúa a verdad, una sola
transición es elegible - Guardias de transición a la salida de un estado
son mutuamente exclusivos - Acción cómputo atómico ejecutable
Tomado de Univ. Calgary
108Notacion de diagramas de estado
Evento(atributo)
estado-B
Estado inicial
- Inicio
- eventos triggers no son permitidos
- son permitidas condiciones de bifurcación
- no puede permanecer en el estado inicial
- Fin
- el fin de estado del nivel del tope termina una
máquina de estado
Tomado de Univ. Calgary
109Recomendaciones
- No se requiere un diagrama de estado para cada
clase - Los diagramas de estado no deben ser muy
complejos - Los diagramas de estado son a menudo usados para
describir interfaces de usuario y objetos control
110Diagrama de Estado
La notación UML
111Vistas y Diagramas Área Dinámica
Vista Lógica muestra las actividades, su
secuenciamiento y coordinación. Describe el
flujo detrabajo
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
112Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
113Diagramas de Actividad
- Describe el aspecto dinámico de un trabajo
- Describe
- procesamiento paralelo
- workflows
- Muestra el flujo de actividad en actividad
-
Tomado de Univ. Calgary
114Diagrama de Actividad- Ejemplo
Tomado de Univ. Calgary
115Diagrama de Actividad
La notación UML
116Vistas y Diagramas Área Dinámica
Vista Lógica describe seuencias de intercambios
de mensajes entre los roles que implementan el
comportamiento del sistema
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
117Vistas y Diagramas Área Dinámica
Un Diagrama de Secuenciadescribe la
interaciónentre los objetos ordenadaen el
tiempo
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
118Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
119Diagrama de Secuencia
- Muestra los objetos que participan en una
interacción - el intercambio de mensajes
- su ordenamiento en el tiempo
- Captura el comportamiento dinámico
- Describe todos los escenarios (forma genérica) o
un escenario particular (una instancia)
120Diagrama de Secuencia
La notación UML
Línea de vida
Mensaje
Activación
121Diagrama de Secuencia
La notación UML
ob3C3
ob4C4
op( )
ob1C1
creación
xgt0 op1(x )
ob2C2
condicional
xlt0 op2(x )
op3(z )
op3(w )
op4( )
destrucción
recursión
122Diagrama de Secuencia
La notación UML
receptor
Líneatelefónica
Llamador
Levantar auricular
a
b-alt 1seg)
Activa tono
b
c-blt 1seg)
Marcar números
c
d
enrutar
d
d- d lt 1seg)
Tono de ring
Suena el teléfono
Responde el teléfono
conversación
Para el ring
parar tono
123Diagrama de Secuencia- Ejemplo
Tomado de Univ. Calgary
124Utilidad de los diagramas de secuencia
- Maneja la comunicación entre el sistema y el
mundo exterior - captura requerimientos de la interfaz de usuario
- no muestra como la interfaz será implementada
- Son un medio para clarificar escenarios
125Vistas y Diagramas Área Dinámica
Un Diagrama de Colaboración describe la
interaciónentre los objetos, numerandola
secuencia de mensajes
Use Case Diagrams
Use Case Diagrams
Diagrama de Estados
Vista de Máquina de Estados
Scenario Diagrams
Scenario Diagrams
Vista de Actividad
Diagrama de Actividad
Diagramas
Vista de Interacción
Scenario Diagrams
Scenario Diagrams
Diagrama de Secuencia
Diagrama de Colaboración
126Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
127Diagrama de Colaboración
- Los diagramas de secuencia y de colaboración
- - son diagramas de interacción
- - utilizan la misma información
- (objetos y las relaciones existentes entre
ellos) - - enfatizan diferentes aspectos y son mostrados
de diferente manera
128Diagramas de interacción
La notación UML
Diagrama de Secuencia
129Diagramas de Interacción
Secuencia
130Diagramas de Colaboración
- descripción de la estructura estática - objetos y
relaciones - (Contexto de la colaboración) - descripción de la secuencia de mensajes
intercambiados entre los objetos para cumplir una
tarea (interacciones de la colaboración)
Describe comportamiento estático
Describe comportamiento dinámico
131Diagrama de Colaboración
- Colaboración parametrizada (construcción de
diseño que puede ser usada en diferentes
aplicaciones) - PATRONES DE DISEÑO
132Vistas y Diagramas Área Gestión del Modelo
Vista Lógica que modela la administración del
modelo en sí mismo
State Diagrams
State Diagrams
Diagrama de Clases
Vista de Gestión del Modelo
Diagramas
133Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
134Administración del modelo
- Paquetes
- Subsistemas
- Modelo
Los paquetes permiten agrupar elementos
del modelo
135Administración del modelo
Un subsistema representa una unidad de
comportamiento en el sistema físico
- Paquetes
- Subsistemas
- Modelo
136Administración del modelo
Un modelo es una abstracción del sistema
físico. Describe el sistema desde un punto de
vista y a un cierto nivel de abstracción
- Paquetes
- Subsistemas
- Modelo
137Administración del modelo
- Paquetes
- Subsistemas
- Modelo
Los paquetes permiten agrupar elementos
del modelo
138Paquetes
- El paquete es una agrupación de elementos del
modelo - Un paquete puede - estar incluído dentro de
otro paquete, - contener otra clase de
elementos del modelo. - Los paquetes tienen elementos propios y son la
base para - el control de la configuración,
- el almacenamiento - el control de acceso. - Cada elemento pertenece a un único paquete.
139Paquetes Notación
Nombre
Nombre
contenido
140Paquetes Notación
Editor
Elementos del Dominio
Elementos del Diagrama
Controlador
141Relaciones entre paquetes
- Los paquetes pueden hacer referencia a otros
paquetes mediante el uso de uno de los
estereotipos ltltimportgtgt y
ltltaccessgtgt
142Visibilidad de elementos del paquete
- La visibilidad de los elementos del paquete fuera
de éste se indica precediendo un símbolo al
nombre del elemento para todo
público - privado protegido
143Paquetes
- Encapsulación
- Mostrar dependencias entre paquetes
- Meta del diseño a gran escala minimizar
dependencias - facilita anticipación al cambio
Fuente Univ. Calgary
144Recomendaciones
- Dar a las clases del paquetes sólo visibilidad en
el paquete - Definir una clase pública que provea el
comportamiento público del paquete - Delegar las operaciones públicas a las clases
apropiadas del paquete
Fuente Univ. Calgary
145Recomendaciones
- Tratar de evitar ciclos en la estructura de
dependencias - Si hay muchas dependencias analizar la
modularización del sistema - Construir un diagrama de paquetes cuando el
diagrama de clases del sistema no sea legible en
una página
Fuente Univ. Calgary
146Administración del modelo
Un subsistema representa una unidad de
comportamiento en el sistema físico
- Paquetes
- Subsistemas
- Modelo
147Subsistemas
- Un subsistema ofrece interfaces y tiene
operaciones. Su contenido puede separarse en
- elementos de especificación -
elementos de implementación. - La especificación de un subsistema está compuesta
por operaciones en el subsistema, así como
elementos tales como diagramas de casos de uso,
de estado, ...
148Subsistemas
149Subsistemas
150Administración del modelo
Un modelo es una abstracción del sistema
físico. Describe el sistema desde un punto de
vista y a un cierto nivel de abstracción
- Paquetes
- Subsistemas
- Modelo
151Modelo
- Es una abstracción de un sistema físico
- Presenta el sistema físico a un cierto nivel de
abstracción y desde un punto de vista específico - Los elementos de un modelo se organizan en una
jerarquía de paquetes / subsistemas
152Modelo
Nombre
Nombre
contenido
153Modelo
System Model
Análisis
Diseño
154Modelos y Subsistemas
SS1
SS2
SS3
155Modelos y Subsistemas
SS1
SS2
SS3
156Vistas y Diagramas Área Extensión de UML
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagrama de Casos de Uso
State Diagrams
Use Case Diagrams
Diagrama de Clases
Use Case Diagrams
Diagrama de Estados
State Diagrams
State Diagrams
Diagrama de Objeto
Casos de Uso
Gestión del Modelo
Máquina de Estados
Estática
Scenario Diagrams
Scenario Diagrams
Actividad
Component Diagrams
Diagrama de Actividad
Vista de Implementación
Component Diagrams
Diagrama de Componentes
Diagramas
Interacción
Vista de Despliegue
Scenario Diagrams
Scenario Diagrams
Component Diagrams
Diagrama de Secuencia
Component Diagrams
Diagrama de Colaboración
Diagrama de Despliegue
157Vistas y Diagramas Área Extensión de UML
- Construcciones Principales
- Restricciones
- Estereotipos
- Valores etiquetados
158Vistas y Diagramas Área Extensión de UML
- Construcciones Principales
- Restricciones
- Estereotipos
- Valores etiquetados
Declaración textual de una relación semántica
159Vistas y Diagramas Área Extensión de UML
- Construcciones Principales
- Restricciones
- Estereotipos
- Valores etiquetados
Nueva clase de elemento del modelo, ideada por
el analista y basada en un tipo de elemento del
modelo
160Vistas y Diagramas Área Extensión de UML
- Construcciones Principales
- Restricciones
- Estereotipos
- Valores etiquetados
Porción de información con nombre, Unida a
cualquier elemento del modelo
161Especificaciones formales
Próxima clase
- Especificaciones algebraicas