enrique barreiro departamento de informtica universidade de vigo escuela superior de ingeniera informtica ingeniera del software de gestin
introduccin
tema 2 ingeniera de requerimientos
errores en la especificacin de requerimientos los requerimientos precisan comunicacin entre desarrolladores, clientes y usuarios: errores: se descubren tarde y son caros de corregir a posteriori
falta de funcionalidad funcionalidad mal especificada interfaces confusas o intiles funcionalidad obsoleta
los analistas
construyen un modelo del dominio de la aplicacin observando a los usuarios en su entorno seleccionan una representacin comprensible para clientes y usuarios (por ejemplo, casos de uso) validan el modelo del dominio construyendo prototipos de la interfaz y buscando retroalimentacin con los usuarios y clientes.
2 / 69
introduccin
tema 2 ingeniera de requerimientos
la obtencin de requerimientos
identificacin de un rea del problema definicin de un sistema que soluciona el problema y sirve como contrato con el cliente: especificacin del sistema en el anlisis se estructura y formaliza la especificacin para producir el modelo de anlisis. especificacin vs modelo de anlisis:
representan la misma informacin difieren en el lenguaje y la notacin
Ingeniera de requerimientos Especificacin del sistema :Modelo Anlisis Modelo de anlisis :Modelo especificacin: lenguaje natural modelo de anlisis: notacin formal o semiformal especificacin: comunicacin con cliente y usuarios modelo de anlisis: comunicacin entre desarrolladores
3 / 69
qu entiende el cliente por una solucin correcta? qu problemas afrontar esta solucin? en qu entorno se va a implantar la solucin? existen restricciones o aspectos de rendimiento importantes? es usted la persona adecuada para responder a estas preguntas? Sus respuestas son oficiales? son relevantes mis preguntas para su problema? hay alguien ms que pueda proporcionar informacin adicional? hay algo ms que debera preguntar?
4 / 69
Agenda de sesin
Sesin
5 / 69
tipos de requisitos
tema 2 ingeniera de requerimientos
Otra clasificacin:
Requisitos funcionales Requisitos no funcionales Requisitos de implementacin
enrique barreiro alonso universidade de vigo - departamento de informtica escuela superior de ingeniera informtica ingeniera del software de gestin 6 / 69
tipos de requerimientos
tema 2 ingeniera de requerimientos
requerimientos funcionales
describen las interacciones entre el sistema y su entorno (usuarios u otros sistemas), sin tener en cuenta cuestiones de implementacin. se estudian y representan en el Modelo de Casos de Uso
Requerimientos funcionales de GeHoWeb. Requerimientos funcionales de GeHoWeb. GeHoWeb es un sistema para la gestin de horarios de la Escuela Superior de Ingeniera GeHoWeb es un sistema para la gestin de horarios de la Escuela Superior de Ingeniera Informtica (ESEI). El administrador del sistema, que se tendr que identificar al acceder al Informtica (ESEI). El administrador del sistema, que se tendr que identificar al acceder al mismo, es el encargado de introducir las asignaturas que se imparten en cada curso, as como mismo, es el encargado de introducir las asignaturas que se imparten en cada curso, as como los datos del encargo de docencia anual (grupos de teora yy prctica de cada asignatura). los datos del encargo de docencia anual (grupos de teora prctica de cada asignatura). Adems, el sistema permite introducir los datos de las aulas de teora (ubicacin yy aforo) yy de Adems, el sistema permite introducir los datos de las aulas de teora (ubicacin aforo) de prcticas (ubicacin, sistemas operativos, software,...). prcticas (ubicacin, sistemas operativos, software,...). La configuracin del horario se lleva aa cabo directamente sobre una plantilla horaria semanal, La configuracin del horario se lleva cabo directamente sobre una plantilla horaria semanal, en la que cada casilla representar una hora en un determinado da de la semana. Cuando el en la que cada casilla representar una hora en un determinado da de la semana. Cuando el administrador pulsa esa casilla se mostrarn las asignaturas del curso que se est administrador pulsa esa casilla se mostrarn las asignaturas del curso que se est configurando en ese momento. Una vez escogida las asignaturas se mostrarn los grupos de configurando en ese momento. Una vez escogida las asignaturas se mostrarn los grupos de teora y prctica a los que todava no se les ha asignado un horario. Al escoger un grupo se teora y prctica a los que todava no se les ha asignado un horario. Al escoger un grupo se muestran las aulas disponibles (si es un grupo de teora) oo los laboratorios que cumplen las muestran las aulas disponibles (si es un grupo de teora) los laboratorios que cumplen las restricciones de sistemas operativos establecidas para esa materia y que no estn ocupados aa restricciones de sistemas operativos establecidas para esa materia y que no estn ocupados esa hora. esa hora. El sistema podr ser consultado por cualquier usuario, que podr consultar el horario de una El sistema podr ser consultado por cualquier usuario, que podr consultar el horario de una asignatura, un curso, o de un aula o laboratorio concretos. asignatura, un curso, o de un aula o laboratorio concretos.
7 / 69
tipos de requerimientos
tema 2 ingeniera de requerimientos
Gestionar asignaturas
Usuario externo
8 / 69
tipos de requerimientos
tema 2 ingeniera de requerimientos
requerimientos no funcionales
describen aspectos del sistema visibles por el usuario que no se relacionan en forma directa con el comportamiento funcional del sistema. se recogen en los casos de uso con los que estn relacionados, o en la Especificacin Complementaria. en el Glosario se agrupan y clarifican los trminos que se utilizan en los requisitos ejemplos: restricciones en el tiempo de respuesta, precisin de los resultados,...
Requerimientos no funcionales de GeHoWeb. Requerimientos no funcionales de GeHoWeb. La tasa de disponiblidad de Gehoweb debe ser de un 99%. La tasa de disponiblidad de Gehoweb debe ser de un 99%. El sistema debe tener una interfaz de uso intuitiva yy sencilla, complementada con El sistema debe tener una interfaz de uso intuitiva sencilla, complementada con un buen sistema de ayuda (la administracin puede recaer en personal con poca un buen sistema de ayuda (la administracin puede recaer en personal con poca experiencia en el uso de aplicaciones informticas). experiencia en el uso de aplicaciones informticas). El sistema debe disponer de una documentacin fcilmente actualizable que El sistema debe disponer de una documentacin fcilmente actualizable que permita realizar operaciones de mantenimiento con el menor esfuerzo posible. permita realizar operaciones de mantenimiento con el menor esfuerzo posible.
9 / 69
tipos de requerimientos
tema 2 ingeniera de requerimientos
usabilidad usabilidad
eficiencia eficiencia
fiabilidad fiabilidad
portabilidad portabilidad
interoperabilidad interoperabilidad
ticos ticos
legislativos legislativos
rendimiento rendimiento
espacio espacio
entrega entrega
implementacin implementacin
estndares estndares
privacidad privacidad
seguridad seguridad
10 / 69
tipos de requerimientos
tema 2 ingeniera de requerimientos
requerimientos de implementacin
son necesidades del cliente que restringen la implementacin (por ejemplo, lenguaje de programacin, plataforma hardware, servidor de pginas web, libro de estilo,...)
Requerimientos de implementacin de GeHoWeb. Requerimientos de implementacin de GeHoWeb. Con el fin de ajustarse aa la arquitectura de la intranet actual de la ESEI, GeHoWeb Con el fin de ajustarse la arquitectura de la intranet actual de la ESEI, GeHoWeb debe desarrollarse como un servicio web, accesible desde cualquier navegador debe desarrollarse como un servicio web, accesible desde cualquier navegador Explorer 5.0, Netscape 5.0 oo superior, yy estar instalado en un servidor Windows Explorer 5.0, Netscape 5.0 superior, estar instalado en un servidor Windows 2000, actuando como servidor de pginas web Internet Information Server. La 2000, actuando como servidor de pginas web Internet Information Server. La base de datos a utilizar ser SQL Server 7.0. base de datos a utilizar ser SQL Server 7.0. La interfaz de usuario debe de ajustarse aa las caractersticas de la web de la ESEI, La interfaz de usuario debe de ajustarse las caractersticas de la web de la ESEI, dentro de la cual estar integrado Gehoweb. dentro de la cual estar integrado Gehoweb. Adems, en el desarrollo de GeHoWeb debern tenerse en cuenta las directrices Adems, en el desarrollo de GeHoWeb debern tenerse en cuenta las directrices de poltica de seguridad recomendadas por el Grupo de Seguridad de la ESEI. de poltica de seguridad recomendadas por el Grupo de Seguridad de la ESEI.
11 / 69
la validacin de requerimientos es continua y muy importante, para asegurarse de que la especificacin es:
correcta: la especificacin debe representar la visin que el cliente tiene del sistema completa: describe todos los escenarios posibles, incluyendo el comportamiento excepcional consistente: no se contradice a s misma no ambigua: no es posible interpretar aspectos de la especificacin de dos o ms formas diferentes realista: el sistema se puede implementar con las restricciones documentadas verificable: una vez que se construye el sistema, se puede disear una prueba repetible que demuestre que se satisfacen los requerimientos
ejemplos de requerimientos no verificables:
el producto debe tener una buena interfaz de usuario el producto debe responder en un tiempo razonable el sistema debe ser seguro
rastreable: la especificacin se debe organizar de tal forma que cada funcin del sistema se pueda rastrear hasta su conjunto de requerimientos correspondiente. Facilita las pruebas y la validacin del diseo
12 / 69
13 / 69
Reglas de negocio Utilizacin y usabilidad Fiabilidad Rendimiento Soporte, mantenimiento y portabilidad Seguridad, documentacin Requisitos sin resolver o diferidos
14 / 69
15 / 69
16 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
Segn el Proceso Unificado de Desarrollo, los principales pasos para capturar los requerimientos son:
D eta llar un caso de uso
priorizar casos de uso detallar casos de uso prototipar la interfaz de usuario estructurar el Modelo de Casos de Uso
17 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
objetivos
delimitar el sistema y su entorno esbozar quin y qu (actores) interactuarn con el sistema, y qu funcionalidad (casos de uso) se espera del sistema capturar y definir un glosario de trminos comunes esenciales para poder describir detalladamente los casos de uso del sistema.
es la actividad ms decisiva para obtener adecuadamente los requisitos responsabilidad del analista de sistemas
Prototipar la interfaz de usuario
identificacin de actores
tema 2 ingeniera de requerimientos
actores
Actores del Sistema de Pagos y Facturacin
Comprador Representa a una persona responsable de adquirir bienes o servicios. Puede ser un comprador individual o alguien perteneciente a una empresa. El Comprador de bienes y servicios necesita el Sistema de Facturacin y Pagos para enviar pedidos y pagar las facturas. Vendedor Representa a una persona que vende y distribuye bienes o servicios. El Vendedor utiliza el sistema para conseguir nuevos pedidos y entregar las confirmaciones de pedido, facturas y avisos de pago. Sistema de cuentas bancarias El Sistema de Facturacin y Pagos enva verificaciones de transacciones al Sistema de Cuentas Bancarias
representan entidades externas que interactan (mantenimiento y/o operacin) con el sistema puede ser un usuario o un sistema externo un actor representa un rol:
no se corresponde directamente con personas concretas toda persona que interacta con el sistema tiene que estar representado al menos por un actor en el modelo de casos de uso
identificacin de actores
qu grupos de usuarios necesitan el sistema para su trabajo? qu usuarios realizan las funciones principales del sistema? qu usuarios realizan funciones secundarias, como mantenimiento o administracin? existe algn sistema externo de hardware o software?
se da nombre a los actores y se describen brevemente sus papeles y para qu utilizan el sistema
19 / 69
identificacin de actores
tema 2 ingeniera de requerimientos
tipos de actores
actor principal: tiene objetivos de usuario que se satisfacen mediante el uso de los servicios del sistema (por ejemplo, el cajero)
se identifica para encontrar los objetivos de usuario, que dirigen los casos de uso
actor de apoyo: proporciona un servicio (por ejemplo, informacin) al sistema en desarrollo. Por ejemplo, el servicio de autorizacin de pago). Normalmente es un sistema informtico, pero puede ser una organizacin o una persona
se identifica para clarificar las interfaces externas y los protocolos
actor pasivo: est interesado en el comportamiento del caso de uso, pero no es principal ni de apoyo. Por ejemplo, la Agencia Tributaria.
se identifica para asegurar que todos los intereses necesarios se han identificado y satisfecho
20 / 69
identificacin de actores
tema 2 ingeniera de requerimientos
actor principal
tienen objetivos de usuario que se satisfacen mediante el uso de los servicios del sistema (acuden al sistema para que les ayude) la lista actor-objetivo
recoge los actores principales y sus objetivos de usuario
Actor Objetivo Procesar ventas Gestionar devoluciones Cajero Abrir caja Cerrar caja ... Controlar productividad cajero Jefe de cajas Distribuir cajeros en cajas ... Sistema de Control de Ventas Analizar datos de ventas y rendimiento Administrador del sistema Actor Objetivo Aadir usuarios Modificar usuarios Eliminar usuarios Gestionar seguridad Gestionar tablas ...
...
...
...
...
21 / 69
identificacin de actores
tema 2 ingeniera de requerimientos
el actor principal y los objetivos de usuario dependen del lmite del sistema
Elementos de las Ventas de la Empresa Servicio de Caja Agencia Tributaria Objetivo: obtener impuestos de las ventas Sistema de Actividad de Ventas Cajero Sistema PDV
Cliente
22 / 69
23 / 69
ejemplos de escenarios
Un cliente llega a una caja con artculos para comprar. El cajero utiliza el sistema PDV para introducir el identificador de cada artculo. Cuando ha pasado el ltimo artculo el sistema presenta el total, el cliente paga y el sistema gestiona el pago y presenta el recibo. El cliente se va con el recibo y los artculos. El usuario, previamente autentificado, navega por la tienda online y va marcando los libros que le interesan. El sistema los registra en el carro de la compra del usuario. Cuando termina de comprar el usuario accede a su carro de la compra y procede a realizar el pago. El sistema gestiona el pago solicitando los datos necesarios y accediendo a la pasarela de pago bancario que debe autorizar los datos de la tarjeta. El sistema confirma la venta y muestra al usuario un recibo para que lo guarde o lo imprima.
24 / 69
caso de uso
especifica todos los escenarios posibles para una determinada funcionalidad representa una coleccin de escenarios con xito y fracaso relacionados, que describe a los actores utilizando un sistema para satisfacer un objetivo. es iniciado por un actor puede interactuar con otros actores representa un flujo de eventos completo a travs del sistema, es decir, describe una serie de interacciones relacionadas que resultan de la inicializacin del caso de uso.
Un ejemplo en formato informal de distintos escenarios de un Un ejemplo en formato informal caso de uso (Larman02, pg. 45): de distintos escenarios de un caso de uso (Larman02, pg. 45):
2. 2.
Si se pag con tarjeta de crdito, y Sirechaza se pagla con tarjeta dede crdito, y se transaccin se rechaza de al reembolso a la sutransaccin cuenta, informar reembolso a su en cuenta, informar al cliente y pagarle efectivo. cliente y pagarle en efectivo. Si el identificador del artculo no se Si el identificador del artculo no al se encuentra en el sistema, notificar encuentra en el sistema, notificar Cajero y sugerir la entrada manual al Cajero y sugerir la entrada(quizs manual del cdigo de identificacin del cdigo de identificacin (quizs est alterado). est alterado). Si el sistema detecta fallos en la Si el sistema con detecta fallos en comunicacin el sistema dela comunicacin con el sistema de contabilidad externo... contabilidad externo...
3. 3.
25 / 69
Informar emergencia
<<inicia>>
Asignar Recursos
26 / 69
todos son casos de uso a diferentes niveles, dependiendo de los lmites del sistema, actores y objetivos PREGUNTA: a qu nivel y alcance deben expresarse los casos de uso? RESPUESTA: Para el anlisis de requisitos de una aplicacin informtica, hay que centrarse en los casos de uso al nivel de los procesos de negocio elementales (EBP, Elementary Business Processes) EBP:
tarea realizada por una persona en un lugar, en un instante, como respuesta a un evento del negocio, que aade valor cuantificable para el negocio y deja los datos en un estado consistente. Por ejemplo, Autorizar Crdito, o Solicitar Precio no es un pequeo paso como eliminar lnea de pedido, o imprimir factura no tarda das y mltiples sesiones como negociar contrato con proveedor son los caso de uso base, pero puede haber otros
subtareas de un caso de uso base ejemplo: Pago a Crdito puede aparecer en varios casos de uso base, por lo que se puede separar en un caso de uso propio conectado a varios casos de uso base
27 / 69
excepcin: agrupacin de objetivos separados del tipo Altas-BajasModificaciones-Consultas, en casos de uso denominados Gestionar<X>
Registrar artculo
Estos casos de uso, muy habituales en Estos casos de uso, muy habituales en aplicaciones de gestin, se agrupan aplicaciones de gestin, se agrupan normalmente en un nico caso de uso. normalmente en un nico caso de uso. Lgicamente, si un actor est Lgicamente, si un actor est nicamente autorizado a realizar nicamente autorizado a realizar determinadas funciones (por ejemplo, determinadas funciones (por ejemplo, consultar artculos), se mostrarn los consultar artculos), se mostrarn los casos de uso correspondientes casos de uso correspondientes
enrique barreiro alonso universidade de vigo - departamento de informtica
Borrar artculo
Gestionar artculos
Modificar artculo
Consultar artculo
28 / 69
Es un caso de uso de subfuncin, pero se muestra porque se utiliza para el funcionamiento de distintos casos de uso de nivel de objetivo de usuario. De hecho, en este caso sera una precondicin: no se puede abrir caja si el usuario no es autentificado por el sistema.
29 / 69
se puede distinguir entre el actor que inicia el caso de uso y los dems actores que intervienen posteriormente los casos de uso, identificados previamente a partir de los objetivos de los actores, se representan mediante valos y representan una tarea que el sistema en desarrollo tiene que incorporar Diagrama de Casos de Uso: representa el contexto del sistema:
lmites del sistema qu permanece fuera del sistema cmo se utiliza el sistema resume el comportamiento de un sistema y sus actores
Asignar Recursos
30 / 69
Objetivo Procesar venta Gestionar devoluciones Distribuir cajeros entre las cajas Altas de usuarios Bajas de usuarios Modificar usuarios
Descripcin escenarios
Gestionar usuarios
31 / 69
<<inici a>> Procesar Ve nt a Cajero Servicio de Autorizacin de Crd ito <<Actor>> Sistema de Clculo de Impuestos notacin alternativa para un actor que representa a un sistema informtico
<<inicia >>
Gestionar Devoluciones
Abrir Ca ja
Gestionar Seguridad
comunicacin
...
32 / 69
iniciador
Comprador
<<extend>> iniciador
Re al iza r t ransa cc i n
En vi ar aviso
33 / 69
34 / 69
Ejemplo de la estrategia del Proceso Unificado sobre el mtodo de desarrollo de los requisitos
Comentarios y nivel de esfuerzo de los requisitos Elab 1 Elab 2 Elab 3 4 semanas 4 semanas 3 semanas Cerca del final de la Cerca del final de la Repetir, se completa el esta iteracin, tiene esta iteracin, tiene 70% de todos los casos lugar un taller de lugar un taller de de uso en detalle requisitos de 2 das. requisitos de 2 das. Se Se obtiene un mejor obtiene un mejor entendimiento y entendimiento y retroalimentacin a retroalimentacin a partir del trabajo de partir del trabajo de implementacin. implementacin. Entonces se completa Entonces se completa el 30% de los casos el 50% de los casos de de uso en detalle uso en detalle Diseo de un Repetir Repetir pequeo conjunto de requisitos de alto riesgo significativos desde el punto de vista de la arquitectura. Implementar esto. Repetir. Se construye el Repetir. Se construye el 5% del sistema final. 10% del sistema final. La estimacin comienza a tomar forma Un poco mejor... Un poco mejor...
Disciplina Requisitos
Inicio 1 semana 2 das de taller de requisitos. Se identifican por el nombre la mayora de los casos de uso y se resumen en un prrafo breve
Elab 4 3 semanas Repetir con la intencin de clarificar y escribir en detalle el 80-90% de los casos de uso. Slo una pequea parte de stos se construyen durante la elaboracin; el resto se aborda durante la construccin.
Diseo
Modelo de Diseo
Nada.
Repetir. Deberan ahora estabilizarse los aspectos de altor riesgo significativos para la arquitectura.
Implementacin
Nada
Repetir. Se construye el 15% del sistema final. Ahora se pueden establecer racionalmente la duracin global del proyecto, los hitos ms importantes, estimacin del coste y esfuerzo.
35 / 69
decidir si se realiza un estudio ms profundo (fase de elaboracin) o se rechaza el proyecto ejemplo de un Modelo de Casos de Uso en la fase de inicio para un sistema de PDV:
Informal Procesar Alquiler Analizar Actividad de Ventas Gestionar Seguridad ... Abrir Caja Cerrar Caja
Breve
Gestionar Usuarios Distribuir Cajeros Suspender Operacin Gestionar Tablas del Sistema ...
36 / 69
no se estudian todos los casos de uso: se priorizan se refinan los requisitos principales, que son inestables en las primeras iteraciones, estabilizndose en las ltimas escritura y reescritura de la mayora de los casos de uso, en formato completo quedan descritos en detalle entre el 80 y el 90% de los casos de uso quedan programadas partes del sistema (entre un 10 y un 15% del sistema)
37 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
casos de uso con dificultad de desarrollo casos de uso imprescindibles para la puesta en marcha del sistema organizacin del desarrollo incremental disponibilidad de equipo de desarrollo
se revisa la priorizacin con el jefe de proyecto y se utiliza como entrada para la planificacin de cada iteracin del proyecto
38 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
se trabaja estrechamente con los usuarios reales de los casos de uso resultado: descripcin detallada mediante
texto diagramas
39 / 69
actor principal: actor que recurre a los servicios del sistema para cumplir un objetivo personal involucrado y lista de intereses
el caso de uso captura todo y slo el comportamiento relacionado con la satisfaccin de los intereses del personal involucrado ejemplo:
Cajero: quiere entradas precisas, rpidas y sin errores de pago, ya que las prdidas se deducen de su salario. Vendedor: quiere que las comisiones de ventas estn actualizadas
precondiciones:
establecen lo que siempre debe cumplirse antes de comenzar un escenario en el caso de uso. no se prueban en el caso de uso, sino que son condiciones que se asumen que son ciertas. normalmente una precondicin implica un escenario de otro caso de uso que se ha completado con xito, como inicio de sesin, o validacin de usuario. ejemplo: el cajero se identifica y el sistema lo autentifica.
postcondiciones:
establecen qu debe cumplirse cuando el caso de uso se completa con xito (bien el escenario principal de xito o algn camino alternativo) ejemplo: se registra la venta. El impuesto se calcula de manera correcta. Se actualizan la Contabilidad y el Inventario. Se registran las comisiones. Se genera el recibo.
40 / 69
el primer paso indica el evento que desencadena el comienzo del escenario ejemplo:
1. El Cliente llega a un terminal PDV con mercancas para comprar 2. El Cajero comienza una nueva venta. 3. El Cajero introduce el identificador del artculo. 4. ... El Cajero repite los pasos 3-4 hasta que se indique 5. ...
41 / 69
condicin: algo que puede ser detectado por el sistema o el actor (el Sistema detecta un fallo de comunicacin con el sistema de actualizacin de inventario) manejo: se puede resumir en un paso o bien incluir una secuencia:
3-6a. El Cliente le pide al Cajero que elimine un artculo de la compra: 1. El Cajero introduce el identificador del artculo para eliminarlo de la compra 2. El Sistema muestra la suma parcial actualizada
si una extensin es muy compleja, se puede expresar como un caso de uso aparte pueden incluirse condiciones de extensin que se pueden dar durante cualquiera de los pasos (por ejemplo, el sistema falla, o el Cliente cancela la compra)
42 / 69
requisitos especiales
se recoge cuando un requisito no funcional, atributo de calidad o restriccin se relaciona de manera especfica con un caso de uso incluye cualidades como rendimiento, fiabilidad y facilidad de uso, y restricciones de diseo (a menudo en dispositivos de entrada/salida) que son obligados o se consideran probables. ejemplo:
interfaz de usuario con pantalla tctil en un gran monitor de pantalla plana. El texto debe ser visible a un metro de distancia tiempo de respuesta para la autorizacin de crdito de 30 segundos al menos en el 90% de los casos
en ocasiones resulta conveniente reunir al final todos los requisitos no funcionales en una especificacin complementaria
43 / 69
Actores participantes: Comprador (inicia) Actores participantes: Vendedor Comprador (inicia) Vendedor Sistema de cuentas bancarias Sistema de cuentas bancarias Precondicin: el comprador ha recibido los bienes y servicios y al menos una factura del sistema. El comprador ahora planifica el pago de Precondicin : el comprador ha recibido los bienes y servicios y al menos una factura del sistema. El comprador ahora planifica el pago de las facturas las facturas Flujo de eventos: Flujo de eventos: Camino bsico Camino bsico 1. El comprador invoca al caso de uso para comenzar a hojear las facturas recibidas del sistema. El sistema verifica 1. El comprador invoca al caso de es uso para comenzar a hojear las facturas del sistema. El sistema verifica que el contenido de cada factura consistente con las confirmaciones derecibidas pedido recibidas anteriormente (como que el contenido de cada factura es consistente con las confirmaciones de pedido recibidas anteriormente parte del caso de uso Confirmar Pedido) y as indicrselo al comprador. La confirmacin de pedido describe(como qu parte del caso de uso Confirmar Pedido) indicrselo elementos sern enviados, cundo, dnde y y as a qu precio. al comprador. La confirmacin de pedido describe qu elementos sern enviados, cundo, dnde y a qu precio. 2. El comprador decide planificar una factura para pagarla por banco, y el sistema genera una peticin e pago para 2. El comprador decide una factura para por banco, y que el sistema genera no una peticin e pagoel para transferir el dinero a la planificar cuenta del vendedor. Hay pagarla que tener en cuenta un comprador puede planificar transferir el dinero a la cuenta del vendedor. Hay que tener en cuenta que un comprador no puede planificar el pago de la misma factura dos veces [A2]. pago de la misma factura dos veces [A2]. 3. Ms tarde, si hay suficiente dinero en la cuenta del comprador, se hace un pago mediante transaccin en la 3. Ms planificada. tarde, si hayDurante suficiente dinero en la cuenta del comprador, se la hace un pago mediante transaccin en la fecha la transaccin, el dinero se transfiere de cuenta del comprador a la del vendedor, fecha planificada. Durante transaccin, el dinero se Transaccin transfiere de (que la cuenta del comprador a la del vendedor, como se describe en el casola de uso abstracto Realizar es utilizado por Pagar Factura). Tanto se describe el caso de uso abstracto Realizar Transaccin es utilizado por Pagar Factura). Tanto elcomo comprador como en el vendedor tienen notificacin del resultado de la (que transaccin. El banco recoge unos cargos el comprador como el se vendedor tienen notificacin del resultado por la transaccin, que retiran de la cuenta del comprador [A3].de la transaccin. El banco recoge unos cargos por la transaccin, que se retiran de la cuenta del comprador [A3]. 4. La instancia del caso de uso finaliza. 4. La instancia del caso de uso finaliza. Caminos alternativos Caminos alternativos [A2] En el paso 2, el comprador puede, en cambio, pedir al sistema que devuelva un rechazo de factura al [A2] En el paso 2, el comprador puede, en cambio, pedir al sistema que devuelva un rechazo de factura al vendedor. vendedor. [A3] En el paso 3, si no hay suficiente dinero en la cuenta, el caso de uso cancelar el pago y se lo notificar al [A3] En el paso 3, si no hay suficiente dinero en la cuenta, el caso de uso cancelar el pago y se lo notificar al comprador. comprador. Postcondicin: la instancia del caso de uso termina cuando la factura ha sido pagada o cuando el pago de la factura ha sido cancelado y Postcondicin : la instancia del caso de uso termina cuando la factura ha sido pagada o cuando el pago de la factura ha sido cancelado y no se ha hecho ninguna transferencia. no se ha hecho ninguna transferencia. enrique barreiro alonso universidade de vigo - departamento de informtica escuela superior de ingeniera informtica ingeniera del software de gestin
44 / 69
InformarEmergencia InformarEmergencia
Actores participantes: OficialCampo (inicia) Actores participantes: Controlador OficialCampo (inicia) Controlador Condicin inicial: El OficialCampo activa la funcin Informar Condicin inicial: El OficialCampo Emergencia en suactiva PDA la funcin Informar Emergencia en su PDA Flujo de eventos: Flujo de eventos: 1. 1. 2. 2. El sistema EMERGENCIAS responde presentando Elformulario sistema EMERGENCIAS un al OficialCamporesponde presentando un formulario al OficialCampo El OficialCampo cubre el formulario, seleccionando OficialCampo cubretipo, el formulario, seleccionando elEl nivel de emergencia, ubicacin, y una breve el nivel de de emergencia, tipo, ubicacin, y una breve descripcin la situacin. Tambin describe descripcin de la situacin. Tambin describe respuestas posibles a la situacin de emergencia. respuestas posibles a la situacin de emergencia. Una vez cubierto el formulario, el OficialCampo lo Una vez el formulario, el OficialCampo lo enva y encubierto ese momento se notifica al Controlador. enva y en ese momento se notifica al Controlador. El Controlador revisa la informacin recibida y crea ElIncidente Controlador revisa informacin recibida y crea un en la basela de datos llamando al caso un Incidente en la base de datos llamando al caso de uso AbrirIncidente. El Controlador selecciona de respuesta uso AbrirIncidente. El Controlador una y da un acuse de recibo selecciona del informe una respuesta y da un acuse de recibo del informe de emergencia. de emergencia. El OficialCampo recibe el acuse de recibo y la El OficialCampo recibe el acuse de recibo y la respuesta seleccionada. respuesta seleccionada. Se da acuse de recibo del informe del Se da acuse en de menos recibo del informe del OficialCampo de 30 segundos. OficialCampo en menos de 30 segundos. La respuesta seleccionada llega en menos de 30 La respuesta seleccionada llega en menos de 30 segundos desde que la enva el Controlador. segundos desde que la enva el Controlador.
3. 3.
45 / 69
Descripcin del caso de uso Descripcin del caso de uso 1. El OficialCampo activa la funcin Informar 1. El OficialCampo Emergencia en suactiva PDA. la funcin Informar Emergencia en su PDA. 2. El sistema EMERGENCIAS responde presentando 2. Elformulario sistema EMERGENCIAS responde presentando un al OficialCampo. El formulario un formulario al de OficialCampo. El formulario incluye un men tipos de emergencia (incendio, incluye un men de tipos de emergencia (incendio, accidente, disturbios,...) y campos para introducir accidente, disturbios,...) y campos para introducir la ubicacin, descripcin del incidente, peticin de la ubicacin, descripcin del incidente, peticin de recursos,... recursos,... 3. 3. El OficialCampo cubre el formulario, y puede El OficialCampo cubre el formulario, tambin describir respuestas posibles y a puede la tambin describir respuestas posibles a la situacin de emergencia y solicitar recursos situacin de emergencia y solicitar especficos. Una vez que ha llenado recursos el formulario, Una que ha llenado formulario, elespecficos. OficialCampo lo vez enva oprimiendo elel botn el OficialCampo lo enva oprimiendo el botn Enviar Informe y en ese momento se le notifica al Enviar Informe y en ese momento se le notifica al Controlador Controlador Al Controlador se le notifica un nuevo informe de Al Controlador se le informe de incidente mediante unnotifica cuadroun denuevo dilogo incidente mediante un cuadro de dilogo desplegable. El Controlador revisa la informacin desplegable. revisa la informacin recibida y crea El unControlador Incidente en la base de datos recibida al y crea en la base Toda de datos llamando casoun deIncidente uso AbrirIncidente. la llamando al caso de uso AbrirIncidente. informacin contenida en el formulario delToda la informacin contenida el formulario delen el OficialCampo se incluyeen automticamente OficialCampo se incluyeselecciona automticamente en el Incidente. El Controlador una Incidente. El Controlador selecciona una respuesta asignando recursos al incidente (con el respuesta recursosyal incidente (con caso de usoasignando AsignarRecursos) da un acuse de el caso de uso AsignarRecursos) da un acuse recibo al informe de emergencia y enviando un de recibo al informe de emergencia enviando un mensaje breve al OficialCampo. mensaje breve al OficialCampo. El OficialCampo recibe el acuse de recibo y la El OficialCampo recibe el acuse de recibo y la respuesta seleccionada. respuesta seleccionada.
refinamiento
se incorporan detalles al caso de uso se describe el flujo de eventos en mayor detalle se mejora la descripcin de las interacciones
Estacin Controlador
4. 4.
Estacin OficialCampo
5. 5.
46 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
objetivos
extraer descripciones de funcionalidad (de casos de uso) generales y compartidas que pueden ser utilizadas por casos de uso ms especficos
extraer descripciones de funcionalidad (de casos de uso) adicionales u opcionales que pueden extender casos de uso ms especficos (relaciones de extensin) extraer descripciones de funcionalidad (de casos de uso) adicionales e incondicionales incluidas en la ejecucin de casos de uso especficos (relaciones de inclusin)
47 / 69
relaciones de generalizacin
tema 2 ingeniera de requerimientos
generalizacin
simplifica la forma de trabajo y la comprensin del modelo de casos de uso permite reutilizar casos de uso semifabricados cuando se renen casos de uso terminados requeridos por el usuario (caso de uso concreto).
Comprador Pagar factura Vendedor
el caso de uso semifabricado existe solamente para que otros casos de uso lo reutilicen y se les llama casos de uso abstractos.
no pueden instanciarse por s mismos una instancia de un caso de uso concreto tambin exhibe el comportamiento especificado por un caso de uso abstracto que lo (re)utiliza
Ejecutar transaccin
48 / 69
relaciones de extensin
tema 2 ingeniera de requerimientos
un caso de uso extiende otro caso de uso si ste puede incluir el comportamiento del primero bajo determinadas condiciones ventajas de separar el flujo excepcional y opcional con respecto al caso de uso bsico
el caso de uso bsico se hace ms pequeo y comprensible se distingue entre el caso comn y el excepcional, permitiendo que los desarrolladores los traten de forma diferente
Conexin perdida
Comprador
Pagar factura
Vendedor
ambos son casos de uso completos por s mismos, con condicin inicial y final, y comprensibles por el usuario regla general: utilizar relaciones de extensin para comportamientos excepcionales, opcionales o que rara vez ocurren
<<extend>>
Ejecutar transaccin
49 / 69
relaciones de inclusin
tema 2 ingeniera de requerimientos
Controlador
Ver plano
<<include>>
Asignar Recursos
50 / 69
51 / 69
utilizacin de diagramas
puede resultar til utilizar diagramas para describir un caso de uso cuando existen diferentes estados y transiciones alternativas que dificultan la comprensin de la descripcin textual diagramas
de actividad: describen las transiciones entre estados con ms detalle, como secuencias de acciones. de interaccin: describen cmo interacta una instancia de un caso de uso con la instancia de un actor
aconsejable que sean simples, para que sean comprensibles por el usuario
52 / 69
Registrar artculo
Bifurcacin
hay ms artculos? no Mostrar total con impuestos
Introducir pago
Divisin concurrente
Calcular cambio
Generar recibo
Unin concurrente
Estado final enrique barreiro alonso universidade de vigo - departamento de informtica escuela superior de ingeniera informtica ingeniera del software de gestin 53 / 69
Registrar artculo
Escenario simple de Procesar Venta Escenario de Procesar parasimple el pago en efectivo.Venta para el pago en efectivo. 1. 1. 2. 2. 3. 3. 4. 4. El Cliente llega al terminal PDV El Cliente llega al terminal PDV El Cajero inicia una nueva venta El Cajero inicia una nueva venta El Cajero inserta el identificador El artculo Cajero inserta el identificador del del artculo El Sistema registra la lnea de El Sistema registra la lnea de venta y presenta la descripcin venta y presenta descripcin del artculo, precio la y suma del artculo, precio y suma parcial parcial
s
hay ms artculos?
no
El Cajero repite los pasos 3 y 4 hasta El Cajero repite los pasos 3 y 4 hasta que se indique que se indique 5. 5. 6. 6. 7. 7. ... ... El Sistema muestra el total con El impuestos Sistema muestra el total con los calculados los impuestos calculados El Cajero le dice al Cliente el El Cajero dice Cliente el total, y pidele que le al pague total, y pide que le Sistema pague El Cliente paga y el El Cliente paga y el Sistema gestiona el pago gestiona el pago
Introducir pago
Calcular cambio
Generar recibo
54 / 69
los sistemas se tratan como cajas negras debe realizarse un DSS para el escenario principal de xito del caso de uso, y los escenarios alternativos complejos o frecuentes los DSS en el Proceso Unificado
no aparecen explcitamente en el UP fase de inicio: no se suelen realizar en esta fase fase de elaboracin: la mayora se crean en esta fase, para detallar identificar las operaciones y dar soporte a la estimacin de tiempo y costes
55 / 69
: Sistema : Cajero crearNuevaVenta() La caja puede encerrar un rea La caja puede encerrar un rea de iteracin. de iteracin. El *[...] indica que la caja es para El *[...] indica que la caja es para iterar iterar
introducirArticulo(artID, cantidad) descripcin, total *[ms artculos] finalizarVenta() total con impuestos Un mensaje con parmetros. Un mensaje con parmetros. Es una abstraccin que Es una abstraccin que representa el evento del representa el evento sistema de entrada de del los sistema de entrada de los datos del pago mediante datos del pago mediante algn mecanismo algn mecanismo
Valor(es) de retorno Valor(es) de retorno asociado(s) con el mensaje asociado(s) con el mensaje anterior. anterior. Es una abstraccin que Es una que ignora la abstraccin presentacin y el ignora la presentacin y el medio. medio. La lnea de retorno es La lneasi de retorno es opcional no se devuelve opcional si no se devuelve nada. nada.
56 / 69
: Sistema
introducirArticulo(artID, cantidad) Escenario simple de Procesar Venta Escenario de Procesar parasimple el pago en efectivo.Venta para el pago en efectivo. 1. 1. 2. 2. 3. 3. 4. 4. El Cliente llega al terminal PDV El Cliente llega al terminal PDV El Cajero inicia una nueva venta El Cajero inicia una nueva venta El Cajero inserta el identificador El artculo Cajero inserta el identificador del del artculo El Sistema registra la lnea de El Sistema registra la lnea de venta y presenta la descripcin venta y presenta descripcin del artculo, precio la y suma del artculo, precio y suma parcial parcial descripcin, total *[ms artculos] finalizarVenta() total con impuestos realizarPago(cantidad) cambio devuelto, recibo
El Cajero repite los pasos 3 y 4 hasta El Cajero repite los pasos 3 y 4 hasta que se indique que se indique 5. 5. 6. 6. 7. 7. ... ... El Sistema muestra el total con El impuestos Sistema muestra el total con los calculados los impuestos calculados El Cajero le dice al Cliente el El Cajero dice Cliente el total, y pidele que le al pague total, y pide que le Sistema pague El Cliente paga y el El Cliente paga y el Sistema gestiona el pago gestiona el pago
57 / 69
Nombre peor
escanear(artID, cantidad)
58 / 69
planificacin
antes de realizar estimaciones y planificar todo el proceso del proyecto se necesita tener los casos de uso junto con
una idea correcta de qu significa cada uno un correcto entendimiento de quin necesita cada uno y en qu medida lo necesita el conocimiento de qu casos de uso tienen ms riesgo un plan del tiempo de implementacin de cada caso de uso
luego se decide en qu orden se implementan y qu casos de uso pertenecen a cada iteracin del sistema
aspectos polticos: realizar casos de uso importantes para aquellas personas con poder para retrasar o cancelar el proyecto aspectos tcnicos: entregar primero los casos de uso con mayor riesgo (puede entrar en conflicto con los criterios anteriores) validacin del sistema: para validar el diseo se pueden tomar uno a uno los casos de uso y comprobar que el sistema permite ejecutarlo
59 / 69
: Analista de sistem as
: Arquitecto
:D iseador de interfacesdeusuario
prototipado de la interfaz
diseo lgico de la interfaz: se decide qu se necesita de las interfaces de usuario para habilitar los casos de uso para cada actor
diseo fsico de la interfaz: se desarrollan prototipos que ilustran cmo pueden utilizar el sistema los usuarios para ejecutar los casos de uso
D eta llar un caso de uso
resultado final: conjunto de esquemas de interfaces de usuario y prototipos de interfaces que especifican la apariencia de esas interfaces cara a los actores ms importantes
___ ___ ___ ___ Modelo de casos de uso Caso de uso (descrito) Prototipar la interfaz Requisitos adicionales
___ ___ ___ ___ Glosario enrique barreiro alonso universidade de vigo - departamento de informtica
60 / 69
al interactuar con el sistema, los actores utilizarn elementos de interfaces que representan atributos de los casos de uso, y suelen ser trminos del glosario (balance de cuenta, fecha de vencimiento, titular de cuenta,...) diseador de interfaces
recorre todos los casos de uso a los que el actor puede acceder identifica y especifica cada elemento, actor por actor asocia los elementos apropiados de la interfaz de usuario para cada caso de uso
Cuenta saldo previsto en el tiempo (determinado por las facturas a pagar) 1 facturas a pagar Factura fecha de vencimiento cantidad a pagar cuenta destino * cuenta del comprador
determinar qu elementos de interfaz deben ser accesibles al actor en cada caso de uso
clases del dominio, entidades del negocio o unidades de trabajo son adecuadas como elementos de interfaz para cada caso de uso elementos de la IU con la que va a trabajar el actor acciones que puede invocar el actor, y decisiones que puede tomar gua o informacin que necesita el actor antes de invocar cada accin de los casos de uso informacin que debe proporcionar el actor al sistema informacin que debe proporcionar el sistema al actor valores medios de todos los parmetros de entrada y salida (necesario para optimizar la interfaz grfica)
puede haber varios prototipos, uno por actor, para verificar que cada actor puede ejecutar el caso de uso que necesita revisin y validacin
puede hacerse superficialmente y corregirse despus, durante el diseo debe verificarse
que cada actor navegue de forma adecuada que proporcione apariencia agradable y una forma consistente de trabajo que cumple con estndares relevantes como el color, tamao de botones, situacin de barras de herramientas,...
62 / 69
requerimientos no funcionales
aspectos del sistema visibles para el usuario, que no stn relacionados de forma directa con el comportamiento funcional del sistema. abarcan diversos aspectos:
interfaz de usuario y factores humanos: tipo de interfaz, experiencia,... documentacin:documentacin requerida, destinatarios, tipo de documentacin tcnica,... consideraciones de hardware: compatibilidad con otro hardware, existencia de otros sistemas,... caractersticas de ejecucin: usuarios concurrentes, carga de trabajo,... gestin de errores y excepciones cuestiones de calidad: fiabilidad, disponibilidad, robustez,... modificaciones futuras ambiente fsico: condiciones climticas, exposicin a golpes, accidentes,... seguridad recursos consumidor por el sistema
63 / 69
64 / 69
el glosario
tema 2 ingeniera de requerimientos
glosario
lista de los trminos relevantes y sus definiciones reduce problemas de comunicacin y requisitos ambiguos: evita que un trmino se utilice de forma distinta por diferentes personas involucradas en el desarrollo debe comenzarse cuanto antes
65 / 69
el glosario
tema 2 ingeniera de requerimientos
GLOSARIO
Historial de revisiones Versin Borrador de Inicio Definiciones Trmino artculo autorizacin de pago solicitud de autorizacin de pago Definicin e informacin Un artculo o servicio en venta Validacin llevada a cabo por un servicio externo de autorizacin de pago, que har o garantizar el pago al vendedor Un conjunto de elementos enviados electrnicamente a un servicio de autorizacin, normalmente como un array de caracteres. Los elementos comprenden: ID de la tienda nmero de cuenta del cliente cantidad fecha Cdigo de 12 dgitos que identifica un artculo. Normalmente se representa mediante un cdigo de barras en los artculos.
escuela superior de ingeniera informtica ingeniera del software de gestin
fuente: C. Larman, UML y patrones, 2002
Alias
UPC
66 / 69
debe escribirse cuando el modelo de casos de uso sea estable, es decir, cuando casi no haya modificaciones de requerimientos se actualiza durante el proceso de desarrollo cuando se descubren problemas de especificaciones o cuando cambia el alcance del sistema
67 / 69
68 / 69
bibliografa
tema 2 ingeniera de requerimientos
Sommerville, I. Ingeniera de Software, cap. 5 Larman, C. UML y patrones, cap. 6, 7 y 9. Stevens, P., Utilizacin de UML en ingeniera del software con objetos y componentes, cap. 7 y 8 Bruegge, B., Dutoit, A.H., Ingeniera del Software Orientado a Objetos, cap. 4 Jacobson, Rumbaugh y Booch, El Proceso Unificado de Desarrollo, cap. 7
69 / 69