4
Curso: Ingeniería de Software Maestría en Ciencia e Ingeniería de la Computación Dra. Ma. Del Pilar Angeles y M. en TI. Elsa Ramírez IIMAS, UNAM Martes y jueves 8:30-10:00 2010 Objetivo El objetivo de este curso es introducir un panorama de las áreas que conforman la Ingeniería de Software, sus conceptos así como los modelos de referencia de los procesos de desarrollo de software con calidad. Dirigido a Alumnos de posgrado que cuentan con experiencia en desarrollo de software y que desean entender como debería realizarse el proceso de desarrollo de software maduro, profesional, administrado y acorde con los mejores modelos internacionales y nacionales. Contenido Cubierto por: Ho Hanna Oktaba, ER Elsa Ramirez, CP Cecilia Perez, PA Pilar Angeles 1. Introducción a la Ingeniería de Software (IS) [2 semanas, DEL 2 AL 11 DE FEB: 02/02, 04/02, 09/02, 11/02 PA] 1.1 ¿Qué es Ingeniería de Software (Feb 2) 1.2 Características de IS (Feb 4) 1.3 Restricciones básicas de IS 1.4 Fundamentos transdisciplinarios de IS (Feb 9) (Tarea1) y (Tarea 2) 1.5 Principios de la IS4 1.6 Historia de la IS (Feb 11) 1.7 SWEBOK el cuerpo de conocimiento de IS www.swebook.org 1.8 El rol de Ingeniero de Software y su código de ética Tarea: 1. Lee el Código de ética profesional de un Ingeniero de Software (4) y escribe un pequeño ensayo que comente sobre sus propuestas, cuales son fáciles de cumplir y cuales son las más difíciles de cumplir. (Máximo 2 páginas, mínimo 1) http://www.acm.org/about/se-code 2. Investigar sobre el Programa gubernamental PROSOFT y sus resultados www.software.net.mx y escribir un pequeño resumen (Máximo 2 páginas, mínimo 1) 2. Proceso de desarrollo de software [4 semanas, DEL 16 FEB AL 11 MAR 16/02, 18/02,28/02,25/02,02/03,04/03,9/03,11/03] 2.1 Proceso de software y su modelo de conceptos con UML 16/02 PA 2.2 Modelos de marcos de ciclos de vida del software 18/02 PA 2.3 Procesos de ciclos de vida de software ISO/IEC12207 23/02 PA (Tarea 3) 2.4 ISO/IEC 15504 y niveles de capacidad de procesos 25/02 PA

Curso : Ingeniería de Software - Páginas Personalesprofesores.fi-b.unam.mx/pilarang/docencia/ingsw/iscontenido.pdf · Curso: Ingeniería de Software Maestría en Ciencia e Ingeniería

Embed Size (px)

Citation preview

Curso: Ingeniería de Software

Maestría en Ciencia e Ingeniería de la Computación

Dra. Ma. Del Pilar Angeles y M. en TI. Elsa Ramírez

IIMAS, UNAM

Martes y jueves 8:30-10:00

2010

Objetivo El objetivo de este curso es introducir un panorama de las áreas que conforman la Ingeniería de Software, sus conceptos así como los modelos de referencia de los procesos de desarrollo de software con calidad.

Dirigido a Alumnos de posgrado que cuentan con experiencia en desarrollo de software y que desean entender como debería realizarse el proceso de desarrollo de software maduro, profesional, administrado y acorde con los mejores modelos internacionales y nacionales.

Contenido

Cubierto por: Ho Hanna Oktaba, ER Elsa Ramirez, CP Cecilia Perez, PA Pilar Angeles

1. Introducción a la Ingeniería de Software (IS) [2 semanas, DEL 2 AL 11 DE FEB: 02/02, 04/02, 09/02, 11/02 PA] 1.1 ¿Qué es Ingeniería de Software (Feb 2) 1.2 Características de IS (Feb 4) 1.3 Restricciones básicas de IS 1.4 Fundamentos transdisciplinarios de IS (Feb 9) (Tarea1) y (Tarea 2) 1.5 Principios de la IS4 1.6 Historia de la IS (Feb 11) 1.7 SWEBOK el cuerpo de conocimiento de IS www.swebook.org 1.8 El rol de Ingeniero de Software y su código de ética Tarea:

1. Lee el Código de ética profesional de un Ingeniero de Software (4) y escribe un pequeño ensayo que comente sobre sus propuestas, cuales son fáciles de cumplir y cuales son las más difíciles de cumplir. (Máximo 2 páginas, mínimo 1) http://www.acm.org/about/se-code

2. Investigar sobre el Programa gubernamental PROSOFT y sus resultados www.software.net.mx y escribir un pequeño resumen (Máximo 2 páginas, mínimo 1)

2. Proceso de desarrollo de software [4 semanas, DEL 16 FEB AL 11 MAR 16/02,

18/02,28/02,25/02,02/03,04/03,9/03,11/03]

2.1 Proceso de software y su modelo de conceptos con UML 16/02 PA 2.2 Modelos de marcos de ciclos de vida del software 18/02 PA 2.3 Procesos de ciclos de vida de software ISO/IEC12207 23/02 PA (Tarea 3) 2.4 ISO/IEC 15504 y niveles de capacidad de procesos 25/02 PA

2.5 Introducción a CMMI y evaluaciones de procesos 02/03 y 04/03 ER (Tarea 4) 2.6 Personal Software Process (PSP) y Team Software Process (TSPi) 09/03 ER 2.7 Mejora de procesos de software 11/03 ER (Tarea 5) 2.8 MoProSoft – Modelo de procesos para la industria de software en México y su

método de evaluación 16/03 18/03 HO (Tarea 6) Tareas:

3. Escoge uno de los subprocesos del proceso 7.1 Software Implementation Process (ISO 12207:2007) tradúcelo, identifica la salida (outcome) más significativa a tu juicio y justifica porqué la escogiste.

(Máximo 2 páginas, mínimo 1) 4. Investigar y resumir, citando las fuentes, los beneficios cuantitativos de la

aplicación de PSP y TSP en la industria. 5. Leer el proceso de Desarrollo y Mantenimiento de MoProSoft 1.3. Identifica

las actividades y productos que por tu experiencia académica o profesional sabes como hacerlos y los que te son ajenos. Comenta brevemente para los primeros como los haces y para los desconocidos como te imaginas para qué sirven.

6. Considerando las 4 categorías de procesos de CMMI presentadas de manera independiente: procesos de administración de procesos, procesos de administración de proyectos, procesos de ingeniería y procesos de soporte, desarrollar una propuesta de integración de las categorías de procesos considerando un ciclo de vida completo de software. Deben establecerse las relaciones y dependencias entre los procesos, de manera similar a los diagramas de contexto presentados en clase.

Material de Referencia http://www.sei.cmu.edu/publications/documents/02.reports/02tr028.html

3. Requerimientos [2 semanas, DEL 23 MARZO AL 8 DE ABRIL 23/03, 25/03, 06/04 Y

08/04 ER] 3.1 ¿Qué son los requerimientos de software? 3.2 Ingeniería de Requerimientos 3.3 Captura, Especificación y Análisis de Requerimientos 3.4 Administración de Requerimientos (Tarea 7) Tarea:

7. Buscar una referencia bibliográfica reciente sobre los requerimientos no funcionales y resumir su propuesta. (Máximo 2 páginas, mínimo 1)

4. Análisis y Diseño de Software [2 semanas,DEL 13 AL 22 DE ABRIL PA, 13/04 (1:4.1),

15/04, 20/04 y 22/04 (2:4.1-4.2)] 4.1 ¿Qué es análisis y diseño de software? 4.2 Introducción a patrones de arquitectura y diseño de software (Tarea 8)

Tarea:

8. Seleccionar y resumir un patrón de diseño. (Máximo 2 páginas, mínimo 1)

5. Verificación, validación y pruebas de software [1 semana, DEL 27 AL 29 DE ABRIL

27/04-29/04 ER] 5.1 Conceptos básicos 5.2 Proceso de pruebas 5.3 Revisiones e Inspecciones (Tarea 9) Tarea:

9. Revisar y resumir el proceso de Verificación o de Validación de CMMI. (Máximo 2 páginas, mínimo 1)

6. Administración de proyectos [1 semana, DEL 4 AL 6 DE MAYO, 04/05, 06/05 ER] 7.1 Inicio 7.2 Planeación 7.2 Seguimiento 7.3 Cierre Tarea

