Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion
"Lo mas complicado de construir un sistema software es decidir
exactamente que construir….. Y ninguna otra parte afecta tan
negativamente al resultado si se hace mal. Ninguna otra es tan
dificil de rectificar." F.P.Brooks
Dentro de las actividades de la Ingenieria de Software, las
relaciones con la obención y gestión de los requisitos resultan
especialmente críticas. Este conjunto de actividades consiste en
obtener y documentar los requisitos para desarrollar el sistema y
posteriormente analizarlos con el objetivo de responder a la
pregunta ¿Que debe hacerse?
Un proyecto software, simplificado al máximo, es básicamente la
transformación de un conjunto de requisitos en un sistema
informático. En consecuencia, si se parte de diferentes requisitos
se obtendran diferentes sistemas como resultado. He aqui uno de
los componentes mas importantes de la gestión de requisitos,
puesto que si la descripcion de los mismos no es adecuada, o se
desvía de lo que el cliente o los usuarios finales desean, entonces
tal vez obtendremos un sistema perfecto ( o tal vez no) pero es
evidente que dicho sistema no satisfará las expectativas
generadas.
Establecer con exactitud los requisitos de un sistema es, por tanto,
un principio esencial para llevar a cabo con exito un desarrollo de
software. Es una de las tareas mas complicadas a las que se
enfrentan los desarrolladores.
La obtención de los requisitos es, en definitiva, un proceso muy
complejo en el que intervienen diferentes personas, las cuales
tienen distinta formación y conocimiento del sistema
(desarrolladores, clientes, usuarios, etc.).
En este proceso, es necesario tener en cuenta la influencia de
diversos factores que impactan en el desarrollo del proceso, como
son:
La complejidad del problema a resolver.
El cliente no siempre sabe en terminos concretos lo que
quiere.
Dificultades de comunicacion entre los desarrolladores y el
cliente, incluyo entre los mismo miembros del equipo de
desarrollo.
Un buen numero de requisitos son ocultos, pues no pueden
obtenerse directamente de los usuarios y cliente, sino que
dependen del proceso de construccion del software.
Aspectos relacionados con la naturaleza cambiente de los
requisitos y la inclusion de nuevos durante el proceso.
Definiciones preliminares y características
Tipos de requisitos
Obtencion de requisitos
Análisis de requisitos
Especificación de requisitos
La especificación de los requisitos consiste en la completa
descripción de los requisitos del sistema a desarrollar. En dicha
especificación se incluye, para cada requisito, información
complementaria que permite gestionarlos e implementarlos,
información que a menudo es "atributo de los requisitos".
Completa
Verificable
Consistente
Modificable
Susceptible de permitir seguimientos
Utilizable durante las fases de operación y mantenimiento.
Y además, no debe contener ambiguedades.
Tabla de contenidos
1. Introducción
1.1. Propósito
1.2. Ambito del Sistema
1.3. Definiciones, Acrónimos y Abreviaturas
1.4. Referencias
1.5. Visión General del Documento
2. Descripción General
3. Requisitos Específicos
4. Apéndices
Representación de requisitos
Modelos entidad-relación
Modelo conceptual de datos
Notaciones formales
Validación de Requisitos
La validación de los requisitos consiste en examinar si los
documentos de requisitos definen el software que los usuarios
esperan y no otro. Al igual que cualquier producto del proceso de
desarrollo, los documentos de requisitos estan sujetos a procesos
de valicación y verificación para comprobar, entre otras cuestiones
que el ingeniero de software ha comprendido los requisitos, que los
documentos son acordes a los estandares establecidos o que
dichos documentos son consistentes, comprensibles y
completos. Los metodos comunes de validación son:
Revisión de requisitos, por un grupo de personas
designadas especialmente para tal fin, se revisa en busca de
inconsistencias, malentendidos, puntos poco claros,
conflictos entre requisitos y otros problemas similares.
Prototipado, que su construcción es una forma de probar
cualquier producto.
Validación del modelo, se lleva a cabo para verificar si el
modelo es consistente y si refleja adecuadamente los
requisitos reales del sistema.
Pruebas de aceptación, que permiten comprobar si el
producto terminado satisface o no el requisito.
Modelo de Requisitos
El modelo de requisitos tiene como objetivo delimitar el
sistema y capturar la funcionalidad que debe ofrecer desde la
perspectiva del usuario. Su propósito es comprender
completamente el problema y sus implicaciones. Este modelo
puede funcionar como un contrato entre el desarrollador y el
cliente o usuario del sistema, y por lo tanto proyecta lo que el
cliente desea según la percepción del desarrollador. Por lo
tanto, es esencial que los clientes puedan comprender este
modelo.
El modelo de requisitos es el primer modelo a desarrollarse,
sirviendo de base para la formación de todos los demás
modelos en el desarrollo de software. En general, en
cualquier cambio en la funcionalidad del sistema es más fácil
de hacer, y con menores consecuencias, a este nivel que
posteriormente.
El modelo de requisitos que desarrollaremos se basa en la
metodología Objectory (Jacobson et al. 1992), basada
principalmente en el modelo de casos de uso.
Actualmente esta metodología es parte del Proceso Unificado
de Rational (RUP). El modelo de casos de uso y el propio
modelo de requisitos son la base para los demás modelos.
Casos de Uso (Use Case)
El modelo de casos de uso sirve para expresar el modelo de
requisitos, el cual se desarrolla en cooperación con otros
modelos como se verá más adelante.
Casos de Uso es una técnica para capturar información
respecto de los servicios que un sistema proporciona a su
entorno.
Los Casos de Uso particionan el conjunto de necesidades
atendiendo a la categoría de usuarios que participan en el
mismo.
El usuario debería poder entenderlos para realizar su
validación.
No pertenece estrictamente al enfoque orientado a objeto, es
una técnica para captura y especificación de requisitos.