1/12/2004

TEMARIO DE INGENIERÍA DEL SOFTWARE II (I)

Página Principal de Justo N. Hidalgo

Ya es época de plantear las asignaturas del segundo cuatrimestre, sobre todo aquellas que sufren cambios fundamentales con respecto al año pasado. Este es el caso de INgeniería del Software II, ya que la creación de la nueva asignatura optativa de quinto, "Gestión de Proyectos Tecnológicos", me permite "abandonar" un poco la parte más gerencial de la ISW, y centrarme en la parte técnica.

Obviamente, mientras no exista una carrera de Ingeniería del Software, o, al menos un itinerario intensivo, no puedo pretender enseñar TODO lo existente de la ingeniería del sw en dos asignaturas cuatrimestrales.

Ingeniería del Software I es una asignatura bien centrada -aunque todo es mejorable, obviamente-, que introduce qué es la ingeniería, qué es la ingeniería del sw, metodologías, ..., y que permite definir y utilizar el Proceso Unificado.

Mi planteamiento de Ingeniería del Software II es centrarme en un par de temas específicos de la ingeniería del software desde el punto de vista técnico, como es el diseño orientado a objetos mediante la utilización de patrones arquitectónicos y de diseño, y las nuevas tendencias de orientación a componentes, SOA, y creación de frameworks.

El año pasado, esta asignatura fue desde el principio un "cajón de sastre" donde meter muchos conceptos diferentes y no relacionados entre sí. Este año todo está mucho más cohesionado:

1. Introducción a la planificación de proyectos: aunque esto se ve con mucho más detalle en la asignatura optativa mencionada anteriormente, algo tiene que verse en la parte obligatoria de la carrera.
2. Análisis y diseño: arquitectura y patrones. Ya saben lo que es analizar y diseñar. Ahora enseñemos a los alumnos a hacerlo BIEN.
3. Tendencias de ingeniería: lo comentado anteriormente.

Sin embargo, me quedan temas sin tratar que son fundamentales -los temas que aparecen a continuación han sido tomados del IEEE/ACM CCSE (Computing Curriculum: Software Engineering), un intento bastante loable de estandarizar el conocimiento que un alumno de titulación de segundo ciclo debe conocer sobre la Ingeniería del Software. Obviamente, no pretendo que un alumno que no se especializa en este ámbito domine todas las áreas que aparecen en este documento, pero sí que domine las fundamentales, y haya oído hablar de algunas más.


Knowledge Areas:

1. CMP: Computing Essentials: OK.

2. FND: Mathematical & Engineering Fundamentals: OK.

3. PRF: Professional Practice:
Al no disponer de tiempo material en la carrera, se está realizando desde el año pasado un Ciclo de Inteligencia Emocional para Ingenieros en Informática que traten temas tales como la comunicación, asertividad, trabajo en equipo, etc.

4. MAA: Software Modeling & Analysis: OK (Ingeniería del Software I)

5. DES: Software Design: OK, excepto el DES.hci: Human Computer Interface Design.

6. VAV: Software Verification & Validation: OK (un capítulo en ISW I).

7. EVL: Software Evolution: OK, si se concibe desde el punto de vista iterativo del Proceso Unificado.

8. PRO: Software Process: OK.

9. Software Quality: casi nada. Daremos un poco de Métodos Formales al final de ISW II.

10. Software Management: un poco al principio de ISW II, el resto se deja para la asignatura optativa.


Por tanto, nos quedaría por ver:
- Gestión de Versiones: este tema lo podría tratar tangencialmente aprovechando las prácticas que tienen que realizar.
- Calidad de Software: estándares ISO-9000, CMM, ...

No hay comentarios: