1er PA. Características y tipos de requisitos para el desarrollo de software

Características y tipos de requisitos para el desarrollo de software.

CARACTERISTICAS DE REQUERIMIENTOS

El requerimiento debe cumplir con ciertos criterios y características
  1. Correcta
  2. No ambigua
  3. Completa
  4. Consistente
  5. Calificada de acuerdo a la importancia y/o estabilidad
  6. Verificable
  7. Modificable
  8. Rastreable

1. Correcta

Una SRS es correcta, sí y solo sí, cada requisito especificado es un requisito que el software debe cumplir.

2. No ambigua

Una SRS no es ambigua sí y solo sí cada requisito especificado tiene sólo una interpretación.

3. Completa

Una SRS es completa, sí y solo sí, incluye los siguientes elementos:
a) Todos los requisitos significativos, ya sea que se relacionen a funcionalidad, desempeño, restricciones de diseño, atributos o interfaces externas. En particular cualquier requisito externo impuesto por una especificación del sistema debe ser reconocido y tratado.
b) Definición de las respuestas del software a todos los tipos posibles de clases de datos de entrada en todos los tipos posibles de clases de situaciones. Notar que es importante especificar las respuestas tanto para valores de entrada válidos como inválidos.
c) Etiquetas y referencias completas a todas las figuras, tablas y diagramas en la SRS, así como la definición de todos los términos y unidades de medida.

4. Consistente

Una SRS es consistente, sí y solo sí, no se contradice a sí misma, es decir, si ningún subconjunto de requisitos ahí descritos se contradice o entran en conflicto.

5. Jerarquizada de acuerdo a la importancia y/o estabilidad

Una SRS está calificada de acuerdo a la importancia y/o estabilidad si cada requisito tiene un identificador que indique la importancia o estabilidad del requisito.

6. Verificable

Una SRS es verificable, sí y solo sí, cada requisito especificado es verificable. Un requisito es verificable sí y solo sí existe un proceso finito de costo-efectivo con el cual una persona o una máquina puede verificar que el producto de software cumple el requisito. En general cualquier requisito ambiguo no es verificable.

7. Modificable

Una SRS es modificable, sí y solo sí, su estructura y estilo son tales que, cualquier cambio a los requisitos pueden ser hechos fácil, completa y consistentemente sin perder la estructura y el estilo. La modificabilidad generalmente requiere que una SRS:
a) Tenga una organización coherente y fácil de usar con una tabla de contenido, un índice y referencias cruzadas explícitas.
b) No sea redundante (esto es, el mismo requisito no debe aparecer en más de una parte en la SRS).
c) Expresa cada requisito de manera separada, en vez de hacerlo mezclado con otros requisitos.

8. Rastreable

Una SRS es rastreable si el origen de cada uno de sus requisitos es claro y si facilita la referencia de cada requisito en el desarrollo futuro o mejora de la documentación.
Se recomiendan los siguientes dos tipos de rastreabilidad: 
a) Rastreabilidad hacia atrás (esto es, a estados previos del desarrollo). El requisito tiene referencias explícitas a sus fuentes en documentos anteriores.
b) Rastreabilidad hacia enfrente (esto es, a todos los documentos derivados del SRS). Depende de que cada requisito en la SRS tenga un nombre único o número de referencia. Es particularmente importante cuando el software entra en operación y mantenimiento. Cuando el código y los documentos de diseño son modificados, es esencial contar con la capacidad para conocer el conjunto completo de requisitos que pueden ser afectados por esas modificaciones.

TIPOS DE REQUERIMIENTOS

Los requisitos para un sistema son la descripción de los servicios proporcionados por el sistema y sus restricciones operativas. Estos requisitos reflejan las necesidades de los clientes, para que un sistema ayude a resolver algún problema como el control de un dispositivo, hacer un pedido o encontrar información.

Requisitos Funcionales

Los requisitos funcionales de un sistema describen lo que el sistema debe hacer. Estos requerimientos dependen del tipo de software que se desarrolle y de los posibles usuarios del software. Cuando se expresan como requerimientos del usuario, habitualmente se describen de una forma bastante abstracta. Sin embargo, los requerimientos funcionales del sistema describen con detalle la función de éste.

Requisitos No Funcionales

Los requisitos no funcionales, como su nombre lo indica, son aquellos requerimientos que no se refieren directamente a las funciones detalladas que realiza el sistema, sino a las propiedades de éste como el tiempo de respuesta, la capacidad de almacenamiento y otros aspectos como el diseño, aspectos éticos, legales, de seguridad y ese tipo de cosas que no tienen que ver directamente con funciones del sistema. De forma alternativa, definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y las representaciones de datos que se utilizan en las interfaces del sistema.

Requisitos del Usuario

Los requisitos del usuario para un sistema deben describir los requerimientos funcionales y no funcionales de tal forma que sean comprensibles por los usuarios del sistema sin conocimiento técnico detallado. Únicamente deben especificar el comportamiento externo del sistema y deben evitar, tanto como sea posible, las características de diseño del sistema. Por consiguiente, si se están redactando requerimientos del usuario, no se debe utilizar vocabulario del software, notaciones estructuradas o formales, o describir los requerimientos por la descripción de la implementación del sistema. Deben redactarse en un lenguaje sencillo, con tablas y formularios sencillos y diagramas intuitivos.

Requisitos del Sistema

Los requisitos del sistema son versiones extendidas de los requerimientos del usuario que son utilizados por los ingenieros de software como punto de partida para el diseño del sistema. Agregan detalle y explican cómo el sistema debe proporcionar los requerimientos del usuario. Pueden ser utilizados como parte del contrato para la implementación del sistema y, por lo tanto, deben ser una especificación completa y consistente del sistema entero.› En teoría, los requerimientos del sistema simplemente deben describir el comportamiento externo del sistema y sus restricciones operativas. No deben tratar de cómo se debe diseñar o implementar el sistema. Sin embargo, en el nivel de detalle requerido para especificar completamente un sistema software complejo, es imposible, en la práctica, excluir toda la información de diseño.

Referencias

CARACTERISTICAS DE REQUERIMIENTOS - INGENIERIA DE REQUERIMIENTOS. (2021). CARACTERISTICAS DE REQUERIMIENTOS - INGENIERIA DE REQUERIMIENTOS. Google.com. https://sites.google.com/site/ingrequerimientosm/definicion-1

Colaboradores de los proyectos Wikimedia. (2007, September 7). Especificación de requisitos de software. Wikipedia.org; Wikimedia Foundation, Inc. https://es.wikipedia.org/wiki/Especificaci%C3%B3n_de_requisitos_de_software

‌Henao, J. (2011). tipos de requisitos. Slideshare.net. https://es.slideshare.net/juanchenao/tipos-de-requisitos


Comentarios