Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 1994) 2012-2

Séptimo Semestre, Ingeniería de Software

Grupo 7024, 30 lugares. 11 alumnos.
Todo el curso en Taller de Ing. de Software
Profesor Hanna Oktaba lu mi 17 a 18:30 Taller de Ingeniería de Software
Ayudante Miguel Ehécatl Morales Trujillo ma ju 16 a 17 Taller de Ingeniería de Software
Ayud. Lab. Miguel Angel Piña Avelino mi 14 a 16 Taller de Ingeniería de Software
 
Ingeniería de Software

Licenciatura en Ciencias de la Computación

Facultad de Ciencias, UNAM

Profesora Dra.Hanna J. Oktaba

hanna.oktaba@ciencias.unam.mx

Ayudantes: Miguel Ehécatl Morales Trujillo (migmor@ciencias.unam.mx) y

Miguel Angel Piña Avelino (miguel_pinia@ciencias.unam.mx)

Semestre 2012 - II

Objetivo

Enseñar diversas técnicas de Ingeniería de Software que preparen a los alumnos para desarrollar productos de software en equipo. El alumno aprenderá a trabajar en equipo a través del desempeño de roles; a planear actividades individuales y de grupo; a seguir un proceso disciplinado de especificación de requerimientos, diseño y construcción; a realizar diversas técnicas de revisión, inspección y pruebas (unitarias y de sistema) para velar por la calidad del producto; a recolectar métricas de tiempo, tamaño y defectos en el trabajo personal y de equipo para conocer su productividad individual y del equipo.

Metodología de enseñanza

Los alumnos se dividen en equipos de alrededor de 5 miembros. Cada equipo desarrollará durante el curso un producto de software, con su documentación respectiva, siguiendo la metodología propuesta en el libro Ingeniería de Software Pragmática. El producto se desarrollará en dos ciclos iterativos. El curso está acompañado con prácticas individuales y en equipo desarrolladas durante horas de ayudantía, que permiten realizar las actividades del proceso de desarrollo. También, se agregan prácticas individuales de programación, como actividades de laboratorio, que refuerzan el conocimiento requerido para la generación del producto final.

Sitio de apoyo al curso:

Contenido

1.Introducción a la Ingeniería de software

  • Definiciones de la Ingeniería de software
  • Software, su naturaleza y atributos
  • Principios de la Ingeniería de software
  • Proceso de software y sus fases

2.Desarrollo de software en equipo

  • Trabajo en equipo
  • Formación de los equipos y asignación de roles
  • Reuniones semanales de los equipos
  • El concepto de medida y su papel en Ingeniería de software
  • Formas de Registro de tiempos: Semana personal y del equipo
  • Planteamiento del problema

3.Fase de Lanzamiento

  • Objetivos, actividades y productos
  • Definición de objetivos
  • Estándares de documentación
  • Identificación de riesgos

4.Fase de Estrategia

  • Objetivos, actividades y productos
  • Definición de la estrategia
  • Administración de la configuración

5. Fase de Planeación

  • Objetivos, actividades y productos
  • Planeación
  • Revisiones entre colegas

6. Fase de Especificación de requerimientos

  • Objetivos, actividades y productos
  • Especificación de requerimientos
  • Diagramas de casos de uso
  • Prototipo de la interfaz de usuario
  • Requerimientos no funcionales
  • Plan de pruebas del software

7.Fase de Diseño

  • Objetivos, actividades y productos
  • Arquitectura de software
  • Diagrama de distribución
  • Diseño de clases
  • Diagrama de secuencia
  • Diagrama de navegación de la interfaz
  • Plan de pruebas de Integración

8. Fase de Construcción

  • Objetivos, actividades y productos
  • Diseño detallado de clases
  • Construcción del código
  • Pruebas unitarias

9.Fase de Prueba del sistema

  • Objetivos, actividades y productos
  • Integración del sistema
  • Prueba del sistema
  • Construcción de manuales

10. Fase de Cierre

  • Objetivos, actividades y productos
  • Evaluación del equipo y personal
  • Lecciones aprendidas y sugerencias de mejora
  • Informes de mediciones
  • Entrega e instalación del sistema

