81
1 LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació LESE-6 Modelo de Casos de Uso y de Comportamiento con Rose Sistema de e-Commerce

LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

Embed Size (px)

Citation preview

Page 1: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

1

LSI ES:E

Departament de Llenguatges i Sistemes InformàticsEnginyeria del Software : Especificació

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

Sistema de e-Commerce

Page 2: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

2

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 3: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

3

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 4: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

4

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Metodología (ES:E)

Dominio

Glosario

Payment

ammount : Double

Customer

SalePays-for

ProductCatalog

ProductSpecificationdescribed-by

n

Register

1

1

1

1

Captured-on

Store

ncotains

Modelo Conceptual

Accounting System

HR System

Process Sale

Cash In

Payment Authorization Service

Cashier

Process Rental

Manage Users

System Administrator

Mangage Accounts

...

: CashierSystem

: Payment Authorization Service

makeNewSale()

enterItem(id,quantity)

endSale()

makePayment(amount)

validatePayment()

ok

performed

Secuencia Eventos(actores-sistema)Modelo Casos de Uso

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close file

Diagramas Estados(objetos dominio /

Sistema)

RequisitosAutomatización

conceptosreglas dominio

restricciones

Descripciones c.u.

Modelo Comportamiento

Page 5: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

5

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 6: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

6

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

NewPackage

Page 7: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

7

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Los diagramas son “vistas” del modelo de clases que muestran estructura o

comportamiento

Page 8: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

8

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Organización del modelo UML

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

Page 9: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

9

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Organización del Modelo en Rose

Se refleja en la estructura del Browser

Page 10: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

10

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Ejemplos del Browser

Page 11: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

11

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Nota: El Browser Permite

Navegar por los elementos del modeloCrear elementos del modelo

Sel “Package” → Menu botón derecho → New <x> Sel “clase” → Menu botón derecho → New <x> 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

Page 12: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

12

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 13: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

13

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Nota: Browser, Elementos , Diagramas

Indica el Package del que proviene

Page 14: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

14

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Nota: Repintado desde el browser

Drag & Drop(repinta relaciones

existentes)

Page 15: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

15

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 16: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

16

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 17: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

17

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Modelo de Paquetes

Use Case View Actors Use Cases

Order Management Account Mangement System Administration

Logical View Systems Classes

Page 18: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

18

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Modelo de Paquetes

<<package>> Use Case View <<package>> Actors :

diagrama de actores Actores

<<package>> Use Cases: <<package>> Order Management :

Diagramas de casos de usos de gestión de ordenes Casos de uso

Diagramas secuencia sistema (para un flujo) <<package>> Account Mangement

idem <<package>> System Administration

idem

<<package>> Logical View <<package>> Systems:

Diagramas de clases de sistemaas Clase “Sistema”

<<package>> Classes Diagramas de clases del sistema (del modelo conceptual) Clases

Diagramas de estado para objetos del sistema

Page 19: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

19

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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”

Page 20: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

20

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Diagrama de Paquetes

Dentro de Package “Use Cases”

Drag & Drop

Page 21: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

21

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 22: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

22

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 23: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

23

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Toolbar Diagramas Casos de Uso

Actor

Use Case

Association

Generalization

Package

Page 24: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

24

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

CustomerCredit Card Authoritation System

(sistemas)

Usuarios

Page 25: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

25

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 26: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

26

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Crear un Actor

Cargar puntero de ratón con

Click sobre el Diagrama

Page 27: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

27

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Nota: Un Actor es un tipo de clase UML

Es una clase con el estereotipo de <<Actor>>

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

Customer

Customer<<Actor>>

Menu Boton Derecho/Options / Sterotype Display: Label

Page 28: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

28

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Especificación de un Actor

Igual que cualquier otra clase Los actores que son “sistema” pueden

tener operaciones definidas (su API)

Customer

Doble Click

Page 29: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

29

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Generalización entre Actores

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

Page 30: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

30

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Modelo de Actores

Use Case View /Actors /Main

Customer

Internet CustomerMobil Phone Customer

Administrator

Credit Card Authorithation System

User

Order Management System

(“Package path” / “Diagram”)

Page 31: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

31

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 32: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

32

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 33: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

33

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 34: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

34

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Un Caso de Uso es un Clase

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

His

tori

as

o se

cuen

cia

s de

inte

racc

ión

Todas las historias son del tipo “Manage

Account”

Page 35: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

35

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 36: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

36

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 37: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

37

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Doc Especificación Caso Uso

Flujo Básico

Flujos alternativos

