Ingenieria de Requisitos (Gestión de Requisitos)
¿Qué se entiende por Ingeniería de Requisitos (IR)?
La Ingeniería de Requisitos es definida
como: La disciplina de la Ingeniería de Software que
trata con actividades y intenta comprender las necesidades
exactas de los usuarios del sistema software, para traducir tales
necesidades en instrucciones precisas y no ambiguas las cuales
podrían ser posteriormente utilizadas en el desarrollo del
sistema. (Loucopoulos,1995).
Ingeniería de Requerimientos es el proceso en el
cual se transforman los requerimientos declarados por los
clientes , ya sean hablados o escritos, a especificaciones
precisas, no ambiguas, consistentes y completas del
comportamiento del sistema, incluyendo funciones, interfaces,
rendimiento y limitaciones. Es el proceso mediante el cual se
intercambian diferentes puntos de vista para recopilar y modelar
lo que el sistema va a realizar. (Richard, 1997).
Ingeniería de Requisitos (IR). Sus Características
La Ingeniería de Requisitos en una disciplina de
la Ingeniería de Software, en ésta, se
identifica el propósito del sistema, dirección y
alcance. Abarca un conjunto de actividades y transformaciones que
pretenden comprender las necesidades de un sistema software y
convertir la declaración de estas necesidades en una
descripción completa, precisa y documentada siguiendo un
determinado estándar.
La Ingeniería de Requerimientos cumple un papel
primordial en el proceso de producción de software, ya que
enfoca un área fundamental: la definición de lo que
se desea producir. Su principal tarea consiste en la
generación de especificaciones correctas que describan con
claridad, sin ambigüedades, en forma consistente y compacta,
el comportamiento del sistema; de esta manera, se pretende
minimizar los problemas relacionados al desarrollo de sistemas.
El proceso de Ingeniería de Requisitos tiene como
objetivos, descubrir, modelar, validar y mantener un documento de
requisitos, utilizando una combinación de métodos,
herramientas y actores.
Actividades de la Ingeniería de Requerimientos
Las actividades de la Ingeniería de Requisitos
más comunes son:
Estudio de Viabilidad
Elicitación de Requisitos
Análisis de Requisitos
Especificación de Requisitos(ERS)
Validación de Requisitos
Gestión de Requisitos
Estudio de viabilidad: El estudio de viabilidad
permite decidir si el sistema propuesto es conveniente. Es un
estudio rápido y orientado a conocer. Además tiene
en cuenta si el sistema contribuye a los objetivos de la
organización, si el sistema se puede realizar con la
tecnología actual y con el tiempo y el coste previsto, y
si el sistema puede integrarse con otros existentes.
Elicitación de requisitos:
Elicitación (o extracción o determinación)
de requisitos, es el proceso mediante el cual los usuarios
descubren, revelan, articulan y comprenden los requisitos que
desean. En esta etapa, se trata de descubrir los requisitos y
personal técnico trabaja con los clientes y usuarios para
descubrir el dominio de la aplicación, los servicios que
se deben proporcionar y las restricciones. Puede implicar a
usuarios finales, encargados, ingenieros implicados en el
mantenimiento, expertos del dominio, etc. Son los llamados
participantes (stakeholders).
Análisis de requisitos: El proceso de
razonamiento sobre los requisitos obtenidos en la etapa anterior,
detectando y resolviendo posibles inconsistencias o conflictos,
coordinando los requisitos relacionados entre sí,
etc.
Especificación de Requisitos (ERS):La
especificación de requisitos de software es la actividad
en la cual se genera el documento, con el mismo nombre, que
contiene una descripción completa de las necesidades y
funcionalidades del sistema que será desarrollado;
describe el alcance del sistema y la forma en como hará
sus funciones, definiendo los requerimientos funcionales y los no
funcionales. En la SRS se definen todos los requerimientos de
hardware y software, diagramas, modelos de sistemas y cualquier
otra información que sirva de soporte y guía para
fases posteriores.
Validación de requisitos: El proceso de
confirmación, por parte de los usuarios, de que los
requisitos especificados son válidos, consistentes, y
completos.
Validación de Requisitos La
validación es la actividad de la IR que permite demostrar
que los requerimientos definidos en el sistema son los que
realmente quiere el cliente; además revisa que no se haya
omitido ninguno, que no sean ambiguos, inconsistentes o
redundantes.
En este punto es necesario recordar que la ERS debe
estar libre de errores, por lo tanto, la validación
garantiza que todos los requerimientos presentes en el documento
de especificación sigan los estándares de calidad.
No debe confundirse la actividad de evaluación de
requerimientos con la validación de requerimientos. La
evaluación verifica las propiedades de cada requerimiento,
mientras que la validación revisa el cumplimiento de las
características de la especificación de requisitos.
Durante la actividad de validación pueden hacerse
preguntas en base a cada una de las características que se
desean revisar. La validación de requerimientos es
importante pues de ella depende que no existan elevados costos de
mantenimiento para el software desarrollado.
Gestión de Requisitos: Es el proceso de
manejar los requisitos que cambian durante el desarrollo del
sistema.
El proceso de Ingeniería de Requisitos se adapta
a los diferentes modelos de procesos de Ingeniería de
Software como pueden ser, de cascada, espiral, prototipazo,
transformacional, etc.
Personal involucrado en la Ingeniería de Requerimientos
Realmente, son muchas las personas involucradas en el
desarrollo de los requerimientos de un sistema. Es importante
saber que cada una de esas personas tienen diversos intereses y
juegan roles específicos dentro de la planificación
del proyecto; el conocimiento de cada papel desempeñado,
asegura que se involucren a las personas correctas en las
diferentes fases del ciclo de vida, y en las diferentes
actividades de la IR.
No conocer estos intereses puede ocasionar una
comunicación poco efectiva entre clientes y
desarrolladores, que a la vez traería impactos negativos
tanto en tiempo como en presupuesto. Los roles más
importantes pueden clasificarse como sigue:
Usuario final: Son las personas que usarán
el sistema desarrollado. Ellos están relacionados con la
usabilidad, la disponibilidad y la fiabilidad del sistema;
están familiarizados con los procesos específicos
que debe realizar el software, dentro de los parámetros de
su ambiente laboral. Serán quienes utilicen las interfaces
y los manuales de usuario.
Usuario Líder: Son los individuos que
comprenden el ambiente del sistema o el dominio del problema en
donde será empleado el software desarrollado. Ellos
proporcionan al equipo técnico los detalles y
requerimientos de las interfaces del sistema.
Personal de Mantenimiento: Para proyectos que
requieran un mantenimiento eventual, estas personas son las
responsables de la administración de cambios, de la
implementación y resolución de anomalías. Su
trabajo consiste en revisar y mejorar los procesos del producto
ya finalizado.
Analistas y programadores: Son los responsables
del desarrollo del producto en sí; ellos
interactúan directamente con el cliente.
Personal de pruebas: Se encargan de elaborar y
ejecutar el plan de pruebas para asegurar que las condiciones
presentadas por el sistema son las adecuadas. Son quienes van a
validar si los requerimientos satisfacen las necesidades del
cliente.
Otras personas que pueden estar involucradas,
dependiendo de la magnitud del proyecto, pueden ser: administradores de proyecto, documentadores, diseñadores
de base de datos, entre otros.
Comments
Post a Comment