Guía de aprendizaje Introducción
Objetivos
Contenidos
Planificación del aprendizaje
Actividades
Ejercicios de autoevaluación
Bibliografía

Introducción

Como ya sabemos, muchas de las ramas de la tecnología informática hace décadas que evolucionan de manera rápida y este proceso no parece detenerse, lo cual obliga a los profesionales de la informática a ponerse al día cada pocos años. Uno de los campos en los que esto se acentúa más es el de la ingeniería de software, sobre todo como consecuencia del hecho de que es una disciplina relativamente joven, que todavía está lejos de haber alcanzado una madurez y una estabilidad comparables a las de otras ingenierías.

Dentro de la ingeniería de software, el desarrollo de las técnicas orientadas a objetos ha supuesto una revolución realmente profunda, de un alcance que en el futuro puede que se compare con el de la aparición del concepto de programación estructurada, si bien el hecho de haberse desarrollado y extendido lentamente hace más difícil que nos demos cuenta de su importancia. Esto hace que sea muy conveniente para todos aquellos profesionales del desarrollo y del mantenimiento de software que se hayan formado en épocas anteriores, formarse en la tecnología orientada a objetos. Y ahora es un buen momento para hacerlo, porque en estos últimos años se ha producido un hecho importante en esta tecnología: se ha pasado de una situación en la que había decenas de modelos y notaciones orientadas a objetos diferentes a otra en la que se ha desarrollado un modelo ampliamente aceptado y que se ha convertido en un estándar oficial: el UML. Aunque la evolución de esta tecnología sin duda continuará, muy probablemente durante unos cuantos años tendrá lugar ya dentro del marco de la UML (del cual también irán apareciendo nuevas versiones, pero probablemente aportarán más extensiones que cambios en los conceptos básicos). Por lo tanto, todo hace pensar que el UML será un modelo casi imprescindible para los profesionales del software en el futuro próximo.

Arriba

Objetivos

Al final del programa, los participantes tienen que ser capaces de:

  • Analizar y diseñar en orientación a objetos (OO) aplicando el nuevo estándar de representación gráfica UML y utilizando herramientas CASE adecuadas.
  • Entender con claridad la arquitectura que tiene un sistema desarrollado en OO y las alternativas del ciclo de vida que existen.
  • Combinar el modelo relacional de bases de datos con el modelo OO.
  • Ejercer las habilidades de reutilización, motivación principal del uso del OO.
  • Gestionar la reutilización desde sus dos vertientes: diseñar para reutilizar y reutilizar para diseñar. 
Arriba

Contenidos

Los contenidos de los módulos didácticos que componen este curso son los siguientes:

Módulo didáctico 1
Introducción a la ingeniería de software orientada a objetos

0,3 créditos

Objetivos

  • Entender qué es la ingeniería de software y saber qué la diferencia de otras ingenierías.
  • Hacerse una primera idea de los principales problemas de la ingeniería de software actualmente: la calidad y la productividad. 
  • Conocer el modelo de ciclo de vida que ha tenido más impacto hasta la llegada de la orientación a objetos y también los principales modelos posteriores. 
  • Adquirir el concepto de herramienta CASE en general y especialmente en entornos orientados a objetos.
  • Conocer un poco el origen de UML, el modelo orientado a objetos que ha pasado a ser un estándar mundial.
Contenidos
  1. Qué es la ingeniería de software
  2. El ciclo de vida del software
  3. Desarrollo estructurado y desarrollo orientado a objetos 
  4. Las herramientas CASE 
  5. El OMG y el UML
Módulo didáctico 2
UML (I): el modelo estático

0,8 créditos

Objetivos

  • Profundizar en el concepto de clase, especialmente en lo que concierne a los diferentes tipos de clases y conceptos relacionados, y familiarizarse con las notaciones respectivas. 
  • Entender los tipos más frecuentes de relaciones entre clases y saberlos identificar.
  • Conocer los principales elementos complementarios de UML aplicables al diagrama estático.
Contenidos
  1. Concepto de modelo estático y diagrama de clases
  2. Clasificadores
  3. Paquetes
  4. Clase y conceptos afines
  5. Representación de los objetos
  6. Relaciones entre clases
  7. Comentarios y restricciones
