Especificaciones de software - PowerPoint PPT Presentation

1 / 161
About This Presentation
Title:

Especificaciones de software

Description:

Ocupado. hacer/sonar tono ocupado' TonoLibre. hacer/sonar tono ... ocupado. conectado. receptor contesta /conversaci n. marcar d gito (n) marcar d gito (n) ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 162
Provided by: Ame6161
Category:

less

Transcript and Presenter's Notes

Title: Especificaciones de software


1
Especificaciones de software
Ingeniería de Software
  • Nancy Zambrano
  • Eleonora Acosta
  • Amelia Soriano

2
Que significa especificar?
3
Propósito de las especificaciones

Propósito
Usuario
Implementador
4
Características deseables en la especificación
  • Comprensibles
  • No ambíguas
  • Consistentes
  • Completas
  • Incrementables
  • Validables
  • Formales

Cualidadesde unaespecificación
5
Clasificació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)

6
Especificaciones 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

7
Especificaciones 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
8
Especificaciones semiformales
  • Una especificación es semiformal si está escrita
    en un lenguaje que tiene una sintaxis precisa

9
Especificaciones 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
10
Lenguaje de Modelación Unificado
U
Unified
L
M
Modeling
Language
NZ/EA/AS/Abril2001
11
UML
  • 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
12
Antecedentes
  • Proliferación de métodos OO
  • Diferencias de notaciones

A
13
Puntos de convergencia
  • Coincidencias
  • Unificación de conceptos y notaciones
  • Búsqueda de estándares

14
Lineas 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
15
Lenguaje de modelacion
  • Para expresar mediante diagramas gráficos
    diferentes vistas o perspectivas de un sistema en
    análisis o en desarrollo

sistema
16
Lenguaje 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
17
Las 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)

18
Vistas 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
19
Vistas 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
20
Vistas 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
21
Vistas 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
22
Vistas 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
23
Vistas 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
24
Vistas 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
25
Vistas 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
26
Vistas 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
27
Diagramas
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
28
Vistas 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
29
Vistas 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
30
Vistas y Diagramas Área Gestión del Modelo
State Diagrams
State Diagrams
Diagrama de Clases
Vista de Gestión del Modelo
Diagramas
31
Vistas 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
32
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
33
Construcciones generales
La notación UML
  • Iconos
  • Formas 2D
  • strings
  • Caminos (path)

es parte de
34
Construcciones generales
La notación UML
  • Notas
  • Paquete
  • Dependencia
  • Estereotipo

Esto es...
ltltinterfazgtgt
35
Vistas 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
36
Vistas 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
37
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
38
Vistas y Diagramas
  • Diagramas de Casos de Uso

Representa las funcionalidades del sistema a
partir de las interacciones del usuario
39
Diagrama 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

40
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
41
Diagrama 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
42
Diagrama 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

43
Diagrama de casos de uso Relaciones entre
Actores y Casos de Uso
Relaciona la participación de un actor en un
caso de uso
  • Asociación

44
Diagrama 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

45
Diagrama 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
46
Casos 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
47
Diagrama 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
48
Diagrama 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
49
Diagrama 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
50
Diagrama 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

51
Diagrama 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
52
Relaciones 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

53
Diagrama 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
54
Relaciones 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

55
Relaciones 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

56
Relaciones 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

57
Relaciones 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
58
Relaciones 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
59
Diagrama de casos de uso Relaciones entre
actores
  • Generalización

Un actor es una instancia de otro actor
60
Relaciones entre actores Generalización
estudiante
persona
  • Relación de Generalización
  • una persona es una generalización de un
    estudiante

61
Vistas 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
62
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
63
Diagrama 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
64
Clase
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

65
Objeto
La notación UML
  • Entidad con identidad única que encapsula estado
    y comportamiento

66
Identifique 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
67
Clase Estereotipos
La notación UML
Un símbolo de clase puede contener o no un
estereotipo. Estereotipos ltlttypegtgtltltimplementat
ionClassgtgtltltinterfacegtgtltltutilitygtgt
68
Type e ImplementationClass
La notación UML
ltlttypegtgt Tipo de dato
ltltimplementationClassgtgt Itd
69
Type, 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.

70
Interfaces
La notación UML
ltltinterfacegtgt Comparable esIgual(String)
Boolean Hash()Integer
71
Clases 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

72
Clases Parametrizadas
La notación UML
Forma de los parámetros nombre tipo valor
por defecto nombre
73
Clases 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
74
Utilitarios
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
75
Relaciones
La notación UML
  • Conexión semántica entre elementos del modelo
  • asociación
  • binaria
  • agregación
  • composición
  • generalización
  • dependencia

76
Asociaciones 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)

77
Roles
  • 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
78
Multiplicidad
  • 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
