Sunteți pe pagina 1din 8

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Repaso

Anlisis y Diseo de Sistemas


Dpto. Ciencias e Ingeniera de la Computacin Universidad Nacional del Sur

La extraccin de los requerimientos incluye la comprensin de lo que los clientes y usuarios esperan que haga el sistema. Los requerimientos deben ser especificados y documentados y revisados. Los requerimientos pueden clasificarse en:
Requerimientos Funcionales. Requerimientos No Funcionales.
Anlisis y Diseo de Sistemas - Clase 6 2

Clase 6 Modelo de Casos de Uso


Lic. Mara Mercedes Vitturini [mvitturi@cs.uns.edu.ar]

1er. CUATRIMESTRE 2006

Metodologas de Desarrollo
Existen distintas metodologas para encarar el desarrollo de un sistema. En este curso se estudian:
Metodologas Orientadas a Objetos.
El Proceso Unificado de Desarrollo de Software (Rumbaugh, Booch, Jacobson) Metodologa OMT (J. Rumbaugh)

Metodologa Orientado a Objetos


Objetivo: desarrollar una serie de modelos que describan el software para satisfacer los requisitos definidos por el cliente y los usuarios. Un enfoque unificado de modelado siguiendo la metodologa Orientada a Objetos propuesta por: G. Booch, J.Rumbaugh y I. Jacobson: Proceso de Unificado de Desarrollo de Software
Lenguaje de Modelado Unificado (UML) UML permite expresar un modelo de anlisis con notacin de modelado formada por reglas sintcticas y semnticas.
3 Anlisis y Diseo de Sistemas - Clase 6 4

Metodologas Estructuradas.
Metodologa de Eduard Yourdon.

Metodologa Rigurosa/Formales
Mtodo RAISE.
Anlisis y Diseo de Sistemas - Clase 6

UML
Unifica las ideas de los mtodos ms reconocidos de Ingeniera de Software Orientada a Objetos. Objetivos:
Modelar sistemas siguiendo el enfoque OO. Cubrir diferentes tipos y tamaos de sistemas. Crear un lenguaje de modelado que pueda ser utilizado por personas y mquinas.

Vistas de un Sistema
Los modelos representan distintas vistas de un problema:
Vista del usuario: representa un sistema (producto) desde la vista del usuario (actor). Se modela con casos de uso. Vista estructural: modela la estructura esttica (clases, objetos y relaciones). Vista del comportamiento: representa los aspectos dinmicos o de comporta-miento del sistema. Muestra las interac-ciones entre los elementos estructurales.
5 Anlisis y Diseo de Sistemas - Clase 6 6

UML es un lenguaje que sirve para visualizar, especificar, construir y documentar sistemas.

Anlisis y Diseo de Sistemas - Clase 6

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Vistas de un sistema
Vista de implementacin: representa cmo van a ser implementados los aspectos estructurales y de comportamiento. Vista del entorno: aspectos estructurales y de comportamiento en el que el sistema a implementar se representa.

Modelo de Casos de Uso (MCU)


Todos los caso de uso juntos constituyen el Modelo de Caso de Uso que describe la funcionalidad total del sistema

Anlisis y Diseo de Sistemas - Clase 6

Requerimientos Funcionales
El mayor esfuerzo de requerimientos es desarrollar un modelo del sistema a construir: Utilizar casos de uso. Los casos de uso se emplean para capturar el comportamiento deseado del sistema.

Requerimientos Funcionales y Casos de Uso


1.

Identificar los actores que interactan con el sistema.


Actor: Personas u otros sistemas que sern orgenes o destinos de la informacin que consumir o producir el sistema a desarrollar.

2.

Los requerimientos funcionales estn naturalmente estructurados como casos de uso.


Anlisis y Diseo de Sistemas - Clase 6 9

Identificar los casos de uso asociados a los actores


Describir los pasos de cada caso de uso y posibles excepciones.
Anlisis y Diseo de Sistemas - Clase 6 10

Casos de Uso (CU)