10. Lectura y resumen por definir.

7. Métricas básicas [1 semanas, 11/05-13/05] CP 8.1 Conceptos 8.2 Tiempo, tamaño, defectos 8.3 Modelo GQM Tarea

11. Lectura y resumen por definir.

8. Presentaciones de alumnos [semanas 18/05, 27/05] PA

Método de evaluación Cada alumno tiene que realizar tres pruebas:

1. Elegir un tema de los tratados en el curso, encontrar una (o más) referencia bibliográfica reciente sobre este tema y herramientas, escribir un ensayo, de máximo 10 pág., sobre el tema elegido, preparar una presentación del mismo tema y exponerla ante sus colegas.

2. Asistir al 90% de las clases. 3. Entregar a tiempo todas las tareas que se dejarán durante el curso.

Para la calificación final se tomarán los resultados de las tres pruebas en la siguiente proporción: 1 (50%), 2 (20%), 3 (30%). Bibliografía básica

1. Wang, Yingxu, Software Engineering Foundations, A Software Science Perspective,

Auerbach Publications, 2008.

2. Pfleeger Shari Lawrence y Joanne M. Atlee, Software Engineering, Theory and Practice,

Third Edition, Prentice Hall, 2006.

3. Sommerville, I, Ingeniería de Software, Addison Wesley, 6ta edición, 2002.

4. Endres Albert y Dieter Rombach, A Handbook of Software and Systems Engineering,

Addison-Wesley, 2003.

5. Software Engineering Code of Ethics and Professional Practice, IEEE-CS/ACM Joint Task

on Software Engineering Ethics and Professional Practice, 1998.

http://www.acm.org/about/se-code 6. International Standard ISO/IEC 12207: Amendment 1 2002, Information technology -

Software life cycle processes. 7. ISO/IEC 15504 Software Process Assesment, part 2, 2003. 8. Chrissis Mary Beth, Mike Konrad y Sandy Shrum, CMMI Guidelines for Process

Integration and Product Improvement, SEI Series in Software Engineering, Addison-Wesley, 2003.

9. Watts S. Humphrey, Introduction to Personal Software Process, SEI Series in Software Engineering, Addison Wesley, 1997.

10. Watts S. Humphrey, Introduction to Team Software Process, SEI Series in Software Engineering, Addison Wesley, 2000.

11. Jacobson I., G. Booch, J. Rumbaugh, The Unified Software Development Process,

Addison-Wesley, 1999.

12. E. Gamma, R. Helm, R. Johnson y J. Vlissides, Design Patterns Elements of Reusable

Object-Oriented Software, Addison-Wesley, 1995.

Bibliografía complementaria

1. Oktaba H., G. Ibargüengoitia González, “Software processes Modeled with Objects: Static View”, Computación y Sistemas, Iberoamerican Journal of Computer Science, CIC-IPN, México, 1, 4 (1998), p.228-238.

2. Watts S. Humphrey, A Discipline for Software Engineering, SEI Series in Software Engineering, Addison Wesley, 1995.

3. Tim Koomen and Martin Pol, Test Process Improvement A practical step-by-step guide to structured testing, Addison-Wesley, 1999.

4. Boris Beizer, “Software is Different”, Software Quality Professional, Vol.1, Issue 1, Diciembre 1998.

5. Project Management Institute, "A Guide to the Project Management Body of

Knowledge", EUA, 1996.

6. Suzanne and James Robertson, Mastering the Requirements Process, Addison-Wesley

y ACM Press, 1999.

7. Mary Shaw, “Three Patterns that help explain the development of Software

Engineering”, Seminar 9635, “History of Software Engineering”, Schlob Dagstuhl,

Agosto 26-30, 1996.

8. www.swebok.com, Software Engineering Body Of Knowledge, SWEBOK, version

2004, IEEE.

9. Hanna Oktaba et al, “MoProSoft: Modelo de Procesos para la Industria de Software”,

v.1.3 software.net.mx.

10. Erick Braude, Ingeniería de Software una perspectiva orientada a objetos, Alfaomega,

2003.

11. Scott W. Ambler, Agile Modeling, Effective Practices for eXtreme Programming and the

Unified Process, John Wiley & Sons. 2002.