Preconditions (List the states the system can be in before this use case starts) 1. Employee has successfully logged in to the system. Post conditions (List the state(s) the system can be in when this use case ends) 1. A record of the employees time worked has been recorded by the system. Basic Course (Describe the “normal” processing path, aka, the Happy Path) 1. Use case begins when Employee is ready to submit time worked 2. Employee specifies the week s/he is entering time for

Business rules: R1. Weeks begin on Sunday and end on Saturday.

3. The system displays a list of clients that the employee is authorized to bill time against. 4. Employee records billable time spent with each client for each day 5. The system validates time entered

Business rules: R2. Time must be in 1/4-hour increments. R3. Total time per day cannot exceed 24 hours.

6. The system displays weekly hours worked per client. [Alternate Course: Unauthorized Overtime]

7. Use case ends when the system indicates to the Employee that the time has been recorded. Alternate Course A: Unauthorized Overtime Condition: Employee has entered overtime that has not been authorized A.6 Alternate course begins when the system determines that the time entered for a client exceeds the

time allowed under “non-overtime” rules for that client. A.7 The system indicates to the Employee the client and the total number of hours allowed. A.8 Use case continues at step 4. Alternate Course B: Cancel Input Condition: Employee cancels B.3 Alternate course begins when the system determines that the time entered for a client exceeds the

time allowed under “non-overtime” rules for that client. B.4 The system indicates to the Employee the client and the total number of hours allowed. B.5 Use case continues at step 4.

Page 38: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

38

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 39: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

39

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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 AccountH

isto

ria

s o

secu

enci

as

de in

tera

cció

n

Especificación Caso de Uso

Permite instanciar cualquier historia navegando por el texto de flujo básico + alternativos

Page 40: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

40

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Generación de Historias (instancias)

Flujo Básico1. El actor…2. El sistema…3. ..…7 El sistema…

Flujo Alternativo 1Cond: ….A.1 El actor…A.2 El sistema…

Flujo Alternativo XCond: ….X.1 El actor…X.2 El sistema…

Create Account

(Flujo Básico)1. El actor…2. El sistema.3. …4. ……7

Modfiy Account

(Flujo Básico)1. 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)1. El actor…2. El sistema.3. …4. …

(Flujo Alternativo X)Cond: ….X.1 El actor…X.2 El sistema…

Manage Account

(Flujo Básico)4.…7. El sitema

Page 41: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

41

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

His

tori

as

o se

cuen

cia

s de

inte

racc

ión

Especificación Caso de Uso

Page 42: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

42

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 43: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

43

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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 AccountCustomer Credit Card Authoritation System

asociación

Page 44: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

44

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Crear un Caso de Uso

Cargar puntero de ratón con

Click sobre el diagrama

Page 45: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

45

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Asociar Actor y Caso de Uso

Asociar Actor y Caso de Uso mediante

Page 46: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

46

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Order Management Use Cases

Use Case View / Use Cases / Order Management / Main

Order Management System

(from Actors)

Browse Catalog & Place Order

Track Orders

Customer

(from Actors)

Indica el paquete del que proviene

Page 47: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

47

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Account Managment Use Cases

Use Case View / Use Cases / Account Management/ Main

Credit Card Authorithation System

(from Actors)

Customer

(from Actors)

Manage Account

Page 48: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

48

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. System Administration Use Cases

Use Case View / Use Cases / System Administration / Main

Manage Users

Administrator

(from Actors)

Configure System

Supporting Use Cases

Page 49: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

49

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 50: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

50

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 51: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

51

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Asociación <<includes>>

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<<includes>>

Base

Incluido

Es la clase de todas las historias de interacción

del Login

Page 52: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

52

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

<<includes>>

Login

Manage Account<<includes>>

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

His

tori

as

o se

cuen

cia

s de

inte

racc

ió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

Page 53: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

53

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Common Use Cases

Use Case View / Use Cases / Common /Main

Manage Account

(from Account Management)

Browse Catalog & Place Order

(from Order Management)Track Orders

(from Order Management)

Manage Users

(from SystemAdministration)

Configure System

(from SystemAdministration)

Log In

<<includes>>

<<includes>> <<includes>>

<<includes>>

<<includes>>

Specification Window :Stereotype

Crear un nuevo paquete “Common”

Specificatio Window: Abstract

Page 54: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

54

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Asociación <<extends>>

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<<extends>>

Base

Extendedor

Page 55: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

55

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

<<extends>>

Print Order

Browse Catalog & Place Order

<<extends>>Base

Extendedor

Add Order

Modify Order

Delete Order

Add Order & Product is not in stock

His

tori

as

o se

cuen

cia

s de

inte

racc

ió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 <<extends>> 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)

Page 56: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

56

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Extensiones

Use Case View / Use Cases / Order Mangement / Print Order

Order Management System

(from Actors)