Método de evaluación

40% carpeta electrónica con documentación y sistema funcionando tanto en el primer ciclo como el segundo
20%prácticas de las ayudantías
15%los 3 exámenes
15%las prácticas individuales del laboratorio

10% asistencias a clase, ayudantías y laboratorio (90% para 10, 80% para 9)

Bibliografía

Ibargüengoitia G., Oktaba H. Ingeniería de Software Pragmática. Sitio del curso

http://

Humphrey W., Introduction to Team Software Process, SEI Series in Software Engineering, Addison Wesley, 2000.

Humphrey W., Introduction to Personal Software Process, SEI Series in Software Engineering, Addison Wesley, 1997.

Booch G., Rumbaugh J., Jacobson I.,“The Unified Modeling Language. User Guide”, Second Edition, Addison-Wesley, 2005.

Jacobson I., Booch G., Rumbaugh J. The Unified Software Development Process, Addison Wesley, 1999.

Fowler M. Scott K. UML gota a gota. Pearson.

Pfleeger S.L. Software Engeneering. Theory and Practice 3ª edición. Prentice Hall. 2006.

Pressman R.S. Ingeniería del Software. Un enfoque práctico. McGraw Hill

Sommerville I. Ingeniería de Software. Addison Wesley.

SWEBOK. Guide to the Software Engineering Body of Knowledge. Versión 2004. www.swebok.org

Dra. Hanna Oktaba

En 1982 obtuvo el doctorado por la Universidad de Varsovia, Polonia. A partir de

1983 y hasta la fecha es profesora de la Universidad Nacional Autónoma de

México a nivel licenciatura y de posgrado. Sus áreas de interés principales son

Ingeniería de Software, Tecnología Orientada a Objetos, Modelos de Procesos de

Software y Mejora de Procesos.

Fue fundadora de la Asociación Mexicana para la Calidad en Ingeniería de Software

(AMCIS) y de la Sociedad Mexicana en Ciencia de la Computación SMCC).

A partir de 2002 estuvo a cargo de los proyectos MoProSoft, EvalProSoft y

Pruebas controladas apoyados por el programa PROSOFT de la Secretaría de

Economía. Como resultado de estos proyectos, en octubre de 2005, se aprobó la norma mexicana para la industria de software basada en MoProSoft y EvalProSoft.

Entre 2004-2006 fue miembro de International Process Research Group (IPRC) organizado por Software Engineering Institute (SEI), cuyo objetivo fue definir las líneas de investigación en el área de procesos para los próximos 10 años.

De 2006 a 2008 fue Directora Técnica del proyecto COMPETISOFT. El objetivo de este proyecto, financiado por CYTED, fue la mejora de procesos para fomentar la competitividad de pequeña y mediana industria de software en Iberoamérica. El proyecto fue dirigido por el Dr. Mario Piattini de la Universidad Castilla –La Mancha, España, y contó con la participación de 23 grupos de 13 países.

Desde 2006 es representante de México ante el Work Group 24 de ISO JTC/SC7 Software and System Engeeniring cuyo objetivo es generar un estándar internacional ISO/IEC 29110 para Very Small Entities de la industria de software con base en la norma mexicana. En 2011 fueron publicadas las primeras cinco partes de este estándar:

ISO/IEC 29110 Software engineering — Lifecycle profiles for Very Small Entities (VSEs):

Part 1: Overview

Part 2: Framework and taxonomy

Part 3: Assessment guide

Part 4-1:Profile Specifications: Generic profile group

Part 5-1-2: Management and engineering guide: Generic profile group: Basic profile

Fue coeditora junto con Ana Isabel Vázquez Urbina y Blanca Gil de la Parte 4-1 y con Ana Isabel Vázquez y Claudia González de la Parte 5-1-2.

Es miembro del Consejo Editorial y columnista de la revista Software Guru dirigida a los profesionales de la industria de software mexicana.

Mi mayor orgullo son mis ex - estudiantes de posgrado y licenciatura que ocupan importantes lugares en espacios profesionales de la industria de software y en la academia.

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.