2.16.4 SE/Ingeniería de Requisitos (3 horas Core-Tier1)

El propósito de la ingeniería de requisitos es desarrollar un entendimiento común de las necesidades, prioridades y restricciones pertinentes a un sistema de software. Muchos fallos de software surgen de una comprensión incompleta de los requisitos para el software a desarrollar o manejo inadecuado de esos requisitos.

Especificaciones de los requisitos varían en trámite desde completamente informal (por ejemplo, habla) a rigor matemático (por ejemplo, escrito en un lenguaje de especificación formal, como Z o lógica de primer orden). En la práctica, los esfuerzos de ingeniería de software exitosos usan especificaciones de requisitos para reducir la ambigüedad y mejorar la coherencia y la integridad de la comprensión del equipo de desarrollo de la visión de los programas informáticos destinados. Enfoques del plan impulsado tienden a producir documentos formales con los requisitos numerados. Enfoques ágiles tienden a favorecer a las especificaciones menos formales que incluyen historias de usuario, casos de uso y casos de prueba.
Temas:
Core Tier1

Core Tier2

Electivo

Objetivos de Aprendizaje (Learning Outcomes):
Core-Tier1:

  1. Enumerar los componentes clave de un caso de uso o una descripción similar de algún comportamiento que es requerido para un sistema [Familiarizarse]
  2. Describir cómo el proceso de ingeniería de requisitos apoya la obtención y validación de los requisitos de comportamiento [Familiarizarse]
  3. Interpretar un modelo de requisitos dada por un sistema de software simple [Familiarizarse]
Core-Tier2:
  1. Describir los retos fundamentales y técnicas comunes que se utilizan para la obtención de requisitos [Familiarizarse]
  2. Enumerar los componentes clave de un modelo de datos (por ejemplo, diagramas de clases o diagramas ER) [Familiarizarse]
  3. Identificar los requisitos funcionales y no funcionales en una especificación de requisitos dada por un sistema de software [Usar]
  4. Realizar una revisión de un conjunto de requisitos de software para determinar la calidad de los requisitos con respecto a las características de los buenos requisitos [Usar]
Elective:
  1. Aplicar elementos clave y métodos comunes para la obtención y el análisis para producir un conjunto de requisitos de software para un sistema de software de tamaño medio [Usar]
  2. Comparar los métodos ágiles y el dirigido por planes para la especificación y validación de requisitos y describir los beneficios y riesgos asociados con cada uno [Familiarizarse]
  3. Usar un método común, no formal para modelar y especificar los requisitos para un sistema de software de tamaño medio [Usar]
  4. Traducir al lenguaje natural una especificación de requisitos de software (por ejemplo, un contrato de componentes de software) escrito en un lenguaje de especificación formal [Usar]
  5. Crear un prototipo de un sistema de software para reducir el riesgo en los requisitos [Usar]
  6. Diferenciar entre el rastreo (tracing) hacia adelante y hacia atrás y explicar su papel en el proceso de validación de requisitos [Familiarizarse]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM