Vous êtes sur la page 1sur 20

Proceso Unificado

Captura de Requisitos
Ejemplo: Videoclub Automtico El sistema a desarrollar es un sistema software que hay que incorporar dentro de un dispensador automtico de pelculas, un videoclub automtico, como los que hay en gasolineras y tiendas abiertas 24h. Este videoclub tiene las facilidades usuales, como sacar pelculas, devolverlas, etc., y tambin otras como que se puede reservar una pelcula notificando al usuario que ya esta disponible mediante un mensaje SMS o enviar recordatorios a los clientes que no han devuelto pelculas va SMS. El pago ha de hacerse con tarjeta de crdito. El videoclub reporta a la central de la empresa va Internet.

1. Captura de requisitos

Actividades
1 Encontrar Actores y casos de uso 1.1 Identificar actores 1.2 Identificar casos de uso 1.3 Describir modelo de casos de uso 2 Detallar los casos de uso 2.1 Disear diagramas de estados 2.2 Descripcin textual casos de uso 3 Definir prototipo de interfaz

Captura de Requisitos:
1.1) Identificar Actores
Ejemplo: Actores del Sistema de Videoclub Usuario Un Usuario es la persona que utilizar el sistema para buscar pelculas, solicitarlas, pagarlas y obtenerlas del dispensador. Operario Un Operario es la persona que realizar las tareas de mantenimiento del dispensador de pelculas, es decir, sustituir viejas pelculas por nuevas. Para ello utilizar el sistema para dar de alta y baja las pelculas. Banco El Banco representa a la entidad externa con la que el sistema debe contactar para admitir y realizar los pagos con tarjeta de los clientes. Dispensador El Dispensador representa al dispositivo mecnico donde estn almacenadas las pelculas que el sistema debe controlar para dar la pelcula alquilada al cliente o que ste la pueda devolver. Operador Telefnico El Operador Telefnico representa la entidad externa con la que el sistema debe contactar para enviar mensajes SMS a los clientes. Sistema Contable El Sistema Contable representa el sistema informtico externo de la empresa con el que el sistema videoclub debe contactar para notificar los pagos realizados en cada momento.

1.2) Identificar Casos de Uso Algunos Casos de Uso identificados: Alquilar Pelcula El Usuario utiliza este caso de uso para mirar qu pelculas hay, seleccionar una, pagarla y retirarla del dispensador. Debe obtener un recibo. Devolver Pelcula El Usuario inicia este caso cuando devuelve la pelcula. Recibe una notificacin confirmndole la devolucin. Si ha tenido retraso deber abonar una penalizacin. Dar de Alta El Operario inicia este caso cuando introduce una nueva pelcula en el dispensador. Dar de baja El Operario inicia este caso cuando retira una pelcula del dispensador. Mandar Recordatorio El Operario inicia este caso cuando fija en el sistema el tiempo mximo permitido por el alquiler de cada pelcula. ....................

Captura de Requisitos:

1.3) Describir Modelo de Casos de Uso

Captura de Requisitos:

Alquilar Pelcula

Dispensador

Iniciador Iniciador
Devolver Pelcula
Banco

Usuario

Iniciador

Alta Pelcula

Sistema Contable

Iniciador
Operario

Iniciador

Baja Pelcula

Operador Telefnico

Mandar Recordatorio

Captura de Requisitos:
2) Detallar Casos de Uso 2.1) Disear Diagrama de Estados por caso de uso Camino Bsico y Caminos Alternativos

1 Buscar Pelcula

Seleccionar Pelcula Cancelar Operacin

2 Gestionar Pago
Rechazar Pago Reservar Pelcula

4 Pago Rechazado

Aceptar Pago

5 Reservar 3 Despachar Pelcula

CU: Alquilar pelcula

Captura de Requisitos:
2) Detallar Casos de Uso
2.2) Descripcin del Caso de Uso "Alquilar Pelcula" del Videoclub Precondicin El usuario ha pulsado en el videoclub Alquilar Pelcula Flujo de Eventos Camino Bsico 1. El Usuario inicia el caso de uso buscando en la pantalla la pelcula que ms le gusta. El sistema le muestra la informacin de cada pelcula, por orden alfabtico, as como si est prestada, reservada o disponible. 2. El usuario selecciona una pelcula en la pantalla. El sistema le pide los datos de su tarjeta de crdito y gestiona el pago con la entidad bancaria adecuada. 3. El banco emite una verificacin y el pago es aceptado. El sistema ordena al dispensador que proporcione la pelcula elegida y que le genere un recibo. Asimismo notifica al sistema contable la transaccin bancaria realizada. Finalmente actualiza los datos histricos del usuario y marca la pelcula como alquilada y no disponible si no hay ms copias. Caminos Alternativos 1. En 2 puede que el pago no sea aceptado por el banco o que el usuario haya alcanzado el tope de sus alquileres por da. Hay que notificrselo al usuario y terminar. 2. En 1 puede que la pelcula est alquilada y el usuario quiera reservarla. En este caso hay que emitir una notificacin de reserva. Poscondicin El caso acaba cuando el usuario tiene la pelcula y un recib, o sin pelcula y una notificacin de pago rechazado, o sin pelcula pero con la reserva hecha, o sin pelcula por que no le gustara ninguna. Atributos del Caso de Uso Pelcula: prestada, reservada o disponible Cliente (Usuario): datos tarjeta de crdito, nmero de pelculas alquiladas Informacin a mostrar: Sobre pelculas, sobre peticin de datos, sobre resultado del alquiler realizado.

Captura de Requisitos:
3) Definir prototipo IU

S a lir P a n ta lla E n tr a d a p a s s w o rd . C o n tin u a r C o n tin u a r S a lir

P a n ta lla P r in c ip a l .A lq u ila r P e lc u la .D e v o lv e r P e lc u la .A lta P e lc u la .... .S a lir A lq u ila r P e lc u la V o lv e r

A lq u ila r P e lc u la T tu lo . B u scar . V o lv e r . S a lir

O tra P e lc u la

B uscar

S a lir

S a lir M e n s a je In fo rm a c i n s o b re re c o g e r p e lc u la y re c ib o A lq u ila r In tro d u c ir T .C . C o n tin u a r. . V o lv e r . S a lir

V o lv e r D a to s P e lc u la

C o n tin u a r [c o rre c to ]

A lq u ila r

In fo rm a c i n p e lc u la . . . . A lq u ila r R e s e rv a r O tra P e lc u la S a lir

C o n tin u a r [e rro r] M e n s a je In fo rm a c i n E rro r e n T C . C o n tin u a r . S a lir S a lir C o n tin u a r

R e s e rv a r R eservar In fo rm a c i n s o b re L a re s e rv a . C o n tin u a r . S a lir C o n tin u a r

CU: Alquilar pelcula

2.1 Anlisis
El objetivo final del anlisis es analizar los requisitos utilizando el lenguaje de los desarrolladores y producir una vista interna del sistema
Modelo de Casos de Uso Se describe con el lenguaje del cliente. Presenta una vista externa del sistema. Est estructurado por los casos Est de uso. Se utiliza como contrato entre el cliente y los desarrolladores sobre lo que debera o no deber hacer el sistema. Captura la funcionalidad del sistema. Define casos de uso. Modelo de Anlisis An Se describe con el lenguaje del desarrollador. Presenta una vista interna del sistema. Est estructurado por las clases Est de anlisis. an Seala cmo incorporar esa Se c funcionalidad en el sistema Define realizaciones de casos de uso, y cada una de ellas representa el anlisis de un caso an de uso.

2.1 Anlisis Modelo de Anlisis: Modelo conceptual,


refina y estructura los requisitos

Actividades:
1. Analizar los Casos de Uso (identificar clases y describir interacciones) 2. Analizar cada Clase de Anlisis (identificar responsabilidades, atributos y relaciones)

Anlisis: 1) Analizar los Casos de Uso (identificar clases y (identificar


describir interacciones)

a) Clases Entidad: Informacin que se manipula en la realizacin del casos de Entidad uso. Ejemplo: Clases Entidad del Caso de Uso Alquilar Pelcula: Ficha Pelcula y Ficha Cliente. b) Clases Interfaz: Identificar una clase interfaz por cada: 1) Actor humano. Si dicho actor tiene ya una clase interfaz habra que estudiar la posibilidad de reutilizarla para minimizar el nmero de ventanas con las que interacta el actor. 2) Clase entidad encontrada que represente informacin con la que el usuario humano va a interactuar. 3) Sistema externo, y hacer que esa clase interfaz sea el canal de comunicacin con l. (Ej. I.Usuario; I. Banco; I. Pelculas; I. Sistema. Contable; I.Dispensador). c) Clases Control: Identificar una clase de control responsable de la coordinacin del caso de uso. Una clase de control puede actuar para varios casos de uso y se puede encapsular en una clase interfaz, especialmente si el actor maneja gran parte del control

Anlisis: 1)

Analizar los Casos de Uso (identificar clases y describir interacciones) interacciones)

Diagrama de Colaboraciones:
1: Buscar Pelculas 2 :Mostrar Pelcula 3: Coger Informacin 4: Seleccionar 5: Pelcula Seleccionada 6: Confirma 7: Ordenar Pelcula 8: Solicitar Datos de Pago 9: Enviar Datos de Pago 10: Ordenar Pago y Verificar 11: Proporcionar Pelcula 12: Proporcionar Recibo 13: Actualizar F. Clientes 14: Actualizar F. Pelculas 15: Actualizar S. Contable

:I. Banco

Banco

10

1, 6, 9

:Usuario

:I. Usuario 2 5

:Gestor 13

15

:I. Sistema Contable

Sistema Contable

14 11, 12 :I. Pelculas 3 :Ficha Cliente :I. Dispensador


Dispensador

CU: Alquilar pelcula (camino bsico)


:Ficha Pelcula

Anlisis: 2) Analizar cada Clase de Anlisis (identificar responsab., atributos y relaciones) responsab.
Responsabilidades de la clase Gestor
La responsabilidad de esta clase en el Caso de Uso "Alquilar Pelcula" es Ordenar Pelcula, que implica: Solicitar Datos de Pago mediante la tarjeta de crdito. Ordenar al banco el pago y su verificacin. Ordenar al recibo. Actualizar Actualizar Actualizar dispensador la entrega al usuario de la pelcula y del la informacin sobre el cliente la informacin sobre las pelculas el balance de la empresa

Otras responsabilidades provenientes de otros casos de uso: Gestionar el envo de recordatorios Gestionar la devolucin de la Pelcula Gestionar la carga y descarga de pelculas ...
CU: Alquilar pelcula

Anlisis: 2) Analizar cada Clase de Anlisis (identificar responsab., atributos y relaciones) responsab.,
- El nombre de un atributo debera ser un sustantivo - Los tipos de los atributos deben ser conceptuales y, a ser posible, no restringidos por el entorno de programacin. - Hay que reutilizar los tipos ya existentes. - Una instancia de un atributo no puede ser compartida por varios objetos de anlisis.

- Si el nmero de atributos hace que una clase sea difcil de entender, ser mejor crear clases que los separen. - Los atributos de las clases entidad deben ser obvios. - Los atributos de clases interfaz que interactan con actores humanos a menudo son componentes grficos que el actor debe manipular. - Los atributos de clases interfaz que interactan con actores que son sistemas externos, a menudo representan propiedades del protocolo o interfaz de comunicacin. - Las clases de control no suelen tener atributos, salvo para representar valores que deben mantenerse durante la ejecucin de un caso de uso.

Ejemplo: Atributos de la clase Ficha Cliente NmeroPelculasAlquiladas NombreApellidosCliente DatosTarjetaCrdito

CU: Alquilar pelcula

Anlisis: 2) Analizar cada Clase de Anlisis (identificar responsab., atributos y relaciones) responsab., relaciones)

1. Asociaciones 2. Agregaciones 3. Generalizaciones

Ficha

I. Pelculas 1

CU: Alquilar pelcula

Ficha Pelcula

Ficha Cliente F. Pelculas

Generalizacin

Agregacin

2.2 Diseo
El objetivo final es producir un Modelo Lgico del sistema a implementar Modelo de Anlisis An Modelo de Diseo Dise

Es un modelo conceptual y genrico, es una abstraccin gen abstracci del sistema. Es menos formal. Es un bosquejo del diseo dise del sistema. Puede no mantenerse durante todo el ciclo de vida del software. Define una estructura para modelar el sistema.

Es un modelo fsico y f concreto, es un plano de la implementacin. implementaci Es ms formal. m Es una realizacin del diseo realizaci dise del sistema. Debe ser mantenido durante todo el ciclo de vida del software. Da forma al sistema.

2.2 Diseo

Actividades
1. Disear la Arquitectura (identificar nodos y configuraciones, clases relevantes) 2. Disear Casos de Uso (identificar clases de diseo, interacciones entre objetos) 3. Disear Clases de Diseo (identificar operaciones, atributos, relaciones)

Diseo: 1)

Disear la Arquitectura (identificar nodos y configuraciones, (identificar configuraciones, clases relevantes)

Modelo de Despliegue. Todos los actores del caso de uso interactuarn con el sistema en el mismo sitio fsico? Qu requerimientos de computacin necesito en cada nodo? Qu tipo de conexiones o red existe entre los nodos? Qu protocolos manejan? Cules son sus caractersticas? Tengo requisitos del tipo Copias Redundantes para caso de fallos? Copia de seguridad de BBDD?

Banco

* Internet *
Sistema Local

1
Sistema Central
Sistema Contable

Usuario

Internet

Dispensador

Modelo Despliegue Videoclub

Diseo: 1)

Disear la Arquitectura (identificar nodos y configuraciones, clases relevantes) relevantes)

Clases Activas, que necesiten estar ejecutndose concurrentemente. Se suelen identificar observando la distribucin del sistema en nodos. Debe existir al menos un objeto activo por cada nodo. Clases relacionadas con las comunicaciones entre nodos

Clases de Anlisis

Clases Activas de Diseo

Sistema Local I. Sistema Contable I. SC. Local

Sistema Central I. SC. Central

Internet

Clases Relevantes Videoclub

10

Diseo: 2)

Disear Casos de Uso (identificar clases de diseo, (identificar diseo, interacciones entre objetos)

Identificar Clases de Diseo: Diseo Identificar clases de diseo que permitan implementar las clases de anlisis (tener en cuenta el modelo de despliegue). Estudiar los requisitos especiales (de rendimiento, de memoria, de diseo) de las clases de anlisis, e identificar clases de diseo necesarias.

Crear Tabla de Correspondencias Crear el Diagrama de Clases de Diseo

Diseo: 2) Diseo:

Disear Casos de Uso (identificar clases de diseo, (identificar diseo, interacciones entre objetos)

Requisito especial sobre las Clases de Anlisis Ficha de Pelcula y Ficha de Cliente del caso de uso Alquilar Pelcula. Ficha de pelcula y Ficha de Cliente que se generalizaron en el Anlisis a la clase Ficha deben poder manejarse de una manera organizada y eficiente, por lo que es necesario crear Clases de Diseos que manejen Listas de cada tipo de Ficha. Requisito especial sobre la Clase de Anlisis I. Usuario I. Usuario debe ser una clase activa ya que debe estar lista para responder a cualquier peticin del usuario en cualquier momento (como cancelar un alquilar mientras se procesa o salir del sistema mientras ste busca la informacin de una pelcula). Unificacin de las Clases de Anlisis I. Usuario e I. Pelculas I. Pelculas se absorbe en la clase de diseo I. Usuario con objeto de reunir en una sola clase todas las interfaces grficas.

11

Diseo: 2)