Browse Catalog & Place Order

Customer

(from Actors)

Track Orders

Print Order

<<extend>>

<<extend>>

Specification Window :Stereotype

Crear un nuevo diagrama

Page 57: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

57

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Nota: Browser, Elementos , Diagramas

Drag&Drop

Drag&Drop

Page 58: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

58

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 59: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

59

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 60: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

60

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Order Management Types

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

Order Management System

(from Actors)

Browse Catalog & Place Order

Customer

(from Actors)

Browse Catalog & Place Mobil Phone Order

Mobil Phone Customer

(from Actors)

Browse Catalog & Place Internet Order

Internet Customer

(from Actors)

Page 61: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

61

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 62: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

62

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 63: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

63

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 64: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

64

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

: Customer : System

: Credit Card Authorithation S...

\ select create account\

\ request info \

enterAccountInfo(Literal, Literal, Long)

validateCCard(Long)

\ request confirmation \

validateAccountInfo(Literal, Literal)

\ confirm \

createAccount(Literal, Literal, Long)

\ notify succesful creation \

SeC. Manage Account. Create Account

tiempo

mensaje

Instancia de Clase

Llamada activa

Page 65: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

65

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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 “\”

Page 66: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

66

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 67: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

67

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Clases Sistema

Logical View / System /Main

Credit Card Authorithation System

validateCCard()

(from Actors)

<<Actor>> Order Management System

addOrder()removeOrder()getOrder()getOrders()

(from Actors)

<<Actor>>

System

•Drag&DropDrag/Drop form Actors•Set Steretoype display Label•Specify Methods

Page 68: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

68

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Clase Sistema

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

Page 69: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

69

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 70: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

70

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Diagramas de Secuencia

Los crearemos dentro del caso de uso Use Case View / Account Management/ Manage Account

Create Account (diagrama secuencia)

Page 71: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

71

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Creación Diagrama Secuencia

: Customer : System

: Credit Card Authorithation S...

\ select create account\

\ request info \

enterAccountInfo(Literal, Literal, Long)

validateCCard(Long)

\ request confirmation \

validateAccountInfo(Literal, Literal)

\ confirm \

createAccount(Literal, Literal, Long)

\ notify succesful creation \

Boton derechoSeleccionar de la lista

Boton derecho<new operation>

Escribir directamente o Specification Window

o Drag&Drop de la Clase de la instancia

Page 72: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

72

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 73: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

73

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Creación Diagramas de Secuencia

Usando <new operation> se añaden directamente a la clase

Credit Card Authorithation System

validateCCard()

(from Actors)

<<Actor>> Order Management System

addOrder()removeOrder()getOrder()getOrders()

(from Actors)

<<Actor>>

System

enterAccountInfo()placeOrder()findProduct()getOrders()validateAccountInfo()createAccount()Añadidos desde el diagrama de secuencia

(en este diagrama de clases se pueden añadir mas métodos)

Para terminar de especificar el método es mejor abrir su Specification Window

•Desde el browser•Desde la Specfication Window de la clase

Page 74: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

74

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 75: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

75

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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

Page 76: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

76

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

Modelado del Estado de los objetos

Se representa mediante Diagramas de Estados UML

instancia1:Clase

Estado1•attr1:=0•attr2=‘a’

Estado7•attr1:=0•attr2=‘b’

Estado2•attr1:=1•attr2=‘a’

Estado6•attr1:=2•attr2=‘c’

mensaje

start

Pending

place order

Proccesed

dispatch / process

Completed

Canceled

cancellation

Order Cancelled

Order Completed

modification

confirm reception / complete

cancellation / cancel

Evento o Operación / Acción•Evento: provoca cambio estado•Acción: se ejecuta al recibir el evento

Page 77: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

77

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

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)

Page 78: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

78

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Diagrama Estados de “Order”

Creamos la clase en Order en Logical View / Classes /Main

Order

Browser: sobre la clase, botón derecho → Open State Diagram

o

→ New Activity Diagram (Rose 2000>)

Page 79: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

79

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Diagrama Estados de “Order”

Page 80: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

80

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

SeC. Diagrama Estados “Order”

start

Pending

place order

Proccesed

dispatch / process

Completed

Canceled

cancellation

Order Cancelled

Order Completed

modification

confirm reception / complete

cancellation / cancel

Specification Window :Event

Specification Window :EventAction

Evento o Operación / Acción

Page 81: LSI ES:E Departament de Llenguatges i Sistemes Informàtics Enginyeria del Software : Especificació 1 LESE-6 Modelo de Casos de Uso y de Comportamiento

81

LESE-6 Modelo de Casos de Uso y Comportamiento

LSI Laboratorio ES:E

FIN