Módulo didáctico 3
UML (II): el modelo dinámico y de implementación

0,8 créditos

Objetivos

  • Aprender el diagrama de estados.
  • Adquirir los conceptos de caso de uso y de actor, y saber identificar los diferentes casos de relaciones entre casos de uso.
  • Aprender a describir las interacciones mediante diagramas de colaboración y de secuencia y saberlos aplicar a la descripción de casos de uso y de operaciones complejas.
  • Aprender qué es un diagrama de actividades y entender las diferencias entre éste y el diagrama de estados.
  • Aprender a interpretar y utilizar los diagramas de componentes y de despliegue.
Contenidos
  1. El diagrama de estados
  2. El diagrama de casos de uso
  3. Los diagramas de interacción
  4. El diagrama de actividades
  5. Los diagramas de implementación
Módulo didáctico 4
Recogida y documentación de requisitos

0,6 créditos

Objetivos

  • Entender el papel de los requisitos descritos en forma de casos de uso dentro del proceso de desarrollo de software.
  • Aprender a recoger la información sobre los casos de uso.
  • Aprender a identificar los actores.
  • Aprender a documentar los casos de uso.
  • Aprender a determinar y a documentar las relaciones entre casos de uso.
  • Aprender a recoger dentro de la documentación de los casos de uso los requisitos en lo que concierne a la interfaz de usuario.
Contenidos
  1. Los requisitos
  2. Fuentes de información
  3. Pasos de la recogida y documentación de información
  4. La recogida y documentación de requisitos de la interfaz de usuario
  5. Ejemplo
Módulo didáctico 5
Análisis orientado a objetos

1,5 créditos

Objetivos

  • Entender el papel del análisis y las diferencias con la etapa anterior –la recogida y documentación de requisitos– y la siguiente –el diseño.
  • Comprender las diferencias entre los tres tipos de clases que se consideran en el análisis.
  • Aprender a elaborar el diagrama estático de análisis.
  • Saber formalizar los casos de uso mediante diagramas de interacción y otros.
  • Aprender a hacer el análisis de la interfaz de usuario.
Contenidos
  1. El papel del análisis
  2. Paquetes de análisis y paquetes de servicios
  3. Revisión de los casos de uso
  4. Especificación de las clases de análisis
  5. Especificación formal de los casos de uso
  6. Análisis de la interfaz de usuario
  7. Ejemplo
Módulo didáctico 6
Diseño orientado a objetos

1,5 créditos

Objetivos

  • Entender el papel del diseño y las diferencias con la etapa anterior –el análisis– y la siguiente –la realización.
  • Entender las opciones de reutilización existentes y cómo se emplean.
  • Saber especificar la implementación de los casos de uso descritos en el modelo de análisis.
  • Aprender a elaborar el diagrama estático de diseño.
  • Aprender a diseñar la interfaz de usuario.
Contenidos
  1. El papel del diseño
  2. La reutilización
  3. El diseño arquitectónico
  4. El diseño de los casos de uso
  5. Revisión del diagrama estático de diseño
  6. Diseño de la persistencia
  7. Diseño de la interfaz gráfica de usuario
  8. Diseño de los subsistemas
  9. Ejemplo
Módulo didáctico 7
Desarrollo de software orientado a objetos

0,5 créditos

Objetivos

  • Entender la necesidad de un ciclo de vida específico para el desarrollo y mantenimiento de la librería de reutilización.
  • Conocer el ciclo de vida conocido como iterativo e incremental, que es el más extendido en centros de desarrollo que se basan en la orientación a objetos.
  • Comprender los motivos de la aplicación de un desarrollo basado en prototipos cuando la situación lo requiera.
  • Saber cómo afecta la reutilización a los informáticos desde el punto de vista profesional, por lo que respecta a las nuevas funciones y a la manera de evaluar la productividad.
  • Conocer la puesta a punto del software orientado a objetos.
  • Adquirir los conceptos de la calidad del software que son específicos del software orientado a objetos.
Contenidos
  1. Introducción
  2. Los ciclos de vida
  3. La reutilización
  4. La productividad 
  5. Puesta a punto de sistemas OO
  6. Calidad en sistemas orientados a objetos
