En esta página se irá publicando el detalle de las clases teóricas antes de su dictado. Para cada clase se incluyen los temas, lecturas recomendadas y lecturas opcionales.
Clase #:
|
1 – Presentación de la Materia. Introducción a la ingeniería del
software.
|
Parte (s)
|
1
|
Profesor Responsable
|
Santiago Ceria
|
Temas
|
Presentación de la materia, régimen de
cursada, TP. Presentación de los docentes.
Introducción a la ingeniería del software. Ubicación en el contexto de la
ingeniería. Evolución de la disciplina. Breve historia y sus hitos.
Dificultades esenciales del desarrollo de software. Lecciones aprendidas de
desastres causados por el software.
|
Bibliografía recomendada
|
Fred
Brooks. No Silver Bullet.
IEEE Computer, Abril 1987.
Mary Shaw. Prospects for
an Engineering Discipline of Software. IEEE Software. November
1990.
|
Bibliografía opcional
|
|
Clase #: | 1 – Modelos de ciclo de vida | Parte (s) | 2 | Profesor Responsable | Santiago Ceria | Temas | Modelos de ciclo de vida: waterfall y sus variaciones, espiral, iterativo e incremental, co-evolutivo. Distintas versiones del uso de ciclos de vida iterativos e incrementales en el Unified Process y en Métodos Agiles. | Bibliografía recomendada | Walt Scacchi. Process Models in Software Engineering. Encyclopedia of Software Engineering, 2nd ed, Diciembre 2001. | Bibliografía opcional | Michael Jackson and Daniel Mc. Cracken. Life Cycle Concept Considered Harmful. ACM SIGSOFT Software Engineering Notes. April 1982. Barry Boehm. A Spiral Model for Software Development and Enhancement. IEEE Software, May 1988 (paper “fundacional”). Craig Larman and Victor Basili. Iterative and Incremental Development: A Brief History. IEEE Computer. June 2003. Winston Royce. Managing the development of Large Software Systems. Proceedings of the IEEE Wescon. Agosto de 1970. |
Clase #: | 2- Estimación de Proyectos de Software | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Conceptos sobre estimaciones de software. Estimación de tamaño y esfuerzo. Métodos: Wide Band Delphi, Clark, Function Points, Mark II, Use Case Points. | Bibliografía recomendada | [Wiegers]: Karl Wiegers. Stop Promising Miracles. Software Development Magazine. February 2000. | Bibliografía opcional | |
Clase #: | 3 – Planificación de Proyectos de Software y Administración de Riesgos | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Consideraciones generales sobre la gestión de proyectos. Identificación preliminar de requerimientos. Determinación de los factores clave a tener en cuenta para el desarrollo. Diagramas de flexibilidad. Work Breakdown Structures de producto, de proceso e híbridas. Definición de tareas y dependencias, camino crítico. Heurísticas para planificación. Identificación, Análisis y Planificación de Riesgos. | Bibliografía recomendada | CMMI Product Team. CMMI for Development, version 1.2. Process Area de Project Planning.Technical Report CMU/SEI-2006-TR-008. | Bibliografía opcional | [Carr93]: Marvin Carr et al. Taxonomy Based Risk Identification. CMU / SEI Technical Report TR6, 1993. Software Engineering Institute, Carnegie Mellon University. [Williams99]: Ray Williams et al. SRE Method Description, version 2.0. CMU / SEI Technical Report TR29, 1999. Software Engineering Institute, Carnegie Mellon University.
|
Clase #: | 5 – Especificación de Atributos de Calidad – QAW | Parte (s) | 1
| Profesor Responsable | Santiago Ceria | Temas | Atributos de calidad para un producto de software que tienen impacto en su arquitectura: disponibilidad, facilidad de cambios, performance, seguridad, facilidad de testing, usabilidad. Cómo identificar esos atributos: Quality Attribute Workshops. Cómo especificarlos: el Método de Especificación con Escenarios. | Bibliografía recomendada | [Bass2003], capítulo 4 | Bibliografía opcional | Quality Attribute Workshops (QAWs), Third Edition. Mario R. Barbacci et al. TECHNICAL REPORT CMU/SEI-2003-TR-016, August 2003. Software Engineering Institute.
|
Clase #: | 6 – Introducción a las Arquitecturas de Software | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Arquitecturas en el contexto de la Ingeniería del Software. Definiciones de Arquitecturas, estilos arquitectónicos y arquitecturas de referencia. Conceptos de Vistas y Estilos arquitectónicos. Principales estilos arquitectónicos. | Bibliografía recomendada | [Bass2003], capítulo 2 | Bibliografía opcional | [Shaw96], capítulos 1 y 2 |
Clase #: | 7 – Documentación de arquitecturas – Viewtypes | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Principios básicos para documentar una arquitectura. Noción de Viewtypes. Detalle sobre Viewtypes de Módulos, de Componentes y Conectores y de Alocación. Uso de UML para documentar arquitecturas. | Bibliografía recomendada | [Bass2003], capítulo 9 | Bibliografía opcional | [Clements2005]: Paul Clements, Felix Bachmann y otros. Documenting Software Architectures, views and beyond. Capítulos 1 al 7. |
Clase #: | 8 – Arquitecturas – Tácticas de Arquitecturas | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Escenarios generales para Atributos de Calidad. Tácticas de Arquitectura para atributos de calidad. Tácticas para: Performance, Disponibilidad, Modificabilidad, Usabilidad, Seguridad y Facilidad de testeo. | Bibliografía recomendada | Len Bass, Paul Clements, Rick Kazman. Software Architecture in Practice, Second Edition. Addison-Wesley Professional, 2003. Capítulos 4 y 5. | Bibliografía opcional | Nick Rozanski. Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison Wesley, 2005.
|
Clase #: | 9 – Repaso de temas de arquitecturas. El Proceso de derivar una arquitectura. Más tácticas para Disponibilidad. Introducción a la Tolerancia a Fallas y los Sistemas Autónomos. | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Repaso de temas de Arquitecturas. Qué significa ser un buen arquitecto? El Proceso del SEI para derivar arquitecturas (ADD). Introducción a la tolerancia a fallas. Definición de SPoF. Introducción al Self Healing. Sistemas Closed Loop y Open Loop. Rainbow. | Bibliografía recomendada | Software, Heal Thyself. Presentación de David Garlan en UML 2002. | Bibliografía opcional |
|
Clase #: | 10 – Arquitecturas – Conectores de Software | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Definiciones sobre conectores. Roles de conectores: comunicación, coordinación, conversión y facilitación. Tipos de conectores. Clasificación de dimensiones de conectores. Ejemplos de conectores compuestos. | Bibliografía recomendada | Richard Taylor, Nenad Medvidovic and Eric Dashofy. Software Architecture, Foundations, Theory and Practice. Wiley, 2009. | Bibliografía opcional |
|
Clase #: | 11 – Seguimiento y Control de Proyectos
| Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Características de los cronogramas efectivos. Recomendaciones prácticas para el seguimiento de proyectos. Uso de técnicas de valor acumulado para seguimiento. Seguimient ágil: uso de burndowns. Qué hacer y qué no hacer ante un atraso en un proyecto.
| Bibliografía recomendada | CMMI Product Team. CMMI for Development, version 1.2. Process Area de Project Monitoring and Control. Technical Report CMU/SEI-2006-TR-008. | Bibliografía opcional |
|
Clase #: | 12 – Introducción a los Métodos Agiles y Scrum | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | El Agile Manifesto. Principios de los métodos ágiles. Scrum en el contexto de los métodos ágiles. proceso de Scrum. Conceptos de Scrum: roles, tipos de reuniones, productos. Especificación de requerimientos con Epics, User Stories y Acceptance cases. Cuándo y cuándo no usar Scrum. | Bibliografía recomendada | Ver http://www.controlchaos.com y último slide de la clase para más bibliografía. | Bibliografía opcional | Agile Software Development with Scrum. Ken Schwaber.
|
Clase #: | 13 - Prácticas de Extreme Programming
| Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Historia y objetivos de XP. Valores y principios. Las 12 prácticas de XP (Planning Game, TDD, Pair programming, Refactoring, Integración continua, etc.). Dónde sirve y dónde no sirve XP.
| Bibliografía recomendada | Ver: www.extremeprogramming.org | Bibliografía opcional |
|
Clase #: | 19 - Evaluación de arquitecturas con ATAM y Walkthroughs
| Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Objetivos y beneficios del análisis de arquitecturas. El Architecture Tradeoff Analysis Method (ATAM) del SEI. Uso de Utility Trees. Walthroughs de Arquitecturas. | Bibliografía recomendada | [Bass03], Capítulo ATAM. | Bibliografía opcional |
|
Clase #: | 20 - Introducción al profesionalismo y la ética profesional | Parte (s) | 1 | Profesor Responsable | Santiago Ceria | Temas | Profesionalismo y ética profesional. Definiciones. Responsabilidades de un profesional. Códigos de ética del a ACM / IEEE.
| Bibliografía recomendada | Ver: http://csciwww.etsu.edu/gotterbarn/ | Bibliografía opcional |
|
|
|