Guía Docente 2015–2016
Modelado del software
Modeling Software
Grado en Ingeniería Informática
Presencial
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
Índice
Modelado del Software ... 3
Breve descripción de la asignatura ... 3
Requisitos Previos ... 3
Objetivos ... 3
Competencias y resultados de aprendizaje ... 4
Metodología ... 5
Temario ... 5
Relación con otras materias ... 8
Sistema de evaluación ... 8
Bibliografía y fuentes de referencia ... 8
Web relacionadas ... 9
Recomendaciones para el estudio ... 9
Material didáctico ... 10
Tutorías ... 10
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
Modelado del Software
Módulo: Ingeniería del software.
Materia: Ingeniería del software.
Carácter: Obligatoria.
Nº de créditos: 6 ECTS.
Unidad Temporal:3º curso – 2º semestre
Profesor de la asignatura:Raquel Martínez España Email:[email protected]
Horario de atención a los alumnos/as:Viernes de 10:00 a 11:00.Fuera de este horario se pueden atender tutorías a petición del alumno. Preferiblemente se pedirán las citas por el campus virtual, pero se puede poner también por correo electrónico.
Profesora coordinadora de módulo: María Teresa García Valverde Profesor coordinador de curso: Fernando Pereñíguez García
Breve descripción de la asignatura
En esta asignatura se estudian principalmente técnicas de modelado software; así como el lenguaje de modelado más utilizado en la ingeniería informática: UML (UnifiedModelingLanguage). Antes de profundizar en estos conceptos se hará un repaso a los procesos de desarrollo software.
Se terminará explicando el concepto de patrón de diseño y profundizando en los más importantes.
Brief Description
In this subject will study software modeling techniques, as well as the most widely used modeling language in software engineering: UML (Unified Modeling Language). Before delving into these concepts will review software development processes.
It will end by explaining the concept of design pattern and deepen the most important.
Requisitos Previos
Para que el alumno curse la asignatura de forma satisfactoria, es necesario que haya cursado y superado con éxito las siguientes asignaturas de formación básica en materia de software:
Ingeniería del Software e Ingeniería de Requisitos. Así mismo, se asume que el alumno está familiarizado con el paradigma de programación orientado a objetos y conceptos asociados al mismo.
Objetivos
1. Enumerar los distintos métodos de organización de proyectos y sus características.
2. Enumerar las técnicas de estimación y planificación aplicables en la Gestión de Proyectos Software.
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
3. Enumerar los distintos estándares de calidad del software.
4. Conocer el proceso de captura de requisitos.
5. Saber realizar una captura de requisitos para una solución propuesta.
6. Conocer el proceso de diseño de una aplicación orientada a objeto.
7. Conocer y aplicar la notación UML en la resolución de casos reales.
8. Conocer y aplicar patrones de diseño.
9. Saber explicar las características principales de la reutilización y la reingeniería.
10. Conocer las diferencias existentes entre reutilización y reingeniería.
11. Utilizar herramientas reales de gestión de proyectos y diseño de software.
12. Identificar adecuadamente los distintos conceptos que se proponen en el temario.
Competencias y resultados de aprendizaje
Competencias transversales
UCAM2 - Ser capaz de proyectar los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo.
UCAM3 - Desarrollar habilidades de iniciación a la investigación.
T2 - Capacidad de organización y planificación.
T3 - Capacidad de gestión de la información.
T4 - Resolución de problemas.
T6 - Trabajo en equipo.
T11 – Razonamiento crítico.
T14 - Aprendizaje autónomo.
T16 – Creatividad e innovación.
T17 - Liderazgo.
T19 - Motivación por la calidad.
T22 - Comprender los puntos principales de textos claros y en lengua estándar si tratan sobre cuestiones relacionadas con el ámbito deestudio.
Competencias específicas
IS1 - Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
IS6 - Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.
Resultados de aprendizaje
RA 3.2.1. Describir diferentes procesos de desarrollo software.RA 3.2.2. Explicar diferentes técnicas de modelado software, sus componentes y posibles usos.
RA 3.2.3. Aplicar diferentes técnicas de modelado a la resolución de supuestos prácticos mediante el uso de la notación y las herramientas adecuadas.
RA 3.2.4. Identificar los distintos patrones de diseño relacionándolos con los problemas que resuelven.
RA 3.2.5. Explicar las características principales de la reutilización y la reingeniería.
Metodología
Metodología Horas Horas de trabajo presencial
Horas de trabajo no presencial
Clases en el aula 31
59,8 horas (39,87 %)
Prácticas 10,80
Evaluación en el aula 6
Tutorías 12
Estudio personal 52,5
90,2 horas (60,13 %) Realización de ejercicios,
presentaciones y casos prácticos
29,6
Actividades de aprendizaje virtual
4,5 Lecturas recomendadas y
búsqueda de bibliografía
3,6
TOTAL 150 59,8 90,2
Temario
Programa de la enseñanza teórica
Tema 1. Introducción.1. Concepto de ingeniería del software
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
2. Proceso lineal 3. Prototipado
4. Proceso en espiral 5. Metodologías ágiles
Tema 2. Análisis y diseño orientado a objeto con UML.
1. Historia de UML 2. Objetivos 3. Modelado 4. Vistas 5. Elementos
6. Diagramas de UML
Tema 3. Modelado de requisitos del sistema 1. Introducción
2. Casos de uso
3. Relaciones entre Casos de Uso 4. Diagrama de Casos de Uso
Tema 4. Modelado de estructura del sistema 1. Introducción
2. Elementos estructurales 3. Diagrama de Clases 4. Diagrama de Objetos
Tema 5. Modelado de interacciones del sistema 1. Introducción
2. Elementos de interacción 3. Diagrama de Secuencia 4. Diagrama de Comunicación
Tema 6. Modelado de comportamiento del sistema
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
1. Introducción 2. Eventos
3. Diagrama de Estados 4. Diagrama de Actividades
Tema 7. Modelado de arquitectura del sistema 1. Introducción
2. Arquitectura lógica a. Paquetes
b. Diagrama de Paquetes 3. Arquitectura física
a. Elementos: Componentes, Artefactos, Nodos b. Diagrama de Componentes
c. Diagrama de Despliegue Tema 8.Patrones de diseño
1. Conceptos 2. Tipos de patrones 3. Patrones de creación 4. Patrones estructurales 5. Patrones de comportamiento Tema 9. Reutilización y Reingeniería.
1. ¿Qué es reutilización?
2. Ingeniería del dominio
¿Qué es reingeniería?
Programa de la enseñanza práctica
Práctica 1. Modelado de un sistema con UML.La práctica incidirá en el modelado de sistemas software desde diferentes perspectivas: requisitos, estructura, interacciones, comportamiento, arquitectura del sistema, despliegue e implantación. Se trabajará sobre un caso práctico real.
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
Práctica 2. Aplicación de patrones de diseño GoF. La práctica consistirá en dos partes. Por un lado, el alumno deberá mejorar el modelado planteado en la práctica 1 mediante la aplicación de patrones de diseño aplicables. Por otro lado, los alumnos trabajarán la aplicación práctica de patrones mediante la creación de aplicaciones cuyo código fuente hagan uso de ellos.
Relación con otras materias
Al ser una asignatura dentro de la materia de tecnologías de programación está ligada a todas las asignaturas de programación, especialmente con Programación Orientada a Objetos e Ingeniería de Requisitos. Tal y como se ha indicando anteriormente, es necesario que el alumno haya cursado y superado satisfactoriamente ambas asignaturas.
Sistema de evaluación
- Primera prueba parcial: 30% del total de la nota.
Se evaluarán los conocimientos acerca del modelado básico de un sistema con UML:
requisitos, estructura e interacciones.
- Prueba final: 30% del total de la nota.
Se evaluarán los conocimientos acerca del modelado avanzado de un sistema con UML:
comportamiento y arquitectura. También incluirá la aplicación de patrones de diseño.
- Evaluación de prácticas y problemas: 40% del total de la nota.
Práctica 1 (70%) Práctica 2(30%)
Bibliografía y fuentes de referencia
Bibliografía básica
Booch, G.; Rumbaugh, J.; Jackobson, I. El lenguaje unificado de modelado: Guia del Usuario. 2ª edición. Madrid: Addison-Wesley, 2006. ISBN: 9788478290765.
Craig L. UML y Patrones 2ª Edición. Pearson ISBN ebook: 9788483229279
Umrysh, Cary E.Developing enterprise Java Applications with J2EE and UML.2002 ISBN:0-201-73829-5
Bibliografía complementaria
M. Fowler; K. Scott; UML Distilled: A Brief Guide to the Standard Object Modelling Language. 2nd edition. Addison-Wesley Publisher. 1999. ISBN: 020165783X
F.V. Der Heyde; L. Debrauwer, UML2 y Patrones de Diseño en Java. 1ª edición. Editorial ENI. 2014. ISBN: 9782746088788
Patrones de diseño en Java. Los 23 modelos de diseño: Descripción y soluciones ilustradas en UML 2. 1ª Edición. Editorial ENI. 2013. ISBN:9782746086456
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
F.V. Der Heyde; L. Debrauwer. UML 2: Iniciación, Ejemplos y Ejercicios Corregidos. 2ª edición. Editorial ENI. 2011. ISBN: 9782746047419
P. Kimmel. Manual de UML. 1ª Edición. Editorial McGraw Hill. 2011. ISBN: 9789701058992
Pressman, R. Ingeniería del Software: Un enfoque práctico. 7ª edición. Madrid: McGraw Hill, 2010. ISBN: 9701054733.
Alan M., Davis. Software requirements: Objects, Functions and States. 2ª edición. Madrid:
Prentice-Hall, 1993. ISBN: 013805763X.
Sommerville, I.; Sawyer, P. Requirements engineering: a good practice guide. 1ª edición.
Londres: Wiley, 1997. ISBN: 9780471974444.
Booch, G.; Rumbaugh, J.; Jackobson, I. El Proceso Unificado de Desarrollo de Software. 1ª edición. Madrid: Addison Wesley, 2000. ISBN: 9788478290369.
Weitzenfeld, A. Ingeniería del Software orientada a objetos con UML, Java e internet. 1ª edición. México: Thomson, 2004. ISBN: 9789706861900.
Web relacionadas
Unified Modeling Language: http://www.uml.org/.
Institute of Electrical and Electronics Engineers:http://www.ieee.org/portal/site.
Object Management Group. http://www.omg.org/
Recomendaciones para el estudio
La asignatura sigue una estructura modular, lo que permite abordar el problema del modelado del software desde distintos puntos de vista. Para que el alumno comprenda correctamente la interrelación existente entre los distintos modelos de un sistema software, es altamente deseable que el alumno realice un seguimiento semanal de los contenidos impartidos.
Pese a que conocer la sintaxis del lenguaje UML puede parecer sencillo y abordable en un corto periodo de tiempo, esto no debe llevar a engaño al alumno. En verdad, la dificultad radica en adquirir una correcta comprensión de cómo emplear todas las herramientas de modelado que ofrece UML, y conocer como extender el lenguaje cuando éste no se adapta a las necesidades particulares del sistema software que se aborda.
La segunda parte de la asignatura, donde se abordan los patrones de diseño software, requerirá de un intenso trabajo del alumno para alcanzar una correcta comprensión no sólo de la estructura de cada patrón, sino también de su correcta aplicación. Otro aspecto críticoreside en la capacidad que demuestre el alumno a la hora de distinguir la conveniencia de aplicar un patrón u otro, según las propiedades de los modelos elaborados y necesidades del proyecto. Para alcanzar estos objetivos, se pondrá a disposición del alumno una amplia batería de ejercicios prácticos que estimulen el proceso de aprendizaje en este área.
Por último, aunque no por ello menos importante, se recomienda que el alumno trabaje de forma paralela el modelado de sistemas software asistido por alguna herramienta de modelado UML.
Aunque en la actualidad existen una gran variedad de herramientas (gratuitas o de pago) para todos los tipos sistemas operativos, en la asignatura se trabajará el uso de Visual Paradigm. El
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
alumno deberá ser capaz de emplar correctamente la herramienta de modelado para crear modelos UML completos y bien formados.
Material didáctico
Aplicaciones
Para las prácticas de esta asignatura será necesario emplear algún programa que asista el proceso de modelado en UML de sistemas software. Se requiere que la herramienta soporte la versión UML 2.0 y, al menos, los siguientes tipos de diagramas: casos de uso, clases, objetos, secuencia, comunicación, estados, actividad, paquetes y despliegue.
Existe total libertad para que el alumno escoja aquella herramienta que mejor se adapte a sus necesidades. De entre el amplio abanico existente, se sugiere el uso de Visual Paradigm, que en su versión CommunityEdition su descarga es gratuita a través del siguiente enlace:
http://www.visual-paradigm.com/download/vpuml.jsp?edition=ce
El software está disponible para distintas plataformas: Microsoft Windows (XP/Vista/7/8), Microsoft Windows Server (2000/2003/2008/2012), Linux, Mac OS X. Los requisitos mínimos del sistema son los siguientes:
Procesador Intel Pentium 4 a 2.0 GHz o superior.
512 MB de RAM. Tamaño recomendable de 1 GB.
1GB de espacio libre en disco duro.
Material didáctico
Además de la bibliografía recomendada en esta guía docente (básica y complementaria), en el apartado de Recursos del Campus Virtual, el estudiante dispondrá de recursos adicionales que le servirán de apoyo al proceso de aprendizaje. Dicho material se ofrecerá organizado por temas, de acuerdo con la organización de contenidos detallada anteriormente. Concretamente se pondrán a disposición del alumno los siguientes recursos:
Apuntes sobre cada tema, indicando conceptos relevantes y ejemplos de uso.
Enlaces de interés que permitan la ampliación de información sobre los temas.
Ejemplos resueltos de modelado de sistemas software con UML.
Boletines de ejercicios sobre el modelado UML y aplicación de patrones de diseño.
Tutorías
En la asignatura se establecen los siguientes mecanismos de tutorización:
Modelado del Software
Modelado del Software - Tlf: (+34) 968 278 821
Sesiones de tutorías: en el horario de atención de los alumnos semanal indicado anteriormente, el profesor atenderá dudas de los alumnos de forma presencial o por vía telefónica. En la medida de lo posible, dada la naturaleza de los contenidos impartidos, se recomienda que los alumnos opten por la tutorización presencial pues facilita la atención y resolución de dudas planteadas sobre los modelos software planteados.
Correo electrónico y/o mensajes privados: se atenderán dudas puntuales planteadas a través de medios telemáticos como el correo electrónico y la herramienta del Campus Virtual “Mensajes privados”. Preferiblemente, se recomienda el uso del Campus Virtual.
Este tipo de tutorización se realizará diariamente, con un compromiso de respuesta en menos de 48 horas lectivas desde la recepción del mismo.
Foros: los foros sirven para fomentar la resolución de dudas en la asignatura de forma colaborativa entre los alumnos. Se crearán diversos temas en el foro donde discutir distintos aspectos de interés, tales como unidades temáticas, prácticas, ejercicios propuestos, etc.
Este mecanismo de tutorización permite a los estudiantes generar debates sobre los distintos planteamientos e intervenciones que se realicen. El profesor moderará las discusiones surgidas a través de los foros, reorientando las discusiones hacia el propósito formativo.