El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática...

24
El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas http://dis.um.es/~jmolina/

Transcript of El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática...

Page 1: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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/

Page 2: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas 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

Page 3: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

OO, sí pero ... ¿qué?, ¿cuándo?, ¿cómo?

Page 4: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 5: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

5

Además

• En el segundo ciclo se ofertan asignaturas optativas sobre:– Componentes software– Objetos distribuidos

Page 6: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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”

Page 7: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 8: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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”

Page 9: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 10: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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)

Page 11: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 12: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 13: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 14: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

14

Ordenación temporal

S5S4S3S2S1 S10S9S8S7S6 S15S14S13S12S11

UML Proceso Patrones Pers.

Modelado Patrones

Rational

Ejercicios

Laboratorio

Teoría

Page 15: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 16: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 17: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 18: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 19: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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.

Page 20: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 21: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

21

Enlaces

• Página de UML del OMG: http://www.uml.org

• Página de la asignatura:

http://dis.um.es/~jmolina/as.html

Page 22: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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).

Page 23: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

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

Page 24: El Proceso Software Facultad de Informática Universidad de Murcia Ingeniería en Informática Jesús García Molina Dpto. Informática y Sistemas jmolina

¿ Cuestiones?

¿Comenzamos?