REQM Guia 10ER 1.0
REQM Guia 10ER 1.0
REQM Guia 10ER 1.0
Tabla de Contenidos
1. Introducción..................................................................................................... 1
1.1 Qué son los Requerimientos y por qué son tan importantes................1
1.2 Tipología de Requerimientos................................................................1
2. Elicitación de Requerimientos.........................................................................2
3. Características de un Requerimiento..............................................................3
7. Niveles de Requerimientos.............................................................................7
REQM-Guia-10ER-1.0 Página i
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
1. Introducción
1.1 Qué son los Requerimientos y por qué son tan importantes
"Condición o capacidad que un usuario necesita para poder resolver un problema o lograr un
objetivo." [IEEE]
"Condición o capacidad que debe exhibir o poseer un sistema para satisfacer un contrato,
estándar, especificación u otra documentación formalmente impuesta". [IEEE]
"Una condición o capacidad que debe ser conformada por el sistema". [RUP]
"Algo que el sistema debe hacer o una cualidad que el sistema debe poseer". [Robertson]
Frederick P. Brooks [Brooks, 1987], dice "La parte más difícil de construir un sistema es
precisamente saber qué construir. Ninguna otra parte del trabajo conceptual es tan difícil como
establecer los requerimientos técnicos detallados, incluyendo todas las interfaces con la gente,
máquinas y otros sistemas. Ninguna otra parte del trabajo afecta tanto el sistema si es hecha
mal. Ninguna es tan difícil de corregir más adelante… Entonces la tarea más importante que el
ingeniero de software hace para el cliente es la extracción iterativa y el refinamiento de los
requerimientos del producto".
En la práctica, se deberán definir tanto los requerimientos del sistema como los del proyecto
software, así como los requerimientos funcionales y no funcionales relacionados con ellos. Esta
captura de requerimientos a nivel de negocio y de producto garantiza que el proyecto alcance los
objetivos dentro de limitaciones tales como la duración, el ámbito, los recursos o la calidad. Los
tipos fundamentales de requerimientos son:
Requerimientos del Sistema: Los requerimientos del sistema definen cómo debe
gestionarse el trabajo. Estos requerimientos incluyen el presupuesto, la gestión de la
comunicación, la gestión de los recursos, el aseguramiento de la calidad, la gestión de los
riesgos y la gestión del alcance. De este modo, los requerimientos del sistema se centran en
el quién, cuándo, dónde y cómo se harán las cosas que se han documentado en le Plan del
Proyecto.
Requerimientos del Software: Los requerimientos del software incluyen las características
y capacidades en alto nivel del producto que el equipo de negocio se ha comprometido a
REQM-Guia-10ER-1.0 Página 1
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
entregar al cliente. Estos requerimientos no tienen que especificar cómo deberán diseñarse
estas capacidades.
2. Elicitación de Requerimientos
La elicitación de requerimientos es el proceso de descubrir los requerimientos para un sistema a
través de la comunicación con los clientes, usuarios del sistema y otras personas que tengan
algún tipo de interés y conocimiento sobre el producto a desarrollar [Madigan].
Por ello, para una buena elicitación de requerimientos, deberán tenerse en consideración las
siguientes perspectivas:
REQM-Guia-10ER-1.0 Página 2
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
- Perspectiva del Cliente o del Usuario: Los requerimientos más significativos son los del
cliente/usuario. El cliente debe responder a preguntas sobre qué problemas requieren ser
solucionados, y cómo interaccionarán ellos con el producto.
Existen diferentes elementos a elicitar durante la fase de requerimientos [Nuseibeh]: límites del
sistema, stakeholders, metas, tareas, factibilidad, riesgos, etc. La literatura sugiere que la
elicitación de requerimientos se realiza de distintas maneras, siguiendo una o más de numerosas
metodologías disponibles; sin embargo la práctica de implementación de este proceso presenta
más variantes debido a la gran dificultad de formalizar indicadores directos o indirectos
(métricas) para la evaluación y monitoreo del proceso.
3. Características de un Requerimiento
El conjunto de requerimientos en estado de madurez, deben presentar una serie de
características tanto individualmente como en grupo. A continuación se presentan las más
importantes:
REQM-Guia-10ER-1.0 Página 3
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el
dinero, el tiempo y los recursos disponibles.
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.
Gerente del proyecto: Es la persona con las habilidades y el conocimiento apropiados para
entender y gestionar correctamente las necesidades del cliente.
Analistas y programadores: Son los responsables del desarrollo del producto en sí; ellos
interactúan directamente con el cliente.
REQM-Guia-10ER-1.0 Página 4
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
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.
- Nunca son iguales. Algunos son más difíciles, más riesgosos, más importantes o más
estables que otros.
- Los requerimientos están relacionados unos con otros, y a su vez se relacionan con otras
partes del proceso.
- Un requerimiento puede cambiar a lo largo del ciclo de desarrollo, ya que los clientes insisten
en nuevos requisitos después de que el coste y la estimación se hayan fijado.
- Son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada
proyecto.
REQM-Guia-10ER-1.0 Página 5
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
Analistas:
- Para una correcta redacción de la Especificación de los Requerimientos del Software, deben
evitar el uso de terminología ambigua.
Desarrolladores:
- El personal técnico y los usuarios finales pueden tener diversos vocabularios y pueden llegar
a creer incorrectamente que están de acuerdo, no dándose cuenta del desacuerdo hasta que
se provee el producto final.
- Cómo saber que los requerimientos han sido satisfechos correctamente (validación y
verificación).
Asimismo, otras técnicas introducidas para salvar las diferencias entre los clientes y las
organizaciones de desarrollo de software son el uso de un lenguaje de modelado unificado
(UML) para el diseño de los casos de uso o el uso de prototipos que imitan fielmente el producto
final.
También se adquieren herramientas que permiten medir de forma objetiva la calidad de una
especificación de requerimientos. IRqA Quality Analyser o DOORS Quality Analyser son
ejemplos de este tipo de herramientas.
REQM-Guia-10ER-1.0 Página 6
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
utilice de forma distinta por diferentes personas involucradas en las posteriores fases del
proyecto.
Es necesario empezar con la captura del vocabulario común lo antes posible y continuarla a lo
largo de toda la vida del proyecto.
El Framework MRF proporciona una plantilla para realizar el Glosario de Términos (REQM-
Plantilla-10GT-1.0).
7. Niveles de Requerimientos
REQM-Guia-10ER-1.0 Página 7
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
- Deseable Si existe algún proceso que se quiera incluir para mejorar los procesos
actuales.
Durante la actividad de validación pueden hacerse preguntas en base a cada una de las
características que se desean revisar. A continuación se presentan varios ejemplos:
REQM-Guia-10ER-1.0 Página 8
Máster en Ingeniería de Software GUÍA PARA LA ELICITACIÓN DE REQUERIMIENTOS
Proyecto Final de Máster – MRF Framework Versión 1.0 | 30-SEP -2008
La validación de requisitos es importante pues de ella depende que no existan elevados costos
de modificaciones y/o mantenimiento para el software desarrollado.
Los requerimientos cambian por diferentes razones. Las más frecuentes son:
Los cambios en los requisitos involucran modificar el tiempo en el que se va a implementar una
característica en particular, modificación que a la vez puede tener impacto en otros
requerimientos. Por esto, la administración de cambios involucra actividades como establecer
políticas, guardar históricos de cada requerimiento, identificar dependencias entre ellos y
mantener un control de versiones.
Es muy importante remarcar que antes de realizar cambios en los requerimientos, se deberán
analizar todas sus implicaciones sobre el resto.
REQM-Guia-10ER-1.0 Página 9