asdasas
COMPRENSIÓN
DE
LOS REQUERIMIENTOS
CONCEPTOS
CLAVE
administración de los
requerimientos . . . . . . . . . . 105
5
ntender los requerimientos de un problema es una de las tareas más difíciles que enfrenta
E
el ingeniero de software. Cuando se piensa por primera vez, no parece tan difícil desarrollar un entendimiento claro de los requerimientos. Después de todo,¿acaso no sabe el
casos de uso . . . . . . . . . . . . 113
cliente lo que se necesita? ¿No deberían tener los usuarios finales una buena comprensión de
colaboración . . . . . . . . . . . . 107
las características y funciones que le darán un beneficio? Sorprendentemente, en muchas ins-
concepción . . . . . . . . . . . . . 102
tancias la respuesta a estas preguntas es “no”. Eincluso si los clientes y los usuarios finales
despliegue de la función
de calidad . . . . . . . . . . . . . . 111
explican sus necesidades, éstas cambiarán mientras se desarrolla el proyecto.
elaboración . . . . . . . . . . . . . 117
especificación . . . . . . . . . . . 104
En el prólogo a un libro escrito por Ralph Young [You01] sobre las prácticas eficaces respecto
de losrequerimientos, escribí lo siguiente:
indagación . . . . . . . . . . . . . 103
Es la peor de las pesadillas. Un cliente entra a la oficina, toma asiento, lo mira a uno fijamente a los
indagación de los
requerimientos . . . . . . . . . . 108
ojos y dice: “Sé que cree que entiende lo que digo, pero lo que usted no entiende es que lo que digo
ingeniería de
requerimientos . . . . . . . . . . 102de que se han hecho compromisos con los plazos de entrega, que hay reputaciones en juego y mucho
modelo del análisis . . . . . . . 117
negociación . . . . . . . . . . . . . 121
participantes. . . . . . . . . . . . 106
patrones de análisis . . . . . . 120
productos del trabajo. . . . . . 112
puntos de vista . . . . . . . . . . 107
validación . . . . . . . . . . . . . . 105
validaciónde los
requerimientos . . . . . . . . . . 122
no es lo que quiero decir.” Invariablemente, esto pasa cuando ya está avanzado el proyecto, después
dinero invertido.
Todos los que hemos trabajado en el negocio de los sistemas y del software durante algunos años
hemos vivido la pesadilla descrita, pero pocos hemos aprendido a escapar. Batallamos cuando tratamos de obtener los requerimientos denuestros clientes. Tenemos problemas para entender la información que obtenemos. Es frecuente que registremos los requerimientos de manera desorganizada y
que dediquemos muy poco tiempo a verificar lo que registramos. Dejamos que el cambio nos controle
en lugar de establecer mecanismos para controlarlo a él. En pocas palabras, fallamos en establecer un
fundamento sólido para el sistema osoftware. Cada uno de los problemas es difícil. Cuando se combinan, el panorama es atemorizador aun para los gerentes y profesionales más experimentados. Pero
hay solución.
UNA
¿Qué es? Antes de comenzar cualquier trabajo técnico es una buena idea aplicar un
conjunto de tareas de ingeniería a los requerimientos. Éstas llevarán a la comprensión de
cuál será el efecto que tendrá el software en elnegocio,
qué es lo que quiere el cliente y cómo interactuarán los
usuarios finales con el software.
¿Quién lo hace? Los ingenieros de software (que en el
mundo de las tecnologías de información a veces son llamados ingenieros de sistemas o analistas) y todos los
demás participantes del proyecto (gerentes, clientes y
usuarios) intervienen en la ingeniería de requerimientos.
¿Por qué esimportante? Diseñar y construir un elegante programa de cómputo que resuelva el problema equivocado no satisface las necesidades de nadie. Por eso es
importante entender lo que el cliente desea antes de
comenzar a diseñar y a construir un sistema basado en
computadora.
¿Cuáles son los pasos? La ingeniería de requerimientos
comienza con la concepción, tarea que define el alcance y
la naturaleza...
Regístrate para leer el documento completo.