Obtención y análisis de requerimientos
El análisis y la especificación de requisitos pueden parecer
una tarea relativamente sencilla, pero las apariencias engañan. El contenido de
comunicación es muy denso. Abundan las ocasiones para malas interpretaciones o
falta de información. Es muy probable que haya ambigüedad. El dilema al que se
enfrenta el ingeniero de software puede entenderse muy bien repitiendo la
famosa frase de un cliente anónimo: “Sé que cree que entendió lo que piensa que
dije, pero no estoy seguro de que se dé cuenta de que lo que escuchó no es lo
que yo quise decir”.
El análisis de requisitos es una tarea de ingeniería del
software que cubre el hueco entre la definición del software a nivel sistema y
el diseño de software. El análisis de requerimientos permite al ingeniero de sistemas
especificar las características operacionales del software (función, datos y
rendimientos), indica la interfaz del software con otros elementos del sistema
y establece las restricciones que debe cumplir el software.
Técnicas Para la Obtención de Requerimientos
Entrevistas
La entrevista es de gran utilidad para obtener información
cualitativa como opiniones, o descripciones subjetivas de actividades. Es una
técnica muy utilizada, y requiere una mayor preparación y experiencia por parte
del analista. La entrevista se puede definir como un “intento sistemático de
recoger información de otra persona” a través de una comunicación interpersonal
que se lleva a cabo por medio de una conversación estructurada. Debe quedar
claro que no basta con hacer preguntas para obtener toda la información
necesaria. Es muy importante la forma en que se plantea la conversación y la
relación que se establece en la entrevista.
Estos son algunos de los aspectos más importantes a tener en
cuenta al realizar entrevistas:
• Preparación.
Es necesario documentarse e investigar la situación de la organización
analizando los documentos disponibles, de tal forma que la entrevista se
enfoque en aquellos aspectos que están solamente en la mente del entrevistado y
que no son accesibles por otros medios como la observación o el análisis de
documentos.
• Entrevistar
al personal adecuado. La mayoría de los analistas adoptan un enfoque top-down,
comenzando a entrevistar a directivos para que brinden un panorama general de
hacia donde deberían ir las cosas, y terminando por hablar con los empleados
que aportan detalles importantes de la operación.
Desarrollo de Prototipos
Los prototipos suelen consistir en versiones reducidas,
demos o conjuntos de pantallas (que no son totalmente operativos) de la
aplicación pedida. Esta técnica es particularmente útil cuando:
• El área
de la aplicación no está bien definida (posiblemente por ser algo muy
novedoso).
• El costo
del rechazo de la aplicación por los usuarios es muy alto.
• Es
necesario evaluar previamente el impacto del sistema en los usuarios y en la
organización.
Los prototipos de sistema permiten a los usuarios
experimentar para ver cómo éste ayuda a su trabajo. Fomentan el desarrollo de
ideas que desembocan en requerimientos. Además de permitir a los usuarios
mejorar las especificaciones de requerimientos, el desarrollo de un prototipo
tiene otras ventajas:
1. Al
demostrar las funciones del sistema se identifican las discrepancias entre los
desarrolladores y los usuarios.
2. Durante
el desarrollo del prototipo, el personal del desarrollo de software puede darse
cuenta de que los requerimientos son inconsistentes y/o están incompletos.
3. Aunque
limitado, se dispone rápidamente de un sistema que funciona y demuestra la
factibilidad y usabilidad de la aplicación a administrar.
4. El
prototipo se utiliza como base para escribir la especificación para la
producción.
En general, el uso de esta técnica es un medio que permite
solventar objeciones del usuario del tipo: “No sé exactamente lo que quiero,
pero lo sabré cuando lo vea”. Por lo general, la construcción de prototipos
incrementa los costos en las etapas iniciales de un proyecto, pero esto se
recupera en etapas posteriores gracias al mejor entendimiento de los
requerimientos por parte de los desarrolladores. En algunos casos también se
utiliza como un medio para formalizar la aceptación previa del cliente de los requisitos
del proyecto.
Cuestionarios
El uso de cuestionarios permite a los analistas reunir
información proveniente de un grupo grande de personas. El empleo de formatos
estandarizados para las preguntas puede proporcionar datos más confiables que
otras técnicas; por otra parte, su amplia distribución asegura el anonimato de
los encuestados, situación que puede conducir a respuestas más honestas.
El inconveniente es que la respuesta puede ser limitada, ya
que es posible que no tenga mucha importancia para los encuestados llenar el
cuestionario. Es recomendable conseguir apoyo de la alta dirección para
solicitar a las personas de la organización que contesten el cuestionario.
Al igual que con las entrevistas, se debe seleccionar a los
encuestados. El analista debe asegurar que el conocimiento y experiencia de
éstos califiquen para dar respuestas a las preguntas.
Escenarios
Estos se utilizan para documentar el comportamiento del
sistema cuando se le presentan eventos específicos. Cada evento de interacción
distinto, o la selección de un servicio del sistema, se documentan como un
escenario de eventos distinto. Los escenarios de eventos incluyen una
descripción del flujo de datos y las acciones del sistema, y documenta las
excepciones que puedan surgir.
Las convenciones para los diagramas utilizados en los
escenarios de eventos son:
1. Los datos
proporcionados desde un punto de vista o proporcionados a éste se representan
como elipses.
2. Las
entradas y salidas de la información de control se ubican en la parte superior
de cada recuadro.
3. Las
salidas de datos se ubican a la derecha de cada recuadro. Si no están
encerradas, significa que pertenecen al sistema.
4. Las
excepciones se muestran en la parte inferior del recuadro. Si existen varias
excepciones posibles, éstas se encierran en un recuadro.
5. El nombre
del siguiente evento esperado después de completar el escenario se muestra en
un recuadro sombreado.
Los Casos de Uso son una técnica que se basa en escenarios
para la obtención de requerimientos. Actualmente se han convertido en una
técnica fundamental que se utiliza para analizar y describir modelos de
sistemas orientados a objetos. En su forma más simple, un caso de uso
identifica a los actores involucrados en una interacción y nombra al tipo de
ésta.
Comentarios
Publicar un comentario