79
Nombre 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
80
Sumario 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
81
Clase 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
82
Composición / agregación(todo/partes)
La notación UML
83
Composición diferentes formas de expresarla
La notación UML
84
Asociación n-aria
La notación UML
85
Generalizació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

86
Herencia
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

87
Especializació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
88
Generalización
La notación UML
  • Se crea una clase (superclase), que generaliza
    las propiedades comunes de varias clases

89
Herencia múltiple
La notación UML
Vehículo
Vehículo PropulsiónViento
Vehículo Propulsión Motor
Vehículo terrestre
Vehículo Acuático
90
Dependencias 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
91
Dependencias entre clases
La notación UML
ltltrefinagtgt
Clase B
ClaseD OperaciónZ( )
Clase A
ltltimportagtgt
ltltinstanciagtgt
ltltusagtgt
ClaseC
Meta minimizar dependencias
92
Diagrama de Clases
La notación UML
proyección
Elementos del modelo
Vistas del modelo
1..
0..
Proyección placementListOfPoint style
Uninterpreted
Diagrama
93
Diagrama 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.

94
Diagrama 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
95
Vistas 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
96
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
97
Diagrama de Componentes
98
Vistas 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
99
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
100
Diagrama de Despliegue
  • Nivel de Descriptor

nodo
101
Diagrama de Despliegue
  • Nivel de Instancia

102
Vistas 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
103
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
104
Diagrama 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

105
Diagrama 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
106
Notació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
107
Transició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
108
Notacion 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
109
Recomendaciones
  • 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

110
Diagrama de Estado
La notación UML
111
Vistas 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
112
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
113
Diagramas 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
114
Diagrama de Actividad- Ejemplo
Tomado de Univ. Calgary
115
Diagrama de Actividad
La notación UML
116
Vistas 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
117
Vistas 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
118
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
119
Diagrama 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)

120
Diagrama de Secuencia
La notación UML
Línea de vida
Mensaje
Activación
121
Diagrama 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
122
Diagrama 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
123
Diagrama de Secuencia- Ejemplo
Tomado de Univ. Calgary
124
Utilidad 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

125
Vistas 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
126
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
127
Diagrama 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

128
Diagramas de interacción
La notación UML
Diagrama de Secuencia
129
Diagramas de Interacción
Secuencia
130
Diagramas 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
131
Diagrama de Colaboración
  • Colaboración parametrizada (construcción de
    diseño que puede ser usada en diferentes
    aplicaciones)
  • PATRONES DE DISEÑO

132
Vistas 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
133
Vistas y Diagramas
Extraído de El Lenguaje Unificado de Modelado.
Manual de Referencia. Rumbaugh, Jacobson, Booch.
Addison Wesley 2000
134
Administración del modelo
  • Paquetes
  • Subsistemas
  • Modelo

Los paquetes permiten agrupar elementos
del modelo
135
Administración del modelo
Un subsistema representa una unidad de
comportamiento en el sistema físico
  • Paquetes
  • Subsistemas
  • Modelo

136
Administració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

137
Administración del modelo
  • Paquetes
  • Subsistemas
  • Modelo

Los paquetes permiten agrupar elementos
del modelo
138
Paquetes
  • 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.

139
Paquetes Notación
Nombre
Nombre
contenido
140
Paquetes Notación
Editor
Elementos del Dominio
Elementos del Diagrama
Controlador
141
Relaciones entre paquetes
  • Los paquetes pueden hacer referencia a otros
    paquetes mediante el uso de uno de los
    estereotipos ltltimportgtgt y
    ltltaccessgtgt

142
Visibilidad 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

143
Paquetes
  • Encapsulación
  • Mostrar dependencias entre paquetes
  • Meta del diseño a gran escala minimizar
    dependencias
  • facilita anticipación al cambio

Fuente Univ. Calgary
144
Recomendaciones
  • 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
145
Recomendaciones
  • 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
146
Administración del modelo
Un subsistema representa una unidad de
comportamiento en el sistema físico
  • Paquetes
  • Subsistemas
  • Modelo

147
Subsistemas
  • 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, ...

148
Subsistemas
149
Subsistemas
150
Administració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

151
Modelo
  • 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

152
Modelo
Nombre
Nombre
contenido
153
Modelo
System Model
Análisis
Diseño
154
Modelos y Subsistemas
SS1
SS2
SS3
155
Modelos y Subsistemas
SS1
SS2
SS3
156
Vistas 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
157
Vistas y Diagramas Área Extensión de UML
  • Construcciones Principales
  • Restricciones
  • Estereotipos
  • Valores etiquetados

158
Vistas y Diagramas Área Extensión de UML
  • Construcciones Principales
  • Restricciones
  • Estereotipos
  • Valores etiquetados

Declaración textual de una relación semántica
159
Vistas 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
160
Vistas 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
161
Especificaciones formales
Próxima clase
  • Especificaciones algebraicas
Write a Comment
User Comments (0)
About PowerShow.com