Your SlideShare is downloading. ×
SESION N Web                          Ingeniería °2                                   02FUNDAMENTOS DE LA INGENIERIA WEB  ...
Ingeniería Web                                        Ingeniería Web                                        El Lenguaje Un...
Ingeniería Web                                             Ingeniería Web                                             El L...
Ingeniería Web                                        Ingeniería Web                                        El Lenguaje Un...
Ingeniería Web                                                     Ingeniería Web                                         ...
Ingeniería Web                                                                          Ingeniería Web                    ...
Curso de Doctorado                        Ingeniería Web                                             Ingeniería Web       ...
Ingeniería Web                                                          Ingeniería Web                                    ...
Ingeniería Web                                                              Ingeniería Web                                ...
Ingeniería Web                                                                         Ingeniería Web                     ...
Ingeniería Web                                                                                      Ingeniería Web        ...
Curso de Doctorado                        Ingeniería Web                                                 Ingeniería Web   ...
Ingeniería Web                                                                      Ingeniería Web                        ...
Ingeniería Web                                                                Ingeniería Web                              ...
Ingeniería Web                                                       Ingeniería Web                                       ...
Ingeniería Web                                                              Ingeniería Web                                ...
Ingeniería Web                                                           Ingeniería Web                                   ...
Ingeniería Web                                 Ingeniería Web                                 El Lenguaje Unificado de Mod...
Ingeniería Web                                                                                                            ...
Ingeniería Web                                                          Ingeniería Web                                    ...
Ingeniería Web                                             Ingeniería Web                                             El L...
Ingeniería Web                                                      Ingeniería Web                                        ...
Ingeniería Web                                                  Ingeniería Web                                            ...
Ingeniería Web                                                      Ingeniería Web                                        ...
Ingeniería Web                                                                  Ingeniería Web                            ...
Ingeniería Web                                                        Ingeniería Web                                      ...
Ingeniería Web                                                                                                            ...
Ingeniería Web                                                                                        Ingeniería Web      ...
Ingeniería Web                                            Ingeniería Web                                            El Len...
Ingeniería Web                                                                                       Ingeniería Web       ...
Ingeniería Web                                                Ingeniería Web                                              ...
Ingeniería Web                                                                    Ingeniería Web                          ...
Ingeniería Web                                                           Ingeniería Web                                   ...
Ingeniería Web                                                                                    Ingeniería Web          ...
Ingeniería Web                                                                               Ingeniería Web               ...
Ingeniería Web                                                          Ingeniería Web                                    ...
Ingeniería Web                                                                        Ingeniería Web                      ...
Ingeniería Web                                                             Ingeniería Web                                 ...
Upcoming SlideShare
Loading in...5
×

UD:INGENIERIA WEB - SESION N°02

397

Published on

Reconociendo aplicaciones Web

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
397
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "UD:INGENIERIA WEB - SESION N°02"

  1. 1. SESION N Web Ingeniería °2 02FUNDAMENTOS DE LA INGENIERIA WEB Ingeniería WebEl Lenguaje Unificado de Modelado.de Tema 2: El Lenguaje Unificado UML 2PT. Henry Gomez Sernaque ( hegomezsernaque@servigenhegs.com ) Ingeniería Web El Lenguaje Unificado de Modelado Contenidos Introducción Visión global de UML Modelado de la estructura Diagramas de clases Estructuras compuestas Arquitectura física Modelado del comportamiento Modelado de casos de uso Diagramas de actividad Modelado de las interacciones Máquinas de estados Referencias Tema 2: El Lenguaje Unificado de Modelado
  2. 2. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado 1. Introducción Ingeniería Web El Lenguaje Unificado de Modelado IntroducciónEn la vida real, se construyen muchas clases de modelos condistintos propósitos antes de construirlosObjetivos de los modelos Probar una entidad física antes de construirla Comunicación con el cliente Visualización Reducción de la complejidad Estructurar las ideasUn modelo es una abstracción de un sistema semánticamentecerradaUn lenguaje de modelado es un lenguaje para especificar,construir, visualizar, y documentar ingenios software Tema 2: El Lenguaje Unificado de Modelado
  3. 3. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado ¿Por qué es necesario un lenguaje de modelado? Los sistemas complejos son difíciles de entender si no se cuenta con un modelo que los describa El conseguir un lenguaje de modelado capaz de captar la semántica de cualquier sistema software, es esencial a la hora de llevar a cabo un proyecto software de una cierta Método = Qué + Cómo + Porqué complejidad La representación de un modelo • Sintácticas en un lenguaje de modelado Lenguaje de obviamente tiene un valor Modelado = Notación + Reglas • Semánticas añadido si dicho lenguaje de • Pragmáticas modelado es estándar Ingeniería Web El Lenguaje Unificado de Modelado Modelos basados en el paradigma objetualCon la orientación a objetos se busca una suma sinérgica ¡Soy ¿Datos? orientado a ¿Procesos? edad objetos! ladrar raza comer color dormir ¡Objetos! = características + comportamiento 6 Tema 2: El Lenguaje Unificado de Modelado
  4. 4. Ingeniería Web Ingeniería Web El Lenguaje Unificado de ModeladoNecesidad de la unificación en un estándar Necesidad de estandarización a mediados de los noventa Ingeniería Web El Lenguaje Unificado de ModeladoCaminos al estándar UMLOMG Microsoft Oracle ... Estandarización Prestigio Reconocimiento Tema 2: El Lenguaje Unificado de Modelado
  5. 5. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado2. Visión global de UML Ingeniería Web El Lenguaje Unificado de Modelado ¿Qué es UML? Lenguaje para especificar, construir, visualizar y documentar ingenios software, cuyo alcance pretende cubrir los conceptos de Booch, OMT y OOSE resultando un lenguaje simple, común y ampliamente utilizable por usuarios de otros métodos UML es un lenguaje de modelado de objetos independiente del método que se implemente UML no es una notación propietaria UML no es una metodología, método o proceso La especificación UML se define usando el enfoque de metamodelado La infraestructura de UML 2.0 se define en el paquete InfrastructureLibrary: Define un metalenguaje núcleo (core) Permite la personalización de UML mediante Perfiles (Profiles) Tema 2: El Lenguaje Unificado de Modelado
  6. 6. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Modelos de representación En UML 2 se definen 13 diagramas diferentes : Modelado estructural Diagrama de clases Diagrama de estructuras compuestas Diagrama de componentes Diagrama de despliegue Diagrama de objetos Diagrama de paquetes Modelado de comportamiento Diagrama de casos de uso Diagrama de actividad Diagramas de interacción Diagrama de secuencia Diagrama de comunicación o colaboración Diagrama de visión global de la interacción Diagrama de tiempo Diagrama de maquina de estados 13 Ingeniería Web El Lenguaje Unificado de Modelado Elementos de modeladoElemento: Clase ObjetoConstituyente del modelo que Atributos Atributos Estado Métodos Métodostiene la capacidad de tenerotros elementos InterfazUn elemento de modelado Caso de Uso Nodopuede tener su Actor <<Component>>correspondiente elemento de Nota Componente Paqueterepresentación (símbolográfico utilizado para Dependencia Generalizaciónrepresentar el elemento en losdiagramas) Asociación Agregación Composición Tema 2: El Lenguaje Unificado de Modelado
  7. 7. Curso de Doctorado Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Mecanismos de extensibilidad Mecanismos de extensibilidad: mecanismos que permiten ofrecer información extra y especializar los modelos Mecanismos estándar: Estereotipos: especializan las clases del metamodelo Etiquetas: cadenas asociadas a un símbolo gráfico del modelo Valores etiquetados: extienden los atributos de las clases del metamodelo Restricciones: extienden la semántica del metamodelo Perfiles: mecanismos para extender un metamodelo de referencia con objeto de adaptarlo a las características específicas de una plataforma (.NET, J2EE …) o de un dominio de aplicación (tiempo real, modelado de procesos de negocio …) Ingeniería Web El Lenguaje Unificado de Modelado3. Modelado de la estructura Tema 2: El Lenguaje Unificado de Modelado
  8. 8. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Introducción El modelado estructural captura la vista estática del sistema Constituye el fundamento de UML Los elementos de la vista estática de un modelo son los conceptos que tienen significado en una aplicación, incluyendo conceptos del mundo real y conceptos computacionales Los elementos clave de la vista estática son los clasificadores y sus relaciones Un clasificador es un elemento de modelado que describe cosas: clases, interfaces, tipos de datos, casos de uso, paquetes... Las relaciones entre clasificadores son asociación, generalización y varias clases de dependencia entre las que se incluyen realización y uso Ingeniería Web El Lenguaje Unificado de Modelado Concepto de clasificadorUn clasificador es un concepto discreto en el modelo, que tieneidentidad, estado, comportamiento y relaciones Tiene un nombre único Declara una colección de características como métodos, operaciones o atributos Un clasificador es un tipo y puede tener relaciones de generalización con otros clasificadores «caso de uso» Obtener pedido Representación de un clasificador de tipo “caso de uso” Tema 2: El Lenguaje Unificado de Modelado
  9. 9. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Clases Una clase representa un concepto discreto dentro de la aplicación que se está modelando Una clase es un descriptor de un conjunto de objetos con estructura, comportamiento y relaciones similares Un objeto es una entidad discreta con identidad, estado y comportamiento invocable Una clase define un conjunto de objetos que tienen un estado y comportamiento El estado se describe por atributos y asociaciones Los atributos se utilizan generalmente para los valores puros de los datos sin identidad Las asociaciones se utilizan para las conexiones entre objetos con identidad Las piezas individuales de comportamiento invocable se describen mediante operaciones; un método es la implementación de una operación Los diagramas que muestran la estructura estática del modelo son los diagramas de clases Las clases se representan por rectángulos compartimentados. El primero de ellos contiene el nombre de la clase, que debe ser único en el paquete que la contiene. El segundo contiene los atributos y el último los métodos Ingeniería Web El Lenguaje Unificado de Modelado ClasesEjemplos de definición de clases <<controlador>> PenTracker {abstract} Ventana Ventana {abstract, Rectángulo autor=Jose estado=comprobada} P1: Punto +tamaño: Área =(100,100) P2: Punto #visibilidad: Lógico= invisible <<constructor>> Ventana +tamaño-por-defecto: Rectángulo Rectangulo (p1:Punto, p2:Punto) #tamaño-máximo: Rectángulo <<consulta>> -xptr: XWindows* área ():Real Tamaño: Área visibilidad: Lógico +display () aspecto (): Real +hide () ... display () +create () <<actualización>> hide () -attrachXWindow(xwin:Xwindows*) mueve (delta: Punto escala (ratio: Real) ... Tema 2: El Lenguaje Unificado de Modelado
  10. 10. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado RelacionesUna relación es una conexión semántica entre elementos de un modeloPueden ser de varios tipos: Asociación: relación que describe un conjunto de enlaces entre objetos Generalización: relación entre un elemento más general y otro más específicos Dependencia: relación entre Asociación elementos, uno dependiente y otro independiente. Un cambio en el Generalización independiente afectará al dependiente Dependencia Abstracción/realización: relación entre dos descripciones de una Realización misma cosa a diferentes niveles Ingeniería Web El Lenguaje Unificado de Modelado RelacionesAsociación: describe las conexiones semánticas entre objetos de diferentesclases. Una instancia de una asociación es un enlace multiplicidad nombre de rol 0..* nombre rol ClaseA NombreCalificador:NombreClase ClaseB nombre asociación agregación/ composición ruta de indicador de calificador nombre de asociación navegación asociación Compañía 1..* w Trabaja para 1..* Persona Empleador Empleado Tema 2: El Lenguaje Unificado de Modelado
  11. 11. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Relaciones * Reparto Concierto * Asociación reflexiva Orquesta * Titular * Intérprete 0..1 Suplente * Suplente Compañía 1..* 1..* Persona Empleador Empleado Trabajo salario Jefe 0..1 trabajador * Dirige a... Ingeniería Web El Lenguaje Unificado de Modelado RelacionesLa multiplicidad al final de una asociación representa el número potencial de instancias,cuando los otros n-1 están fijados. Es decir, la multiplicidad con que una clase participaen una relación n-aria se define con respecto a las otras n-1 clases Alumno * * 0..1 Curso Profesor Registro Asociación ternaria Tema 2: El Lenguaje Unificado de Modelado
  12. 12. Curso de Doctorado Ingeniería Web Ingeniería Web El Lenguaje Unificado de ModeladoRelaciones {subsets <nombrePropiedad>} el extremo es un subconjunto {subsets <nombrePropiedad>} el extremo es un subconjunto de la propiedad llamada <nombrePropiedad> de la propiedad llamada <nombrePropiedad> {redefined <nombreExtremo>} el extremo redefine otro {redefined <nombreExtremo>} el extremo redefine otro extremo llamado <nombreExtremo> extremo llamado <nombreExtremo> {union} el extremo se deriva de la unión de sus subconjuntos {union} el extremo se deriva de la unión de sus subconjuntos {ordered} el extremo representa un conjunto ordenado {ordered} el extremo representa un conjunto ordenado {bag} el extremo representa una bolsa {bag} el extremo representa una bolsa {sequence} o {seq} el extremo representa una secuencia {sequence} o {seq} el extremo representa una secuencia Si el extremo es navegable se le puede aplicar cualquier Si el extremo es navegable se le puede aplicar cualquier cadena de propiedades aplicable a los atributos cadena de propiedades aplicable a los atributos Cadenas de propiedades aplicables a extremos de una asociación Ingeniería Web El Lenguaje Unificado de ModeladoRelaciones Ejemplo de propiedades aplicables a extremos de una asociación Tema 2: El Lenguaje Unificado de Modelado
  13. 13. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Relaciones Agregación: forma de asociación que representa una relación todo-parte entre un agregado (el todo) y las partes que los componen Composición: Forma de asociación de agregación con fuerte sentido de posesión Un objeto sólo puede ser parte de un compuesto a la vez El objeto compuesto es el único responsable de la disponibilidad de todas sus partes MensajeCorreo * * * * 1 1 Compañía División Departamento Dirección Cuerpo Ingeniería Web El Lenguaje Unificado de Modelado RelacionesPropiedades de las agregaciones La relación de agregación es transitiva y antisimétrica a través de los enlaces de agregación (las relaciones entre objetos son acíclicas) Una ruta dirigida de asociaciones de agregación de una clase a sí misma es una recursividadPropiedades de las composiciones: Las partes tienen tiempo de vida coincidente con el conjunto (las partes con multiplicidad no fija, se pueden crear después del elemento compuesto y se pueden quitar explícitamente antes de la muerte del elemento compuesto) La multiplicidad debe ser 1 ó 0..1 al lado del compuesto 1 0..1 Transacción Autentificación * Elemento Icono Contenedor Compra Venta 28 Tema 2: El Lenguaje Unificado de Modelado
  14. 14. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado RelacionesGeneralización: Es una relación de taxonomía entre un elemento general yotro más específico que es plenamente consistente con el primer elemento yque le añade información adicionalRestricciones Disjoint (disjunto) – Ningún elemento puede tener dos hijos en el conjunto como antecesores (en una situación de generalización múltiple). Ninguna instancia puede ser una instancia directa o indirecta de dos de los hijos (en una semántica múltiple de la clasificación) Overlapping (solapado) – Un elemento puede tener dos o más hijos en el conjunto de antecesores. Una instancia puede ser una instancia de dos o más hijos Complete (completo) – Todos los hijos posibles se han enumerado en el conjunto y no puede ser agregado ninguna más Incomplete (incompleto) – No se ha enumerado todavía todos los hijos posibles en el conjunto. Se esperan más hijos o se conocen pero no se han declarado aún Ingeniería Web El Lenguaje Unificado de Modelado Relaciones restricciones, se Generalization set Trabajador aplican a todos los hijos ocupación {disjoint, incomplete} Carnicero Panadero Pescadero Atleta {overlapping, incomplete} Futbolista Nadador Tema 2: El Lenguaje Unificado de Modelado
  15. 15. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Paquetes Los paquetes constituyen un mecanismo de agrupación para organizar elementos UML Proporcionan un espacio de nombres a los elementos agrupados Un elemento de modelado puede pertenecer a más de un paquete La agrupación de elementos de modelado en un paquete no es necesario que coincida con la agrupación física de elementos del sistema Los paquetes se organizan jerárquicamente, siendo el paquete raíz el que contiene todo el sistema P P A B A B Ingeniería Web El Lenguaje Unificado de Modelado PaquetesLas relaciones permitidas entre paquetesson generalización, dependencia yrefinamientoDependencias específicas para paquetes Importación: permite a un paquete importar los elementos de otro y referenciarlos sin usar el nombre calificado. Puede ser de dos tipos <<import>> o <<access>> Fusión (merge): relación entre dos paquetes en la que el contenido del paquete objetivo es fusionado con el contenido del paquete fuente usando generalizaciones y redefiniciones. Se utiliza el estereotipo <<merge>> Tema 2: El Lenguaje Unificado de Modelado
  16. 16. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Modelos y subsistemasUn modelo es un paquete que recoge una descripción completa de una vistaparticular del sistemaUn subsistema es un paquete que tiene partes separadas de especificación y derealización. Es una unidad coherente del modelo que generalmente representa lapartición funcional del sistema venta de billetes <<model>>VentaBilletes Servicio Pedidos crédito Análisis Diseño Precios Selección asientos Ingeniería Web El Lenguaje Unificado de Modelado Diagrama de estructuras compuestas Representación de la estructura interna de un clasificador. Están formados por: Partes: roles de los clasificadores Conectores: enlaces entre instancias de las partes conectadas. El extremo de un conector puede ser un puerto Coche P eje posterior:Rueda [2] m:Motor Tema 2: El Lenguaje Unificado de Modelado
  17. 17. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Arquitectura físicaArquitectura física: asignación de artefactos de software a nodos físicos Diagramas de componentes Componentes: empaquetamiento físico de una colección de elementos de modelado Artefactos: Manifestación física de un componente Diagramas de despliegue Dispositivos: recursos computacionales (nodos) Caminos de comunicación: mecanismos de comunicación entre nodos Entornos de ejecución: subnodos de los dispositivos Pedidos :Cuenta <<manifest>> <<artifact>> Producto Cuenta.jar Diagrama de componentes Ingeniería Web El Lenguaje Unificado de Modelado Arquitectura física <<T :NodoClienteA CP /IP >> :ServidorBDBiblioteca > /IP> :NodoClienteB CP <<T * 1 ServidorAplicacion ServidorBD <<deploy>> <<deploy>> <<artifact>> <<artifact>> GestorCompra.jar Pedido.jar Diagramas de despliegue Tema 2: El Lenguaje Unificado de Modelado
  18. 18. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado5. Modelado del comportamiento Ingeniería Web El Lenguaje Unificado de Modelado Modelado de casos de usoLa vista de casos de uso captura la funcionalidad de unsistema, de un subsistema, o de una clase, tal como semuestra a un usuario exteriorReparte la funcionalidad del sistema en transaccionessignificativas para los usuarios ideales de un sistemaLos usuarios del sistema se denominan actores y lasparticiones funcionales se conocen con el nombre de casosde usoLa técnica que se utiliza para modelar esta vista es eldiagrama de casos de uso Tema 2: El Lenguaje Unificado de Modelado
  19. 19. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Casos de uso Los casos de uso son una técnica para la especificación de requisitos funcionales propuesta inicialmente por Ivar Jacobson (Jacobson, 1987; Jacobson et al., 1992) e incorporadas actualmente en UML (OMG, 2003) No pertenecen estrictamente al enfoque orientado a objetos Técnica de captura de requisitos Los casos de uso cubren la carencia existente en métodos previos (OMT, Booch) en cuanto a la determinación de requisitos Están basados en el lenguaje natural Accesibles a los usuarios Presentan ventajas sobre la descripción meramente textual de los requisitos funcionales Existen múltiples propuestas para la utilización concreta de los casos de uso como técnica tanto de obtención como de especificación de los requisitos funcionales del sistema Para la descripción concreta de los casos de uso se proponen plantillas, en las que las interacciones se numeran siguiendo diversas propuestas y se describen usando lenguaje natural Ingeniería Web El Lenguaje Unificado de Modelado Casos de uso CU-<id> <nombre descriptivo> Versión <nº de la versión actual> (<fecha de la versión actual>) Autores • <autor de la versión actual> (<organización del autor>)Plantilla para requisitos funcionales ... Fuentes • <fuente de la versión actual> (<organización de la fuente>) ... Objetivos • OBJ-x <nombre del objetivo> asociados ... Requisitos • Rx-y <nombre del requisito> asociados ... Descripción El sistema debe comportarse tal como se describe en el siguiente caso de uso {abstracto durante la realización de los siguientes casos de uso: <lista de casos de uso>, cuando <evento de activación> [o durante la realización de los siguientes casos de uso: <lista de casos de uso>]} Precondición <precondición del caso de uso> Secuencia Paso Acción normal p1 {El actor <actor>, El sistema} <acción/es realizada/s por actor/sistema> p2 Se realiza el caso de uso <caso de uso (RF-x)> p3 Si <condición>, {el actor <actor>, el sistema} <acción/es realizada/s por actor/sistema> p4 Si <condición>, se realiza el caso de uso <caso de uso (RF-x)> ... ... Poscondición <poscondición del caso de uso> Excepciones Paso Acción pi Si <condición excepción>, {el actor <actor>, el sistema} <acción/es realizada/s por actor/sistema>, a continuación este caso de uso {continúa, queda sin efecto} pj Si <condición excepción>, se realiza el caso de uso <caso de uso (RF-x)>, a continuación este caso de uso {continúa, queda sin efecto} ... ... Rendimiento Paso Acción q m <unidad de tiempo> ... ... Frecuencia <nº de veces> veces / <unidad de tiempo> Importancia <importancia del requisito> Urgencia <urgencia del requisito> (Durán y Bernárdez, 2002) Estado <estado del requisito> Estabilidad <estabilidad del requisito> Comentarios <comentarios adicionales sobre el requisito> Tema 2: El Lenguaje Unificado de Modelado
  20. 20. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoUn diagrama de casos de uso es un grafo de actores, un conjunto de casos de uso encerrados por los límites de un sistema(un rectángulo), asociaciones entre los actores y los casos de uso y relaciones de generalización entre los actores (Rumbaugh et al., 1999) Depositar dinero Actor Caso de uso Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso nombre del sistema Cajero automático caso de uso sacar dinero cliente transferencias sistema del banco actor depositar dinero comunicación entre actor y caso de uso administración operador límite del sistema nombre de caso de uso Ejemplo de diagrama de casos de uso Tema 2: El Lenguaje Unificado de Modelado
  21. 21. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoUn actor es una idealización de una persona, un proceso ouna entidad externa que interacciona con un sistema,subsistema o claseUn actor abstrae y caracteriza a un usuario externo o a unconjunto de usuarios externos relacionados queinteractúan con el sistema o clasificadorCada actor define un conjunto de roles que los usuariosde un sistema asumen cuando interactúan con el mismo El conjunto completo de actores describe todas las diferentes formas de comunicación entre los usuarios externos y el sistema Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoLos actores se representan en UML con el icono estándar de los casosde uso que es el “stick man” o “monigote” con el nombre del actor alpie de la figura Estereotipo de actor ClienteUn actor también se puede representar mediante un símbolo de clasecon el estereotipo «actor» «actor» Símbolo de clase Cliente con estereotipo Tema 2: El Lenguaje Unificado de Modelado
  22. 22. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Puede definirse en una jerarquía de generalización de actores Los actores descendientes heredan los roles y las relaciones con los casos de uso del actor antecesor Principio de capacidad de sustitución Tomar pedido Vendedor Generalización de actores Establecer crédito Supervisor Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Un caso de uso es una forma, patrón o ejemplo concreto de utilización, un escenario que comienza con algún usuario del sistema que inicia alguna transacción o secuencia de eventos interrelacionados (Jacobson et al., 1992) Un caso de uso es una unidad coherente de funcionalidad que proporciona un clasificador (un sistema, un subsistema o clase) tal como lo manifiestanlas secuencias de mensajes que se intercambian entre el sistema y uno o másusuarios externos (que se representan como actores), junto con acciones que realiza el sistema (Rumbaugh et al., 1999) Tema 2: El Lenguaje Unificado de Modelado
  23. 23. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoEn general, las diferentes definiciones pueden catalogarseen cuatro dimensiones (Cockburn, 1997a; Cockburn,1997b) Propósito Dimensión Valor Contenido Propósito Requisitos funcionales Pluralidad Contenidos Texto consistente Estructura Pluralidad Múltiples escenarios por caso de uso Estructura Semiformal Enfoque de los casos de uso en UML Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoEl propósito de un caso de uso es definir un cierto comportamiento deun clasificador sin revelar la estructura interna del clasificadorCada caso de uso especifica un servicio que proporciona elclasificador a sus usuarios Describe una secuencia completa en términos de interacción entre los usuarios y el clasificador, así como las respuestas ofrecidas por el clasificadorLos casos de uso incluyen el comportamiento normal que se tienecomo respuesta a una solicitud del usuario También incluyen las posibles variantes de la secuencia normal Secuencias alternativas, comportamiento frente a excepciones y manejo de erroresUn caso de uso es un descriptor que describe un comportamientopotencial La ejecución de un caso de uso es una instancia de un caso de uso Tema 2: El Lenguaje Unificado de Modelado
  24. 24. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoLos casos de uso se representan en UML por una elipseconteniendo el nombre, aunque también puede dibujarsecomo un rectángulo clasificador con la palabra reservada«use case» «use case» hacer hacer pedido pedido símbolo de clase caso de uso con estereotipo Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoUn caso de uso puede participar en varias relaciones, ademásde poderse asociar con actores Relación Función Notación Asociación Línea de comunicación entre un actor y un caso de uso en el que participa Extensión Inserción de comportamiento adicional en un caso de uso base que no tiene conocimiento «extend» sobre él Generalización Una relación entre un caso de uso general y un de casos de uso caso de uso más específico, que hereda y añade propiedades al caso de uso base Inclusión Inserción de comportamiento adicional en un caso de uso base, que describe explícitamente «include» la inserción Tipos de relaciones en los diagramas de casos de uso Tema 2: El Lenguaje Unificado de Modelado
  25. 25. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Relación de generalización Una relación de generalización relaciona un caso de uso especializado con otro caso de uso más general El hijo hereda los atributos, operaciones y secuencias de comportamiento del padre, pudiendo agregar atributos y operaciones propios El caso de uso hijo añade comportamiento al caso de uso padre insertando secuencias de acción adicionales en la secuencia del padre en puntos arbitrarios La capacidad de sustitución para los casos de uso significa que la secuencia de comportamiento de un caso de uso hijo tiene que incluir la secuencia de comportamiento de su padre La notación empleada es la del símbolo normal de generalización Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Comportamiento de caso de uso para el padre, Verificar identidad El padre es abstracto, no hay secuencia de comportamiento Verficar identidad Un descendiente concreto tiene que proporcionar el comportamiento Comportamiento de caso de uso para el hijo, Comprobar Contraseña - Obtener la contraseña en BD maestra - Pedir contraseña al usuario - El usuario proporciona la contraseña - Comparar contraseña con entrada del usuario Comportamiento de caso de uso para el hijo, Explorar retinaComprobar - Obtener signatura de la retina en BD maestra Explorar retinaContraseña - Explorar la retina del usuario y obtener su signatura - Comparar la signatura maestra con la signatura explorada Generalización de casos de uso Tema 2: El Lenguaje Unificado de Modelado
  26. 26. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Relación de extensión La relación de extensión es una especie de dependencia El caso de uso cliente añade un comportamiento incremental al caso de uso base mediante la inserción de secuencias de acción adicionales a la secuencia base El caso de uso cliente contiene uno o más segmentos separados de secuencia de comportamiento La relación de extensión contiene una lista de nombres de puntos de extensión del caso de uso base Un punto de extensión representa una localización dentro del caso de uso base donde se puede insertar la extensión Una relación de extensión también puede tener asociada una condición El caso de uso extensor no es necesariamente instanciable por separado Consiste en uno o más segmentos que describen las secuencias adicionales de comportamiento Cada segmento en un caso de uso extensor se puede insertar en una localización separada en el caso de uso base Cuando la ejecución de una instancia de un caso de uso alcanza una localización en el caso de uso base referenciada por el punto de extensión y se cumple cualquier condición en la extensión, entonces la ejecución de la instancia se puede transferir a la secuencia de comportamiento del segmento correspondiente del caso de uso extensor Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoRelación de extensión Se pueden aplicar múltiples relaciones de extensión al mismo caso de uso base Un caso de uso extensor puede extender más de un caso de uso base Las extensiones pueden ampliar otras extensiones de una manera jerarquizada Un caso de uso extensor puede ser él mismo la base en una relación de extensión, inclusión o generalización La notación de la relación de extensión es una flecha discontinua desde el caso de uso extensor al símbolo del caso de uso base con una punta de flecha apuntando a la base, a la que se añade la palabra clave «extend» Tema 2: El Lenguaje Unificado de Modelado
  27. 27. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de usoCondition: {petición de consulta}Puntos de extensión: posible Caso de uso base para la sesión CA Condition: {petición de reintegro}transacción, detalles de recibo Puntos de extensión: posible transacción, mostrar el anuncio del día detalles de recibo incluye (identificar cliente) inclusión incluye (validar cuenta) inclusión <posible transacción> punto de extensión imprimir cabecera del recibo Sesión CA <detalles del recibo> punto de extensión desconexión Puntos de extensión posible transacción Caso de uso de extensión para la consulta detalles del recibo segmento primer segmento recibir petición de consulta <<extend>> mostrar información de la consulta <<extend>> (posible transacción, (posible transacción, segmento segundo segmento detalles del recibo) detalles del recibo) imprimir la información sobre el reintegro [petición de reintegro] [petición de consulta] Caso de uso de extensión para el reintegro Reintegro segmento primer segmento Consulta <<extend>> recibir petición de retirada de efectivo (petición realizada) especificar cantidad Puntos de extensión <petición realizada> punto de extensión [historia sospechosa] petición realizada segmento segundo segmento desembolsar efectivo Condition: {historia sospechosa} Caso de uso de extensión para la retención de tarjetas Puntos de extensión: petición realizada Retener tarjeta segmento segmento único retener tarjeta terminar la sesión Extensión de casos de uso Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Relación de inclusión Esta relación denota la inclusión de la secuencia de comportamiento del caso de uso proveedor en la secuencia de interacción de un caso de uso cliente, bajo el control del caso de uso cliente, en una localización que especifique el cliente en su descripción Se trata de una dependencia, no de una generalización La instancia de caso de uso está ejecutando el caso de uso cliente Cuando llega al punto de inclusión, comienza a ejecutar el caso de uso proveedor hasta que éste finaliza Después sigue ejecutando el caso de uso cliente más allá de la localización de la inclusión El caso de uso incluido no es un clasificador instanciable independientemente Universidad de Salamanca. Departamento de Informática y Automática 56 Tema 2: El Lenguaje Unificado de Modelado
  28. 28. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Relación de inclusión A un mismo caso de uso se le pueden aplicar múltiples relaciones de inclusión El mismo caso de uso proveedor puede incluirse en múltiples casos base Las inclusiones se pueden anidar Una inclusión puede servir como base para otra inclusión, extensión o generalización posterior La inclusión representa un comportamiento encapsulado que, potencialmente, puede ser reutilizado en múltiples casos de uso base La relación de inclusión posee la propiedad de localización, que se define como una situación, dentro del cuerpo de la secuencia de comportamiento del caso de uso base, en que se debe insertar la inclusión La inclusión es una sentencia explícita situada dentro de la secuencia de comportamiento del caso de uso base La notación de la relación de inclusión es una flecha discontinua desde el caso de uso base hasta el símbolo del caso de uso incluido o proveedor, con una cabeza de flecha abierta en la inclusión, sobre la que se pone la palabra reservada «include» Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de casos de uso Caso de uso base para la sesión CA mostrar el anuncio del día incluye (identificar cliente) inclusión incluye (validar cuenta) inclusión imprimir cabecera del recibo desconexiónUsuario <<include>> Caso de uso incluido para Identificar cliente Sesión CA obtener nombre cliente <<include>> incluye (verificar identidad) si fracasa la verificación entonces abortar la sesión obtener los números de cuenta del cliente Ident ificar cliente Validar cuenta Caso de uso incluido para Validar cuenta establecer conexión con la BD de cuentas obtener estado de cuenta y límites Inclusión de casos de uso Tema 2: El Lenguaje Unificado de Modelado
  29. 29. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Realización de casos de uso Caso de uso Colaboración «Participa» «Participa» «Participa» Objeto Objeto Objeto Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de actividadUn diagrama de actividad representa el comportamiento mediante unmodelo de flujo de datos y flujo de controlActividad: especificación de un comportamiento parametrizado que seexpresa como un flujo de ejecución por medio de una secuencia deunidades subordinadasAcción: especificación de una unidad fundamental de comportamientoque representa una transformación o procesamiento Las acciones están contenidas en actividades que le proporcionan su contexto Los diagramas de actividad capturan las acciones y sus resultados Nodo acción Nodo objeto Nodos de control Tema 2: El Lenguaje Unificado de Modelado
  30. 30. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de actividadTokens Vehículos para mover información y eventos a través del sistema. Pueden transportar objetos o valoresArcos de actividad Conexiones dirigidas entre nodos de actividad a través de las cuales fluyen los tokens Pueden tener condiciones de guarda para permitir o no el paso de los tokens Nombre de la actividad Actividad «precondition» Pedido completo «postcondition» Pedido cerrado Parámetro [rechazado] [aceptado] Nodo de parámetro Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de actividad Particiones de actividad Cliente Ventas Almacén (swinlanes): Particiones Solicitar producto utilizadas para identificar acciones que comparten características Procesar pedido comunes. Extraer artículos Enviar pedido Recibir pedido Facturar pedido Pagar factura Cerrar pedido Representación de particiones Multidimensionales Tema 2: El Lenguaje Unificado de Modelado
  31. 31. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de actividadRegión de expansión: región que se ejecuta múltiples veces(concurrent, iterative o streaming) una vez por cada elemento de unacolección de elementos de entradaNodos de expansión: De entrada: flujo de entrada a la región de expansión que contiene una colección que se divide en elementos individuales dentro de la región De salida: flujo de salida de la región de expansión que combina los elementos individuales en una colección que se usa fuera de la región Nodo de expansión Región de de entrada expansión Nodos de expansión de salida Ingeniería Web El Lenguaje Unificado de Modelado Modelado de las interaccionesInteracción: unidad de comportamiento que se centra en elintercambio de información observable entre elementos que puedenconectarse La comunicación se realiza mediante mensajes Viene dada por un par de conjuntos de trazas Las interacciones se pueden especializarDiagramas: Diagrama de secuencia: hacen hincapié en la secuencia de intercambio de mensajes entre objetos. Diagrama de comunicación (colaboración): se centra en las interacciones y enlaces entre objetos que colaboran Diagrama de visión global de la interacción: variante del diagrama de actividad que muestra el flujo de control de la interacción a alto nivel Diagrama de tiempo: diagrama de interacción que muestra sobre un eje de tiempo los cambios de estado o condición de una instancia o papel de clasificador Tema 2: El Lenguaje Unificado de Modelado
  32. 32. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de secuenciaUn diagrama de secuencia representa las interacciones entre objetosorganizadas en una secuencia temporal Muestra los objetos participantes en la interacción y la secuencia de mensajes intercambiadosPueden existir en forma de genérica, describiendo todos los posiblesescenarios, y en forma de instancia (describiendo un escenario real)Notación Es un diagrama bidimensional La dimensión vertical es el eje de tiempos La dimensión horizontal muestra la línea de vida de los objetos individuales en la colaboración Con frecuencia sólo son importantes las secuencias de mensajes, pero en aplicaciones de tiempo real el eje temporal puede ser una métrica Una ocurrencia de ejecución muestra el periodo durante el cual un objeto realiza una acción bien directamente o a través de un procedimiento subordinado Se representa como una banda vertical Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de secuencia sd Reservas :Ticket :Cuenta Crea ( ) :Orden reserva (fecha,cuenta ) creación cargo (coste) bono (fecha,cuenta) mensaje Llamada recursiva retorno Ocurrencia de ejecución X destrucción Tema 2: El Lenguaje Unificado de Modelado
  33. 33. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de secuenciaFragmentos combinados objetos activos Encapsulan porciones del emisor intercambio receptor diagrama de secuencia restricciones a levantar auricular mensaje {b-a < 1 seg} Tienen un operador de tono de marcado b {c-b < 10 seg} loop interacción que indica como c marcar dígito se maneja el fragmento comentario ... mensaje d encaminar alt: estructura alternativa La llamada se encamina por con duración d’ opt: comportamiento opcional la red loop: bucle {d’-d < 5 seg} tono de llamada suena el teléfono par: comportamientos paralelos se responde critical: región crítica En este punto los interesados pueden tono de fin deja de sonar hablar Diagrama de secuencia con control asíncrono Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de comunicaciónUn diagrama de comunicación muestra cómo las instanciasespecíficas de las clases trabajan juntas para conseguir unobjetivo común Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro Sintaxis de la etiqueta del mensaje :[predecesor] [condición-guarda] [expresión-secuencia] [valor-retorno :=] nombre- mensaje (argumentos) Predecesor. lista de números de secuencia separados por comas y seguidos por ‘/’ La condición de guarda es una expresión booleana encerrada entre corchetes La expresión de secuencia es una lista de términos de secuencia separada por puntos y seguida de ‘:’ Tema 2: El Lenguaje Unificado de Modelado
  34. 34. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de colaboración sd Reservas pedir(pedido, cliente) 2: coste:=reservar(pedido) :EncargadoPedidos :BDEntradas entradas flujo de mensajes Solicitante 1: revisarCrédito (cliente) 3: cargarCuenta (cliente, coste) número de secuencia navegación en sentido único crédito :OficinaCrédito rol de clasificador Diagrama de comunicación Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de visión global de la interacción Los diagramas de visión global de la interacción (Interaction Overview Diagrams) son una variante de los diagramas de actividad en los que los nodos son interacciones u ocurrencias de interacciones Características de los diagramas de visión global de la interacción: Para representarlos se utiliza un marco igual que el de cualquier diagrama de interacción pero el texto de cabecera puede incluir una lista de las líneas de vida que contiene precedida de la palabra reservada lifelines Las interacciones u ocurrencias de interacción que contienen sustituyen a los nodos objeto y se consideran formas especiales de invocación a actividadesUniversidad de Salamanca. Departamento de Informática y Automática 70 Tema 2: El Lenguaje Unificado de Modelado
  35. 35. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Diagramas de tiempoLos diagramas de tiempo (timing diagrams) proporcionan una formade mostrar los objetos activos y sus cambios de estado durante susinteracciones con otros objetos activos y con otros recursos delsistema sd UsuarioAceptado {d..3*d} EsperandoAcceso :Usuario EsperandoTarjeta TarjetaFuera {t..t+3} Reposo {0..13} código OK SinTarjeta :Sistema ConTarjeta t=ahora d 0 1 2 t Ingeniería Web El Lenguaje Unificado de Modelado Máquinas de estadosLa vista de máquina de estados describe el comportamiento dinámico de losobjetos a través del tiempo mediante el modelado del ciclo de vida de los objetosde cada claseCada objeto se trata como una entidad aislada que se relaciona con el resto delmundo a través de la detección de eventos y su respuesta a ellosLos eventos representan las clases de cambios que un objeto puede detectar Recepción de llamadas o señales explícitas desde un objeto a otro Cambio en ciertos valores Paso del tiempoCualquier cosa que pueda afectar a un objeto se puede caracterizar como eventoUn estado es un conjunto de valores de un objeto para una clase dada, quetienen la misma respuesta cualitativa a los eventos que ocurrenCuando un objeto detecta un evento responde de diferente forma dependiendode su estado. La respuesta puede incluir la ejecución de una acción o un cambiode estado Tema 2: El Lenguaje Unificado de Modelado
  36. 36. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Máquinas de estadosUna máquina de estados es un grafo de estados y transiciones quedescribe la respuesta de una instancia de un clasificador frente a larecepción de eventos (Rumbaugh et al., 1999)Una máquina de estados completa es un estado compuesto que se hadescompuesto recursivamente para formar subestados Los estados más internos no poseen subestadosUML define dos tipos de máquinas de estados: De comportamiento: capturan los ciclos de vida de los objetos, subsistemas y sistemas De protocolo: se usan para especificar las transformaciones legales que pueden ocurrir en un clasificador abstracto como una interfaz o un puerto Ingeniería Web El Lenguaje Unificado de Modelado Máquinas de estados Reposo Estado: notación Estado: notación tradicional Reposo con etiqueta Notaciones utilizadas para representar los estados X Y exit / p entry / q f/d S T Resultado efectivo -> f / p; d; q Estados compuestos Tema 2: El Lenguaje Unificado de Modelado
  37. 37. Ingeniería Web Ingeniería Web El Lenguaje Unificado de Modelado Máquinas de estados Se permite Estado inicial bifurcación condicional Transición al Y estado inicial [self.tamaño=0] Z e/a [else] X W entry / b Equivale a tamaño != 0 Ingeniería Web El Lenguaje Unificado de Modelado Máquinas de estados Compra Salida anormal Estado inicial salida/expulsar tarjeta Referencia de submáquina Estado final insertar tarjeta Incluir identificaciónTransición de falloterminación Salida normal Menú de selección Acción Inactivo Seleccionando elegir (asiento)/añadir a selección(asiento) pulsar pulsar “compra” “repetir” pulsar Confirmando “cancelar” Transición pulsar “confirmar”Transición exterior interior Vendiendo entrada/vender() Acción atómica Transición de finalización Diagrama de transición de estados con un estado compuesto secuencial Tema 2: El Lenguaje Unificado de Modelado
  38. 38. Ingeniería Web Ingeniería Web El Lenguaje Unificado de ModeladoMáquinas de estados Clase Elegida Incompleto laboratorio laboratorio realizado realizado Laboratorio 1 Laboratorio 2 proyecto Período de realizado proyecto aprobado Prueba final suspenso Suspenso Aprobado Diagrama de transición de estados con un estado compuesto concurrente Tema 2: El Lenguaje Unificado de Modelado

×