Identificación de requisitos de software
Principios de Especificación
No funcionales
Incluyen restricciones de tiempo, el tipo de proceso de desarrollo a utilizar, fiabilidad, tiempo de respuesta, capacidad de almacenamiento.
Una especificación debe abarcar el entorno en el que el sistema opera.
Especificación de los requisitos del software
Los requerimientos funcionales describen una interacción entre el sistema y su ambiente, describen cómo debe comportarse el sistema ante determinado estímulo.
En algunos casos, también pueden declarar explícitamente lo que el sistema no debe hacer.
Análisis de requerimientos
*Cruce de referencias automatizado
*Modelos automatizados para poner en ejecución funciones
*Prototipos
Funcionales
Requerimientos del Producto
Se derivan de factores externos al sistema y de sus procesos de desarrollo.
Especifican el comportamiento del producto.
Requerimientos Organizacionales
Derivan de políticas y procedimientos existentes en la organización del cliente y del desarrollador.
Es un documento que define, de forma completa, precisa y verificable, los requisitos, el diseño y el comportamiento u otras características de un sistema.
Los requerimientos funcionales de un sistema describen lo que el sistema debe hacer.
Identificar el cliente
*Lectura
*Cruce de referencias manual
*Entrevistas
*Revisiones
*Listas de comprobación
*Modelos manuales para chequeo de funciones y relaciones
*Escenarios
*Pruebas matemáticas
Debe ser modificable.
¿Qué es el anális de requerimientos?
Es una característica del sistema o una descripción de algo que el sistema es capaz de hacer con el objeto de satisfacer el propósito del sistema.
“La carencia de buenos requisitos ha sido la causa del fracaso de proyectos con presupuestos de millones de dólares, ha impedido el desarrollo productivo, y ha sido el mayor contribuyente de los costos elevados del mantenimiento del software”
(Dr. Raymond Yeh in the forward to System and Software Requirements Engineering, IEEE Computer Society Press Tutorial, Editors, M. Dorfman, and R.H Thayer, 1990)
Revisión de la especificación
Análisis de requerimientos
Requerimientos del cliente:
Se documenta los deseos y necesidades del cliente y se expresa en lenguaje claro para él.
Revisión con el cliente
Identificación de requerimientos para el software
Inspeccionar los requerimientos del cliente
Construir los requerimientos del desarrollador
Se determina si la especificación es consistente con la definición de los requerimientos.
Requerimientos
- Expresarse de modo adecuado
- Ser de acceso sencillo
- Numerarse
- Acompañarse con pruebas que lo verifiquen
- Tomarse en cuenta en el diseño
- Tomarse en cuenta en el código
- Probarse aislado
- Probarse junto con otros requerimientos
- Validarse con las pruebas después de construir la aplicación
La definición de requerimientos es un listado completo de todas las cosas que el cliente espera que haga el sistema propuesto.
Elementos de la ERS (IEEE Std 830)
Si el requerimiento es sencillo e independiente
Si el requerimiento incluye elementos de proceso, cada uno con entradas y salidas
El análisis de requerimietos permite especificar las características operacionales del software, indicar la interfaz del software con otros elementos del sistema y establecer las restricciones que debe cumplir el software.
Proceso de análisis
Escribir los requerimientos del cliente en forma de documento estándar
(Con la aprobación del cliente)
Requerimientos del desarrollador:
Se documentan los requerimientos de manera específica y estructurada.
No funcionales
Técnicas de validación de requerimientos:
Maneras de expresar los requerimientos de los clientes
Tres categorías de requerimientos:
Técnicas manuales
Es parte de los estándares que es necesario cubrir cuando se pretende cumplir con las normas de calidad, esta estructura se respeta en la mayoría de las especificaciones de requerimientos en cualquier parte del mundo cuando se elaboran sistemas de software a nivel industrial.
Técnicas automatizadas
¿Qué sucede en la revisión de requerimientos?
Estructura:
1. Introducción
1.1 Propósito
1.2 Alcance
1.3 Definiciones, acrónimos y abreviaciones
1.4 Referencias
1.5 Descripción
2. Descripción general
2.1 Perspectiva del producto
2.2 Funciones del producto
2.3 Características del usuario
2.4 Limitaciones
2.5 Supuestos y dependencias
3. Requerimientos específicos
Apéndice
Índice
- Se revisan las metas declaradas y los objetivos del sistema.
- Se comparan los requerimientos con las metas y objetivos para verificar que todos los requerimientos son necesarios.
- Se describe el ambiente en el cual debe operar el sistema.
- Se evalúa y documenta todo riesgo implicado en el desarrollo o en el funcionamiento real del sistema.
- Se habla sobre las pruebas del sistema.
IEEE 830 propone 8 plantillas para los requerimientos específicos
Si los requerimientos incluye estados en los que puede estar la aplicación
- Se expresa con oraciones claras dentro de la sección adecuada de la especificación de requerimientos de software.
1.- Plantilla de ERS organizada por el modo (versión 1).
2.- Plantilla de SRS organizada por el modo (versión 2).
3.- Plantilla de SRS organizada por la clase del usuario.
4.- Plantilla de SRS organizada por el objeto.
5.- Plantilla de SRS organizada por el rasgo o característica.
6.- Plantilla de SRS organizada por el estímulo.
7.- Plantilla de SRS organizada por la jerarquía funcional.
8.- Plantilla de SRS con organización múltiple.
Si el requerimiento es una interacción entre el usuario y la aplicación
Flujo de datos
Caso de uso:
- Requerimientos que deben ser absolutamente satisfechos
Separar funcionalidad de implementación.
Entrevistar representantes del cliente
- Requerimientos que son muy deseables pero no indispensables
- Requerimientos que son posibles, pero que podrían eliminarse
Requerimientos no funcionales
Requerimientos funcionales
Requerimientos Externos
Los requerimientos no funcionales ponen límites y restricciones al sistema.
¿Qué es un requerimiento?
El análisis de requerimientos proporciona una vía para que los clientes y lo desarrolladores lleguen a un acuerdo sobre lo que debe hacer el sistema. La especificación, producto de este análisis proporciona las pautas a seguir a los diseñadores del sistema.
Comentarios
Publicar un comentario