1 Análisis y Diseño del SoftwareDepartamento de Informática y Sistemas Análisis y Diseño del Software Hola, buenos días, mi nombre es Javier Cánovas Izquierdo, pertenezco al grupo de investigación de tecnología del software de la Universidad de Murcia y en esta exposición voy a presentar el artículo de las jornadas titulado “Utilidad de las transformaciones modelo-modelo en la generación automática de código” Jesús García Molina Departamento de Informática y Sistemas Universidad de Murcia
2 OO en un plan de estudiosLa orientación a objetos, 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 software OO Proceso basado en UML Patrones de diseño
3 OO, sí pero ... ¿qué?, ¿cuándo?, ¿cómo?
4 Propuesta DIS Antes procedural que orientación a objetosDos asignaturas cuatrimestrales sobre OO: Introducción a la Programación OO (Tercero) Conceptos básicos Análisis y Diseño OO (Cuarto) 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 Frameworks Arquitectura del software
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 OODescribir 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 “A/D de Software”Asignatura troncal, cuarto curso, 6 créditos (3T+3P), 82 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íficosEstudio 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
10 La asignatura “A/D de Software”Contenidos teóricos Tema 1. El lenguaje UML (9 horas) Tema 2. Un proceso basado en UML (6 horas) Tema 3. Patrones de diseño (15 horas) Seminario. Persistencia OO (2 horas)
11 La asignatura “A/D de Software”Coincide con el enfoque del libro “UML y Patrones” de Craig Larman. Variaciones: Primero todo UML: modelos y notación Se describe el 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) Proceso de LarmanMá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ácticasEjercicios de modelado (clases prácticas) Casos de uso (6 horas), modelado estructural y colaboraciones (4 horas), proyecto año anterior (2 horas) Estudio de herramienta de modelado UML (2 sesiones de laboratorio de hora y media). Aplicación del proceso de Larman a un caso práctico (unas 30 horas de trabajo) Tres entrevistas de seguimiento y una final
14 Ordenación temporal Laboratorio Ejercicios Teoría Rational ModeladoPatrones Teoría UML Proceso Patrones Pers. S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15
15 Trabajo Práctico Modelado de casos de uso y conceptualEscribir cuatro casos de uso Modelado de análisis: DSS, colaboraciones y modelado de clases Escribir código para las colaboraciones Identificar patrones Pasos 1, 2 y 3: Entregas Parciales
16 Valoración de los alumnosValoració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 (aunque no se aplican iteraciones).
17 Examen teórico Ejercicios sobre patrones de diseño y patrones GRASPExámenes años anteriores disponibles en
18 Carga en ECTS A partir de ahora créditos ECTS1 curso son 60 ECTS (30 un cuatrimestre) 1 ECTS = 25 a 30 horas de trabajo del alumno Un curso son de 1500 a 1800 horas de trabajo del alumno (un cuatrimestre la mitad) Una asignatura cuatrimestral, 5 ECTS
19 Carga alumno 30 horas de teoría11 horas de ejercicios y 3 de seminarios UML 65 horas de estudio 30 horas para el trabajo práctico
20 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. Curso 2006/2007: junio (23/22/122), septiembre (15/18/99), febrero (11/7/56)
21 Bibliografía Básica Grady Booch, et al. El lenguaje unificado de modelado, Addison-Wesley, 2004, 2ª edición. Jim Arlow e Ila Neustadt, UML 2, Anaya Multimedia, 2006. Craig Larman, UML y Patrones, 2ª edición, Prentice-Hall, 2002 Erich 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
22 Enlaces Página de UML del OMG: http://www.omg.org/umlPágina de la asignatura:
23 Certificación UML Certificaciones profesionales Programa de Certificación de IBM “Object-Oriented Analysis and Design with UML”, Test 486 Programa de Certificación del OMG
24 ¿ Cuestiones? ¿Comenzamos?