lunes, 28 de octubre de 2013

Requerimientos

Definición

Los requerimientos son una especificación de lo que debe ser implementado. Estos son descripciones de cómo el sistema se debe comportar, de las propiedades y atributos del mismo. Deben ser una restricción del proceso de desarrollo del sistema Sommerville and Sawyer, 1997

  1. Una condición o capacidad que un usuario necesita para resolver un problema o alcanzar un objetivo.
  2. Una capacidad o condición que debe poseer el sistema o los componentes del sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto.
  3. Una representación documentada de una condición o capacidad documentada como las descritas en (1) y (2).
Estándar de la Terminología de la Ingeniería de Software de la IEEE,1997.

Características de un buen requerimiento.

  1. Escrito en forma de “Debe”
  2. Correcto
  3. Realizable
  4. Necesario
  5. Priorizable
  6. No Ambiguo
  7. Verificable
  8. Traceable (Puede Seguirse)
  9. Independiente del Diseño
  10. Identificador único
  11. Necesario
  12. Conciso
  13. Consistente (No en conflicto con otros)
  14. No Repetido
  15. Localizado (en un componente o elemento del sistema)

 

Requerimientos funcionales.


Son declaraciones de los servicios que debe proporcionar el sistema, de la manera en que debe reaccionar ante entradas particulares y de cómo se debe comportar en situaciones particulares. En algunos casos los requerimientos funcionales de los sistemas también pueden declarar explícitamente lo que el sistema no debe hacer. Sommerville, 2005
Ejemplos de requerimiento funcional correcto

  1. El sistema debe contar con un mecanismo de seguridad conformado por nombre de usuario, contraseña y un campo de verificación que aplica la prueba de Turing inversa.
  2. El sistema deber permitir almacenar artículos en una base de datos relacional.
Los requerimientos anteriores son claros y expresan en forma correcta los deseos del cliente.
Ejemplos de requerimiento funcional incorrecto

  1. El sistema debe contar con un mecanismo que provea gran seguridad.
  2. El sistema debe permitir almacenar algunos datos importantes
Los requerimientos son incorrectos porque en el numero 1 la palabra gran no es explicita y puede prestarse para varias interpretaciones presenta ambigüedad. En el requerimiento 2 algunos no es un cuantificador valido y también se presta para interpretaciones variadas además no dice en ningún momento donde deben almacenarse los datos en cuestión.

 

Requerimientos no funcionales


Los requerimientos no funcionales como su nombre lo indica no se centran en las funcionalidades especificas del software o lo que debe hacer, estos se ocupan de propiedades emergentes del software como la fiabilidad, tiempos de respuesta, apariencia, capacidad de almacenamiento, etc.
No por lo anterior se deben subestimar este tipo de requerimientos un error frecuente dado que son igual y en algunos casos más importantes que los mismos requerimientos funcionales en el sentido de que si un programa es capaz de cumplir a la perfección con todos los cómputos para los que fue creado y tiene una interfaz de usuario inaccesible quedara en desuso.

 

Algunos ejemplos de requerimientos no funcionales, requerimientos de:

 



  1. Eficiencia.
  2. Usabilidad.
  3. Rendimiento.
  4. Espacio
  5. Fiabilidad.
  6. Portabilidad.
  7. Implementación.
  8. Uso de estándares.
  9. Interoperabilidad.
  10. Éticos.
  11. De ley
  12. De privacidad
  13. De seguridad

 

Problemas frecuentes

 


  1. Difíciles de Recolectar
  2. Imposibilidad de Rastrear el cambio
  3. Difíciles de Escribir
  4. Demasiada forma, poco contenido
  5. Falta de organización  

El siguiente Link lo llevara a la platilla de IEEE 830 para documentar requerimientos.

IEEE 830 PDF

No hay comentarios:

Publicar un comentario