El proceso de Ingeniería de Requerimientos describe
de manera detallada y precisa cada uno de los aspectos del
ciclo de vida de un conjunto de requerimientos. Este proceso presenta dos
grandes ramas: Desarrollo de requerimientos. Administración de requerimientos.
Que tiene como propósito
producir y analizarlos requerimientos de cliente, de producto y de componente
de producto, incluye las siguientes actividades: Recolección, Análisis,
Especificación y Verificación. Recolección: Es el Proceso a través del cual los
clientes (compradores y/o usuarios) y el desarrollador (contratista) de un
sistema de software; descubren, revisan, articulan, y entienden las necesidades
de los usuarios del sistema y las restricciones que se dan sobre el software y
el desarrollo del mismo. Algunas de las técnicas y herramientas más importantes
para llevar a cabo la recolección de requerimientos son: Entrevistas: método
para descubrir hechos y opiniones que tienen los posibles usuarios y otros
participantes dentro del sistema que se está desarrollando. A su vez se
clasifican en:
Entrevistas
cerradas: las preguntas ya están previstas, tienen un orden y una forma de
ser planteadas que no pueden ser modificadas por el entrevistador. Es en
realidad un cuestionario.
Entrevistas abiertas: en las cuales no se preparan
preguntas concretas, y, por el contrario, se discute con el entrevistado las
expectativas que este tiene del sistema.
Casos de Uso y/o Escenarios: Los casos de uso
describen interacciones entre los usuarios y el sistema, enfatizando en lo que
el usuario necesita del sistema. Los escenarios son ejemplos de sesiones de
interacción entre el sistema y el usuario, donde un solo tipo de interacción
entre los dos participantes es simulada y descrita.
Observación y análisis social: La observación
permite a los investigadores observar lo que los usuarios hacen actualmente en
un determinado contexto. Esto permite superar problemas con los participantes
del proyecto que realizan descripciones idealizadas o demasiado simplificadas
de los procesos que se llevan a cabo en sus trabajos.
Lluvia de Ideas: Son sesiones donde todos los
participantes brindan sus ideas para obtener una solución a una problemática.
Una lluvia de ideas está compuesta de dos fases: la fase de generación y la
fase de evaluación. Durante la generación las ideas son recolectadas y es
importante que no sean criticadas. Durante la evaluación de las ideas, las
propuestas de solución deben ser evaluadas desde diferentes perspectivas.
Prototipos: Es programa de computador que
implementa algunos de los requerimientos de un sistema. Este prototipo puede
ser usado para colaborar con la definición de los requerimientos, o para
facilitar la evaluación de alternativas de implementación de un sistema.
Existen dos grandes tipos de prototipos. Los
prototipos no funcionales o desechables (Throwaway), que sirven para entender
la dificultad y aclarar los requerimientos; y los prototipos funcionales o
evolutivos (Evolutionary) que permiten construir una aproximación del sistema
de manera que se pueda proveer cierta funcionalidad del sistema final y
usualmente se convierten en parte del mismo. Análisis: Es el proceso de
analizar las necesidades de los clientes y los usuarios para
llegar a una definición de los requerimientos de software.
Dentro de las prácticas
principales se encuentra: JAD (JointApplicationDevelopment): Esta práctica se
basa en la creación de espacios que permitan celebrar sesiones o reuniones en
donde los participantes y directos interesados dentro del desarrollo del
proyecto buscan obtener o generar conocimiento alrededor del desarrollo que se
va a llevar a cabo. En estas sesiones se trabaja bajo un enfoque común que
permite el fácil entendimiento de los temas expuestos por parte de los
invitados a la sesión
Modelos: Esquema
teórico, generalmente en forma matemática, de un sistema o de una realidad
compleja, como la evolución económica de un país, que se elabora para facilitar
su comprensión y el estudio de su comportamiento. Existen dos tipos de modelos.
- Modelo conceptual: Es el utilizado en la especificación del sistema,
representa los conceptos más significativos en el dominio del problema…. Nos
describe la parte estática del problema, es una fotografía del mundo real. -
Modelo de Comportamiento: Utilizado en la parte de diseño del sistema, define
la parte dinámica, es decir, cual debe ser el comportamiento en cada situación
y la forma de proceder.
Los diagramas de
secuencia y de estados son parte de este modelo. Especificación: Consiste en el
desarrollo de un documento que de manera clara y precisa contenga y especifique
cada uno de los requerimientos del sistema de software. Verificación: Es el
proceso de asegurar que la especificación de requerimientos de software sea
acorde con los requerimientos del sistema, conforme a los estándares de
documentación de la fase de requerimientos, y que a su vez este documento sea
una base sólida para la arquitectura y el diseño.
Esta actividad
representa un punto de control interno y externo; interno, porque se debe verificar
internamente lo que se está haciendo, y externo, porque se debe validar con el
cliente.
Administración de
requerimientos: Es un proceso que tiene por objetivo comprender y
controlar los requerimientos. Como todo proceso de administración, inicia con
la planeación a la par de la identificación inicial de requerimientos. Este
proceso tiene diferentes formas que dependen del proceso de desarrollo de
software que se esté empleando, independientemente de esto se deben considerar
las siguientes etapas:
1. Requerimientos
duraderos y volátiles.
2. Planeación de la
administración de requerimientos.
3. Administración del
cambio de los requerimientos.
No hay comentarios:
Publicar un comentario