Lese-6 Modelo de Casos de Uso y de Comportamiento con Rose



Descargar 1,11 Mb.
Fecha de conversión12.01.2017
Tamaño1,11 Mb.

LESE-6 Modelo de Casos de Uso y de Comportamiento con Rose

  • Sistema de e-Commerce

Contenido

  • Organización del Modelo
    • Diagramas de Paquetes
  • Modelo de Casos de Uso
    • Diagramas de Casos de Uso
    • Diagramas de Actores
  • Modelo de Comportamiento
    • Diagramas de Secuencia del Sistema
    • Diagramas de Estado

Objetivo

  • Realizar el Modelo de Casos de Uso y de Comportamiento de un Sistema de e-Commerce (SeC)
  • Internet
  • Internet customer
  • SeC
  • Order Management System
  • Credit Card Validation System
  • Mobil phone customer

Metodología (ES:E)

  • Dominio
  • Glosario
  • Modelo Conceptual
  • Secuencia Eventos
  • (actores-sistema)
  • Modelo Casos de Uso
  • Diagramas Estados
  • (objetos dominio /
  • Sistema)
  • Requisitos
  • Automatización
  • conceptos
  • reglas dominio
  • restricciones
  • Descripciones c.u.
  • Modelo Comportamiento

Contenido

  • Organización del Modelo
    • Diagramas de Paquetes
  • Modelo de Casos de Uso
    • Diagramas de Casos de Uso
    • Diagramas de Actores
  • Modelo de Comportamiento
    • Diagramas de Secuencia de Sistema
    • Diagramas de Estado

Organización de un Modelo UML

  • Mediante “Package”
    • Son elementos agrupadores que se utilizan para organizar el modelo
      • (es como las carpetas del sistema de archivos)

Package

  • Dentro de un Package hay elementos del modelo:
    • Diagramas:
      • De clases
      • De secuencia
      • De estado
    • Clases:
      • Clase (de objetos)
      • Actor
      • Use Case
        • Es la “clase” de un conjunto de flujos de interacción
      • Asociaciones

Organización del modelo UML

  • A una “clase” (Class, Actor, Use Case) se le pueden asociar diagramas de:
    • Secuencia
    • Actividad/Estado
    • Clases

Organización del Modelo en Rose

  • Se refleja en la estructura del Browser

SeC. Ejemplos del Browser