Disear Casos de Uso (identificar clases de diseo, (identificar diseo, interacciones entre objetos)

Clase de Anlisis An I. Usuario Gestor I. Pelculas Pel

Clase de Diseo Dise I. Usuario Gestor

Requisito de Diseo Dise Activa

Absorbida en I. Usuario Lista Fichas Clientes Lista Fichas Pelculas Pel Incluida para manejar Clientes Incluida para manejar Pelculas Pel

Ficha Pelcula Pel Ficha Cliente I. Dispensador I. Sistema Contable (1) I. Sistema Contable (2) I. Banco

Ficha Pelcula Pel Ficha Cliente I. Dispensador I. SC. Local I. SC. Central I. Banco Del Modelo de Despliegue Del Modelo de Despliegue. Activa

Diseo: 2)

Disear Casos de Uso (identificar clases de diseo, (identificar diseo, interacciones entre objetos)

Diagrama de Clases de Diseo


I. Banco
Banco

* 1
I. Usuario
Usuario

Gestor

I. SC. Local

I. SC. Central
Sistema Contable

Lista Fichas Pelicul

Lista de Fichas Client

1 *
Ficha pelculas

1
I. Dispensador

*
Ficha Cliente
Dispensador

12

Diseo: 2)

Disear Casos de Uso (identificar clases de diseo, interacciones entre objetos) objetos)

Diagramas de Secuencia: Incorpora instancias de los actores participantes, objetos de diseo y la transmisin de mensajes entre ellos. Ejemplo de Diagrama de Secuencia para la primera parte de la realizacin del Caso de Uso Alquilar Pelcula

:U s u a r io B uscar

: I. U s u a r io

:L is ta d e F ic h a s

:F ic h a P e lc u la

:G e s to r

: I. B a n c o

:B a n c o

B u sc a r() O b te n e r In f o () S e le c c io n a r

O r d e n a r P e li( )

O rd e na r P a g o () O rd e n a rP a g o ()

Diseo: 3)

Disear Clases de Diseo (identificar operaciones, atributos, (identificar operaciones, relaciones)

Identificar las Operaciones Identificando los mensajes a los que debe responder en el Diagrama de Secuencia. Analizando las responsabilidades de la clase de anlisis de la que deriva. A menudo implican una o varias operaciones. Contemplando los requisitos especiales de la clase de anlisis de la que deriva, por ejemplo el acceso a un gestor de BBDD. Aadir la visibilidad de cada operacin. Usar la sintaxis del lenguaje de implementacin a utilizar. Las operaciones de la clase de diseo necesitan soportar todos los roles que la clase desempea en las diferentes realizaciones de casos de uso .

G e sto r

I. B a nco

+s olic itarD atosP ag o(): D atos TC + ord en arP eli(): R etorn oO p er aci n + entreg arP elculaR ecib o() + ac tualizarB alanc e() + ac tualizarC liente() + ac tualizarP elc ulas () +rec ord atorios () +d evolv er P elcula(): R etorn oO p er ac ion +c arg arP elc ula() +d esc arg arP elcula

+ ord en ar P ag o(): R etorn oP ag o

13

Diseo: 3)

Disear Clases de Diseo (identificar operaciones, atributos, atributos, relaciones)

Identificar Atributo Los atributos deben ser los requeridos para realizar sus operaciones. Hay que tener en cuenta los atributos obtenidos en la fase de Anlisis. Los tipos de atributos se restringen a los tipos disponibles en el lenguaje de programacin a usar. Hay que reutilizar tipos de atributos. Si una clase de diseo resulta compleja por culpa de sus atributos, se pueden agrupa atributos en clases independientes .

FichaCliente
-DatosTarjetaCredito: TarjetaCredito -NombreApellidos: String -NumeroAlquiladas: int

TarjetaCredito
-NombreApellidos: String -NumeroTarjeta: int[10] -FechaCaducidad: Date

Diseo: 3)

Disear Clases de Diseo (identificar operaciones, atributos, relaciones) relaciones)

Identificar Asociaciones, Agregaciones y Generalizaciones. Estudiar el diagrama de secuencias y ver qu asociaciones o agregaciones son necesarias. Agrupar objetos en agregaciones para mandarles mensajes a todos ellos. Estudiar asociaciones creadas en la fase de anlisis. Si el lenguaje de programacin no soporta el mecanismo de generalizacin o herencia se deben emplear los mecanismos de asociacin y agregacin.

Gestor Ficha Pelculas


