Introducción:
El análisis de requisitos es una de las
tareas más importantes en el ciclo de vida del desarrollo de software, ya que
este establece que debe hacer el sistema, basándose en las características y
atributos que este debe poseer, omitiendo el cómo será su implementación, fase
posterior del diseño del
sistema.
El análisis de requisitos se puede definir como el estudio de las necesidades de los usuarios para llegar a una definición exacta de los requisitos del sistema, así como el refinamiento y proceso de estudios de estos. Esta definición es proporcionada por el IEEE, normativa útil para redactar la Especificación de Requisitos de Software (ERS), el cual es el documento final con todo el contenido de cómo se comportara a futuro el sistema según la necesidad del cliente.
sistema.
El análisis de requisitos se puede definir como el estudio de las necesidades de los usuarios para llegar a una definición exacta de los requisitos del sistema, así como el refinamiento y proceso de estudios de estos. Esta definición es proporcionada por el IEEE, normativa útil para redactar la Especificación de Requisitos de Software (ERS), el cual es el documento final con todo el contenido de cómo se comportara a futuro el sistema según la necesidad del cliente.
Objetivos de una ERS:
- Ayuda al cliente a describir claramente lo que desea obtener mediante un software. Este proceso de retroalimentación es clave, ya que el cliente es quien tiene el mayor conocimiento sobre los procesos que se llevan a cabo y así también se siente participe del propio desarrollo.
-
Ayuda al desarrollador a saber
que es realmente lo que quiere un cliente, ante las indecisiones o
desconocimientos que estos puedan presentar. Las ERS ayudan al desarrollador
dándole una base por donde partir el trabajo.
-
Servir como base para
desarrollos estándares de ERS, donde cada entidad puede desarrollar su propio
estándar según las necesidades que el sistema tenga.
Las características de un ERS son:
-
Debe ser Correcta, es decir,
que cada requisito represente una necesidad real.
-
No debe ser ambigua: solo debe
tener una interpretación en cuanto a las características del producto final.
-
Debe tener completitud en
requisitos, definición de respuestas a las posibles entradas, etiquetado de
figuras e imágenes y definición de términos.
-
Debe ser Verificable: que se
pueda chequear el software con respecto a un requisito.
-
Debe ser consistente, es decir,
que ningún requisito entre en conflicto con otro.
-
Debe ser clasificada: tomar la
importancia correspondiente a cada requisito.
-
Modificable: Que de haber un
cambio, sea realizado de manera fácil, rápida y consistente, con requisitos no
redundantes.
-
Explorable en sus requisitos,
donde el origen de este sea recorrido tanto hacia atrás como adelante, con
referencias.
La ERS es una descripción que debe decir
ciertas cosas de una determinada manera. Uno de estos estándares es el IEEE380.
A continuación se presenta como es la estructura según el IEEE en su estándar 830.
1.
Introducción
Aquí se proporciona un resumen del documento de ERS.
1.1.
Propósito
Se define el propósito del documento y a quién va dirigido.
1.2.
Ámbito del Sistema
Aquí se define el nombre del sistema, se explica lo que hace y no hace, la
descripción de beneficios, objetivos y metas.
1.3.
Definiciones, Acrónimos
y Abreviaturas
Se definen los términos utilizados en el desarrollo de
la ERS
1.4.
Referencias
Se presenta un listado de los documentos referenciados.
1.5. Visión general del documento
En esta sección
se describe brevemente la organización y contenidos de la ERS.
2. Descripción General
Aquí se describenlos factores que afectan al producto y
sus requisitos. Se define el contexto de cada requisito.
2.1. Perspectiva del Producto
En esta subsección se debe relacionar el futuro sistema con
otros productos. Se pueden considerar los siguientes tópicos.
2.1.1. Indicar si es producto
independiente o parte de un sistema mayor
2.1.2. Interfaces del Sistema
2.1.3. Interfaces de Usuarios
2.1.3.1.
Características Lógicas de Interfaz
2.1.3.2.
Cuestiones de Optimización del Interfaz de Usuario
2.1.4. Interfaces de Hardware
2.1.5. Interfaces de Software
2.1.5.1.
Descripción del Software Utilizado
2.1.5.2.
Propósito del Interfaz
2.1.5.3.
Definición de 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 grupos de Usuario
2.1.8.2.
Periodos de Operación Interactiva y Automáticas
2.1.8.3.
Funciones de Respaldo del Procesamiento de Datos
2.1.8.4.
Operaciones de Backup y Recuperación
2.1.9. Requerimientos para Adaptación
de Ubicación
2.1.9.1.
Indicar cualquier dato de inicialización especifica en 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
En esta sección se proporciona la información de las
funciones principales que el software debe llevar a cabo. Debe ser legible
tanto por el cliente como por el desarrollador.
2.3. Características de los
Usuarios
Se describe el usuario al cual se dirige esta
aplicación, asi como su experiencia técnica, nivel de conocimientos, etc.
2.4. Restricciones
Se indica aquí cualquier limitación impuesta por el
cliente al desarrollador. Pueden ser por políticas empresariales, límite de
software y hardware, protocolos de comunicación, etc.
2.5. Suposiciones y
Dependencias
En esa sección se describen aquellos factores que, de
cambiar, pueden afectar los requisitos del sistema.
2.6. Requisitos Futuros
Aquí se esboza alguna mejora a futuro del sistema.
3. Requisitos Específicos
Esta sección contiene los requisitos a un nivel de
detalle suficiente como para permitir a los diseñadores diseñar un sistema que
satisfaga estos requisitos, y que permita al equipo de pruebas planificar y
realizar las pruebas que demuestren si el sistema satisface, o no, los
requisitos.
3.1. Interfaces Externas
Se describen los requisitos que afectan a la interfaz de
usuario, interfaz con otros sistemas e interfaces de comunicación.
3.2. Funciones
En esta subsección se especifican todas las funciones
que debe llevar a cabo el software. Debe ser organizada según los tipos de
usuario, los objetos (entidades del mundo real reflejadas en el sistema), por
objetivos, estímulos y jerarquía funcional.
3.3. Requisitos de Rendimiento
Se detallarán los requisitos relacionados con la carga
que se espera tenga que soportar el sistema. Por ejemplo, el número de
terminales, el número esperado de usuarios simultáneamente conectados, número
de transacciones por segundo que deberá soportar el sistema, etc.
También, si es necesario, se especificarán los requisitos de datos, es decir, aquellos
requisitos que afecten a la información que se guardará en la base de datos.
3.4. Restricciones de Diseño
Es todo aquello que restrinja las decisiones relativas
al diseño de la aplicación.
3.5. Atributos del Sistema
Se detallan los atributos de calidad (las “ilities”) del
sistema: Fiabilidad, mantención, portabilidad, y, muy importante, la seguridad.
Deberá especificarse qué tipos de usuario están autorizados, o no, a realizar
ciertas tareas, y cómo se implementarán los mecanismos de seguridad (por
ejemplo, por medio de un login y una password).
3.6. Otros Requisitos
Cualquier otro requisito que no encaje en otras
secciones.
4. Apéndices
Pueden contener todo tipo de información relevante para
la ERS pero que, propiamente, no forme parte de la ERS.
Por ejemplo:
1. Formatos de entrada/salida de datos, por pantalla o
en listados.
2. Resultados de análisis de costes.
3. Restricciones acerca del lenguaje de programación
5. Índice
Conclusión:
La importancia de contar con una buena definición de las especificaciones de requerimientos es tener la comprensión total de las necesidades del usuario. Puede estar totalmente bien diseñado y codificado el software, pero de no analizarse bien los requerimientos del cliente puede llevar a que este se sienta defraudado y a la frustración del desarrollador.
El documento de especificación de requisitos del software indica las necesidades del cliente y lo que deben implementar los desarrolladores. Es la principal razón por la cual la fase de análisis de requerimientos tiene tanta importancia.
La existencia de un estándar como el IEEE830 permite la coherencia en la especificación de requisitos y ayuda a no dejar cabos sueltos.
No hay comentarios:
Publicar un comentario