Arriba

Planificación del aprendizaje

Aquí tenéis una planificación de vuestro aprendizaje módulo a módulo. Para cada módulo, se describen las actividades que tenéis que realizar, al mismo tiempo que se da la información siguiente para cada una: 

  • Columna de objetivos. Objetivos a los que se encamina la actividad, entre los objetivos indicados con anterioridad para el módulo didáctico en cuestión.
  • Columna de contenidos. Apartados del módulo didáctico afectados por la actividad.
  • Columna de materiales. Materiales utilizados en la actividad.
  • Columna de actividades. Se proponen los tipos de actividades siguientes:
    • Estudio
    • Autoevaluación
    • Ejercicios prácticos
    • Cuestionarios 
  • Columna de tiempo. Duración aproximada de la actividad en condiciones normales. Merece la pena tener en cuenta que la duración efectiva puede tener variaciones importantes dependiendo de las personas y de las condiciones en las que desarrollen la actividad.
Módulo didáctico 1. Introducción a la ingeniería de software orientada a objetos
 
Objetivos Contenidos Materiales Actividades Tiempo
Entender qué es la ingeniería de software y saber qué la diferencia de otras ingenierías. Apartado 1 Texto del módulo Estudio 15 min
Hacerse una primera idea de los problemas principales de la ingeniería de software actualmente: la calidad y la productividad. Apartado 1 Texto del módulo Estudio 15 min
Conocer el modelo de ciclo de vida que ha tenido más impacto hasta la llegada de la orientación a objetos y también los principales modelos posteriores. Apartado 2 Texto del módulo Estudio 1 h 30 min
Adquirir el concepto de herramienta CASE en general y especialmente en entornos orientados a objetos. Apartado 4 Texto del módulo Estudio 15 min
Conocer un poco el origen de UML, el modelo orientado a objetos que ha llegado a ser un estándar mundial. Apartado 5 Texto del módulo Estudio 30 min
Todos. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 1 h
Todos. Todo el módulo Cuestionario enviado por el consultor Parte de Actividad 1 30 min

Módulo didáctico 2. UML (I): el modelo estático 
 
Objetivos Contenidos Materiales Actividades Tiempo
Profundizar en el concepto de clase, especialmente en lo que concierne a los diferentes tipos de clases y conceptos relacionados, y familiarizarse con las notaciones respectivas. Apartados del 1 al 5 Texto del módulo; Rose; texto de introducción a Rose Estudio; autoaprendizaje de Rose 4 h
Entender los tipos más frecuentes de relaciones entre clases y saberlos identificar. Apartado 6 Texto del módulo; Rose; texto de introducción a Rose Estudio; autoaprendizaje de Rose 3 h
Conocer los principales elementos complementarios de UML aplicables al diagrama estático. Apartado 7 Texto del módulo; Rose; texto de introducción a Rose Estudio; autoaprendizaje de Rose 1 h
Todos. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 1 h 30 min
Todos. Todo el módulo Herramienta CASE; enunciado enviado por el consultor Parte de Actividad 1 2 h

Módulo didáctico 3. UML (II): el módelo dinámico y de implementación 
 
Objetivos Contenidos Materiales Actividades Tiempo
Aprender el diagrama de estados. Apartado 1 Texto del módulo; Rose Estudio 2 h 30 min
Adquirir los conceptos de caso de uso y de actor y saber identificar los diferentes casos de relaciones entre casos de uso. Apartado 2 Texto del módulo; Rose Estudio 1 h 30 min
Aprender a describir las interacciones mediante diagramas de colaboración y de secuencia y saberlos aplicar a la descripción de casos de uso y de operaciones complejas. Apartado 3 Texto del módulo; Rose Estudio 2 h 
Aprender qué es un diagrama de actividades y entender las diferencias entre éste y el diagrama de estados. Apartado 4 Texto del módulo Estudio 1 h 30 min
Aprender a interpretar y utilizar los diagramas de componentes y de despliegue. Apartado 5 Texto del módulo Estudio 30 min
Todos. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 30 min
Todos. Todo el módulo Herramienta CASE; enunciado enviado por el consultor Parte de Actividad 1 2 h

