Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Especificaciones de software
Ingeniería de Software Especificaciones de software Nancy Zambrano Eleonora Acosta Amelia Soriano NZ/EA/AS/2001
2
¿Que significa especificar?
Describir el futuro software NZ/EA/AS/2001
3
Propósito de las especificaciones
Usuario Implementador NZ/EA/AS/2001
4
Características deseables en la especificación
Comprensibles No ambíguas Consistentes Completas Incrementables Validables Formales Cualidades de una especificación NZ/EA/AS/2001
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) NZ/EA/AS/2001
6
Especificaciones Informales
4/13/2017 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} NZ/EA/AS/2001
7
Especificaciones Formateadas
Una especificación formateada se basa en reglas Ejemplo: la operación push del tipo Stack procedure push(mod S:Stack, X: Elem) post: S’= agregar a S el elemento X NZ/EA/AS/2001
8
Especificaciones semiformales
Una especificación es semiformal si está escrita en un lenguaje que tiene una sintaxis precisa S S’= S+X push X NZ/EA/AS/2001
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 NZ/EA/AS/2001
10
Lenguaje de Modelación Unificado
Unified L M Modeling Language NZ/EA/AS/Abril2001 NZ/EA/AS/2001
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 desarrollo de software NZ/EA/AS/2001
12
Antecedentes Proliferación de métodos OO Diferencias de notaciones A A
B B A A NZ/EA/AS/2001
13
Puntos de convergencia
Coincidencias Unificación de conceptos y notaciones Búsqueda de estándares Lenguaje de Modelación NZ/EA/AS/2001
14
Lineas de convergencia
UML 1.3 Junio 1999 1999 1998 Colaboradores: Digital Equipment Corp, HP, TI, IntelliCorp, Rational Software, Computing, MCI Systemhouse, Microsoft, Oracle, Unisys, IBM, ICON, i-Logix. UML 1.0 Enero 1997 1997 UML 0.9 y 0.91 Junio y Octubre 1996 1996 Booch Rumbaugh -OMT- Jacobson -OOSE- 1995 NZ/EA/AS/2001
15
Lenguaje de modelacion
Para expresar mediante diagramas gráficos diferentes vistas o perspectivas de un sistema en análisis o en desarrollo 1..* 0..* Vista estática del sistema Diagrama de Clases sistema NZ/EA/AS/2001
16
Lenguaje de modelacion
Para expresar mediante diagramas gráficos diferentes vistas o perspectivas de un sistema en análisis o en desarrollo Conectando Tlf.Disponible levantar auricular /esperar tono llamador cuelga /desconectar Esperando Hablando receptor cuelga responde Marcando Sonando hacer/sonar tono ‘ring’ Ocupado hacer/sonar tono ‘ocupado’ TonoLibre hacer/sonar tono ‘libre’ Timeout hacer/sonar mensaje Invalido Tlf.Activo # teléfono 15 seg. marcar dígito(n) [incompleto] marcar dígito(n) [valido] /conectar ocupado conectado receptor contesta /conversación marcar dígito (n) sistema Vista de máquina de estado del sistema Diagrama de estado NZ/EA/AS/2001
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) NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción Área de Gestión del Modelo Área de Extensión de UML gestión del modelo todas NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción 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 NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción 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 NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción 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 NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción 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 NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción Área de Gestión del Modelo Área de Extensión de UML gestión del modelo todas NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción Área de Gestión del Modelo Área de Extensión de UML gestión del modelo todas NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción 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 NZ/EA/AS/2001
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 Vistas por área máquina de estados, actividad, interacción Área de Gestión del Modelo Área de Extensión de UML gestión del modelo todas NZ/EA/AS/2001
27
Diagramas Use Case Diagrams Use Case State Diagrama de Diagrams
Casos de Uso State Diagrams 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 Diagrama de Actividad Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Component Diagrams Component Diagrams Diagrama de Colaboración Diagrama de Despliegue NZ/EA/AS/2001
28
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams State Diagrams Diagrama de Clases State Diagrams State Diagrams Diagrama de Objeto Vista de Casos de Uso Vista Estática Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
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 Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
30
Vistas y Diagramas Área Gestión del Modelo
State Diagrams State Diagrams Diagrama de Clases Vista de Gestión del Modelo Diagramas NZ/EA/AS/2001
31
Vistas y Diagramas Extensión de UML
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Diagrama de Actividad Actividad Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Interacción Vista de Despliegue Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Component Diagrams Component Diagrams Diagrama de Colaboración Diagrama de Despliegue NZ/EA/AS/2001
32
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
33
Construcciones generales
La notación UML Construcciones generales Iconos Formas 2D strings Caminos (path) es parte de NZ/EA/AS/2001
34
Construcciones generales
La notación UML Construcciones generales Notas Paquete Dependencia Estereotipo Esto es ... <<interfaz>> NZ/EA/AS/2001
35
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams State Diagrams Diagrama de Clases State Diagrams State Diagrams Diagrama de Objeto Vista de Casos de Uso Estática Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
36
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
37
Vistas y Diagramas NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
40
Vistas y Diagramas NZ/EA/AS/2001
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 Diagrama de Casos de Uso: Componentes 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 NZ/EA/AS/2001
42
Diagrama de casos de uso: Relaciones
Relaciones entre actores y casos de uso Asociación Relaciones entre casos de uso: Extensión (<<extend>>) Generalización Inclusión (<<include>>) Relaciones entre actores: Relaciones entre actores y casos de uso: Relaciones entre casos de uso: Relaciones entre actores: NZ/EA/AS/2001
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 Ir al cine Actor Caso de uso NZ/EA/AS/2001
44
Diagrama de Casos de Uso
La notación UML Diagrama de Casos de Uso Caso de uso Actor Ir al cine 1 * En la relación de Asociación puede indicarse la cardinalidad NZ/EA/AS/2001
45
Diagrama de Casos de Uso: Componentes
La notación UML Diagrama de Casos de Uso: Componentes nombre del sistema nombre del caso de uso número del Nombre del actor nombre del caso de uso número del Nombre del actor Participación de un actor en un caso de uso NZ/EA/AS/2001
46
Casos de Uso: Descripción
La notación UML Casos de Uso: Descripción Caso de uso: <<número>> Nombre: <<identificador del caso de uso>> Actor: << lista de actores>> Descripción: << Breve descripción>> Precondición: <<precondición>> Curso básico:<< Breve descripción curso normal>> Curso alterno :<< Breve descripción curso excepcional>> Postcondición: <<postcondición>> NZ/EA/AS/2001
47
Diagrama de Casos de Uso: Relaciones entre Casos de Uso
Extensión (<<extend>>) Generalización Inclusión (<<include>>) Relación que define un curso alterno opcional (dependiendo de una condición) de otro caso de uso NZ/EA/AS/2001
48
Diagrama de Casos de Uso: Relación extend
La notación UML Diagrama de Casos de Uso: Relación extend Ir al cine <<extend>> tengo dinero Relaciones extend: el caso de uso Ir al cine puede incluir el comportamiento especificado en el caso de uso Comprar cotufa Comprar cotufa NZ/EA/AS/2001
49
Diagrama de Casos de Uso: Relación extend (extension points)
La notación UML Diagrama de Casos de Uso: Relación extend (extension points) Ir al cine Extension points requerimientos adicionales: despues de entrar al cine <<extend>> tengo dinero Extension points: el caso de uso podrá ejecutarse una vez alcanzado el (los) extension point(s) indicado(s) Comprar cotufa NZ/EA/AS/2001
50
Diagrama de Casos de Uso: Relación extend
La notación UML Diagrama de Casos de Uso: Relación extend 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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
52
Relaciones entre Casos de Uso : Generalización
La notación UML Relaciones entre Casos de Uso : Generalización Ir al cine divertirse Relación Generalización: el caso de uso divertirse es una generalización del caso de uso ir al cine NZ/EA/AS/2001
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 NZ/EA/AS/2001
54
Relaciones entre Casos de Uso: include
La notación UML Relaciones entre Casos de Uso: include Ir al cine * Extension points requerimientos adicionales: despues de entrar al cine <<include>> Comprar entrada <<extend>> tengo 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 NZ/EA/AS/2001
55
Relaciones entre Casos de Uso: include
La notación UML Relaciones entre Casos de Uso: include 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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
57
Relaciones entre Casos de Uso: Reacomode e Indique las relaciones
buscar Calificación leer exámen responder exámen colocar identificación al exámen Utilizar calculadora estudiante solicitar exámen ir al baño entregar exámen Realizar la Prueba pedir aclaratoria NZ/EA/AS/2001
58
Relaciones entre Casos de Uso: Reacomode e Indique las relaciones
solicitar exámen leer exámen colocar identificación al exámen <<include>> <<include>> <<include>> Realizar la Prueba responder exámen estudiante <<include>> <<include>> entregar exámen <<extend>> Buscar Calificación <<extend>> pedir aclaratoria <<extend>> Utilizar calculadora ir al baño NZ/EA/AS/2001
59
Diagrama de casos de uso: Relaciones entre actores
Generalización Un actor es una instancia de otro actor NZ/EA/AS/2001
60
Relaciones entre actores: Generalización
persona estudiante Relación de Generalización: una persona es una generalización de un estudiante NZ/EA/AS/2001
61
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
62
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
63
La notación UML Diagrama de clases 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 NZ/EA/AS/2001
64
La notación UML Clase Descriptor de un conjunto de objetos con estructura similar, mismo comportamiento y relaciones Representa un concepto en el systema que se modela Rectángulo p1: Punto p2: Punto <<constructor>> Rectángulo(p1:p2Punto) <<query>> área( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real) nombre atributos métodos NZ/EA/AS/2001
65
La notación UML Objeto Entidad con identidad única que encapsula estado y comportamiento triángulo: Polígono centro = (0,0) vértices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco triángulo :Polígono NZ/EA/AS/2001
66
Identifique todos los elementos
La notación UML Identifique todos los elementos Polígono centro: Punto vértices: Conj-Punto color-borde = Color color-relleno = Color <<constructor>> Polígono(p1,p2,p3:Punto) <<query>> área( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real) triángulo: Polígono centro = (0,0) vértices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco NZ/EA/AS/2001
67
La notación UML Clase: Estereotipos <<type>> Tipo de dato <<implementationClass>> Imp. tipo de dato <<interface>> Int. tipo de dato Clase <<utility>> Funciones Un símbolo de clase puede contener o no un estereotipo. Estereotipos: <<type>> <<implementationClass>> <<interface>> <<utility>> NZ/EA/AS/2001
68
Type e ImplementationClass
La notación UML Type e ImplementationClass Una implementationClass provee la realización concreta de un tipo Un type provee una especificación del comportamiento visible de una clase <<type>> Tipo de dato Relación de Realización. <<implementationClass>> Itd NZ/EA/AS/2001
69
Type, ImplementationClass y Relación de Realización
La notación UML Type, ImplementationClass y Relación de Realización 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. NZ/EA/AS/2001
70
<<interface>>
La notación UML Interfaces una interface permite especificar las operaciones visibles externamente de una clase, componente, subsistema, etc. sin indicar la estructura interna <<interface>> Comparable esIgual(String): Boolean Hash():Integer NZ/EA/AS/2001
71
Clases Parametrizadas
La notación UML Clases Parametrizadas 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 atributos métodos ... nombre parámetros NZ/EA/AS/2001
72
Clases Parametrizadas
La notación UML Clases Parametrizadas atributos métodos ... nombre parámetros Forma de los parámetros: nombre: tipo = valor por defecto nombre NZ/EA/AS/2001
73
Clases Parametrizadas
La notación UML Clases Parametrizadas Punto Rectángulo p1: Punto p2: Punto <<constructor>> Rectángulo(p1:p2Punto) <<query>> área( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real) nombre parámetros atributos métodos <<bind>> (CoorCartesianas) Rectángulo <CoorPolares> RectánguloCC NZ/EA/AS/2001
74
<<utility>>
La notación UML Utilitarios Agrupa variables globales y procedimientos en forma de una declaración de clase. Los atributos y operaciones de un utility se interpretan como atributos globales y operaciones. <<utility>> Math Seno(Ángulo): Real Coseno(Ángulo): Real Raiz2(Real): Real Aleatorio():Real NZ/EA/AS/2001
75
Relaciones Conexión semántica entre elementos del modelo asociación
La notación UML Relaciones Conexión semántica entre elementos del modelo asociación binaria agregación composición generalización dependencia NZ/EA/AS/2001
76
Asociaciones binarias
La notación UML Asociaciones binarias 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) dirige jefe * 0..1 Compañía Persona 1 1..* emplea Trabaja para empleado NZ/EA/AS/2001
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 Cantidad Precio ¿Satisfecho? Adapado de Univ. Calgary NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 Nombre Dirección Compañía 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 NZ/EA/AS/2001
80
Sumario: notación básica para asociaciones
Nombre de la Asociación Clase B Clase B rol_B rol_A Ejemplo: Contiene Pedido Item Constituído de Incluído en NZ/EA/AS/2001 Adaptado de Univ. Calgary
81
Clase Asociación Se utiliza cuando los atributos no pertenecen a las clases sino a la asociación Usuario Estación de Trabajo Autorizado en Autorización Prioridad Derechos de Acceso Inicio de sesión Directorio Tomado de Univ. Calgary NZ/EA/AS/2001
82
Composición / agregación (todo/partes)
La notación UML Composición / agregación (todo/partes) Polígono Punto 1 3..* Agregación Gráfico color textura 1 Composición NZ/EA/AS/2001
83
Composición: diferentes formas de expresarla
La notación UML Composición: diferentes formas de expresarla Window scrollbar:Slider title: Header body: Panel 2 1 Window scrollbar[2]:Slider title: Header body: Panel Slider Scrollbar 1 Window Panel Header body title NZ/EA/AS/2001
84
Asociación n-aria Vuelo Asiento Persona La notación UML reservación
pasajero reservación NZ/EA/AS/2001
85
La notación UML Generalización 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 NZ/EA/AS/2001
86
La notación UML Herencia 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 A B <<hereda>> NZ/EA/AS/2001
87
La notación UML Especialización 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 Carro Moto Grúa NZ/EA/AS/2001
88
La notación UML Generalización Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases Vehículo Carro Moto Grúa NZ/EA/AS/2001
89
Herencia múltiple La notación UML Vehículo Vehículo Propulsión Viento
Motor Vehículo terrestre Vehículo Acuático Velero NZ/EA/AS/2001
90
Dependencias entre clases
La notación UML Dependencias entre clases 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 <<fuente>> <<destino>> Indica que un cambio en el fuente requiere un cambio en el destino NZ/EA/AS/2001
91
Dependencias entre clases
La notación UML Dependencias entre clases <<refina>> Clase B Clase A ClaseD OperaciónZ( ) <<importa>> <<instancia>> <<usa>> ClaseC Meta: minimizar dependencias NZ/EA/AS/2001
92
Diagrama de Casos de Uso
La notación UML Diagrama de Clases proyección Elementos del modelo Vistas del modelo 1..* 0..* Proyección +placement:ListOfPoint + style: Uninterpreted Diagrama Diagrama de Estado Diagrama de Casos de Uso Diagrama de Clases Diagrama de Actividad Diagrama de Objetos (…) NZ/EA/AS/2001
93
La notación UML Diagrama de objetos 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. NZ/EA/AS/2001
94
A partir de la definición, por agregación, de la Clase Polígono,
La notación UML Diagrama de objetos A partir de la definición, por agregación, de la Clase Polígono, Polígono Punto 1 3..* es posible obtener el diagrama de objetos correspondiente al objeto triángulo triángulo: Polígono punto 1: Punto x = 0.0 y= 1.0 punto 2: Punto x = 3.0 y= 1.0 punto 3: Punto x = 3.0 y= 5.0 NZ/EA/AS/2001
95
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
96
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
97
Diagrama de Componentes
Nombre del componente Componente con interfaces nombre de la interfaz Nombre del componente Componente dependencia de utilización dependencia de realización Componente estereotipado nombre de la interfaz <<estereotipo>> Nombre del componente NZ/EA/AS/2001
98
Vistas y Diagramas Área Estructural
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Vista de Despliegue Component Diagrams Component Diagrams Diagrama de Despliegue NZ/EA/AS/2001
99
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
100
Diagrama de Despliegue
Nivel de Descriptor Nombre del nodo Nombre del componente # nodo dependencia multiplicidad Asociación de comunicación Nombre del nodo Nombre # NZ/EA/AS/2001
101
Diagrama de Despliegue
Nivel de Instancia nombre de la instancia: Tipo del nodo instancia de nodo enlace de comunicación nombre de la instancia: Nombre del nodo NZ/EA/AS/2001
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 Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
103
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
104
La notación UML Diagrama de Estado 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 NZ/EA/AS/2001
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 no mas gasolina apagar motor Arranca [gasolina disponible] /conectar arrancado NZ/EA/AS/2001 Adaptado de la Univ. Calgary
106
Variable(s) del Estado
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 entrada do: actividad on: evento-A:acción-A exit: acción de salida Adaptado de Univ. Calgary NZ/EA/AS/2001
107
Transición de estados Evento:
estado-A Evento(argumentos)[condicion]/accion 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 NZ/EA/AS/2001
108
Notacion de diagramas de estado
Evento(atributo) Estado inicial estado-B 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 NZ/EA/AS/2001
109
Recomendaciones No se requiere un diagrama de estado para cada clase
4/13/2017 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 NZ/EA/AS/2001
110
Diagrama de Estado La notación UML Tlf.Activo # teléfono
Tlf.Disponible levantar auricular /esperar tono Tlf.Activo # teléfono marcar dígito(n) [incompleto] 15 seg. Timeout hacer/sonar mensaje 15 seg. TonoLibre hacer/sonar tono ‘libre’ Marcando marcar dígito (n) Conectando marcar dígito(n) [valido] /conectar Invalido hacer/sonar mensaje marcar dígito (n) Ocupado hacer/sonar tono ‘ocupado’ ocupado conectado Sonando hacer/sonar tono ‘ring’ llamador cuelga /desconectar Esperando receptor cuelga responde Hablando receptor contesta /conversación NZ/EA/AS/2001
111
Vistas y Diagramas Área Dinámica
Vista Lógica muestra las actividades, su secuenciamiento y coordinación. Describe el flujo de trabajo Use Case Diagrams Use Case Diagrams Diagrama de Estados Vista de Máquina de Estados Scenario Diagrams Scenario Diagrams Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
112
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
113
Diagramas de Actividad
[condition 1] [condition 2] [synchronization condition] Actividad [condición 1] [condición 2] [condición de sincronización] Describe el aspecto dinámico de un trabajo Describe procesamiento paralelo workflows Muestra el flujo de actividad en actividad NZ/EA/AS/2001 Tomado de Univ. Calgary
114
Diagrama de Actividad- Ejemplo
Inicio Colocar café en el filtro Colocar agua en el depósito Poner el filtro en la máquina Prender la máquina Tomado de Univ. Calgary NZ/EA/AS/2001
115
Diagrama de Actividad La notación UML [no hay café] Abrir refresco
[refresco encontrado] [no hay refresco] Buscar Bebida Colocar café en filtro Colocar agua en el depósito Buscar taza [café encontrado] Colocar filtro en la maquina LuzOut PrepararCafe ^Cafetera.On Prender la maquina Servir café Beber NZ/EA/AS/2001
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 Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
117
Vistas y Diagramas Área Dinámica
Un Diagrama de Secuencia describe la interación entre los objetos ordenada en el tiempo Use Case Diagrams Use Case Diagrams Diagrama de Estados Vista de Máquina de Estados Scenario Diagrams Scenario Diagrams Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
118
Vistas y Diagramas NZ/EA/AS/2001
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) NZ/EA/AS/2001
120
Diagrama de Secuencia La notación UML evento operacion Línea de vida
ob1:C1 ob2 :C1 ob3 Actor: operacion evento op(parámetros) Línea de vida Mensaje Activación NZ/EA/AS/2001
121
Diagrama de Secuencia La notación UML ob3:C3 ob4:C4 ob1:C1 creación
op( ) ob1:C1 creación [x>0] op1(x ) ob2:C2 condicional [x<0] op2(x ) op3(z ) op3(w ) op4( ) destrucción recursión NZ/EA/AS/2001
122
Diagrama de Secuencia La notación UML Llamador Línea telefónica
receptor Levantar auricular a {b-a< 1seg) Activa tono b {c-b< 1seg) Marcar números c d enrutar d’ {d’- d < 1seg) Tono de “ring” Suena el teléfono Responde el teléfono conversación Para el “ring” parar tono NZ/EA/AS/2001
123
Diagrama de Secuencia- Ejemplo
course form : CourseForm theManager : CurriculumManager aCourse : Course : Registrar 1 : set course info 2 : process 3 : add course 4 : new course Tomado de Univ. Calgary NZ/EA/AS/2001
124
Utilidad de los diagramas de secuencia
4/13/2017 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 NZ/EA/AS/2001
125
Vistas y Diagramas Área Dinámica
Un Diagrama de Colaboración describe la interación entre los objetos, numerando la secuencia de mensajes Use Case Diagrams Use Case Diagrams Diagrama de Estados Vista de Máquina de Estados Scenario Diagrams Scenario Diagrams Diagrama de Actividad Vista de Actividad Diagramas Vista de Interacción Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Diagrama de Colaboración NZ/EA/AS/2001
126
Vistas y Diagramas NZ/EA/AS/2001
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 NZ/EA/AS/2001
128
Diagramas de interacción
La notación UML Diagramas de interacción ob1:C1 ob2 :C1 ob3 Actor: operación evento op(parámetros) ob1:C1 ob2 :C1 ob3 Actor: 2. operación 1. evento 5. op(parámetros) 4. op(parámetro) 3. op(parámetros) Diagrama de Colaboración Diagrama de Secuencia NZ/EA/AS/2001
129
Diagramas de Interacción
course form : CourseForm theManager : CurriculumManager aCourse : Course : Registrar 1 : set course info 2 : process 3 : add course 4 : new course S e c u e n c i a : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 4 : new course 3 : add course 1 : set course info 2 : process C o l a b o r a c i ó n NZ/EA/AS/2001
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 NZ/EA/AS/2001
131
Diagrama de Colaboración
Colaboración parametrizada (construcción de diseño que puede ser usada en diferentes aplicaciones) PATRONES DE DISEÑO NZ/EA/AS/2001
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 NZ/EA/AS/2001
133
Vistas y Diagramas NZ/EA/AS/2001
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”. Rumbaugh, Jacobson, Booch. Addison Wesley 2000
134
Administración del modelo
Los paquetes permiten agrupar elementos del modelo Paquetes Subsistemas Modelo NZ/EA/AS/2001
135
Administración del modelo
Un subsistema representa una unidad de comportamiento en el sistema físico Paquetes Subsistemas Modelo NZ/EA/AS/2001
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 NZ/EA/AS/2001
137
Administración del modelo
Los paquetes permiten agrupar elementos del modelo Paquetes Subsistemas Modelo NZ/EA/AS/2001
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. NZ/EA/AS/2001
139
Paquetes: Notación Nombre Nombre contenido NZ/EA/AS/2001
140
Paquetes: Notación Editor Elementos del Diagrama Elementos del Dominio
Controlador NZ/EA/AS/2001
141
Relaciones entre paquetes
Los paquetes pueden hacer referencia a otros paquetes mediante el uso de uno de los estereotipos: <<import>> y <<access>> MotifCore Motif <<import>> NZ/EA/AS/2001
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 + Nombre NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
146
Administración del modelo
Un subsistema representa una unidad de comportamiento en el sistema físico Paquetes Subsistemas Modelo NZ/EA/AS/2001
147
4/13/2017 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, ... NZ/EA/AS/2001
148
Subsistemas Relación de implementación Nombre Nombre
Elementos de Especificación Elementos de Implementación Nombre Oper1(...): Tipo1 use case 1 NZ/EA/AS/2001
149
Subsistemas SS1 SS2 SS3 NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
152
Modelo Nombre Nombre contenido NZ/EA/AS/2001
153
Modelo System Model Análisis Diseño NZ/EA/AS/2001
154
Modelos y Subsistemas SS1 SS2 SS3 NZ/EA/AS/2001
155
Modelos y Subsistemas SS1 SS2 SS3 NZ/EA/AS/2001
156
Vistas y Diagramas Área Extensión de UML
Use Case Diagrams Use Case Diagrams Diagrama de Casos de Uso State Diagrams 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 Diagrama de Actividad Actividad Vista de Implementación Component Diagrams Component Diagrams Diagrama de Componentes Diagramas Interacción Vista de Despliegue Scenario Diagrams Scenario Diagrams Diagrama de Secuencia Component Diagrams Component Diagrams Diagrama de Colaboración Diagrama de Despliegue NZ/EA/AS/2001
157
Vistas y Diagramas Área Extensión de UML
Construcciones Principales: Restricciones Estereotipos Valores etiquetados NZ/EA/AS/2001
158
Vistas y Diagramas Área Extensión de UML
Construcciones Principales: Restricciones Estereotipos Valores etiquetados Declaración textual de una relación semántica NZ/EA/AS/2001
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 NZ/EA/AS/2001
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 NZ/EA/AS/2001
161
Especificaciones formales
Próxima clase Especificaciones formales Especificaciones algebraicas NZ/EA/AS/2001
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.