0 .. M 0 .. N

+solicitarDatosPago(): DatosTC +ordenarPeli(): RetornoOperacin +entregarPelculaRecibo() +actualizarBalance() +actualizarCliente() +actualizarPelculas() +recordatorios() +devolverPelcula(): RetornoOperacion +cargarPelcula() +descargarPelcula

Lista Ficha Peliculas


1

* *

Lista Ficha Clientes

Ficha Clientes

En la operacin devolverPelicula() se ha estimado que es mejor que exista esta agregacin entre las clases Ficha Pelcula y Ficha Cliente, para evitar el tener que recorrer las dos listas buscando primero la pelcula y despus al cliente.

14

Diseo: 3)

Disear Clases de Diseo (identificar operaciones, atributos, relaciones) relaciones)

Describir Estados de Objetos: Diagrama de Estados de la clase FichaCliente


Ficha Cliente
-DatosTarjetaCredito: TarjetaCredito -NombreApellidos: String -NumeroAlquiladas: Int -MaximoAlquiler: Int

Sin Pelcula
+Devuelve() [nmero =1] +Alquila() +Devuelve() [nmero>1]

+Devuelve(codigoPelicula) +Alquila(codigoPelicula) -Bool MaximoAlcanzado();

Con Pelcula
+Alquila() [nmero < n] +Devuelve() +Alquila() [nmero = n]

Describir los Mtodos

Mximo Alcanzado

Descripcin del Mtodo ActualizarPelcula de la clase Gestor /* En el diagrama de colaboraciones del caso de uso AlquilarPelcula, se observa que la operacin Actualizar F. Pelculas se realiza despus de Acualizar F. Cliente, por lo que se puede pasar al mtodo el cliente que la ha alquilado */ void ActualizarPelicula(Cliente, codigoPeli){ Pelcula = BuscaPelicula en listaFichaPelculas (codigoPeli); Pelcula <- es alquilada por Cliente; Pelcula <- es alquilada en esta fecha y Hora }

3. Implementacin

Codificar los resultados del Diseo en trminos de componentes tales como ficheros fuente, ejecutables, scripts, etc. Los objetivos de la implementacin son: Implementar las clases encontradas durante el diseo. En concreto, se implementan dentro de componentes (ficheros) que contienen cdigo fuente. Asignar los componentes ejecutables a los nodos del diagrama de despliegue. Probar los componentes individualmente e integrarlos en uno o ms ejecutables. Integrar los componentes en el sistema siguiendo un enfoque incremental

15

3. Implementacin

Actividades
1. Implementar Arquitectura (Identificar Componentes y Asignarlos a los nodos) 2. Implementar las Clases de Diseo ( Generar Cdigo, Implementar Operaciones, Realizar Pruebas de unidad e Integrar el Sistema)

Implementacin: 1) Implementar la arquitectura

A)

Identificar Componentes e Incorporarlos al Modelo. Agrupar clases por tipos en un componente (ficheros .h y .cpp en el lenguaje C++) A cada clase activa se le asignar un componente ejecutable.

Ficha

FichaPelculas

FichaCliente

Diagrama de componentes: Las cajas representan mdulos y las flechas indican una relacin de utilizacin (el mdulo que es origen de la flecha utiliza al mdulo que es destinatario de la misma). B) Asignar Componentes a los nodos: De acuerdo con el Modelo de Despliegue. Clases activas asignadas a nodos independientes.

ListaFichaPelculas

ListaFichaCliente

ListaFicha

Diagrama de Componentes para las clases Ficha, ListaFichas, FichaPeliculas y Ficha Clientes

16

Implementacin: 2)

Implementar las Clases de Diseo

A)

Generar cdigo fuente desde la descripcin de la clase de diseo.


En este paso slo se genera la signatura de las operaciones. Las operaciones en s se implementan ms adelante. En cuanto a las asociaciones y agregaciones, su generacin es delicada. Lo normal es que una asociacin que se recorre en una direccin se implemente con una referencia, representada con un atributo en el objeto que referencia y el nombre del atributo ser el rol del extremo opuesto. La multiplicidad del extremo opuesto indicar si la referencia ser un puntero simple o una coleccin de punteros. Declaracin de la clase FichaCliente en C++ Class FichaCliente { private: TarjetaCredito datosTarjetaCredito; String NombreApellidos; int NumeroAlquiladas; int MaximoAlquiler; public: void devuelve(int codigoPelicula); void alquila(int codigoPelicula); bool maximoAlcanzado(); };

Implementacin: 2)

Implementar las Clases de Diseo

B) Implementar las operaciones.


Cada operacin definida por la clase de diseo ha de implementarse mediante mtodos.
Implementacin del Mtodo ActualizarPelcula de la clase Gestor /* En el diagrama de colaboraciones del caso de uso Alquilar Pelcula, la operacin Actualizar F. Pelculas se realiza despus de Acualizar F. Cliente, por lo que se puede pasar al mtodo el cliente que la ha alquilado */ void Gestor::ActualizarPelicula(Ficha Cliente *ptrFC, int codigoPeli){ FichaPelicula *ptrFP; try { //Se busca la pelcula ptrFP=listaFichaPelculas.BuscaPelicula(codigoPeli); } catch (ErrorNoEncontrada) { // No debera pasar en ejecucin real pero sirve para depurar cerr<<Error A: llamada a Gestor::ActualizarPelicula no valida<<endl; } catch (ErrorYaAlquilada) { // No deberia pasar en ejecucin real pero sirve para depurar cerr<<Error B: llamada a Gestor::ActualizarPelicula no valida<<endl; } catch (ErrorYaReservada) { // No deberia pasar en ejecucin real pero sirve para depurar cerr<<Error C: llamada a Gestor::ActualizarPelicula no valida<<endl; } ptrFP->alquiladaPor(ptrFC); //Se notifica quin la alquil ptrFP->alquiladaHoy(); //Se estampa fecha de alquiler }

17

Implementacin: 2)

Implementar las Clases de Diseo

C) Realizar Pruebas de Unidad (de los Componentes Individuales) Pruebas de especificacin (pruebas de caja negra), que verifican el comportamiento de la unidad observable externamente. Pruebas de estructura (prueba de caja blanca), que verifica la implementacin interna de la unidad. Para cada componente se estudiar su implementacin interna y se tratar de verificar su correcto comportamiento algortmico. D) Integrar el Sistema Los objetivos de la integracin del sistema son dos: Crear un plan de integracin de los componentes en el sistema. Integrar cada componente antes de que sea sometido a las pruebas de integracin. Ser necesario incluir algunos componentes como stubs para poder desarrollar las pruebas de integracin. Es importante implementar casos de uso completos y a ser posible los ms importantes. Probablemente la implementacin de cada caso de uso podr requerir varios componentes.

4. Pruebas
El objetivo de esta fase es realizar pruebas sobre la estructura del sistema que se va formando con los mdulos implementados. Las pruebas que deben hacerse son de dos tipos: de integracin y del sistema.

Artefactos:
A) Casos de Prueba. Un caso de prueba indica una manera de probar el sistema. Incluye qu probar junto con su entrada o salida y bajo qu condiciones probar. Los casos de prueba pueden ser: Parecidos o Similares, diferencindose nicamente en algn dato de entrada y/o salida. De Instalacin en una plataforma: verifican que el sistema puede ser instalado en la plataforma del cliente. De Configuracin, sobre distintas plataformas: verifican que el sistema funciona correctamente en diferentes configuraciones. Negativos, intentando que el sistema falle, por ejemplo utilizando datos no esperados. De Tensin o Stress, probando el sistema cuando los recursos son insuficientes o hay competencias por ellos. B) Procedimientos de Prueba.. Un procedimiento de prueba especifica cmo realizar uno o varios casos de prueba. Son las instrucciones que los probadores deben seguir para realizar las pruebas. C) Modelo de Pruebas. Es la coleccin formada por los casos de prueba y procedimientos de prueba. D) Evaluacin de Prueba. Es una evaluacin de los resultados de la prueba realzada.

18

