El Proceso Software Ingeniería en Informática Facultad de Informática Universidad de Murcia Ingeniería en Informática El Proceso Software Jesús García Molina Dpto. Informática y Sistemas http://dis.um.es/~jmolina/
OO en un plan de estudios OO forma parte del núcleo de conocimientos de la informática. En las propuestas curriculares de ACM/IEEE se consideran conocimientos obligatorios: Introducir los conceptos OO y escribir programas Proceso basado en UML y patrones de diseño
OO, sí pero ... ¿qué?, ¿cuándo?, ¿cómo?
Nuestra propuesta Enfoque evolutivo (procedural-modular-OO) Dos asignaturas cuatrimestrales: Introducción a la Programación OO Conceptos básicos Análisis y Diseño OO Un proceso basado en UML Patrones de Diseño
Además En el segundo ciclo se ofertan asignaturas optativas sobre: Componentes software Objetos distribuidos
Introducción a la programación OO “Que el alumno no adquiera la visión OO ofrecida por un particular lenguaje, sino que comprenda los conceptos que subyacen a la OO de un modo independiente al lenguaje”
Introducción a la programación OO Describir los conceptos básicos: clase, objeto, herencia, polimorfismo y ligadura dinámica. Contrastar conceptos en lenguajes más extendidos. Enseñar un lenguaje OO y su entorno Introducir técnicas y heurísticas muy básicas de programación. Dos cursos en paralelo: Teoría y Prácticas
La asignatura “Proceso Software” Asignatura troncal, cuarto curso, 6 créditos (3T+3P), 150 alumnos “Proporcionar al alumno una formación que le permita abordar de forma sistemática el desarrollo de aplicaciones OO, aplicando un proceso software basado en UML y patrones de diseño”
Objetivos específicos Estudio de UML Modelado de requisitos (casos de uso) Modelado estructural Modelado del comportamiento Conocer y aplicar un proceso software basado en UML Conocer patrones de diseño GOF Comprender problema persistencia OO
La asignatura “Proceso Software” Contenidos teóricos Tema 1. El lenguaje UML (6 horas) Tema 2. Un proceso basado en UML (8 horas) Tema 3. Patrones de diseño (14 horas) Tema 4. Persistencia OO (2 horas)
La asignatura “Proceso Software” Coincide con en el enfoque del libro “UML y Patrones” de Craig Larman. Variaciones: Primero todo UML: modelos y notación Etapa de modelado del negocio Se desdobla en dos el Modelo del Diseño Se estudian en profundidad todos los patrones GoF
El proceso RUP (Rational Unified Process) Proceso de Larman Más conocido y extendido Grande y complejo Inapropiado para una asignatura Proceso de Larman Simple pero realista Compatible con UP: dirigido por casos de uso, iterativo e incremental, centrado en la arquitectura
Organización de las prácticas Ejercicios de modelado (clases prácticas) Casos de uso (3 sesiones), modelado conceptual (1 sesión), colaboraciones (2 sesiones), proyecto año anterior (1 sesión) Estudio de Rational Rose 2001 3.0 (2 sesiones de dos horas). Aplicación del proceso de Larman a un caso práctico (unas 40 horas) Tres entrevistas de seguimiento y una final
Ordenación temporal Laboratorio Ejercicios Teoría Rational Modelado Patrones Teoría UML Proceso Patrones Pers. S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15
Trabajo Práctico Modelado de casos de uso y conceptual Escribir tres casos de uso Escribir tres colaboraciones Modelado de clases Escribir código para las colaboraciones Identificar patrones Pasos 1, 2 y 3: Entregas Parciales
Examen teórico Ejercicios sobre patrones de diseño y patrones GRASP Exámenes años anteriores disponibles en http://dis.um.es/~jmolina/as.html
Carga de una asignatura A partir de ahora créditos ECTS 1 curso son 60 créditos (30 un cuatrimestre) 1 crédito = 25 a 30 horas de trabajo del alumno Un año son unas 1600 horas de trabajo del alumno (un cuatrimestre, 800 horas) Una asignatura cuatrimestral, 5 ECTS
Carga 30 horas de teoría 10 horas de ejercicios y 4 de seminarios UML 65 horas de estudio 40 horas para el trabajo práctico
Evaluación El alumno debe superar el examen de teoría y las prácticas. Nota final = 0.6Teoría + 0.4Prácticas Si un alumno supera el examen teórico o las prácticas se mantiene el aprobado para las siguientes convocatorias del curso académico.
Bibliografía Básica G. Booch, et al. El lenguaje unificado de modelado, Addison-Wesley, 1999. C. Larman, UML y Patrones, 2ª edición, Prentice-Hall, 2002 E. Gamma et al., Patrones de Diseño, Addison-Wesley, 2002. Otros: M. Fowler, UML Gota a Gota, Segunda Edición, Addison Wesley, 1997. M. Grand, Patterns in Java, vol. 1, John Wiley, Segunda Edición, 2002. J. Rumbaugh et al., El Lenguaje Unificado de Modelado, Manual de Referencia, Addison-Wesley, 2000. P. Stevens, Utilización de UML, Addison-Wesley, 2002
Enlaces Página de UML del OMG: http://www.uml.org Página de la asignatura: http://dis.um.es/~jmolina/as.html
Valoración de los alumnos Valoración positiva Utilidad práctica (UML, proceso y patrones) Trazabilidad del proceso y es un método sistemático Han aprendido técnicas útiles para programar mejor Los alumnos aprenden las técnicas de modelado UML. Buena aproximación a un proceso real (no se aplican iteraciones).
Certificación UML Certificaciones profesionales http://www.objectsbydesign.com/tools/certification.html Programa de Certificación de IBM “Object-Oriented Analysis and Design with UML”, Test 486 Programa de Certificación del OMG
¿ Cuestiones? ¿Comenzamos?