Requerimientos para un software de aplicación
Son una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. Y es el proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema. Son la pieza fundamental en un proyecto de desarrollo de software
Los requerimientos funcionales
Son los que definen las funciones que el sistema será capaz de realizar y describen las transformaciones que el sistema realiza sobre las entradas para producir salidas.
Expresan la escencia del software, inteaccionan con el entorno, estados posibles evolución.
Los requerimientos no funcionales
Tienen que ver con características que de una u otra forma puedan limitar el sistema
El rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc.
Características
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?
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 abstracto y conciso posible. Para evitar malas interpretaciones.
Dificultades
Son difíciles de expresar en palabras
La cantidad de requerimientos en un proyecto puede ser difícil de manejar.
Un requerimiento puede cambiar a lo largo del ciclo de desarrollo.
Cada requerimiento tiene propiedades únicas y abarcan áreas funcionales específicas.
Pasos de los requerimientos
Reconocimiento del problema
Evaluación y síntesis
Especificación
Revisión
Requerimientos
Satisfacer su necesidad
Asesoramiento técnico por ingeniero informático.
Supervisado por ingeniero informático.
Herramienta habitual o cotidiana de uso.
Adecuada a sus gustos y preferencias.
Facilidad de uso.
Intuitivo.
Confiable.
Robusto.
Con garantías de soporte técnico.
Mínima formación técnica.
Con garantías de mantenimiento.
Adaptable a los cambios hardware.
Tiempo de uso.
Tiempo de respuesta.
Privacidad de los datos.
Almacén de los datos a nivel local.
Copias de Seguridad.
Migración de datos sin fisuras.