Los CU se emplean para capturar el comportamiento deseado del sistema en desarrollo, sin tener que especificar cmo se va a implementar. Modelan el comportamiento de un elemento que puede ser un sistema, subsistema o una clase, desde el punto de vista del usuario. Pueden representarse a diferentes niveles de abstraccin.
Anlisis y Diseo de Sistemas - Clase 6 11

Casos de Uso
Se crean con la captura de requerimientos, evolucionan y se usan durante todo el proceso: guan el proceso de desarrollo. Objetivos.
Definir los requisitos funcionales y operativos del sistema, diseando un escenario de uso acordado entre el usuario final y el equipo de desarrollo. Proporcionar una descripcin clara y sin ambigedades para el diseo. Proporcionar la base para la validacin de las pruebas.
Anlisis y Diseo de Sistemas - Clase 6 12

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

UML y el Modelo de Casos de Usos


UML provee el Modelo de Casos de Uso para representar la vista del sistema que se corresponde con la vista del usuario. En UML la representacin visual de los casos de uso es el diagrama de casos de uso. Las ltimas tendencias de ingeniera de software orientadas a objetos hablan del Proceso Unificado, dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental.
Anlisis y Diseo de Sistemas - Clase 6 13

Terminologa UML
Trabajador: representa una posicin que se puede asignar a una persona o equipo en una organizacin de desarrollo de software. Para cada trabajador se especifican las responsabilidades y habilidades requeridas. Artefacto: es un trmino general para cualquier clase de descripcin o informacin creada, producida, cambiada o usada por los trabajadores cuando trabajan con el sistema. Por ejemplo: un modelo, un elemento del modelo, etc. El principal artefacto usado en la captura de requerimientos es el modelo de casos de uso (MCU).
Anlisis y Diseo de Sistemas - Clase 6 14

Trabajadores y Artefactos
Trabajador: Analista de Sistemas Es responsable de ...

Casos de Uso y Trabajadores


Analista Busca actores y CU Estructura el MCU

Arquitecto

Prioriza CU

Artefacto: Modelo de Casos de Uso

Actores

Glosario

Especificador de CU

Detalla un CU

Anlisis y Diseo de Sistemas - Clase 6

15

Diseador de Interfaces

Anlisis y Diseo de Sistemas - Clase 6

Prototipea Interface Usuario

16

Modelo de Casos de Uso (MCU)


El modelo de casos de uso utiliza tres elementos bsicos: Actores, para modelar los diferentes roles que los elementos externos al sistema pueden representar. Casos de uso, para representar todo aquello que el actor ha de poder realizar en el sistema. Relaciones, que asocian a los elementos anteriores. El modelo se completa con la descripcin de casos de uso, esto es, la especificacin de los comportamientos de los casos de uso.
Anlisis y Diseo de Sistemas - Clase 6 17

Actores
El MCU describe lo que hace el sistema para cada tipo de usuario. Cada uno de stos se representa mediante uno o ms actores. Un actor puede representar a una persona fsica, otro sistema, un dispositivo. Representan a terceros fuera del sistema que colaboran con l. Un actor es como una clase, que se define por la descripcin de su comportamiento. Un usuario puede desempear varios papeles (roles), esto es, puede actuar como diferentes actores
Anlisis y Diseo de Sistemas - Clase 6 18

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Actores
La definicin de actores, sirve para definir el contexto externo del sistema, esto es, delimitar los elementos que se encuentran fuera y dentro del sistema. Un actor juega un rol para cada caso de uso en el que colabora. Cada vez que un usuario concreto interacta con el sistema, la instancia correspondiente de ese actor est jugando ese rol. Una instancia de un actor es un usuario especfico interactuando con el sistema.
Anlisis y Diseo de Sistemas - Clase 6 19

Actores Ejemplos
cliente

Actores de un sistema bancario:


Cajero, cliente, gerente, sistema de tarjetas electrnicas, etc.

Actores en un sistema de bibliotecas:


Socio, empleado de atencin al pblico, empleado catalogador del material, etc.

Actores de un sistema de facturacin:


Cajero, sistema de stock, sistemas de tarjetas, etc.
Anlisis y Diseo de Sistemas - Clase 6 20

Casos de Uso

<nombre del CU>

Casos de Uso

<nombre del CU>

Representan las formas en la que los actores interactan con el sistema. Los CU son trozos de funcionalidad que el sistema ofrece para agregar un resultado de valor a sus actores. Un CU constituye una secuencia completa de mensajes, y que especifica la interaccin que tiene lugar entre un actor y el sistema.
Anlisis y Diseo de Sistemas - Clase 6 21

El diagrama de casos de uso se acompaa con la especificacin o descripcin de los CU incluye:


La descripcin de la secuencia bsica o comportamiento normal, a travs de la secuencia de mensajes ms importantes. Las variantes o secuencias alternativas de mensajes (por ejemplo los posibles errores).

Normalmente, un CU tiene una nica secuencia bsica y uno o ms secuencias alternativas.


Anlisis y Diseo de Sistemas - Clase 6 22

Ejemplo
Descripcin INFORMAL: CU Enviar Mail Secuencia bsica
armar el mensaje y enviarlo al servidor de correo para que lo distribuya a los destinatarios.

Descripcin de CU

<nombre del CU>

Algunos caminos o secuencias alternativas podran ser:


No existe el destinatario. El mensaje debe ser enviado con alta prioridad. El remitente decide cancelar el procedimiento antes de enviar el mensaje. Anlisis y Diseo de Sistemas - Clase 6

El comportamiento de un caso de uso se puede especificar describiendo un flujo de eventos en forma textual: descripcin del caso de uso. La descripcin debe ser clara para que alguien ajeno al equipo de desarrollo lo entienda. Se debe incluir:
cmo y cundo empieza y se acaba el caso de uso, cundo interacta con actores y qu objetos se intercambian, el flujo bsico y los flujos alternativos.

23

Anlisis y Diseo de Sistemas - Clase 6

24

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Casos de Uso

<nombre del CU>

Casos de Uso

<nombre del CU>

En UML, una descripcin de CU puede incluir:


Diagrama de estados: especifica el ciclo de vida de las instancias del CU, en trminos de estados y transiciones entre estados. Diagrama de actividades: describe el ciclo de vida en ms detalle describiendo secuencia de acciones que ocurren en las transiciones. Diagramas de colaboracin y de secuencia: describen la interaccin entre una instancia del actor y una instancia del caso de uso.
Anlisis y Diseo de Sistemas - Clase 6 25

Una instancia de un CU, es la ejecucin particular de un CU. Cuando se ejecuta una instancia de un CU, se ejecuta una secuencia de acciones, como se especifica en el CU y siguiendo uno de los posibles caminos del CU. Mltiples caminos son posibles, y pueden ser muy similares. Son las alternativas de secuencias de accin para el caso de uso.

Anlisis y Diseo de Sistemas - Clase 6

26

Ejemplo
Para el CU Extraer Dinero de un ATM
Instancia #1: Mara ingresa su PIN, solicita extraer $100, obtiene el dinero. Instancia #2: Juan ingresa su PIN, solicita extraer $400, se rechaza la transaccin por falta de fondos.

Casos de Uso
Los casos de uso poseen atributos. Los atributos representan los valores que una instancia de un CU utiliza y maneja durante la ejecucin. Ejemplo: en el CU de Extraer Dinero,
PIN, Nmero de cuenta, Importe de la extraccin.

Extraer Dinero ATM


cliente

Las instancias de los CU, no interactan entre s. Se piensa en las instancias de los CU como atmicas, es decir, que se ejecutan completamente o no, pero sin interferencias. Los conflictos entre la ejecucin de distintos CU simultneamente se resuelven en la etapa de diseo.
27 Anlisis y Diseo de Sistemas - Clase 6 28

Anlisis y Diseo de Sistemas - Clase 6

Relaciones
Las relaciones identifican la comunicacin que existe entre:
Actores distintos. Casos de uso distintos. Actores-Casos de Uso.

