INGENIERA DE SOFTWARE
INGENIERA DE REQUISITOS
INTRODUCCIN
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
INTRODUCCIN
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 especificacin: lenguaje natural requerimientos modelo de anlisis: notacin formal o semiformal sirven de elemento de comunicacin especificacin: comunicacin con cliente y usuarios modelo de anlisis: comunicacin entre desarrolladores Anlisis actividades de la obtencin de requerimientos identificacin de actores identificacin de escenarios identificacin de casos de uso refinamiento de casos de uso identificacin de relaciones entre casos de uso identificacin de requerimientos no funcionales
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.
3 / 69
4 / 69
Agenda de sesin
Sesin
diseo conjunto de aplicaciones (JAD, joint application design) desarrollado por IBM a finales de los setenta una sesin de trabajo con participacin de todos los involucrados resultado de la sesin: documento de especificacin que incluye definiciones de elementos de datos, flujos de trabajo y pantallas de interfaz representa un acuerdo entre usuarios, clientes y desarrolladores y minimiza los cambios posteriores de requerimientos actividades definicin del proyecto: el coordinador se entrevista con gerentes y clientes para determinar objetivos y alcance del proyecto, creando la gua de definicin administrativa. investigacin: entrevista con usuarios, recopilacin de informacin del dominio, descripcin de flujos de trabajo y asuntos a tratar en la reunin. Se crea la agenda de sesin y la especificacin preliminar. preparacin: el coordinador crea un documento de trabajo o primer borrador del documento final. sesin: el coordinador gua al equipo para crear la especificacin del sistema en una reunin que puede durar varios das. Se definen los flujos de trabajo, elementos de datos, pantallas, informes,... Las decisiones se documentan en unos formularios. documento final: el coordinador prepara el documento final usando los formularios y se distribuye a los asistentes para su revisin. Reunin para discutir revisiones y finalizar el documento.
Documento final
5 / 69
6 / 69
TIPOS DE REQUISITOS
modelo FURPS+ de requisitos:
Funcionalidad (Functional): caractersticas, capacidades y seguridad. Facilidad de uso (Usability): factores humanos, ayuda, documentacin. Fiabilidad (Reliability): frecuencia de fallos, capacidad de recuperacin de un fallo y grado de previsin. Rendimiento (Performance): tiempos de respuesta, productividad, precisin, disponibilidad, uso de los recursos. Soporte (Supportability): adaptabilidad, facilidad de mantenimiento, internacionalizacin, configurabilidad. El + indica requisitos adicionales como:
Implementacin: limitacin de recursos, lenguajes y herramientas, hardware, Interfaz: restricciones referentes a la interaccin con sistemas externos Operaciones: gestin del sistema en su puesta en marcha Empaquetamiento Legales: licencias,
TIPOS 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. 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 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 y prctica de cada asignatura). Adems, el sistema permite introducir los datos de las aulas de teora (ubicacin y aforo) y de prcticas (ubicacin, sistemas operativos, software,...). La configuracin del horario se lleva a cabo directamente sobre una plantilla horaria semanal, 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 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 muestran las aulas disponibles (si es un grupo de teora) o los laboratorios que cumplen las restricciones de sistemas operativos establecidas para esa materia y que no estn ocupados a esa hora. 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.
7 / 69 8 / 69
Otra clasificacin:
Requisitos funcionales Requisitos no funcionales Requisitos de implementacin
TIPOS DE REQUERIMIENTOS
TIPOS 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. La tasa de disponiblidad de Gehoweb debe ser de un 99%.
Gestionar asignaturas
Usuario externo
El sistema debe tener una interfaz de uso intuitiva y sencilla, complementada con un buen sistema de ayuda (la administracin puede recaer en personal con poca experiencia en el uso de aplicaciones informticas). El sistema debe disponer de una documentacin fcilmente actualizable que permita realizar operaciones de mantenimiento con el menor esfuerzo posible.
Gestionar horarios
9 / 69
10 / 69
TIPOS DE REQUERIMIENTOS
requerimientos no funcionales
TIPOS 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 externos
requerimientos organizacionales
rendimiento
espacio
entrega
implementacin
estndares
privacidad
seguridad
Con el fin de ajustarse a la arquitectura de la intranet actual de la ESEI, GeHoWeb debe desarrollarse como un servicio web, accesible desde cualquier navegador Explorer 5.0, Netscape 5.0 o superior, y estar instalado en un servidor Windows 2008, actuando como servidor de pginas web Internet Information Server. La base de datos a utilizar ser SQL Server 2008. La interfaz de usuario debe de ajustarse a las caractersticas de la web de la ESEI, dentro de la cual estar integrado Gehoweb. 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.
11 / 69
12 / 69
13 / 69
14 / 69
Reglas de negocio Utilizacin y usabilidad Fiabilidad Rendimiento Soporte, mantenimiento y portabilidad Seguridad, documentacin Requisitos sin resolver o diferidos Requerimientos legales y polticos Consecuencias humanas de la finalizacin del sistema Requerimientos de formacin Dependencias y restricciones del entorno humano
15 / 69
16 / 69
Segn el Proceso Unificado de Desarrollo, los principales pasos para capturar los requerimientos son: identificacin de actores y casos de uso priorizar casos de uso detallar casos de uso prototipar la interfaz de usuario estructurar el Modelo de Casos de Uso
17 / 69
18 / 69
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 actividades (no tienen por qu seguir este orden) establecer el lmite del sistema: solo software, hardware y software como un todo, lo utiliza una persona, una organizacin,... encontrar actores principales: los que tienen objetivos de usuario que se satisfacen mediante el uso de los servicios del sistema para cada actor, identificar sus objetivos de usuario y escenarios asociados definir los casos de uso que satisfagan los objetivos de usuario. Nombrarlos de acuerdo con sus objetivos. Normalmente los casos de uso del nivel de objetivo de usuario se correspondern uno a uno con los objetivos de usuario. describir brevemente (descripcin informal) cada caso de uso
IDENTIFICACIN DE 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
actores 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
20 / 69
identificar actores principales y objetivos adems de actores principales y objetivos obvios, se pueden utilizar diferentes preguntas para identificar otros menos evidentes: quin arranca y detiene el sistema? quin administra el sistema? quin gestiona los usuarios y la seguridad? es un actor el tiempo porque el sistema hace algo como respuesta a un evento de tiempo? quin evala la actividad o el rendimiento del sistema? ... 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
IDENTIFICACIN DE ACTORES
IDENTIFICACIN DE ACTORES
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
22 / 69
IDENTIFICACIN DE ACTORES
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
23 / 69
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.
Gestionar Devoluciones
Escenario principal de xito: Un cliente llega a una caja con artculos para devolver. El cajero utiliza el PDV para registrar cada uno de los artculos devueltos... Escenarios alternativos: 1. Si se pag con tarjeta de crdito, y se rechaza la transaccin de reembolso a su cuenta, informar al cliente y pagarle en efectivo. Si el identificador del artculo no se encuentra en el sistema, notificar al Cajero y sugerir la entrada manual del cdigo de identificacin (quizs est alterado). Si el sistema detecta fallos en la comunicacin con el sistema de contabilidad externo...
2.
3.
25 / 69
26 / 69
Informar emergencia
Escenario: accidenteAutopista
Escenario: terremoto
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:
<<inicia>>
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
Asignar Recursos
27 / 69
28 / 69
1. encontrar los objetivos de usuario 2. definir un caso de uso para cada uno
excepcin: agrupacin de objetivos separados del tipo Altas-Bajas-ModificacionesConsultas, en casos de uso denominados Gestionar<X>
Estos casos de uso, muy habituales en aplicaciones de gestin, se agrupan normalmente en un nico caso de uso. Lgicamente, si un actor est nicamente autorizado a realizar determinadas funciones (por ejemplo, consultar artculos), se mostrarn los casos de uso correspondientes
Registrar artculo
Borrar artculo
Gestionar artculos
Modificar artculo
Consultar artculo
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
30 / 69
Asignar Recursos
31 / 69
32 / 69
<<inicia>>
Gestionar Devoluciones
Abrir Caja
Comprador
<<extend>> iniciador
Gestionar Seguridad
Realizar transaccin
comunicacin
Sistema de cuentas bancarias
...
Enviar aviso
33 / 69
34 / 69
Diseo
Modelo de Diseo
Nada.
Repetir. Deberan ahora estabilizarse los aspectos de altor riesgo significativos para la arquitectura.
Nada
Estimacin muy
35 / 69
36 / 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:
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)
fase de mltiples iteraciones de duracin fija, centrada en completar el sistema puede ser necesario escribir o reescribir casos de uso menores (incluso puede necesitarse algn taller de requisitos) el grado de cambio de los requisitos es mucho menor que en la elaboracin, pues la mayora de los casos de uso funcionales y no funcionales ms importantes deben haberse estabilizado
37 / 69
38 / 69
priorizacin de casos de uso determinar cules son necesarios para el desarrollo en las primeras iteraciones y cules pueden dejarse para posteriores iteraciones cuestiones a tener en cuenta: 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
se detalla paso a paso la secuencia de acciones del caso de uso se trabaja estrechamente con los usuarios reales de los casos de uso
Prototipar la interfaz de usuario
39 / 69
40 / 69
una interaccin entre actores una validacin (normalmente a cargo del sistema) un cambio de estado realizado por el sistema (por ejemplo, registrando una venta o modificando un registro de la base de datos)
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
42 / 69
43 / 69
44 / 69
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 Flujo de eventos: Camino bsico 1. El comprador invoca al caso de uso para comenzar a hojear las facturas recibidas del sistema. El sistema verifica que el contenido de cada factura es consistente con las confirmaciones de pedido recibidas anteriormente (como parte del caso de uso Confirmar Pedido) y as indicrselo al comprador. La confirmacin de pedido describe qu elementos sern enviados, cundo, dnde y a qu precio. El comprador decide planificar una factura para pagarla por banco, y el sistema genera una peticin e pago para 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]. Ms tarde, si hay suficiente dinero en la cuenta del comprador, se hace un pago mediante transaccin en la fecha planificada. Durante la transaccin, el dinero se transfiere de la cuenta del comprador a la del vendedor, como se describe en el caso de uso abstracto Realizar Transaccin (que es utilizado por Pagar Factura). Tanto el comprador como el vendedor tienen notificacin del resultado de la transaccin. El banco recoge unos cargos por la transaccin, que se retiran de la cuenta del comprador [A3]. La instancia del caso de uso finaliza. [A2] En el paso 2, el comprador puede, en cambio, pedir al sistema que devuelva un rechazo de factura al 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 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 no se ha hecho ninguna transferencia.
1. 2.
El sistema EMERGENCIAS responde presentando un formulario al OficialCampo El OficialCampo cubre el formulario, seleccionando el nivel de emergencia, tipo, ubicacin, y una breve descripcin de la situacin. Tambin describe respuestas posibles a la situacin de emergencia. Una vez cubierto el formulario, el OficialCampo lo enva y en ese momento se notifica al Controlador. El Controlador revisa la informacin recibida y crea un Incidente en la base de datos llamando al caso de uso AbrirIncidente. El Controlador selecciona una respuesta y da un acuse de recibo del informe de emergencia. El OficialCampo recibe el acuse de recibo y la respuesta seleccionada. Se da acuse de recibo del informe del OficialCampo en menos de 30 segundos. La respuesta seleccionada llega en menos de 30 segundos desde que la enva el Controlador.
2.
3.
3.
4. Caminos alternativos
4. Requerimientos especiales:
45 / 69
46 / 69
refinamiento
se incorporan detalles al caso de uso se describe el flujo de eventos en mayor detalle se mejora la descripcin de las interacciones
3.
Estacin Controlador
4.
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)
Estacin OficialCampo
5.
47 / 69
48 / 69
RELACIONES DE GENERALIZACIN
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). 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
RELACIONES DE EXTENSIN
<<inicia>> <<extend>> OficialCampo Informar Emergencia
Conexin perdida
Comprador
Pagar factura
Vendedor
Ejecutar transaccin
Comprador
Pagar factura
Vendedor
<<extend>>
relaciones de extensin entre casos de uso 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 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
Ejecutar transaccin
49 / 69
50 / 69
RELACIONES DE INCLUSIN
relaciones de inclusin entre casos de uso permiten dividir las redundancias y reutilizar casos de uso el comportamiento slo debe dividirse en casos de uso separados cuando es compartido por dos o ms casos de uso no conviene dividir en exceso (especificacin confusa) regla general: utilizar relaciones de inclusin para comportamientos que se comparten entre dos o ms casos de uso
Controlador
Ver plano
<<include>>
Asignar Recursos
51 / 69
52 / 69
Registrar artculo
Bifurcacin
hay ms artculos? no Mostrar total con impuestos
Divisin concurrente
Introducir pago
Calcular cambio
Generar recibo
Unin concurrente
Estado final 53 / 69 54 / 69
Registrar artculo
Escenario simple de Procesar Venta para el pago en efectivo. 1. 2. 3. 4. El Cliente llega al terminal PDV El Cajero inicia una nueva venta El Cajero inserta el identificador del artculo El Sistema registra la lnea de venta y presenta la descripcin del artculo, precio y suma parcial
s Mostrar descripcin y precio
hay ms artculos?
no
El Cajero repite los pasos 3 y 4 hasta que se indique 5. 6. 7. ... El Sistema muestra el total con los impuestos calculados El Cajero le dice al Cliente el total, y pide que le pague El Cliente paga y el Sistema gestiona el pago
Introducir pago
Calcular cambio
55 / 69
56 / 69
introducirArticulo(artID, cantidad) introducirArticulo(artID, cantidad) descripcin, total *[ms artculos] finalizarVenta() total con impuestos Un mensaje con parmetros. Es una abstraccin que representa el evento del sistema de entrada de los datos del pago mediante algn mecanismo Escenario simple de Procesar Venta para el pago en efectivo. 1. 2. 3. 4. El Cliente llega al terminal PDV El Cajero inicia una nueva venta El Cajero inserta el identificador del artculo El Sistema registra la lnea de venta y presenta la descripcin del artculo, precio y suma parcial descripcin, total *[ms artculos] finalizarVenta() total con impuestos realizarPago(cantidad) cambio devuelto, recibo
Valor(es) de retorno asociado(s) con el mensaje anterior. Es una abstraccin que ignora la presentacin y el medio. La lnea de retorno es opcional si no se devuelve nada.
El Cajero repite los pasos 3 y 4 hasta que se indique 5. 6. 7. ... El Sistema muestra el total con los impuestos calculados El Cajero le dice al Cliente el total, y pide que le pague El Cliente paga y el Sistema gestiona el pago
57 / 69
58 / 69
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
Nombre peor
escanear(artID, cantidad)
59 / 69
60 / 69
10
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 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
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
___ ___ ___ ___ Modelo de casos de uso Caso de uso (descrito) ___ ___ ___ ___ Glosario Prototipar la interfaz
Prototipo de interfaz de usuario
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)
Requisitos adicionales 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
61 / 69
62 / 69
63 / 69
64 / 69
EL GLOSARIO
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 el glosario como Diccionario de Datos el diccionario de datos recoge datos sobre los datos (metadatos) fase de inicio: el glosario debe ser un documento sencillo de trminos y descripciones fase de elaboracin: se ampla a un diccionario de datos, incorporando atributos sobre los trminos: alias descripcin formato (tipo, longitud, unidad) relaciones con otros elementos rango de valores reglas de validacin importante tener en cuenta las unidades (medida, moneda,...) puede haber trminos compuestos hay trminos que incluyen otros elementos ejemplo: Venta puede incluir fecha, lugar, cliente, lugar,...
65 / 69
66 / 69
11
EL 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. Cdigo de Producto Universal Alias Fecha 10 de octubre, 2003
GLOSARIO
Descripcin Primer borrador. Se refinar durante la elaboracin
UPC
67 / 69
68 / 69
TRAZABILIDAD
La existencia de distintos tipos de requisitos y la derivacin de unos a partir de otros, hace necesario que se establezcan mecanismos de trazabilidad. Por ejemplo:
plantilla de ejemplo de un Documento de Anlisis de Requerimientos
Las peticiones de usuario (PET), estn relacionadas con las caractersticas funcionales bsicas (CAR) y a caractersticas adicionales (ADC) Las caractersticas funcionales a su vez son el punto de partida para los casos de uso Los casos de prueba, a su vez, estn relacionados con los requisitos a travs de la prueba de verificacin
Adems los requisitos no son independientes entre si Para poder determinar el impacto de un cambio en un requisito, las relaciones entre requisitos deben ser entendidas, documentadas y mantenidas Las herramientas como RequisitePro ayudan a mantener la trazabilidad
69 / 69
70 / 69
TRAZABILIDAD
Los mecanismos bsicos para mantener la trazabilidad son las matrices de seguimiento En ellas se muestra la relacin de un requisito de un tipo con un requisito de otro tipo. Ejemplos tpicos son:
Peticiones/Caractersticas Caractersticas/Casos de uso
TRAZABILIDAD
71 / 69
72 / 69
12
TRAZABILIDAD
ATRIBUTOS
Cada tipo de atributo puede tener un conjunto de atributos propio Los atributos pueden ser utilizados para crear vistas:
Caractersticas que tienen una determinada prioridad Iteracin a la que pertenecen determinados casos de uso
73 / 69
74 / 69
ATRIBUTOS
Estado Se asigna despus de la negociacin y debe ser revisado por el equipo de seguimiento del proyecto. El progreso para cada atributo se realizar despus de la definicin de cada una de las lneas base
Propuesta Indica que una caracterstica est an bajo discussion y que an no ha sido aceptada de manera oficial.. Capacidades que ya han sido aprobadas.
ATRIBUTOS
Beneficio
Atributo establecido por a nivel de direccin de producto para determinar la prioridad de desarrollo
Crtico Caracterstica esencial. Un fallo en la implementacin de esta funcionalidad indicar que el proyecto no cumple las necesidades bsicas del usuario. Un fallo en la implementacin de alguna de estas caractersticas implicar un retraso en la planificacin del proyecto. Caracterstica importante para la efectividad y eficiencia del sistema y que no puede ser sustituida de ninguna otra forma. Un fallo en la inclusin de esta caracterstica puede afectar a la satisfaccin del cliente, pero la planificacin no debe ser afectada.. Caractersticas tiles pero cuya funcionalidad, al menos temporalmente, no afecta a la utilizacin efectiva del producto. Si no est lista para la versin planificada puede ser incluida en una siguiente iteracin.
Aprobada
Importante
Incorporada
Caractersticas ya incorporadas en alguna lnea base del producto en un punto especifico en el tiempo.
til
75 / 69
76 / 69
ATRIBUTOS
Esfuerzo Riesgo
Establecido por el equipo de desarrollo. Debe estar medido en nmero de personas-semana, lneas de cdigo o alguna otra medida de complejidad. Se utilizar para establecer la prioridad Establecido por el equipo de desarrollo y basado en la probabilidad de que el proyecto experimente problemas no deseados durante su desarrollo (exceso de costes, retrasos o incluso cancelacin Se establecen normal mente tres niveles: alto, medio o bajo, aunque se pueden utilizar graduaciones ms finas. El riesgo puede ser inferido indirectamente midiendo la certeza (rango) de las estimaciones de la planificacin del proyecto por parte del equipo de desarrollo
ATRIBUTOS
Estabilidad
Establecido por el analista y el equipo de desarrollo a partir de la probabilidad de que la caracterstica cambia tras un anlisis posterior de la misma Se utiliza para establecer prioridades y para seleccionar que requisitos deben ser analizados en prximas reuniones
Versin objetivo
Versin en la que est planificada la inclusin de esta caracterstica
Asignada a
Persona o equipo de personas encargadas de escribir los requisitos definitivos para esta caracterstica y probablemente para su diseo e implementacin final Se utiliza como base para el establecimiento de responsabilidades
77 / 69
78 / 69
13
ATRIBUTOS
ATRIBUTOS
79 / 69
80 / 69
14