Una de las tareas más importantes en el
ciclo de vida del desarrollo de software,
puesto que en ella se determinan los
“planos” de la nueva aplicación.
¿Cómo
deben ser?
Claros y concretos
(evitando
imprecisiones y
ambigüedades) p.ej.
Uso de puntos
suspensivos, etcétera…
Concisos
(sin rodeos ni
figuras
retóricas).
Completos y consistentes.
¿Cómo
obtener
Requisitos?
•Revisar las necesidades de los clientes, usuarios
y otros interesados. •Revisar la situación actual.
•Revisar la organización actual. •Conocer la
versión actual del sistema. •Entrevistar
desarrolladores de versiones anteriores. •Revisar
documentos existentes (antecedentes). •Revisar
sistemas análogos (antecedentes). •Se debe
trabajar en conjunto con los usuarios y clientes.
¿Qué deben
indicar?
• Lo que se espera
que haga el
sistema (¿qué?).
• Su justificación (¿por qué
ha de ser así? ¿quién lo
propuso?).
• Los criterios de
aceptación que
sean aplicables
(¿cómo se verifica
su
cumplimiento?).
Problemas comunes al
obtener requisitos
• Distintos usuarios tienen distintos requisitos, se
deben encontrar todas las fuentes. •No saben lo
que quieren del sistema. •La prioridad que se da a
los requisitos varía con el tiempo. •Un
requerimiento es, a veces, difícil de verificar.
Clases de Requisitos
Requisitos
Funcionales
Definen el qué debe
hacer un sistema
Ejemplos: •Se debe solicitar la identificación,
nombres, apellidos, genero, correo electrónico.
• Debe generar un listado de todas las
personas de acuerdo al genero.
Requesitos No Funcionales
Definen el comó
debe hacer un
sistema
EJemplos: •El lenguaje de
programación debe ser java. •El
tiempo de respuesta en las consultas
no Ejemplos: debe superar los 5
segundos.
Aspectos a tener
en cuenta al
describir
requisitos
Ubicación y Entorno
Físicos
Funcionalidad y
Restricciones asociadas
Recursos:materiales,
personal y otros.
Confiabilidad
Interfaces
Documentación
Seguridad
Disponibilidad
Usuarios y Factores Humanos
Datos
Aseguramiento de la Calidad:
Mantenimiento, seguridad y
portabilidad.
Participantes en el
Proceso de Requerimientos
Cliente y Usuarios: Requisitos
adecuados a sus necesidades.
Diseñadores: para lograr diseño
que satisfaga las necesidades.
Supervisores del Contrato:
Hitos de Control, cronogramas.
Gerentes del Negocio: Impacto en la Organización.
Verificadores: para poder verificar si el sistema los satisface.