Estudio del estándar IEEE Std 830-1993.
Para esta etapa se utilizan las recomendaciones de
la IEEE según su estándar 830-1993. Dichas recomendaciones
describen el proceso de creación de la especificación de
requisitos software.
Este documento realiza en primer lugar una serie
de recomendaciones para la consecución de una buena especificación
de requisitos, además de describir las partes de que debe constar.
Respecto a las recomendaciones destacamos:
-
Naturaleza
La especificación de requisitos software
es una especificación para un producto software en particular, programa,
o conjunto de programas que realizan ciertas funciones en una un entorno
específico. Son cuestiones básicas que deben ser tratadas.:
-
Funcionalidad.
-
Interfaces externos.
-
Rendimiento.
-
Atributos: corrección, mantenimiento, seguridad, transportabilidad,
etc.
-
Restricciones de diseño impuestas sobre la implementación.
-
Entorno
La especificación de requisitos software
debe:
-
Definir correctamente todos los requisitos software. Un requisito software
puede existir por la naturaleza de la tarea a resolver o por una características
especial del proyecto.
-
No debe describir ningún diseño o detalle de implementación.
-
No debe imponer ninguna limitación adicional al software.
-
Características
-
Correcto
-
No ambiguo
-
Completo
-
Consistente
-
Clasificado por importancia y/o estabilidad
-
Verificable
-
Modificable
-
Rastreable
-
Evolución
La especificación de requisitos puede evolucionar
según progresa el proceso de desarrollo del software.
-
Inclusión de diseño
La especificación de requisitos software
no debe incluir generalmente cuestiones de diseño como:
-
Partición del software en módulos.
-
Asignar funciones a módulos.
-
Describir flujos de información o control entre módulos.
-
Elección de estructuras de datos.
Las partes señaladas son:
Índice de contenidos
1. Introducción
1.1. Objetivo
1.1.1. Propósito del documento
1.1.2. Audiencia a la que va dirigido
1.2. Alcance
1.2.1. Identificación del producto mediante un nombre
1.2.2. Qué hace y no hace el producto
1.2.3. Aplicaciones del software: beneficios, objetivos y metas
1.3. Definiciones, acrónimos y abreviaturas
1.4. Referencias
1.5. Visión general
1.5.1. Descripción del contenido del resto del documento
1.5.2 Organización del documento
2. Descripción general
2.1. Perspectiva del producto
2.1.1. Indicar si es un producto independiente o parte de un sistema
mayor
2.1.2. Interfaces de sistema
2.1.3. Interfaces de usuario
2.1.3.1. Características lógicas del interfaz
2.1.3.2. Cuestiones de optimización del interfaz de usuario
2.1.4. Interfaces hardware
2.1.5. Interfaces software
2.1.5.1. Descripción del producto software utilizado
2.1.5.2. Propósito del interfaz
2.1.5.3. Definición del interfaz: contenido y formato
2.1.6. Interfaces de comunicaciones
2.1.7. Limitaciones de memoria
2.1.8. Operaciones
2.1.8.1. Modos de operación de los distintos grupos de usuarios
2.1.8.2. Periodos de operaciones interactivas y automáticas
2.1.8.3. Funciones respaldo del procesamiento de datos
2.1.8.4. Operaciones de backup y recuperación
2.1.9. Requerimientos para adaptarse a la ubicación
2.1.9.1. Indicar cualquier dato o secuencia de inicialización
específico de cualquier lugar, modo de operación.
2.1.9.2. Características que deben ser modificadas para una
instalación en particular.
2.2. Funciones del producto
Esta subsección debe proporcionar en resumen
de las funciones principales que el software debe llevar a cabo. Las funciones
deben estar organizadas de manera que el cliente o cualquier otro lo entienda
perfectamente. Para ello se pueden utilizar métodos textuales o
gráficos.
2.3. Características de usuario
Indica el tipo de usuario al que se dirige la aplicación:
nivel de conocimientos, experiencia, etc.
2.4. Restricciones
Se debe indicar aquí cualquier tipo de limitación:
hardware, seguridad, protocolos de comunicación, etc.
2.5. Suposiciones y dependencias
En este apartado aparecerá cualquier factor
que afecte a los requerimientos. No se restricciones de diseño,
por ejemplo, asumir que un determinado sistema operativo estará
disponible.
2.6. Requisitos para futuras versiones del sistema
3. Requisitos específicos
Esta sección de la especificación
de requisitos software continen todos los requirimientos hasta un nivel
de detalle suficiente para permitir a los diseñadores diseñar
un sistema que satisfaga dichos requerimientos, y que permita diseñar
las pruebas que ratifiquen que el sistema cumple con los requirimientos.
El estándar propone una serie de plantillas
según el tipo de sistema con el que nos enfrentemos. En este caso
se elegido el organizado según la jerarquía funcional que
permite la inclusión de diagramas de flujos de datos y diccionarios
de datos. La elección se realiza por eliminación, ya que
como indica el documento, en el caso de que el proyecto no se ajuste a
ningún otro esquema éste es el más adecuado.
3.1. Requerisitos de interfaz externo
3.1.1. Intefaces de usuario
3.1.2. Interfaces hardware
3.1.3. Interfaces software
3.1.4. Interfaces de comunicaciones
3.2. Requisitos funcionales
3.2.1. Flujos de información
3.2.1.1. Diagrama de flujo de datos 1
3.2.1.2. Diagrama de flujo de datos 2
.
.
.
3.2.1.n. Diagrama de flujo de datos n
3.2.2. Descripción de procesos
3.2.2.1. Proceso 1
3.2.2.1.1. Entidades de entrada de datos
3.2.2.1.2. Algoritmo o fórmula del proceso
3.2.2.1.3. Entidades de datos afectadas
3.2.2.2. Proceso 2
3.2.2.2.1. Entidades de entrada de datos
3.2.2.2.2. Algoritmo o fórmula del proceso
3.2.2.2.3. Entidades de datos afectadas
.
.
.
3.2.2.3. Proceso m
3.2.2.m.1. Entidades de entrada de datos
3.2.2.m.2. Algoritmo o fórmula del proceso
3.2.2.m.3. Entidades de datos afectadas
3.2.3. Especificaciones de constructores de datos
3.2.3.1. Constructor 1
3.2.3.1.1. Tipo de registro
3.2.3.1.2. Campo constituyentes
3.2.3.1. Constructor 2
3.2.3.2.1. Tipo de registro
3.2.3.2.2. Campo constituyentes
.
.
.
3.2.3.1. Constructor p
3.2.3.p.1. Tipo de registro
3.2.3.p.2. Campo constituyentes
3.2.4. Diccionario de datos
3.2.4.1. Dato elemental 1
3.2.4.1.1. Nombre
3.2.4.1.2. Representación
3.2.4.1.3. Unidades/Formato
3.2.4.1.4. Precision/Exactitud
3.2.4.1.5. Rango
3.2.4.2. Dato elemental 2
3.2.4.2.1. Nombre
3.2.4.2.2. Representación
3.2.4.2.3. Unidades/Formato
3.2.4.2.4. Precision/Exactitud
3.2.4.2.5. Rango
.
.
.
3.2.4.q. Dato elemental q
3.2.4.q.1. Nombre
3.2.4.q.2. Representación
3.2.4.q.3. Unidades/Formato
3.2.4.q.4. Precision/Exactitud
3.2.4.1.5. Rango
3.3. Requisitos de rendimiento
3.4. Restricciones de diseño
3.5. Atributos de sistemas software
3.6. Otros requisitos
Apéndices
Índex
Última actualización: Julio 98.