El Proceso Software
Facultad de Informática Universidad de Murcia
Ingeniería en Informática
Jesús García MolinaDpto. Informática y Sistemas
http://dis.um.es/~jmolina/
2
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?
4
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
5
Además
• En el segundo ciclo se ofertan asignaturas optativas sobre:– Componentes software– Objetos distribuidos
6
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”
7
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
8
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”
9
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
10
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)
11
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
12
El proceso
• RUP (Rational Unified Process)– 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
13
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
14
Ordenación temporal
S5S4S3S2S1 S10S9S8S7S6 S15S14S13S12S11
UML Proceso Patrones Pers.
Modelado Patrones
Rational
Ejercicios
Laboratorio
Teoría
15
Trabajo Práctico
1. Modelado de casos de uso y conceptual2. Escribir tres casos de uso3. Escribir tres colaboraciones4. Modelado de clases5. Escribir código para las colaboraciones6. Identificar patrones
Pasos 1, 2 y 3: Entregas Parciales
16
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
17
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
18
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
19
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.
20
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, 2002E. 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
21
Enlaces
• Página de UML del OMG: http://www.uml.org
• Página de la asignatura:
http://dis.um.es/~jmolina/as.html
22
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).
23
Certificación UML
• Certificaciones profesionaleshttp://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?