4. Pruebas
El objetivo de esta fase es realizar pruebas sobre la estructura del sistema que se va formando con los mdulos implementados. Las pruebas que deben hacerse son de dos tipos: de integracin y del sistema.

Actividades
1. Planificar y Disear las Pruebas de Integracin y de Sistema. 2. Realizar las Pruebas de Integracin y de Sistema

Pruebas: 1) Planificar y Disear las Pruebas

Principios generales: 1) Disear las pruebas de Integracin de Componentes. Se utilizan para verificar que los componentes interaccionan entre s de un modo apropiado despus de haber sido integrados en el sistema. Se toman como Casos de Prueba los casos de uso del diseo. Para ello se utiliza el Diagrama de Secuencia correspondiente y se disean combinaciones de entrada y salida del sistema que lleven a distintas utilizaciones de las clases, y en consecuencia de los componentes, que participan en el diagrama. Disear las pruebas del Sistema. Se usa para probar que el sistema funciona globalmente de forma correcta. Cada prueba del sistema prueba combinaciones de casos de uso bajo condiciones diferentes. Se prueba el sistema como un todo probando casos de uso unos detrs de otros y, si es posible, en paralelo. Se trata de ver que cada caso de uso funciona adecuadamente en distintas configuraciones hardware, de carga, con varios actores a la vez, en distinto orden, etc.

1)

19

Diseo de Prueba 32 de Caso de uso Alquilar Pelcula] Pelcula] Precondicin: el sistema tiene todas las pelculas cargadas, ninguna alquilada 1. Introducir usuario Fulanito Prueba32 (usuario admitido por el banco sin limite de crdito) 2. Seleccionar segunda pelcula (hay 3 copias) 3. Alquilarla 4. Recoger Pelcula y Recibo 5. Salir del sistema 6. Introducir usuario Fulanito Prueba32 7. Seleccionar segunda pelcula (hay 2 copias) 8. Alquilarla 9. Recoger Pelcula y Recibo 10.Salir del sistema 10.Salir 11.Introducir usuario Fulanito Prueba32 11.Introducir 12.Seleccionar segunda pelcula (hay 1 copias) 12.Seleccionar 13.Alquilarla 13.Alquilarla 14.Recoger Pelcula y Recibo 14.Recoger 15.Salir del sistema 15.Salir 16.Introducir usuario Fulanito Prueba32 16.Introducir 17.Seleccionar segunda pelcula (no debe haber copias) 17.Seleccionar 18.El sistema debe ofrecer la posibilidad de reservar 18.El 19.Reservar 19.Reservar 20.Salir del sistema 20.Salir

Pruebas: 2) Realizar Pruebas de Integracin y Sistema


Realizar las Pruebas de Integracin: Ejecutar las pruebas. Comparar los resultados de las pruebas con los resultados esperados y ver las diferencias. Analizar los componentes y las pruebas diseadas que presentaron esas discrepancias para un posible rediseo del componente o cambios en la prueba. Realizar la Prueba del Sistema La prueba del sistema puede empezar cuando las pruebas de integracin indican que el sistema satisface los requisitos de calidad fijados durante las pruebas. Por ejemplo, el 90% de las pruebas de integracin se realizan con el resultado esperado. La prueba del sistema se lleva a cabo de forma similar que las pruebas de integracin. Los diseadores de las pruebas evalan los resultados de la prueba, fundamentalmente a partir de dos mtricas: 1. Completitud de la prueba: indica el porcentaje de casos de prueba que han sido ejecutados correctamente y el porcentaje de cdigo que ha sido probado. 2. Fiabilidad: se basa en el anlisis de la tendencia en los errores detectados y de los resultados esperados. Lo usual es que el nmero de errores se incremente rpidamente al inicio de las pruebas, se mantenga estable posteriormente durante un tiempo y finalmente empiece a decrecer.Basndose en el anlisis de la tendencia de los errores detectados se puede sugerir realizar pruebas adicionales, relajar el criterio de pruebas si los objetivos de calidad se pusieron muy altos, o revisar la parte del sistema que no cumple los requisitos de calidad.

20

Vous aimerez peut-être aussi