Requisitos funcionales y no funcionales
Juan Camilo Alzate R.
Interacción cliente- manager
[Cliente] Lo primero que hemos notado es que le
faltan dos ruedas.
[Manager] Sí, hemos optado por el diseño
minimalista que va con nuestra visión de empresa: “práctico, funcional, óptimo”.
[Cliente] Pero un Porsche con dos ruedas no casa con
nuestro modelo de negocio. Lo necesitamos de cuatro ruedas.
[Manager] Creo que podremos refactorizar el Porsche
Interacción cliente- manager
[Cliente] Perfecto. Bien, la segunda incidencia No
encontramos la capota.
[Manager] Sí. Lo querías descapotable, ¿no?. Pues
hemos simplificado mucho la usabilidad retirando la capota.
[Cliente] Bien, pero no sólo la queremos quitar, también
la queremos poner.
[Manager] Ah. Eso no está especificado en los requisitos
iniciales, así que lo consideraremos funcionalidad extra y lo cobraremos por separado. Afortunadamente los interfaces están muy limpios, así que podremos
Interacción cliente - manager
[Cliente] Otra cuestión, ¿dónde están el contacto y la
llave? Cualquiera podría robarnos el Porsche.
[Manager] Hemos optado por el modelo multiusuario
para la implementación inicial, pero podemos añadir un módulo de seguridad al sistema.
[Cliente] Sólo dos incidencias más. Se requiere
demasiado esfuerzo al usuario para completar tareas con el sistema. ¿Podrías cambiar los pedales por un motor?
[Manager] En principio queríamos dar la máxima
Interacción cliente - manager
[Cliente]
Bien, pero consideramos excesiva la
cantidad de trabajo que se deja al usuario.
[Manager]
Podemos llegar a un compromiso
razonable entre la libertad del usuario y la
automatización de procesos. Sustituiremos el
motor de giro asistido por pedales por uno
compatible asistido por pistones. Quizá
requiera añadir un módulo de
Interacción cliente - manager
[Cliente]
La última: el sistema no ha superado
las pruebas de rendimiento. En los requisitos
consta que el sistema debe alcanzar los
doscientos por hora.
[Manager]
El rendimiento siempre puede
variar dependiendo de la plataforma. Las
especificaciones de este sistema son
Características de los requisitos
Unitario
El requisito especifica una y solo una cosa
Completo
El requisito está completamente establecido. No falta información. No requiere explicaciones
adicionales
Consistente
El requisito no superpone, no se contradice con otro u otros y no duplica información. Es
Características de los requisitos
Conciso
Fácil de leer, fácil de comprender, relacionado con
problemas que resuelve. Todos los involucrados lo pueden explicar con sus propias palabras.
Trazable
El requisito cumple con parte o la totalidad de las
condiciones y restricciones de un negocio. Estas condiciones y restricciones del negocio están documentadas.
Factible
El requisito se puede diseñar e implementar.
Libre de diseño
No dice el cómo. No especifica diseño. Se concentra en
Características de los requisitos
No ambiguo
El requisito es conciso. No incluye jerga técnica o prosa
sofisticada. Expresa hechos objetivos no opiniones
subjetivas. Tiene una y solo una interpretación. No usar temas vagos, adjetivos decorativos no medibles.
Obligatorio
El requisito representa una característica definida por
los involucrados relevantes y su ausencia se traduce en una deficiencia notoria. No es opcional.
Verificable
Se puede hacer un ensayo, prueba o demostración
Requisitos funcionales y no funcionales
SISTEMA SISTEMA
INPUT OUTPUT
Perfil de requisitos de software
Funcionales
Definición de los servicios que el sistema debe proporcionar, cómo debe reaccionar a una
entrada particular y cómo se debe comportar ante situaciones particulares.
No funcionales
Restricciones que afectan a los servicios o
funciones del sistema, tales como restricciones de tiempo, sobre el proceso de desarrollo,
Requisitos funcionales
Describen el funcionamiento del sistema
Los
RF del usuario
pueden ser frases muy
generales sobre lo que el sistema debería
hacer. Se suelen expresar como
objetivos del
sistema
.
Los
RF del sistema
deben describir los
Requisitos no funcionales
Definen propiedades emergentes del sistema, tales
como el tiempo de respuesta, las necesidades de almacenamiento, la fiabilidad, …
Pueden especificar también la utilización de una
herramienta CASE en particular, un lenguaje de programación o un método del desarrollo.
RNF sobre el producto RNF organizacional RNF impreciso
RNF verificable
Reglas del negocio y requisitos de
información
Las reglas del negocio describen las
características del dominio en el que se
encuadra la organización.
Pueden ser requisitos funcionales, restringir los existentes o definir cálculos particulares.
Si las reglas del negocio no se satisfacen, el
sistema puede no trabajar de forma satisfactoria.
Los requisitos de información son también
formas especializadas de requisitos:
Especificando requisitos
Atributos de Especificación
Identificador Nombre
Versión
Autor / Fuente Especificación
Propiedad de ejecución, validaciones y condiciones de error
Prioridad
Especificando requisitos
Condiciones de escritura
Usar de manera estándar una frase común para
expresar
Requisito
RFN: (El sistema deberá o debe permitir)
RNF: (El sistema contará con…(propiedades sistémicas))
RIN: (El sistema almacenará información correspondiente
a…en concreto…)
Regla de Negocio (Si, …, entonces… Sino, entonces…)
Validación (El sistema debe validar…)
Especificando requisitos
Condiciones de escritura
Uso del idioma
Composición de las frases (orden de las cosas) Identificación de sustantivos y sus relaciones Identificación de verbos
Identificación de adjetivos Vocabulario común (simple) Minimizar “adornos”
Especificando requisitos
Problemas típicos
Ortografía
Redacción – lógica en la composición Comprensión de lectura
Vocabulario sofisticado
Mal uso de los pronombres
Posesivos - suyo
Demostrativos – este, ese, aquel
Indefinidos – poco, mucho, todo,
Mismo, otro, uno, demás
Alguno, ninguno, alguien, nadie, cualquiera
Técnicas de elicitación
Entrevistas
Escenarios y casos de uso
Prototipos
Reuniones facilitadoras
Observación
Scketches y Storyboards
Comparación de terminología
Tormenta de ideas
Documento de especificación de requisitos
Es un documento técnico oficial que establece las
características, requisitos tecnológicos y requisitos técnicos que debe cumplir un producto o sistema. Está determinado de modo preciso. (IEEE 830-1998)
Se especifican en el documento de manera
relacionada por trazas: las necesidades, los
requisitos de cliente, los requisitos de desarrollo (o de producto: funcionales, no funcionales), los casos de uso, las restricciones y reglas de negocio.