Software libre y educaci´on ´ M. Gonz´alez Barahona Jesus [email protected][email protected]
Madrid, 22 de enero de 2004 Jornadas sobre Educaci´
Story Transcript
Presentación de Ingeniería de Software II Primavera 2005 Bienvenidos!
Agenda Curso: qué es? Qué hay que saber para
sobrevivir? Motivación: porqué vale la pena? Temario: clase a clase. Tareas para el hogar.
1
Agenda Curso: qué es? Qué hay que saber para
sobrevivir? Motivación: porqué vale la pena? Temario: clase a clase. Tareas para el hogar.
Objetivos Cómo gestiono un proyecto de software?
Gestión de proyectos de software. Gestión de proyectos. Gestión: proceso + herramientas + personas. Cómo consigo hacer software de calidad? Cómo mejoro mi capacidad de hacer software?
2
Docentes Dan Hirsch (desde Pisa). Gustavo Koblinc. Pablo Michelis. Fernando De Simoni. Pablo Listingart.
Dictado Clases expositivas: lunes y jueves, de 1900 a
2100 > 2200. Actividades grupales: licitación (presentación escrita y oral) y monografía (presentación escrita y dos presentaciones orales). Actividades individuales: coloquio parcial y final Evaluación = actividades.
3
Régimen
La materia es promocional. Se deben aprobar las 4 instancias de evaluación: Evaluación Intermedia (20 %) Trabajo Licitación (25 %) Trabajo Monografía (30 %) Coloquio Final (25 %)
Las correlativas de IS2 son: Ingeniería de Software I Sistemas Operativos Paradigmas de Lenguajes de Programación
Para promocionar se deben tener los finales antes de la ultima fecha de exámenes del cuatrimestre cursado.
Material de soporte Papers y libros. Web, siempre en construcción
Información. Transparencias de las clases. Material. Lista de correo
Docentes ing2-doc at dc.uba.ar. Alumnos+Docentes ing2-alu at dc.uba.ar.
4
Agenda Curso: qué es? Qué hay que saber para
sobrevivir? Motivación: porqué vale la pena? Temario: clase a clase. Tareas para el hogar.
Tres ideas clave Gestión: planificar, organizar, “estafear”, liderar,
controlar. Calidad: de producto, de proceso, de datos. Enfoques: aseguramiento, chequo. Madurez del proceso.
(’68 – ’87): 20 años de promesas de productividad y calidad incumplidas por la industria, basadas en la aplicación de nuevos métodos y tecnologías.
La Crisis del Software 17 contratos del DoD (Department of Defense)
con promedio de duración de 28 meses, sufrieron retrasos promedio de 20 meses. U$d 58.000 millones de perdida a causa de la cancelación del proyecto espacial A12 a causa de los 3 años de retraso en la construcción de sus componentes de software.
6
El reporte del DoD “Report of the defense Science Board Task
Force on Military Software” [DoD87] “...pocas actividades poseen una diferencia tan sustancial entre las mejores prácticas y las prácticas promedio.” “..los mayores problemas actuales encontrados en el desarrollo de software para uso militar no son técnicos, sino que los problemas radican en la administración de los proyectos...”
La Construcción de Software como Ingeniería
Se basa en principios de calidad conocidos desde el año ’30 [Walter Shewart – Principios Control Estadístico de Procesos] Plan-Do-Check Cycle Integración de la estadística y la Ingeniería
Aplicación de Principios de Shewart al Software [Quality is Free - Philip Crosby ’79] Define cinco estados de evolución necesarios para adoptar prácticas de calidad
7
Ciclo de Vida y Propagación de Errores El Costo de la corrección se incrementa a
medida que me alejo del punto en el que fue originado. Este crecimiento depende de la complejidad del
dominio de problema
Ciclo de Vida y Propagación de Errores
8
Actividades por Fase - Principios
Estabilidad Los cambios son mejoras. Se minimizan los efectos desconocidos de nuestros cambios.
Visibilidad Se puede prevenir el efecto de un cambio. Se puede estimar atributos futuros en base a medidas actuales.
Control Se puede evaluar la calidad de un entregable en forma subjetiva.
Agenda Curso: qué es? Qué hay que saber para
sobrevivir? Motivación: porqué vale la pena? Temario: clase a clase. Tareas para el hogar.
9
Temario Parte 1: Cómo definir y planificar un proyecto de
software? Parte 2: Cómo controlar un proyecto de software? Parte 3: Cómo madurar nuestra capacidad de llevar adelante proyectos?
Parte 1: Definir y planificar Decisiones importantes: las 5 dimensiones del desarrollo de software Factibilidad Gestión de Riesgo Estimación de tamaño y esfuerzo Tareas y Dependencias Grupos de Trabajo y Asignación de Recursos Plan de Despliegue Plan del proyecto
10
Parte 2: Controlar Seguimiento y control de proyectos Gestión de configuraciones Gestión de requerimientos de cambios
Parte 3: Madurar Calidad
Calidad de Producto Calidad de Proceso Calidad de Datos QA Plan de Métricas Técnicas de Validación y Verificación Modelos de Madurez
11
Agenda Curso: qué es? Qué hay que saber para
sobrevivir? Motivación: porqué vale la pena? Temario: clase a clase. Tareas para el hogar.
Tareas para el hogar Inscribirse en la lista de correo de alumnos Formar grupos de 4 personas Mandarlo por correo electrónico a ing2-doc at
dc.uba.ar Fecha límite: miércoles próximo a las 1700