Actores y Casos de Uso


Los actores se comunican con los casos de uso. Una asociacin entre un actor y un caso de uso indica que ese actor usa el CU, sea ingresndole informacin o consumiendo los datos que provee el CU. La asociacin entre actores y CU se representa en el diagrama de casos de uso mediante una lnea llena.

Las relaciones pueden ser:


Generalizacin Extensin. Inclusin.
Anlisis y Diseo de Sistemas - Clase 6 29

Anlisis y Diseo de Sistemas - Clase 6

30

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Organizacin de CU
Los CU se pueden organizar especificando relaciones de generalizacin, inclusin y extensin entre ellos. Estas relaciones sirven para:
Factorizar el comportamiento comn, extrayendo ese comportamiento comn de los CU en que se incluye. Factorizar variantes, poniendo ese comportamiento en otros CU que lo extienden.
Anlisis y Diseo de Sistemas - Clase 6 31

Organizacin de CU Generalizacin
La generalizacin puede existir entre CU. Significa que el CU hijo hereda el comportamiento y el significado del CU padre. Tanto el padre como el hijo pueden tener instancias concretas. La generalizacin entre CU se representa por una lnea continua con una punta de flecha vaca.

Anlisis y Diseo de Sistemas - Clase 6

32

Generalizacin de CU Ejemplo
Ejemplo: los CUs Obtener Parmetros, Obtener Parmetros desde Archivo, Obtener Parmetros desde Pantalla.

Organizacin entre CU Inclusin


La relacin de inclusin significa que un CU base incorpora explcitamente el comportamiento de otro CU. Sirve para evitar describir el mismo flujo de eventos repetidas veces. Una relacin de inclusin se representa como una dependencia estereotipada con la palabra <<include>>. En la descripcin del CU base se debe indicar el punto donde se realiza la inclusin.
33 Anlisis y Diseo de Sistemas - Clase 6 34

Anlisis y Diseo de Sistemas - Clase 6

Organizacin de CU Extensin
Una relacin de extensin entre CUs significa que un CU base incorpora implcitamente el comportamiento de otro CU. La extensin puede verse como que CU que extiende incorpora su comportamiento en el CU base. Una relacin de extensin se representa como una dependencia estereotipada con la palabra <<extend>>.
Anlisis y Diseo de Sistemas - Clase 6 35

Ejemplo

Anlisis y Diseo de Sistemas - Clase 6

36

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Organizacin de CU Extensin
La relacin de extensin sirve para:
Modelar la parte de comportamiento que se ve como opcional. Modelar un subflujo separado que se ejecuta slo bajo determinadas condiciones. Modelar varios subflujos que se pueden insertar en un punto dado.

Organizacin de CU Generalizacin de Actores


Generalizacin entre actores: organiza a los distintos actores, indicando que una descripcin abstracta del actor, que es compartida y aumentada por una o ms descripciones especficas. Ejemplo:

cliente

Cliente minorista
Anlisis y Diseo de Sistemas - Clase 6 37

Cliente mayorista
38

Anlisis y Diseo de Sistemas - Clase 6

Organizacin de CU Paquetes
Cuando el nmero de CU es considerable como para manejarlos en un nico diagrama, UML propone agruparlos en paquetes. Cada paquete puede contener otros paquetes o varios CU.
Anlisis y Diseo de Sistemas - Clase 6 39

Descripcin de CU - Plantilla
Nombre: provee una identificacin nica. Resumen: describe en una o dos oraciones las interacciones que ocurrirn en el CU. Curso Bsico de Eventos: describe los pasos que los actores y el sistema debern realizar para lograr el objetivo del CU. Representa el camino correcto. Caminos Alternativos: muestra los caminos no tan comunes que se necesitan. Incluyen situaciones en las que se requiere un procesamiento especial.
Anlisis y Diseo de Sistemas - Clase 6 40

Descripcin de CU Plantilla
Tambin puede incluir:
Puntos de Extensin: muestra el paso en que el CU puede extenderse, y el CU que lo realiza. Precondiciones y Poscondiciones. Reglas de negocio relacionadas:

Cmo estructurar la descripcin


Elegir un camino bsico completo desde el estado inicial hasta el estado final y describirlo. Describir el resto de los caminos como alternativas o desviaciones del camino bsico. Algunas veces las desviaciones son tan sencillas que se incluyen dentro del camino bsico (definir polticas).
Anlisis y Diseo de Sistemas - Clase 6 42

Autor: responsable de la especificacin. Fecha: de creacin/actualizacin.

Anlisis y Diseo de Sistemas - Clase 6

41

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniera de la Computacin Anlisis y Diseo de Sistemas 1er.Cuatrimestre de 2006.

Cmo estructurar la descripcin


Las alternativas surgen de:
El actor puede elegir distintos caminos Si hay ms de un actor involucrado en el CU, las acciones de uno influyen en el camino de acciones del otro. El sistema detecta entrada de datos (inputs) errneas del actor. Algn recurso del sistema puede estar funcionando mal.

Descripcin de CU
Segn la metodologa que sigue el Proceso Unificado de Desarrollo de Software, los casos de uso son documentos que participan en todo el proceso del software. El modelo de CU evoluciona junto con el proyecto. Los primeros diagramas de CU, maduran a lo largo del proyecto en la medida que se tiene ms conocimiento del problema. Lo mismo ocurre con la descripcin (niveles de abstraccin). Es importante definir convenciones.
Anlisis y Diseo de Sistemas - Clase 6 44

El camino bsico debera ser el camino normal.


Anlisis y Diseo de Sistemas - Clase 6 43

Nombre: Extraer dinero de un ATM. Resumen: Un cliente extrae dinero de un ATM. Curso Bsico de Eventos:

Ejemplo
CU Extraer dinero de ATM. Curso bsico de eventos:
El cliente ingresa su clave personal y el importe a extraer. El sistema valida los datos y le entrega el dinero, comprobante y tarjeta.

1. El cliente ingresa su clave personal. 2. El sistema valida la clave. 3. El cliente ingresa el importe a extraer. 4. El cliente confirma la operacin 5. El sistema valida la operacin. 6. El sistema entrega el dinero. 7. El sistema entrega el comprobante de la operacin. 8. El sistema entrega la tarjeta. 9. Finalizar.

Caminos alternativos:
2.1 La clave es incorrecta.
Si el cliente se equivoc menos de tres veces
Volver a 1

Caminos Alternativos:
La clave es incorrecta. El cajero no tiene dinero. El importe no es vlido.
Anlisis y Diseo de Sistemas - Clase 6 45

Sino
Quitar tarjeta. Contina en 9.

4.1 El cliente cancela la operacin.


Contina en 8.

5.1 La cuenta no tiene dinero suficiente.


Informar al cliente. Contina en 3.

E J E M P L O
46

5.2 El cajero no cuenta con dinero.


Informar al cliente. Contina en 8.
Anlisis y Diseo de Sistemas - Clase 6

Descripcin del CU Extraer dinero ATM

Casos de Uso
Los casos de uso sirven para:
Definir el alcance o contexto de problema, determinar el contexto y que parte queda fuera del sistema. Definir la vista de la arquitectura de un sistema, para planificar iteraciones y priorizar casos de uso. Como herramienta de comunicacin con los trabajadores del negocio.
Anlisis y Diseo de Sistemas - Clase 6 47

Temas de la clase de hoy


Vistas de un sistema. Casos de uso
Utilidad y componentes. UML y el Modelo de casos de uso. Diagrama de Casos de Uso y Descripcin de Casos de Uso.

Bibliografa
El Proceso Unificado de Desarrollo de Software.
Jacobson, Booch, Rumbaugh - Captulo 7.

El Lenguaje Unificado de Modelado. Booch,


Jacobson, Rumbaugh - Captulos 16 y 17.
Anlisis y Diseo de Sistemas - Clase 6 48

Estas transparencias proveen slo una referencia a los temas. Para su estudio remitirse a la bibliografa.

S-ar putea să vă placă și