Sie sind auf Seite 1von 19

Ingeniera del Software I (4 I.I.

Curso 07/08

MODULO 2: Anlisis y Diseo OO con UML


Tema 7: Anlisis Orientado a Objetos con UML. Diagramas de Casos de Uso

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Modelos Dominio del Problema.


Qu es el Dominio del Problema? Es una parcela del mundo real que deseamos modelar. Caractersticas de los modelos asociados al Dominio del Problema:
Deben permitir describir los requisitos del sistema a modelar. Deben tener un alto nivel de abstraccin, deben contestar al QU. No deben responder a preguntas de implementacin.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Ingeniera del Software I (4 I.I.)

Curso 07/08

Modelos Dominio del Problema


Dentro de UML tenemos modelos que pueden ser utilizados en diferentes instantes del desarrollo para descubrir nueva informacin sobre el sistema Diagramas que podemos utilizar para estudiar el Dominio del Problema. Diagrama de casos de uso. Diagrama de clases. Diagrama de actividades Diagrama de secuencia bsico.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Diagramas de Casos de Uso

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Ingeniera del Software I (4 I.I.)

Curso 07/08

Captura de requisitos
Requisitos
Se recomienda utilizar los siguientes artefactos: Descripcin bsica de los objetivos y metas del sistema. Descripcin de los clientes para los que se desarrolla el producto. Funciones bsicas, es decir, lo que el sistema deber hacer. Caractersticas no funcionales que debe tener el producto final.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Captura de requisitos
Caractersticas no funcionales Dentro de las caractersticas no funcionales podemos encontrar: Facilidad de uso. Tiempo de respuesta. Plataforma de desarrollo e implementacin. Tolerancia a fallos. Fiabilidad y precisin. Mantenibilidad. Prioridades de implementacin. ...
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 6

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso
Actor

Caso de Uso
Realizar
Pedido

Son entidades externas (personas o sistemas externos) que interaccionan con el sistema para conseguir una meta. Representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con stos. Pueden definirse categoras de actores
Cliente comercial Cliente

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Casos de Uso
Actor

Caso de Uso
Realizar
Pedido

Es frecuente que los actores coincidan con reas de la empresa (vendedor, gestor de almacn, etc.) o distinto nivel en la jerarqua (empleado, supervisor, etc.) Se conectan a los casos de uso a travs de asociaciones.
Una asociacin indica que el actor y el caso de uso se comunican entre s y cada uno puede enviar o recibir mensajes

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso
Qu es un caso de uso?

Caso de Uso
Realizar
Pedido

Es una descripcin de un conjunto de acciones que ejecuta un sistema para producir un resultado observable de valor para un actor. Captura y especifica el comportamiento de un sistema o de parte del mismo, sin tener que especificar cmo se implementa. Representa la interaccin de los elementos externos al sistema.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 9

Casos de Uso

Caso de Uso
Realizar
Pedido

Puede tener variantes


Se puede factorizar el comportamiento comn y reutilizable de un conjunto de casos de uso segn las relaciones siguientes: son versiones especializadas de otros ms genricos estn incluidos como parte de otros extienden el comportamiento de otros ms bsicos

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

10

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso

Caso de Uso
Realizar
Pedido

Se utilizan durante muchas fases del desarrollo del software. Captura y anlisis de requisitos del sistema. Actan como base del proceso de diseo y permiten validarlo. Se utilizan para probar el software y en el proceso de asegurar la calidad (Quality Assurance) del mismo.
Las pruebas se realizan para validar la implementacin correcta y completa de los casos de uso.

Potencialmente puede ser el punto inicial para las ayudas en lnea y el manual de usuario.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 11

Casos de Uso
Flujo de eventos

Caso de Uso
Realizar
Pedido

El comportamiento de un caso de uso puede especificarse describiendo un flujo de eventos mediante texto. La especificacin de un flujo de eventos debe incluir: Cmo y cundo empieza y acaba. Cundo interacta con los actores. Qu objetos se intercambian. El flujo bsico y los flujos alternativos.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

12

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso
Escenarios

Caso de Uso
Realizar
Pedido

Representa una instancia de un caso de uso y, por tanto, es una secuencia especfica de acciones que ilustra un posible comportamiento dentro de un caso de uso. Escenario Bsico.- se corresponde con la funcionalidad bsica Escenarios Secundarios.- se corresponden con funcionalidades alternativas y tratamiento de casos de error. No tienen sentido fuera del contexto del caso de uso donde ocurren. Para su descripcin se pueden utilizar texto, pseudocdigo o incluso diagramas de interaccin.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 13

Casos de Uso
Ejemplo:

Caso de Uso
Realizar
Pedido

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

14

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso
Ejemplo: Caso de uso: Hacer pedido

Caso de Uso
Realizar
Pedido

Flujo de eventos principal: include(Validar cliente) El sistema muestra una lista con los datos de una serie de productos seleccionables. El cliente selecciona los items que desea comprar y sus respectivas cantidades. El cliente valida la seleccin. El sistema recoge la lista de items seleccionados por el cliente. (Establecer prioridad) El sistema enva los datos del pedido para su proceso. Fin del caso de uso.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

15

Casos de Uso

Caso de Uso
Realizar
Pedido

Flujo de eventos excepcional: El cliente valida un pedido en que no ha seleccionado ningn producto. El sistema vuelve a mostrar la lista de productos seleccionables. Flujo de eventos excepcional: El cliente valida un pedido en que la cantidad seleccionada para un producto excede de la disponible. El sistema lo notifica al cliente y muestra la lista de productos seleccionados dando opcin a cambiar la cantidad del producto.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

16

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Relaciones entre casos de uso

Caso de Uso
Realizar
Pedido

Podemos encontrar diferentes relaciones entre casos de uso: Inclusin o Uso.- Se utiliza para evitar describir el mismo flujo de eventos, poniendo el comportamiento comn a varios casos en uno dado. Extensin.- Se utiliza cuando existe una secuencia opcional de eventos que se desea incluir en el caso de uso. Generalizacin.- Permite heredar el comportamiento y la semntica desde el caso de uso ms general.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

17

Casos de Uso.
Relaciones entre casos de uso
Inclusin o Uso.Extensin.Obtenga primero el caso de uso normal. Pregntate: qu puede fallar?cmo podra funcionar esto de modo diferente? Dibuje las variaciones que encuentre como extensiones.
Hacer pedido <<include>>

Caso de Uso
Realizar
Pedido

Hacer pedido

Validar Usuario

<<extend>> Hacer pedido urgente

Generalizacin

Comprobar clave Generalizacin Comprobar retina Validar Usuario

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

18

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Descripcin de un caso de uso

Caso de Uso
Realizar
Pedido

Nombre: El nombre del caso de uso (verbo o frase verbal corta y significativa) . Meta: Resultado de valor que se pretende conseguir con su ejecucin. Actores: actores que participan. Disparador: Evento o eventos externos que activan su comienzo. Precondicin: cualquier condicin previa necesaria antes de que comience el caso de uso. Condicin de xito: qu se considera un final con xito (poscondicin). Condicin de fallo: qu se considera un final con fracaso (poscondicin). Escenarios.- Descripcin del escenario bsico y de los escenarios secundarios relevantes. Notas: Otra informacin relevante: rendimiento, frecuencia de uso...
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 19

Casos de Uso.
Tipos de casos de uso

Caso de Uso
Realizar
Pedido

En funcin del nivel de detalle de la descripcin: Alto nivel.- Descripcin muy breve que permita comprender la complejidad y la funcionalidad bsica Expandido.- Describe el proceso ms a fondo incluyendo la descripcin del flujo de eventos y escenarios.
Alto nivel (poco detalle) Expandido (mayor detalle)

En funcin del nivel de abstraccin: Esencial.- Permiten captar la esencia del proceso y sus procesos fundamentales sin incluir detalles de diseo. Real.- Describe concretamente el proceso a partir de su diseo concreto actual, sujeto a las tecnologas actuales.
Esencial (muy abstracto)
Ingeniera del Software I (4 I.I.)

Real (muy concreto)


20

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Tipos de casos de uso
Alto nivel - Esencial.Nombre: Comprar productos.

Caso de Uso
Realizar
Pedido

Meta: Refleja el proceso de adquisicin de productos por parte de los clientes en un supermercado. Actores: Cajero, cliente. Disparador: El cliente presenta un conjunto de productos al cajero.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

21

Casos de Uso.
Tipos de casos de uso
Expandido- Real.Nombre: Comprar productos.

Caso de Uso
Realizar
Pedido

Meta: Refleja el proceso de adquisicin de productos por parte de los clientes en un supermercado. Actores: Cajero, cliente. Disparador: El cliente presenta en la caja con un conjunto de productos. Precondicin: La caja est abierta Condicin de xito: El cliente se lleva los productos adquiridos. Condicin de fallo: El cliente no tiene dinero para pagar los productos.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 22

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Tipos de casos de uso (Expandido...)
Escenario bsico: (Pago en efectivo)
Normal 1.- El cliente llega a la caja con los productos que desea adquirir. 2.- El cajero registra el identificador de cada producto. Si hay varios productos de un mismo tipo el cajero tambin puede introducir la cantidad. 3.-Al terminar de introducir los producto el cajero indica su finalizacin al terminal de venta. 4.- El cajero indica al cliente la cantidad a pagar. 5.- El cliente paga los productos. 6.- El cajero le devuelve el cambio.
Ingeniera del Software I (4 I.I.)

Caso de Uso
Realizar
Pedido

Alternativo

5.1.- el cliente no tiene dinero y no se lleva los productos


23

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

Casos de Uso.
Tipos de casos de uso (Expandido...)
Escenario secundario: (Pago con tarjeta)
Normal 1.- El cliente llega a la caja con los productos que desea adquirir. 2.- ... 3.- ... 4.- El cajero indica al cliente la cantidad a pagar. 5.- El cliente entrega la tarjeta. Alternativo

Caso de Uso
Realizar
Pedido

5.1.- La tarjeta no es vlida en ese establecimiento 6.- El cajero introduce la tarjeta para 6.1.-No existe comunicacin con la central de tarjetas. realizar el cobro 7.- El cliente firma el pago

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

24

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Tipos de casos de uso (Expandido...)
Notas:

Caso de Uso
Realizar
Pedido

El tiempo de respuesta es bsico, ya que es habitual que haya varios clientes esperando. Los productos deben ser fcilmente identificables por el sistema. Se debe ayudar al cajero en la devolucin del cambio.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

25

Casos de Uso.
Casos de uso y proceso incremental

Caso de Uso
Realizar
Pedido

Identificar todos los casos de uso solo a nivel de nombre. Expresarlos a alto nivel y de manera esencial
Ignorar detalles sobre la forma de la interaccin entre el actor y el sistema Incluir en la descripcin slo las alternativas relevantes, ignorando tratamientos de error y excepcin. No entrar en los detalles sobre las acciones que realiza el usuario cuando interacta con el sistema

Establecer la planificacin de la implementacin de los diferentes casos de uso Expresar los casos de uso a nivel expandido
Incluir una descripcin del interfaz con el usuario. Incluir otras alternativas (errores y excepciones). Especificar con ms detalle el comportamiento interno del sistema.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 29

Ingeniera del Software I (4 I.I.)

Curso 07/08

Caso de Uso

Casos de Uso.
Casos de Uso & Procesos del Negocio

Realizar
Pedido

Un proceso de negocio describe una actividad bsica del negocio incluyendo actividades que no son soportadas por el software. Un caso de uso generalmente se asocia a aquellas actividades de un proceso del negocio que van a ser soportadas con un desarrollo software.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

30

Caso de Uso

Casos de Uso.
Identificacin de casos de uso
Basados en la identificacin de los actores: Identificar actores participantes en el sistema.

Realizar
Pedido

Identificar para cada actor los procesos que inicia o en los que participa. Basados en la identificacin de los eventos: Identificar los eventos externos a los que el sistema debe responder. Relacionar eventos con actores y casos de uso.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 31

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Identificacin de casos de uso
Cuestiones tiles para encontrar casos de uso.

Caso de Uso
Realizar
Pedido

Qu tareas o funciones principales realiza cada actor? Qu informacin del sistema debe adquirir, producir o cambiar el actor? Tendr que informar el actor al sistema sobre cambios en el entorno externo? Qu informacin desea obtener el actor del sistema? Desea el actor ser informado acerca de cambios inesperados en el sistema?
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 32

Casos de Uso.
Para ello se pueden realizar las siguientes preguntas:

Caso de Uso
Realizar
Pedido

Es muy importante que los casos de uso sean validados.


Es completo el caso de uso? Han sido recogidos los detalles necesarios? Estas seguro que el resultado de valor (meta) para el actor se puede conseguir de manera correcta? Hay nuevas metas de actores que deben tenerse en cuenta? Hay nuevos actores que no se han representado (directa o indirectamente)? Hay cambios en los procesos o requisitos que puedan simplificar el caso de uso? ...
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 33

Ingeniera del Software I (4 I.I.)

Curso 07/08

Casos de Uso.
Caso de uso bien estructurado
Nombra un comportamiento simple, identificable y razonablemente atmico.

Caso de Uso
Realizar
Pedido

Factoriza el comportamiento comn, incorporando ese comportamiento desde otros casos de uso que incluye Factoriza variantes, colocando ese comportamiento en otros casos de uso que lo extienden Describe el flujo de eventos de forma clara para que alguien externo al sistema lo entienda. Se describe por un conjunto mnimo de escenarios que especifican la semntica normal y de las variantes.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 34

Diagramas de Casos de Uso.

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

Se utiliza para modelar la vista esttica de los casos de uso. Puede utilizarse para: Describir el contexto de un sistema.
Implica dibujar una lnea alrededor de todo el sistema y asegurar qu actores quedan fuera de los lmites del sistema.

Describir sus requisitos funcionales.


Implica especificar qu debera hacer el sistema.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

35

Ingeniera del Software I (4 I.I.)

Curso 07/08

Diagramas de Casos de Uso.


Describir el contexto de un sistema (actores)
Identificar actores en torno al sistema, considerando grupos que:

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

Requieren ayuda del sistema para llevar a cabo sus tareas. Son necesarios para ejecutar las funciones del sistema. Interactan con el hardware externo o con otros sistemas.

Organizar actores similares en jerarquas. Introducir los actores en el diagrama y especificar las vas de comunicacin de cada actor con los casos de uso.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

36

Diagramas de Casos de Uso.

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

Describir los requisitos de un sistema Establecer el contexto del sistema, identificando los actores a su alrededor.
Considerar el comportamiento que cada actor espera o requiere que el sistema proporcione. Nombrar esos comportamientos como casos de uso. Factorizar el comportamiento comn (include) y las variantes (extend). Modelar los casos de uso, actores y relaciones en diagramas de casos de uso. Adornar los casos de uso con notas que enuncien los requisitos no funcionales.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 37

Ingeniera del Software I (4 I.I.)

Curso 07/08

Diagramas de Casos de Uso.


Ejemplo

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

Comprar productos efectivo Cajero << extiende>> Comprar tarjeta Cliente

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

38

Diagramas de Casos de Uso.


Ejemplo

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

<<include>>

Ide n f i caci ti n

Cliente

Transferencia

<< e xten d >>

Transferencia en Internet

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML

39

Ingeniera del Software I (4 I.I.)

Curso 07/08

Diagramas de Casos de Uso.


Ejemplo

Diagrama de Casos de Uso Venta Normal

Cliente

Venta en Rebajas

Vendedor

Venta en Oferta

Se desea desarrollar un sistema para una empresa dedicada al transporte de pasajeros por avin. El sistema debe planificar los vuelos para el transporte de pasajeros. El sistema se encarga de transportar tanto pasajeros (nombre, origen, destino, tipo de asiento, etc), como carga (peso, tamao, origen, destino, etc.), considerando a cada uno como elemento de embarque. Los clientes (tanto empresas como particulares) realizan sus reservas de embarque para el vuelo que desean al sistema, el cual debe responder con la confirmacin de las mismas. Cada vuelo completo (misin) consta de un conjunto de saltos (segmentos de vuelo) que relacionan un aeropuerto de origen y otro de destino. El personal de control de trfico debe realizar la asignacin de un avin (nmero, estado, modelo, capacidad, situacin, etc) a cada salto. Junto a ello se encargan de controlar y resolver las incidencias o fallos producidos en el transporte (fecha incidente, descripcin, accin correctora, etc.) Para realizar la asignacin de un avin el personal de control de trfico necesita localizar al avin. Para ello necesita obtener informacin de un radar que enva posiciones en el espacio areo de un avin. Con dichas posiciones se genera una trayectoria que permite predecir la nueva posicin del avin en un instante posterior.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 7: Anlisis Orientado a Objetos con UML 40

Das könnte Ihnen auch gefallen