1. Fundamentos de
Ingeniería de Software
Facultad de Ingenieria
Universidad Distrital Francisco José de Caldas
ESPECIFICACIÓN Y MANEJO DE
LOS REQUERIMIENTOS
Asignatura: Fundamentos de
Ingeniería del Software
Curso Actualización : 2006
Profesor: Ernesto Gómez Vargas
2. Introducción
• Este documento es solo una guía
elemental para el proceso de búsqueda
de requerimientos por parte del grupo
encargado.
3. Requerimientos
• Construir software de alta calidad, en
tiempo y presupuesto estimados.
• Planear el proyecto y los recursos que se
usarán en él.
• Especificar el tipo de verificaciones que
se habrán de realizar al sistema
• Planear la estrategia de prueba a la que
habrá de ser sometido el sistema
• Son el fundamento del ciclo de vida del
proyecto.
4. Características de un
requerimiento
Los requerimientos deben ser:
Especificados por escrito. Como todo contrato o acuerdo entre dos
partes
Posibles de probar o verificar. Si un requerimiento no se puede
comprobar, entonces ¿cómo sabemos si cumplimos con él o no?
Deben tener como fundamento las necesidades de los usuarios
actuales o potenciales del sistema.
Descritos como una característica del sistema a entregar. Esto
es: Que es lo que el sistema debe de hacer (y no como debe de
hacerlo)
Lo más claro y conciso posible. Para evitar malas interpretaciones.
5. COMO REALIZAR EL ANÁLISIS DE
REQUERIMIENTOS
• Los requerimientos de un sistema de
software, cuando se ven en su conjunto son
extensos y detallados, y además contienen
múltiples relaciones entre si.
• Obtenemos la posibilidad de especificar
sistemas complejos al documentar
especificaciones simples y concisas para el
sistema. Esto se logra mediante la
clasificación, estructuración y organización
de todo lo que el sistema debe de hacer.
6. ANÁLISIS DE REQUERIMIENTOS (1)
•1) Obtener información por diferentes
medios de lo que los usuarios desean
y dejar escritas esas necesidades
•2) Clasificar esas necesidades para
poder estructurar los requerimientos o
necesidades del sistema.
7. • 3) Identificar los niveles de jerarquía
del sistema y empezar a alojar los
requerimientos en el nivel que les
corresponda.
• 4) Especificar los requerimientos de
acuerdo al nivel de audiencia que se
requiera
• 5) Especificar completamente cada
necesidad, sin ahorrar tiempo y
espacio en su descripción.
ANÁLISIS DE REQUERIMIENTOS (2)
8. • 6) Entender correctamente las
necesidades y cuando afecten dos o
mas usuarios, para llegar a acuerdos
entre las partes.
• 7) Manejar las expectativas y estar
dispuesto a realizar cambios.
ANÁLISIS DE REQUERIMIENTOS (3)
9. • 8) Involucrar a todos los que tengan
inherencia en el proyecto (Jefes,
subalternos, usuarios en general)
• 9) Se debe mantener una perfecta
comunicación entre todos quienes
participan en el proceso de
levantamiento de los requerimientos
ANÁLISIS DE REQUERIMIENTOS (4)
10. COMO OBTENER INFORMACIÓN (1)
• Los requerimientos son el punto de acuerdo
entre el usuario y el proyecto de desarrollo de
software, este entendimiento es necesario para
poder construir software que satisfaga las
necesidades de los usuarios.
11. • Si los requerimientos se enfocan a describir las
necesidades del usuario, entonces es lógico que
para recabarlos haya que obtener la información
de primera mano. Esto es, mediante entrevistas
con el usuario o recabando documentación que
describa la manera que el usuario desea que
funcione el sistema de software.
COMO OBTENER INFORMACIÓN (2)
12. RELACION BASICA DE REQUERIMIENTOS
Responsable de la dependencia
Información recopilada por
Nombre de la dependencia
NUMERO FECHA DESCRIPCION FUNCIONARIO
01
02
03
04
COMO OBTENER INFORMACIÓN (3)
Formato 01
13. • Las necesidades y/o requerimientos del usuario
evolucionan con el tiempo y cada cambio
involucra un costo. Por eso es necesario tener
archivada una copia de la documentación
original del usuario, así como cada revisión o
cambio que se haga a esta documentación.
Para poder establecer o estimar el costo de un
proyecto es necesario contar con los
requerimientos iniciales en su mejor nivel de
detalle
COMO OBTENER INFORMACIÓN (4)
14. Como cada necesidad del sistema de
información es tratada de diferente
forma, es necesario clasificar estas
necesidades para saber cuales de
ellas serán satisfechas por el software
que se quiere desarrollar y cuales por
algún otro producto del sistema.
COMO OBTENER INFORMACIÓN (5)
15. TOPICOS BÁSICOS PARA REALIZAR EL
LEVANTAMIENTO DE REQUERIMIENTOS (1)
1) Un problema puede surgir de la
diferencia entre las cosas como se
realizaron y como se desean. Por eso
es necesario tener en cuenta que en
el proceso de levantamiento o
búsqueda de requerimientos se
pueden presentar problemas que es
necesario solucionar.
16. 2) Para solucionar el problema se deben
tener en cuenta:
a. Generar acuerdo entre las partes
involucradas
b. Construir un vocabulario común
c. Identificar los involucrados
d. Definir los límites del sistema
e. Identificar restricciones
F. Dejar todo claro y definido en un
documento.
TOPICOS BÁSICOS PARA REALIZAR EL
LEVANTAMIENTO DE REQUERIMIENTOS (2)
17. 3) Manejar diferentes técnicas de
levantamiento
a. Entrevistas
b. Encuestas
c. Talleres de requerimientos
d. Lluvia de ideas
• Prototipos
f.. Escenerario
TOPICOS BÁSICOS PARA REALIZAR EL
LEVANTAMIENTO DE REQUERIMIENTOS (3)
18. 4) Mecanismos de fácil comunicación
Durante el proceso se debe facilitar la
comunicación entre todos los participantes,
de tal forma que todos los usuarios puedan
participar aportando sus puntos de vista y sus
necesidades.
5) Se debe realizar una especificación formal
de todos los acuerdos con las diferentes
personas, para que quede constancia
expresa de que se tuvieron en cuenta los
puntos de vista de los diferentes usuarios.
TOPICOS BÁSICOS PARA REALIZAR EL
LEVANTAMIENTO DE REQUERIMIENTOS (4)
19. 6) Administrar los cambios. Se debe estar
presto a realizar las modificaciones que se
presenten durante el proceso de análisis de
requerimientos. Después puede ocasionar
costos o demoras en el proceso de
desarrollo.
TOPICOS BÁSICOS PARA REALIZAR EL
LEVANTAMIENTO DE REQUERIMIENTOS (5)
20. RESUMEN (1)
Para avanzar en esta fase preliminar se
deben realizar en resumen las siguientes
actividades.
• Analizar la situación de cada una de las
dependencias teniendo en cuenta la
participación de todos y cada uno de los
involucrados en los procesos.
• Generar acuerdo entre los involucrados si
hay diferencias, de tal forma que se trabaje
en el mismo sentido.
21. RESUMEN (2)
• Hacer el proceso de análisis de
requerimientos, utilizando técnicas como las
descritas, teniendo en cuenta especialmente
quién usa o va a utilizar el sistema.
• Especificar completamente los
requerimientos, en forma escrita y clara para
cada una de las dependencias, sin omitir
posibles o potenciales usuarios.
22. • Controlar el alcance, para que se pueda limitar
el proyecto.
• Comunicar a todos los usuarios acerca de que
se está adelantando el proceso de
levantamiento de los requerimientos, mediante
encuestas, etc. Según se mencionó
anteriormente.
• Almacenar en archivos de bases de datos
preferiblemente los requerimientos, de tal forma
que se puedan procesar fácilmente.
RESUMEN (3)
23. • Los errores en el proceso de obtención de
requerimientos son de los mas costosos por eso
es importante tener cuidado en este proceso.
• Por último los requerimientos deben ser: No
ambiguos, concretos, completos y consistentes.
RESUMEN (4)
24. Formato 02
ANALISIS DE REQUERIMIENTOS
Numero: 01
Nombre del requerimiento
Escena 1:
Papeles Escena 2:
Utensilios Escena 3:
Condiciones de entrada Escena 4:
Condiciones de salida Escena 5: