top of page

IC-5821 Requerimientos de Software

 

Profesor: Oscar López Villegas

Correo: olopez@tec.ac.cr

Teléfono oficina: 2401-3286

Web: https://sites.google.com/view/requisoft/

Horas de consulta:  Miércoles 12:30  -  16:05 

Horario del curso: Jueves 12:30  -  16:05 

Vigencia: Segundo semestre 2022

 

1. Descripción del curso

 

En este curso se introduce al estudiante en los procesos involucrados en obtener, analizar, especificar, validar y administrar los requerimientos de software.

2. Objetivos de aprendizaje

Objetivo General:

  • Al finalizar el curso el estudiante deberá dominar los conceptos, herramientas y metodologías necesarias para: obtener y especificar requerimientos, analizar y validar requerimientos, administrar requerimientos, tener los requerimientos claros para poder posteriormente entrar en la etapa de diseño.

 

Objetivos Específicos:

  • Aplicar métodos para recopilar información, incluyendo entrevistas.

  • Aplicar técnicas y herramientas para modelar problemas.

  • Definir los requerimientos del usuario, del sistema y del producto de software.

  • Escribir una especificación de software

  • Aplicar estrategias para comprobar la calidad del producto que se desarrolla.  

  • Entender la utilidad de la construcción de prototipos y el desarrollo iterativo. 

 

3. Referencias bibliográficas

 

  • System Requirements Engineering, P. Loucopoulos and V. Karakostas, McGraw-Hill: [all.rar] [Preface; Chap1; Chap2; Chap3; Chap5; Chap6] – thanks to Varshada!

  • Requirements Engineering: From System Goals to UML Models to Software Specifications, Axel van Lamsweerde, John Wiley Sons

    • Managing Software Requirements: A Use Case Approach, 2nd edition, Dean Leffingwell, Don Widrig, Addison Wesley: Boston

    • Non-Functional Requirements in Software Engineering, L. Chung, B. Nixon, E. Yu and J. Mylopoulos,

  • Kluwer Academic Publishing, 2000 (An earlier version of a framework book chapter)

  • Software Requirements: Objects, Functions, & States, A. M. Davis, Prentice Hall: Englewood Cliffs, 1993.

  • System and Software Requirements Engineering: Tutorial, R. H. Thayer and M. Dortman (Editors),

  • Problem Frames: Analyzing and Structuring Software Development Problems, M. Jackson, Addison-Wesley Professional; 1st edition (December 15, 2000)

  • Requirements Engineering: Processes and Techniques, G. Kotonya and I. Sommerville, John Wiley Sons

  • Requirements Engineering - A Good Practice Guide, I. Sommerville and P. Sawyer, Wiley

  • Scenarios, Stories, Use Cases Through the Systems Development Life-Cycle,  I. Alexander and N. Maiden (eds.), John Wiley & Sons, 2004.

  • Requirements Engineerng: Frameworks for Understanding, R. Wieringa, Wiley, 1997

  • Requirements Engineering: Social and Technical Issues, J. Goguen, and M. Jirotka (Eds.), Academic Press, 1994.

  • Requirements Engineering, L. Macaulay, Springer Verlag, 1996

  • User-Centered Requirements Analysis, C. F. Martin, Prentice-Hall, 1994

  • Information System Requirements: Determination and Analysis, D. Flynn, McGraw-Hill, 1992

  • Are Your Lights On?: How to Figure Out What the Problem Really Is, D. C. Gause and G. M. Weinberg, Dorset House, 1990.

  • Exploring Requirements, D. Gause and G. Weinberg, Dorset House, 1989

  • Managing Systems Requirements: Methods, Tools, and Cases, S. J. Andriole, McGraw-Hill, 1996.

  • System Requirements Analysis, J. O. Grady, McGraw Hill, 1993.

  • Systems Engineering: Coping with Complexity, R. Stevens, K. Jackson, P. Brook, and S. Arnold, Prentice Hall 1998.

  • Requirements Engineering and Rapid Development: A Rigorous, Object-Oriented Approach, I. S. Graham, Addison-Wesley, 1998.

  • Practical Software Requirements; A Manual Of Content And Style, B. L. Kovitz, Manning Publications, 1998

  • User-Centered Requirements: The Scenario-Based Engineering Process, K. L. McGraw and K. Harbison, Lawrence Erlbaum Associates, 1997.

  • The Complete Systems Analysis, J. Robertson and S. Robertson, Dorset House, 1998.

  • Applying Use Cases: A Practical Guide, G. Schneider and J. P. Winters, Addison-Wesley, 1998.

  • Object-Oriented Analysis and Design, with Applications, G. Booch, Benjamin-Cummings, 1994

  • Object-Oriented Methods: A Foundation, J. Martin and J. Odell, Prentice-Hall, 1995

  • The Unified Modeling Language Reference Manual, J. Rumbaugh, I. Jacobson and G. Booch, Addison-Wesley, 1998

  • §  The Unified Modeling Language User Manual, G. Booch, J. Rumbaugh and I. Jacobson, Addison-Wesley, 1998.

    IEEE Computer Society Press

     

 
4. Proyecto del curso

 

El curso se enfoca en requerimientos, por lo que cualquier proyecto programado será preferiblemente hasta la etapa de prototipo, cuyo objetivo será para explorar, concretar y revisar los requerimientos, evitando desarrollar proyectos que cubran todas las etapas del ciclo de desarrollo.

A lo largo del curso, se trata la Especificación de los Requisitos de Software (ERS) organizada en cuatro diferentes apartados:

  • Se define el problema de la especificación de los requisitos (ERS) y se enmarca a lo largo del ciclo de vida de desarrollo del software.

  • Se presenta cómo escribir y evaluar una ERS, se proporciona una lista de atributos que debe cumplir una ERS y se demuestra con ejemplos para cada una. Se proporciona un estándar como guía para desarrollar una ERS.

  • Se exploran técnicas de especificación de requisitos de comportamiento del sistema.

  • Se explica con ejemplos cómo especificar otros atributos que no son de comportamiento.
5. Evaluación
  • Quices y tareas 20%

  • Llamadas orales 10%

  • Examen I 10%

  • Examen II 10%

  • Proyecto Práctico (a lo largo del curso)

    • Documento Visión 15%

    • Especificación Requisitos del Sistema 20%

    • Análisis-Programación del Prototipo y Base Datos 15%

 

  •  TOTAL 100%

 

6. Cronograma del curso

 

  • Sesión 01

    • Presentación general del curso

    • Etapas en el desarrollo de software

  • Sesión 02

    • Recopilación de información en el Proceso de Desarrollo de Software

  • Sesión 03

    • Introducción a la Ingeniería de Requerimientos

  • Sesión 04 – Sesión 07

    • El Proceso de Obtención y Análisis de los requerimientos

  • Sesión 08 

    • Validación de los requerimientos

  • Sesión 09

    • EXAMEN 1 (Escrito)

  • Sesión 10

    • Administración de los requerimientos

  • Sesión 11 – Sesión 14 

    • Métodos para los Requerimientos

  • Sesión 15 

    • Requerimientos No Funcionales

  • Sesión 16 

    • Transición de los requerimientos al diseño

  • Sesión 17 

    • EXAMEN II (Escrito y/o Oral)

 
7. Entregables del Proyecto
  • Documento Visión

  • Especificación Requisitos del Sistema

  • Análisis-Programación del Prototipo y Base Datos

 
8. Contenidos del curso

 

1. Procesos de Desarrollo de Software (1 semana)

1.1 El ciclo de vida de los proyectos de software

1.2 Modelos de desarrollo de software

(cascada, evolutivo, metodologías ágiles, otras)

 

2. Introducción a la Ingeniería de Requerimientos (1 semana)

2.1. Qué son requerimientos.

2.2. Qué es Ingeniería de Requerimientos.

2.3 Impacto de malos requerimientos (casos de estudio).

2.4 Vistazo al documento de requerimientos

2.5 Cómo se utilizan los requerimientos en las etapas del ciclo de vida de los proyectos de software.

2.6 Buenas prácticas de requerimientos de software

 

 

3 El Proceso de Requerimientos.(0.5 semanas)

3.1 Modelos de Proceso

3.2  Actores involucrados

 

4  El Proceso de Obtención y Análisis de los requerimientos. (3 semanas)

4.1 El proceso de obtención y análisis

4.2 Problemas y situaciones a considerar en los requerimientos (stakehoders, falta de información, relación con clientes/usuarios, etc.)

4.3 Desde el modelo de negocio (incluye reglas del negocio) hasta los requerimientos detallados.

4.4 Técnicas para obtener requerimientos

4.5.Preparación de minutas (contenido, redacción, firmas, presentación, registro, etc.).

4.6 Análisis y negociación de requerimientos.

4.7 El proceso de obtención de requerimientos en el marco de la Administración de Proyectos.

4.8 Obtención de requerimientos con metodologías ágiles.

 

5. Validación de los requerimientos (2 semanas)

5.1 Reviews

5.2 Diseño y validación mediante prototipos

5.3 Evaluación de los requerimientos

5.4 Aseguramiento de la calidad de los requerimientos (análisis de ambigüedad, completitud, consistencia, oportunidad, etc.)

   

6. Administración de los requerimientos (1 semanas)

6.1 Requerimientos estables vs requerimientos volátiles

6.2 Identificación y almacenamiento de los requerimientos

6.3 Administración de cambios en los requerimientos

6.4 Seguimento ("traceability").

6.5 Herramientas automatizadas para la administración de los requerimientos.

 

7. Métodos para los Requerimientos (5 semanas)

7.1 Modelamiento de flujos de datos

7.2 Modelos de datos semánticos

7.3 Métodos formales

7.4 Modelos OO, UML como herramienta de Especificación

a) Modelo conceptual

Aspectos administrativos

 

  • Requisitos: IC-4301

  • Créditos: 4

  • No. Hrs. / semana: 4

  • No. Hrs. extra clase / semana: 12

  • Susceptible a reconocimiento: SI

  • Susceptible a suficiencia: NO

  • Tipo de curso: SEMINARIO

Metodología

 

Este es un curso teórico-práctico. El profesor impartirá lecciones magistrales y también se desarrollarán múltiples casos de estudio, ejemplos, ejercicios. 

Disposiciones generales
  • No existe posibilidad de eximirse de trabajo alguno.

  • Por ser teórico-práctico, NO hay examen de reposición.

  • Todo proyecto debe ser un trabajo inédito, una idea innovadora para la solución de un problema real.

    • Para una organización formal (al menos 3 años operación, mínimo 10 empleados, necesidades reales)

    • Se aplica el proceso completo de desarrollo de un prototipo de software

    • Se desarrolla un prototipo de aplicación web propuesta por los estudiantes

    • El alcance no impide el análisis, diseño e implementación

    • El profesor asesora a los estudiantes y verifica la adecuada utilización de los conceptos y suministra el formato de documentación.

    • La organización proporciona los estándares de desarrollo por utilizar
  • El día previo a la realización de un examen no se brinda consulta

  • Tres días después de entregar una prueba corregida NO se aceptan reclamaciones.
Links importantes
 

2010 - present

2010 - present

bottom of page