La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Especificaciones de software

Presentaciones similares


Presentación del tema: "Especificaciones de software"— Transcripción de la presentación:

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


Descargar ppt "Especificaciones de software"

Presentaciones similares


Anuncios Google