Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Indice
1. 2. 3. 4. 5. 6. 7. Ejemplo Flujo de trabajo Anlisis de requisitos Negociacin y validacin Especificacin de requisitos Documento de especificacin de requisitos Gestin de requisitos
Ejemplo
18.1.2 Guiado:
Cuando el piloto mueva la palanca hacia la derecha, el alern derecho se elevar adecuadamente y el alern izquierdo bajar adecuadamente. Igualmente, cuando el piloto mueva la palanca hacia la izquierda, el alern derecho bajar adecuadamente y el alern izquierdo se elevar adecuadamente.
Ejemplo: Refinado
18.1.2 Guiado 18.1.2.1 Direccin: Cuando el piloto mueva la palanca hacia la derecha, el alern derecho se elevar y el alern izquierdo bajar. Igualmente, cuando el piloto mueva la palanca hacia la izquierda, el alern derecho bajar y el alern izquierdo se elevar. 18.1.2.2 Graduacin: Movimientos incrementales de la palanca correspondern a movimientos incrementales de los alerones.
Ejemplo: Refinado
Resulta que hoy, gracias al software se puede proteger la integridad estructural del avin: 18.1.2.2 Graduacin: Movimientos incrementales de la palanca correspondern a movimientos incrementales de los alerones, sin superar nunca la integridad estructural del avin.
Flujo de trabajo
Enumerar requisitos candidatos Comprender el contexto del sistema Capturar requisitos funcionales Capturar requisitos no funcionales
Un modelo del dominio describe los conceptos importantes del contexto como objetos del dominio y enlaza estos objetos unos con otros Los objetos del dominio representan las cosas que existen o los eventos que suceden en el entorno en que trabaja el sistema
El modelo del dominio se describe mediante diagramas de UML (especialmente mediante el diagrama de clases)
Resumen
Trabajo a realizar Artefactos resultantes
Para capturar los requisitos de forma eficaz es necesario disponer de un conjunto de tcnicas y artefactos que proporcionen una visin suficientemente buena del sistema
Anlisis de requisitos
En esta etapa se delimita el alcance del sistema
Se decide qu requisitos estn dentro o fuera del alcance del sistema
Una vez identificados los requisitos se puede construir una matriz de dependencia o de interaccin La matriz listar los requisitos en filas y columnas de forma ordenada para establecer las posibles dependencias
Anlisis de requisitos
Ejemplo de matriz de dependencia
Requisito R1 R2 R3 R4 Solapamiento Solapamiento Conflicto R1 R2 R3 R4
La parte de arriba de la matriz incluyendo la diagonal no se utiliza El resto de celdas indican si existe o no solapamiento entre requisitos, si estn en conflicto o son independientes (celdas vacas)
Anlisis de requisitos
Los requisitos en conflicto deben ser discutidos con los clientes y reformulados Los requisitos solapados deben ser reformulados para evitar el solapamiento La matriz de dependencia es una tcnica simple pero efectiva para encontrar conflictos y solapamientos cuando el nmero de requisitos es relativamente pequeo Cuando existe un gran nmero de requisitos, se puede continuar utilizando pero agrupando los requisitos por categoras
Anlisis: Clasificacin
Los requisitos se pueden clasificar siguiendo varios criterios:
Funcionales vs No Funcionales De producto vs de Proceso Prioridad Alcance Voltiles vs Estables
Negociacin y validacin
Los requisitos obtenidos a partir de las necesidades de los clientes pueden entrar en conflicto Algunos requisitos pueden ser ambiguos Otros pueden permanecer ocultos Por estas razones los requisitos deben ser negociados y validados antes de incorporarlos al documento de requisitos La negociacin y validacin de requisitos se realiza en paralelo al proceso de elicitacin
Negociacin y validacin
La negociacin de requisitos se basa en la realizacin de un borrador del documento de requisitos
Los requisitos listados en el borrador se negocian y modifican si es necesario Los requisitos innecesarios son eliminados Nuevos requisitos son aadidos
Especificacin de requisitos
La especificacin conlleva a la realizacin de un documento Este documento puede ser revisado, evaluado y aprobado En proyectos que no incluyen slo software (sistemas informticos), se distinguen otros dos documentos previos:
Definicin del Sistema. Define los requisitos de los usuarios desde la perspectiva del dominio de aplicacin Especificacin de Requisitos del Sistema. Incluye los requisitos del sistema, de los cuales se pueden derivar los requisitos software
Especificacin de requisitos
Especificacin de requisitos software (ERS)
Software Requirements Specification (SRS)
Especificacin: Documento que define, de forma completa, precisa y verificable, los requisitos, el diseo, el comportamiento u otras caractersticas de un sistema o componente de un sistema Software: Conjunto de programas, procedimientos y documentacin asociada a la operacin de un sistema informtico
Especificacin de requisitos
Este documento es la base para el acuerdo entre clientes y desarrolladores sobre lo que har el producto
Es de gran ayuda para una evaluacin rigurosa de los requisitos antes del comienzo del diseo, reduciendo los esfuerzos posteriores de rediseo Suele estar escrito en lenguaje natural, acompaado de descripciones formales o semi-formales Las notaciones deben permitir describir los requisitos tan preciso como sea posible.
Especificacin de requisitos
Implicaciones:
Describir correctamente todos los requisitos del software No describir ningn detalle del diseo del software
Especificacin de requisitos
Caractersticas de una buena ERS (IEEE 830):
No ambigua
Un requisito ambiguo se presta a distintas interpretaciones Cada caracterstica del producto final debe ser descrita utilizando un trmino nico Si un trmino tiene distintos significados en distintos contextos se debe incluir un glosario
Completa:
Incluye todos los requisitos significativos del software Define la respuesta del software a todas las posibles clases de datos de entrada y en todas las posibles situaciones Est conforme con cualquier estndar de especificacin que se deba cumplir. Estn etiquetadas y referenciadas en el texto todas las figuras, tablas y diagramas.
Especificacin de requisitos
Caractersticas de una buena ERS (IEEE 830):
Fcil de Verificar
Existe algn procedimiento finito y efectivo en coste para que una persona o mquina compruebe que el SW satisface cada requisito
Consistente
Los Requisitos no entran en conflicto
Especificacin de requisitos
Caractersticas de una buena ERS (IEEE 830):
Fcil de Modificar
Cualquier cambio se puede realizar fcil, de forma completa y consistente Implica una organizacin coherente y manejable (Tabla de Contenidos, ndice y Referencias Cruzadas) Es fundamental que la ERS sea No Redundante
Especificacin de requisitos
Destinatarios de la ERS:
Clientes. Para comprobar que satisface sus necesidades y para hacer cambios a los requisitos Gestores. Para planificar el proceso de desarrollo Ingenieros de Desarrollo. Para comprender el sistema a desarrollar Ingenieros de Pruebas. Para elaborar pruebas de validacin del sistema Ingenieros de Mantenimiento. Para facilitar la comprensin del sistema y las relaciones entre sus partes
Especificacin de requisitos
IEEE Std 830 (1998)
IEEE Recommended Practice for Software Requirements Specifications.
Disponible versin en espaol.
Documento de ERS
Estructura para la ERS:
1. Introduccin 1.1. Propsito 1.2. mbito 1.3. Definiciones, Siglas y Abreviaturas 1.4. Referencias 1.5. Visin Global 2. Descripcin general 2.1. Perspectiva del producto 2.2. Funciones del producto 2.3. Caractersticas del usuario 2.4. Limitaciones generales 2.5. Supuestos y dependencias 2.6. Requisitos futuros 3. Requisitos especficos Apndices ndice
3. Requisitos especficos 3.1. Requisitos funcionales 3.1.1. Requisito funcional 1 3.1.1.1. Introduccin 3.1.1.2. Entradas 3.1.1.3. Procedimiento 3.1.1.4. Salidas 3.1.2. Requisito funcional 2 .................. 3.1.n. Requisito funcional n 3.2. Requisito de Interfaz externa 3.2.1. Interfaces de usuario 3.2.2. Interfaces hardware 3.2.3. Interfaces software 3.2.4. Interfaces de comunicaciones 3.3. Requisitos de ejecucin 3.4. Restricciones de diseo 3.4.1. Acatamiento de estndares 3.4.2. Limitaciones hardware 3.5. Atributos de calidad 3.5.1. Seguridad 3.5.2. Mantenimiento 3.6. Otros requisitos 3.6.1. Base de datos 3.6.2. Operaciones 3.6.3. Adaptacin de situacin
Documento de ERS
1. Introduccin:
1.1 Propsito:
Propsito del documento y a quin va dirigido
1.2 mbito
Se le da un nombre al futuro sistema. Qu hace y qu no hace el producto SW? Beneficios, objetivos y metas
1.4 Referencias
Lista completa de todas las referencias de los documentos en otra parte de la ERS
Documento de ERS
2. Descripcin General:
2.1 Perspectiva del Producto
Relacin con otros Productos SW del Sistema
Interfaces Sistema; Usuario; HW; SW; Comunicaciones ..
Documento de ERS
3. Requisitos Especficos: Contiene todos los requisitos software. Para cada requisito, se debe incluir:
Identificador nico Descripcin de cada entrada (el estmulo) en el sistema, Cada salida (la contestacin) del sistema, y Todas las funciones realizadas por el sistema en la salida a una entrada o en el apoyo de la salida.
Los requisitos se pueden organizar y ordenar de varias maneras (ver anexo A del estndar).
Documento de ERS
Requisitos Especficos: segn modo (anexo A)
3.1 Interfaces Externas
Descripcin detallada de las entradas y salidas del Sistema SW Complementa las descripciones de Interfaz de los apartados anteriores
Gestin de requisitos
Los requisitos deben ser gestionados La Gestin de Requisitos implica la recoleccin, almacenamiento y mantenimiento de grandes cantidades de informacin Existen herramientas CASE que facilitan la gestin de requisitos:
BBDD para almacenar requisitos Facilidades de anlisis y generacin de documentos Facilidades de gestin de cambios Facilidades de trazabilidad
Gestin de requisitos
La identificacin y clasificacin de requisitos es necesaria para poder gestionarlos de forma eficiente Los requisitos deben numerarse usando algn tipo de esquema Este esquema debe incluir una clasificacin de los requisitos en grupos ms manejables Existen diferentes tcnicas para la identificacin y clasificacin de requisitos
Gestin de requisitos
Tcnicas para clasificacin e identificacin:
Identificadores nicos. Numeracin secuencial asignada manualmente o por una herramienta CASE de forma automtica Numeracin segn una jerarqua. Numeracin asignada segn la posicin dentro del documento de requisitos. Por ejemplo, el sptimo requisito de la tercera seccin del segundo captulo: 2.3.7 Numeracin secuencial dentro de cada categora. Se asigna un identificador a la categora del requisito al que se le aade la numeracin correspondiente.
Gestin de requisitos
Los requisitos se pueden agrupar jerrquicamente Un requisito padre se compone de una serie de requisitos hijos Un requisito hijo es un sub-requisito de su padre Las relaciones jerrquicas introducen un nivel adicional a la clasificacin de requisitos La jerarqua de requisitos permite definir requisitos en diferentes niveles de abstraccin
Gestin de requisitos
Los requisitos cambian, pueden ser desestimados o pueden aparecer nuevos requisitos en cualquier etapa del ciclo de vida Cuanto ms avanzado est el desarrollo ms costar introducir un cambio en los requisitos La gestin de cambios involucra un rastreo de todos los requisitos relacionados Las herramientas CASE que permiten manejar diferentes versiones y rastrear los cambios efectuados en los requisitos son muy tiles en estos casos
Gestin de requisitos
La trazabilidad de los requisitos es una parte importante de la gestin de los cambios La trazabilidad implica mantener una serie de relaciones entre requisitos para rastrear los efectos de un cambio
Gestin de requisitos
Algunos requisitos cambian ms que otros Requisitos Estables
Esencia del Sistema y su Dominio de Aplicacin
Requisitos Voltiles
Especficos del Sistema en un entorno particular para un cliente particular Las causas del cambio son variadas:
Correccin de errores y problemas en los requisitos Conocimiento creciente del cliente/usuario Problemas tcnicos, de calendario o costes Cambio en las prioridades del cliente
Bibliografa
Requirements Analysis and System Design. Leszek A. Maciaszek Ingeniera del Software. Ian Sommerville. Sptima edicin Agile Software Requirements. Dean Leffingwell