Módulo didáctico 4. Recogida y documentación de requisitos 
 
Objetivos Contenidos Materiales Actividades Tiempo
Entender el papel de los requisitos descritos en forma de casos de uso en el proceso de desarrollo de software. Apartado 1 Texto del módulo Estudio 30 min
Aprender a recoger la información sobre los casos de uso. Apartados 2 y 3 Texto del módulo Estudio 1 h 
Aprender a identificar los actores. Apartados 3 y 5 Texto del módulo Estudio 30 min
Aprender a documentar los casos de uso. Apartados 3 y 5 Texto del módulo Estudio 1 h 30 min
Aprender a determinar y documentar las relaciones entre casos de uso. Apartados 3 y 5 Texto del módulo Estudio 1 h
Aprender a recoger dentro de la documentación de los casos de uso los requisitos referidos a la interfaz de usuario. Apartado 4 Texto del módulo Estudio 1 h
Todos los anteriores. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 1 h 30 min
Desarrollar un caso práctico. Todo el módulo  Herramienta CASE; texto del módulo; enunciado enviado por el consultor Actividad 2 y parte de Actividad 5 4 h 30 min

Módulo didáctico 5. Análisis orientado a objetos 
 
Objetivos Contenidos Materiales Actividades Tiempo
Entender el papel del análisis y las diferencias con la etapa anterior –la recogida y documentación de requisitos– y la siguiente –el diseño. Apartado 1 Texto del módulo Estudio 30 min
Comprender las diferencias entre los tres tipos de clases que se consideran en el análisis. Apartado 4 Texto del módulo Estudio 1 h 
Aprender a elaborar el diagrama estático de análisis. Apartados 4 y 7 Texto del módulo Estudio 1 h
Saber formalizar los casos de uso mediante diagramas de interacción y otros. Apartados 5 y 7 Texto del módulo Estudio 1 h 30 min
Aprender a hacer el análisis de la interfaz de usuario. Apartados 6 y 7 Texto del módulo Estudio 1 h
Todos los anteriores. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 1 h 30 min
Desarrollar un caso práctico. Todo el módulo  Herramienta CASE; texto del módulo; enunciado enviado por el consultor Actividad 3 y parte de Actividad 5 4 h 30 min

Módulo didáctico 6. Diseño orientado a objetos
 
Objetivos Contenidos Materiales Actividades Tiempo
Entender el papel del diseño y las diferencias con la etapa anterior –el análisis– y la siguiente –la realización. Apartado 1 Texto del módulo Estudio 30 min
Entender las opciones de reutilización existentes y cómo se emplean. Apartado 2 Texto del módulo Estudio 1h 30 min
Saber especificar la implementación de los casos de uso descritos en el modelo de análisis. Apartados 3, 4 y 8 Texto del módulo Estudio 2h 30 min
Aprender a elaborar el diagrama estático de diseño. Apartados 5, 7 y 8 Texto del módulo Estudio 1h 30 min
Aprender a diseñar la interfaz de usuario. Apartados 7 y 8 Texto del módulo Estudio 1 h
Todos los anteriores. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Ejercicios de autoevaluación 1 h
Desarrollar un caso práctico. Todo el módulo Texto del módulo; enunciado enviado por el consultor Actividad 4 y parte de Actividad 5 4 h 30 min

Módulo didáctico 7. Desarrollo de software orientado a objetos
 
Objetivos Contenidos Materiales Actividades Tiempo
Entender la necesidad de un ciclo de vida específico para el desarrollo y mantenimiento de la librería de reutilización. Apartado 2.1 Texto del módulo Estudio 15 min
Conocer el ciclo de vida que se denomina iterativo e incremental, que es el más extendido en centros de desarrollo que se basan en la orientación a objetos. Apartado 2.2 Texto del módulo Estudio 15 min
Comprender los motivos de la aplicación de un desarrollo basado en prototipos cuando la situación lo requiera. Apartado 2.3 Texto del módulo Estudio 15 min
Saber cómo afecta la reutilización a los informáticos desde el punto de vista profesional, por lo que respecta a las nuevas funciones y a la manera de evaluar la productividad. Apartados 3.2 y 4 Texto del módulo Estudio 30 min
Conocer la puesta a punto del software orientado a objetos. Apartado 5 Texto del módulo Estudio 15 min
Adquirir los conceptos de la calidad del software que son específicos del software orientado a objetos. Apartado 6 Texto del módulo Estudio 30 min
Todos. Todo el módulo Preguntas de autoevaluación, sus respuestas y el texto del módulo Autoevaluación 1 h 30 min
Todos. Todo el módulo Cuestionario enviado por el consultor Cuestionario Q6 1 h 30 min

Arriba

Actividades

Estudio

Es el estudio convencional del texto de los módulos: memorización de los conceptos y lectura atenta de los ejemplos. El tiempo que se da comprende tanto la primera lectura como el repaso posterior, y está calculado suponiendo un grado elevado de atención.

Autoevaluación

Consiste en que el participante, una vez completado el estudio de un módulo, intenta responder a sus preguntas o ejercicios de autoevaluación y, posteriormente, compara sus respuestas con las soluciones contenidas en el material.

Actividades

Después de realizar la autoevaluación de cada módulo didáctico, los participantes tendrán que responder al enunciado de la actividad correspondiente, que puede abarcar varios módulos; una vez completada la actividad, deberán enviar sus respuestas a la misma en forma de uno o más ficheros compactados dentro de un único fichero .zip adjunto a un mensaje transmitido, dentro del plazo establecido, al consultor, el cual las puntuará y comunicará a cada participante su puntuación, así como la solución. Cuando la actividad incluye un cuestionario, se recomienda realizarlo sin mirar el texto, y una vez resuelto, comprobar las respuestas con el texto de los módulos y corregirlas si es necesario.

Los participantes se pueden pedir ayuda entre ellos por medio del foro del curso, pero está prohibido que se pasen ficheros con soluciones totales o parciales.

Arriba

Ejercicios de autoevaluación

Las preguntas y ejercicios de autoevaluación están incluidos dentro del texto de cada módulo, y también –por separado– las soluciones respectivas.

Arriba

Bibliografía
 

Bibliografía básica

Booch, G.; Rumbaugh, J.; Jacobson, I. (1999). UML. El lenguaje de modelado unificado. Guía del Usuario. Addison-Wesley.

Cockburn, A. (2001). Writing Effective Use Cases. Addison-Wesley.

Jacobson, I.; Booch, G.; Rumbaugh, J. (2000). El proceso unificado de desarrollo de software. Addison-Wesley.

Kruchten, P. (2000). The Rational Unified Process. An Introduction (2.ª ed.). Addison-Wesley.

Larman, C. (2003). UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Prentice-Hall.

Richter, C. (1999). Designing Flexible Object-Oriented Systems with UML. Indianápolis: MacMillan.

Rosenberg, D.; Scott, K. (1999). Use Case Driven Object Modeling with UML: A Practical Approach. Addison-Wesley.

Rumbaugh, J.; Jacobson, I.; Booch, G. (2000). UML. El lenguaje de modelado unificado. Manual de referencia. Addison-Wesley.

Weinschenk, S.; Jamar, P.; Yeo, S.C. (1997). GUI Design Essentials. John Wiley & Sons.
 

Bibliografía complementaria

Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P.; Stal, M. (1996). A System of Patterns. Pattern-Oriented Software Architecture. Addison-Wesley.

D'Souza, D.F., i Willis, A.C.(1999). Objects, Components and Frameworks with UML. Addison-Wesley.

Fowler, M.; Scott, K. (1999). UML gota a gota. Prentice Hall.

Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. (1995). Design Patterns. Addison-Wesley.

Meyer, B. (1999). Construcción de software orientado a objetos (2.ª ed.). Prentice-Hall.

Newkirk, J., i Martin, R.C. (2002). La Programación Extrema en la Práctica. Addison-Wesley.

Page-Jones, M. (2000). Fundamentals of Object-Oriented Design. Addison-Wesley, .
 

Notas personales

Al comenzar el curso, el consultor enviará a los participantes un calendario del curso que indicará los plazos de las diferentes actividades, los cuales, no obstante, se podrán cambiar después si las circunstancias lo exigen, siempre con el aviso previo del consultor.

Arriba
Cerrar