Nota: El Browser Permite

  • Navegar por los elementos del modelo
  • Crear elementos del modelo
    • Sel “Package” → Menu botón derecho → New
    • Sel “clase” → Menu botón derecho → New diagram
  • Especificar elementos del modelo
    • Sel elem → Open Specification Window (or doble click)
      • Package
      • Diagramas
      • Clases (Clases, Actores, Use Cases
        • Clases
          • Atributos
          • Métodos
        • Actores
        • Use Cases
        • Asociaciones

Nota: Browser, Elementos , Diagramas

  • Elementos están en el browser
    • Mismo elemento (“clases”, diagramas) puede visualizarse en múltiples diagramas
      • Un diagrama es una vista de la estructura o comportamiento de “clases” del modelo
        • Actores
        • Casos de Uso
        • Clases

Nota: Browser, Elementos , Diagramas

  • Indica el Package del que proviene

Nota: Repintado desde el browser

  • Drag & Drop
  • (repinta relaciones existentes)

Package en Rose

  • Por defecto, existen:
      • Use Case View
        • Main (use case diagram)
      • Logical View
        • Main (class diagram)
      • Component View
  • Se pueden crear/borrar nuevos Package solo en:
    • Use Case View
    • Logical View
  • Multiples niveles de anidamiento
  • (Se pueden crear mas diagramas)

Creación de “Package”

  • Browser:
    • Botón derecho sobre una View o sobre otro Package → New Package
  • Cualquier Toolbar:
    • Cargar puntero ratón con
    • → Click sobre cualquier diagrama de:
      • Clases
      • Casos de Uso

SeC. Modelo de Paquetes

  • Use Case View
    • Actors
    • Use Cases
  • Logical View
    • Systems
    • Classes

SeC. Modelo de Paquetes

  • <
    > Use Case View
    • <
      > Actors :
      • diagrama de actores
      • Actores
    • <
      > Use Cases:
      • <
        > Order Management :
        • Diagramas de casos de usos de gestión de ordenes
        • Casos de uso
          • Diagramas secuencia sistema (para un flujo)
      • <
        > Account Mangement
        • idem
      • <
        > System Administration
        • idem
  • <
    > Logical View
    • <
      > Systems:
      • Diagramas de clases de sistemaas
      • Clase “Sistema”
    • <
      > Classes
      • Diagramas de clases del sistema (del modelo conceptual)
      • Clases
        • Diagramas de estado para objetos del sistema

SeC. Diagrama de Paquetes

  • Sobre Use Case View
  • Drag & Drop
  • Titulo indica el
  • “Package”/”Diagrama”
  • Doble Click, nos crea un diagrama “Main” dentro de “UseCases”

SeC. Diagrama de Paquetes

  • Dentro de Package “Use Cases”
  • Drag & Drop

Navegación Package

  • En un diagrama donde hay un Package se puede “navegar” haciendo doble click sobre el package
    • Muestra el diagrama “Main” dentro del Package o lo crea si no existe previamente

Contenido

  • Organización Modelo
    • Diagramas de Paquetes
  • Modelo de Casos de Uso
    • Diagramas de Casos de Uso
    • Diagramas de Actores
  • Modelo de Comportamiento
    • Diagramas de Secuencia de Sistema
    • Diagramas de Estado

Toolbar Diagramas Casos de Uso

  • Actor
  • Use Case
  • Association
  • Generalization
  • Package

Actor en UML

  • Representa el rol que desempeña, uno o varios usuarios del sistema cuando interacciona con el sistema
    • Puede representar una persona, un sistema o un dispositivo
    • Se define con respecto al sistema
      • No tiene porque ser un rol de dominio (negocio)
  • (personas)
  • Customer
  • (sistemas)
  • Usuarios

Actor en UML

  • Es la Clase que representa el papel o rol que desempeñan con respecto al sistema diferentes usuarios cuando interaccionan con el sistema
    • Se le pueden especificar atributos y operaciones como cualquier otra clase
    • Se le pueden especificar relaciones con otras clases
    • Puede ser abstracto: no tiene instancia de usuario física

Crear un Actor

  • Cargar puntero de ratón con
  • Click sobre el Diagrama

Nota: Un Actor es un tipo de clase UML

  • Es una clase con el estereotipo de <>
  • Se pueden definir las relaciones de Asociación con otras clases (normalmente Casos de Uso)
  • La Generalización entre Actores se utiliza para definir perfiles y permisos de usuarios en el sistema
  • Menu Boton Derecho/Options / Sterotype Display: Label

Especificación de un Actor

  • Igual que cualquier otra clase
    • Los actores que son “sistema” pueden tener operaciones definidas (su API)
  • Doble Click

Generalización entre Actores

  • Significa que loa Actores “hijo” se heredan las capacidades de interacción con el sistema del Actor “padre”

SeC. Modelo de Actores

  • Use Case View /Actors /Main
  • (“Package path” / “Diagram”)

Caso de Uso en UML

  • Representa un conjunto de secuencias de interacción y sus variantes, que un sistema realiza para producir un resultado de valor para un actor en particular
  • Manage Account
  • Historias o secuencias de interacción

Un Caso de Uso es una Clase

  • Es la clase de un conjunto de historias o instancias “físicas” de escenarios de interacción entre Actores y sistema que producen un resultado de valor para algún Actor en la interacción

Un Caso de Uso es una Clase

    • Permite describir cualquier instancia de historia o escenario de interacción de una determinada clase
    • Los Actores representan los papeles de los usuarios del sistema en las historias que describe el caso de uso

Un Caso de Uso es un Clase

  • Create Account
  • Modify Account
  • Delete Account
  • Modify Account and Invalid Credit Card
  • Modify Account and user doesnt confirm
  • Manage Account
  • Historias o secuencias de interacción
  • Todas las historias son del tipo “Manage Account”

Un Caso de Uso es una Clase

  • Create Account
  • Modify Account
  • Delete Account
  • Create Account and Invalid UserName
  • Modify Account and Invalid Credit Card
  • Manage Account
  • Person
  • Pepa
  • Juan
  • Manuel
  • Ana
  • Instancias
  • Clase
  • Historias

Especificación Caso de Uso

  • Mediante Texto se ha de describir
    • Descripción Breve
    • Precondiciones
    • Flujo Básico
      • Secuencia Pasos
    • Flujos Alternativos
    • Post Condiciones
  • Documento Especificación Caso de Uso
  • Post Cond2
  • Post Cond1
  • PreCond
  • Flujo básico
  • Flujo alternativo

Doc Especificación Caso Uso

  • Flujo Básico
  • Flujos alternativos

El Flujo Basico

  • Dos concepciones:
    • Representa la historia mas importante o principal del caso de uso
      • Ej: “Create account”
    • Representa la historia o escenario del “Happy Day”
      • Ej: “Login” sin errores

Especificación Caso de Uso

  • Create Account
  • Modify Account
  • Delete Account
  • Create Account and Invalid UserName
  • Create Account and Invalid Pwd
  • Modify Account and Invalid Credit Card
  • Modify Account and user doesnt confirm
  • Manage Account
  • Historias o secuencias de interacción
  • Especificación Caso de Uso
  • Permite instanciar cualquier historia navegando por el texto de flujo básico + alternativos

Generación de Historias (instancias)

  • Flujo Básico
  • El actor…
  • El sistema…
  • ..
  • 7 El sistema…
  • Flujo Alternativo 1
  • Cond: ….
  • A.1 El actor…
  • A.2 El sistema…
  • Flujo Alternativo X
  • Cond: ….
  • X.1 El actor…
  • X.2 El sistema…
  • Create Account
  • (Flujo Básico)
  • El actor…
  • El sistema.
  • 7
  • Modfiy Account
  • (Flujo Básico)
  • El actor…
  • (Flujo Alternativo 1)
  • Cond: ….
  • A.1 El actor…
  • A.2 El sistema…
  • (Flujo Básico)
  • 7. El sitema
  • Create Account and Invalid Pwd
  • (Flujo Básico)
  • El actor…
  • El sistema.
  • (Flujo Alternativo X)
  • Cond: ….
  • X.1 El actor…
  • X.2 El sistema…
  • Manage Account
  • (Flujo Básico)
  • 4.
  • 7. El sitema

Un Caso de Uso es “Picture + Doc”

  • Create Account
  • Modify Account
  • Delete Account
  • Create Account and Invalid UserName
  • Create Account and Invalid Pwd
  • Modify Account and Invalid Credit Card
  • Modify Account and user doesnt confirm
  • Manage Account
  • Historias o secuencias de interacción
  • Especificación Caso de Uso

La clase Caso de Uso en UML

  • Es la clase de un conjunto de secuencias o historias de interacción
    • Caso de Uso abstracto: no puede tener instancia como historia (es un fragmento)
    • Relaciones UML con Actores
      • Asociación
    • Relaciones UML con otros Casos de Uso
      • Generalización
      • Asociación

Asociaciones Actores y Caso de Uso

  • Representa que existe comunicación entre los actores y casos de uso (en ambos sentidos)
  • La flecha indica quien inicia la interacción
    • (el actor o el sistema desde el caso de uso)
  • Manage Account
  • Customer
  • Credit Card Authoritation System
  • asociación

Crear un Caso de Uso

  • Cargar puntero de ratón con
  • Click sobre el diagrama

Asociar Actor y Caso de Uso

  • Asociar Actor y Caso de Uso mediante

SeC. Order Management Use Cases

  • Use Case View / Use Cases / Order Management / Main
  • Indica el paquete del que proviene

SeC. Account Managment Use Cases

  • Use Case View / Use Cases / Account Management/ Main

SeC. System Administration Use Cases

  • Use Case View / Use Cases / System Administration / Main
  • Supporting Use Cases

Especificación Caso de Uso y Rose

  • Rose: En Specification Window:
    • Descripción Breve
  • “Word”: En documento poner el texto del caso de uso al completo
  • Especificación Caso de Uso
  • ( es una descripción textual que permite componer
  • cualquier historia o instancia de caso de uso)

Relaciones entre Casos e uso

  • Representan como se relacionan los flujos que describe el documento de especificación de casos de uso
    • Generalización
    • Asociación (estereotipadas)
      • << includes>>
      • << extends>>
        • (UML 1.4)

Asociación <>

  • El caso de uso Base incluye en alguno de sus flujos el caso de uso Incluido
    • El caso de uso incluido es un “fragmento” de flujo que no tiene sentido por si mismo
      • Se incluye en múltiples sitios
      • Es abstracto
      • Base necesita del incluido (en algún flujo)
  • Login
  • Manage Account
  • <>
  • Base
  • Incluido
  • Es la clase de todas las historias de interacción del Login

<>

  • Login
  • Manage Account
  • <>
  • Base
  • Incluido
  • Create Account
  • Modify Account
  • Delete Account
  • Create Account and Invalid UserName
  • Create Account and Invalid Pwd
  • Modify Account and Invalid Credit Card
  • Modify Account and user doesnt confirm
  • Historias o secuencias de interacción
  • Login OK
  • Username error
  • Pwd error
  • Una o más historias de “Manage Account” incluyen historias de Login
  • La ejecución salta del Base al incluido

SeC. Common Use Cases

  • Use Case View / Use Cases / Common /Main
  • Specification Window :
  • Stereotype
  • Crear un nuevo paquete “Common”
  • Specificatio Window: Abstract

Asociación <>

  • El caso de uso Base puede ser modificado por el Extendedor en determinados Puntos de Extensión definidos en el Base
    • Representa flujos opcionales o alternativos
    • Es condicional (eventos, valores atributos)
    • El Base es completo sin el extendido
    • El Extendedor indica las condiciones bajo las que la extensión se ejecuta
      • (Es como un flujo alternativo.)
    • Puede ser o no abstracto
  • Print Order
  • Browse Catalog & Place Order
  • <>
  • Base
  • Extendedor

<>

  • Print Order
  • Browse Catalog & Place Order
  • <>
  • Base
  • Extendedor
  • Add Order
  • Modify Order
  • Delete Order
  • Add Order & Product is not in stock
  • Historias o secuencias de interacción
  • Print Order
  • Print Order Status
  • Printtig Order and error
  • Punto Extensión
  • (El mismo en todas las historias)
  • Algunas historias de “Place Order” son modificadas en un punto definido por historias de “Print Order”
  • La relación <> define la condición para que se las historias de “Print Order”
  • {If “cond” at P3}
  • {P1, P2,P3…}
  • “Place Order” define los puntos de extensión
  • P3
  • P3
  • P3
  • P3
  • La ejecución salta del Base al extendedor retornando a un punto de extensión (mismo u otro)

SeC. Extensiones

  • Use Case View / Use Cases / Order Mangement / Print Order
  • Specification Window :
  • Stereotype
  • Crear un nuevo diagrama

Nota: Browser, Elementos , Diagramas

  • Drag&Drop
  • Drag&Drop

Generalización Casos de Uso

  • El caso de uso hijo reusa contenido y estructura del padre
    • Representa la reutilización de parte de flujos de trabajo
  • Place Order
  • Place Phone Order

Generalización

  • Place Order
  • Place Phone Order
  • Add Order
  • Add Order
  • Base e hijo tienen la misma estructura
  • Place Order
  • Place Phone Order
  • Las historias de Place Phone Order reusan estructura y contenido de Place Order

SeC. Order Management Types

  • Use Case View / Use Cases / Order Mangement / Different Customer Types

Para aprender mas de Use Cases

  • Referencias:
    • “Use Case Modeling”. Kurt Bittner, Ian Spence. 2002,Addisson Wesley.
    • “The Unified Modeling Language Guide”, 1999, Adisson Wesley
    • Rational Unified Process 2002. Guidelines. © IBM Rational

Contenido

  • Organización Modelo
    • Diagramas de Paquetes
  • Modelo de Casos de Uso
    • Diagramas de Casos de Uso
    • Diagramas de Actores
  • Modelo de Comportamiento
    • Diagramas de Secuencia de Sistema
    • Diagramas de Estado

Diagramas de Secuencia de Sistema

  • Describen como interaccionan los instancias de Actores y la instancia de Sistema para un escenario de un caso de uso.
    • Es un camino dentro de los flujos especificados en la doc. del caso de uso
    • Se suele especificar el escenario del Flujo Principal

SeC. Manage Account. Create Account

  • tiempo
  • mensaje
  • Instancia de Clase
  • Llamada activa

Diagrama de secuencia

  • Mensajes
    • Llamadas a Operaciones
      • Responsabilidades del objeto
        • Poner signatura
    • Acciónes que implican que fluya información de de un objeto a otro.
      • Nuestra convención: para diferenciarlos de los anteriores, ponerlas entre
        • “\”nombre acción “\”

Clase Sistema

  • Es una abstracción que representa al sistema
    • (Normalmente no es real)
      • Excepción: Patrón Diseño Fachada
        • (Sus operaciones son como una API)

SeC. Clases Sistema

  • Logical View / System /Main
  • Drag&DropDrag/Drop form Actors
  • Set Steretoype display Label
  • Specify Methods

Clase Sistema

  • Nos permite especificar diagramas de secuencia de sistema para instancias de flujo de los casos de uso

Creación Diagramas de Secuencia

  • Browser:
    • Boton derecho sobre una View/Package o Clase → New Secuence Diagram
  • Toolbar:
  • Object Instance
  • Message
  • (entre objetos)
  • Message
  • (self)

SeC. Diagramas de Secuencia

  • Los crearemos dentro del caso de uso
    • Use Case View / Account Management/ Manage Account
      • Create Account (diagrama secuencia)

SeC. Creación Diagrama Secuencia

  • Boton derecho
  • Seleccionar de la lista
  • Boton derecho
  • Escribir directamente o Specification Window
  • o Drag&Drop de la Clase de la instancia

Creación Diagramas de Secuencia

  • Se pueden poner instancias sin especificar la clase
    • Es mas cómodo drag&drop de la clase desde el package del Browser
      • Crea directamente la clase, i.e.:
        • Jhon: Customer

Creación Diagramas de Secuencia

  • Usando se añaden directamente a la clase
  • Para terminar de especificar el método es mejor abrir su Specification Window
    • Desde el browser
    • Desde la Specfication Window de la clase

Contenido

  • Organización Modelo
    • Diagramas de Paquetes
  • Modelo de Casos de Uso
    • Diagramas de Casos de Uso
    • Diagramas de Actores
  • Modelo de Comportamiento
    • Diagramas de Secuencia de Sistema
    • Diagramas de Estado

Modelado del Estado de los objetos

  • Se trata de representar el ciclo de vida de las instancias de objetos
    • Un objeto cambia de estado debido a las operaciones que le invocan (mensajes)
    • El estado representa el valor de sus atributos
      • Las variables que definen un estado son los atributos
  • instancia1:Clase
  • Estado1
  • attr1:=0
  • attr2=‘a’
  • Estado7
  • attr1:=0
  • attr2=‘b’
  • Estado2
  • attr1:=1
  • attr2=‘a’
  • Estado6
  • attr1:=2
  • attr2=‘c’
  • mensaje

Modelado del Estado de los objetos

  • Se representa mediante Diagramas de Estados UML
  • Evento o Operación / Acción
  • Evento: provoca cambio estado
  • Acción: se ejecuta al recibir el evento

Creación Diagramas de Actividad

  • Browser:
    • Boton derecho sobre una View/Package o Clase → New Activity Diagram
  • Toolbar:
  • Estado inicial
  • Estado final
  • Transiciones
  • Estado
  • (resto elementos son para diagramas de actividad: son un caso particular del diagrama estados)

SeC. Diagrama Estados de “Order”

  • Creamos la clase en
    • Order en Logical View / Classes /Main
  • Browser: sobre la clase, botón derecho → Open State Diagram
  • o
  • → New Activity Diagram (Rose 2000>)

SeC. Diagrama Estados de “Order”

SeC. Diagrama Estados “Order”

  • Specification Window :
  • Event
  • Specification Window :
  • Event
  • Action
  • Evento o Operación / Acción
  • FIN



Compartir con tus amigos:


La base de datos está protegida por derechos de autor ©absta.info 2019
enviar mensaje

    Página principal