Ingeniería de Requerimientos

Descripción del Curso

En este curso se presentan los procesos, técnicas y herramientas asociadas a la ingeniería de requerimientos como aspecto fundamental en el desarrollo de software, y en el logro de la calidad de los productos de software. El curso realiza un recorrido desde el modelado del negocio o contexto, pasando por los procesos de elicitación, análisis, documentación y validación de requerimientos, hasta la gestión de los requerimientos.

Información Básica

  • Profesor: Juan Carlos Martínez Arias
  • Créditos: 4
  • Horas de Clase: 3/semana
  • Horas de trabajo independiente: 9 / semana
  • Prerequisitos: Ninguno

Objetivos

Al finalizar el curso los participantes podrán:

  • Aplicar técnicas de elicitación de requerimientos en el desarrollo de proyectos de software.
  • Modelar el dominio/contexto de un proyecto de desarrollo de software.
  • Modelar y analizar los requerimientos obtenidos en el proceso de elicitación.
  • Validar los requerimientos y ayudar a la solución de conflictos que se presenten en éstos.
  • Especificar y gestionar los requerimientos en proyectos de software.
  • Aplicar buenas prácticas de elicitación, análisis, especificación, validación y gestión de requerimientos en proyectos de diferentes tamaños.
  • Postularse para la presentación de certificación internacional definida por el IREB (International Requirements Engineering Board).

Metodología

Con el fin de lograr las metas de formación, la metodología definida establece un componente teórico soportado en los conceptos de la Ingeniería de Requerimientos y Ciencias de la computación, y un componente práctico, donde se aplicaran los conceptos de manera guiada mediante talleres, casos de estudio y proyectos semestrales. Se buscará, utilizar casos de estudios propios de las empresas donde están vinculados los estudiantes. En cualquier caso se privilegiara la utilización de casos, problemas y situaciones traídas desde las organizaciones sobre casos de estudio académicos.

El desarrollo del componente práctico se realizará mediante trabajo autónomo de los estudiantes, y la guía y acompañamiento del docente en las sesiones presenciales.

De igual forma, parte de la intencionalidad de curso, es trabajar los contenidos necesarios para que los estudiantes tengan las capacidades para presentar el exámen de certificación internacional propuesto por el IREB (International Requirements Engineering Board).

Contenido

Sesiones Tema Bibliografía
1 Introducción
1.1 Características de un Ingeniero de Requerimientos [1]
1.2 Tipos de requerimientos [1]
1.3 Importancia y clasificación de los requerimientos de calidad [1]
1.4 Buenas prácticas para la Ingeniería de requerimientos [2]
2 Modelado del Negocio y límites del dominio
2.1 Definiendo los límites del sistema y el dominio [1]
2.2 Técnicas de Modelado del negocio [2]
2.3 Reglas de Negocio y restricciones [2]
2.4 Modelo de dominio [3]
3 Elicitación de requerimientos
3.1 Fuentes de los requerimientos [1][2]
3.2 Técnicas de elicitación [1][2][3]
3.3 Planeando y ejecutando las actividades de elicitación [2]
4 Documentación de requerimientos [1 y 2]
4.1 Tipos de Documentación [1]
4.2 El documento de especificación de requerimientos [4]
4.3 Estructura (templates) de documentos de especificación [1][2]
4.4 Criterios de calidad para los requerimientos [1][2]
4.5 Documentando requerimientos en lenguaje natural [1]
5 Documentación de requerimientos basada en Modelos
5.1 Modelos para la representación de requerimientos [1][2][3]
6 Validación y negociación de requerimientos
6.1 Fundamentos de la Validación y negociación [1]
6.2 Aspectos de calidad de los requerimientos [1]
6.3 Escribiendo y revisando requerimientos [3]
6.4 Técnica de validación de requerimientos [1][2][3]
6.5 Negociación de requerimientos [1][2][3]
6.6 Reducción del riesgo a través del prototipado [2]
7 Gestión de los requerimientos
7.1 Asignación de atributos y vistas sobre requerimientos [1]
7.2 Priorización de requerimientos [1]
7.3 Trazabilidad y versionamiento de requerimientos [1][2][3]
7.4 Manejo del Cambio [1][2]
7.5 CMMI y la gestión de Requerimientos
8 Herramientas [1][2]

Evaluación

Porcentaje
Talleres y trabajos escritos 15%
Exposición 10%
Proyecto I 20%
Proyecto II 30%
Examen Final 25%

Bibliografía

  1. Klaus Pohl, Chris Rupp. Requirements Engineering Fundamentals. Rocky Nook, 2015.
  2. Karl Wiegers, Joy Beatty. Software Requirements. Microsoft Press, 2013
  3. Elizabeth Hull, Ken Jackson, Jeremy Dick. Requirements Engineering. Springer, 2011
  4. Klaus Pohl. Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, 2010
  5. IEEE Std 830-1998. Recommended Practice for Software Requirements Specifications, 1998
  6. ISO/IEC/IEEE 29148. Systems and software engineering — Life cycle processes — Requirements engineering, 2011
  7. P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society, 2014; www.swebok.org.