12
hola Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu Guía Docente 2017/2018 Modelado del software Modeling Software Grado en Ingeniería Informática Presencial

Guía Docente 2017/2018 - ucam.edu · de profundizar en estos conceptos se hará un repaso a los procesos de desarrollo software. ... incluirá la aplicación de patrones de diseño

Embed Size (px)

Citation preview

hola

Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu

Guía Docente 2017/2018

Modelado del software

Modeling Software

Grado en Ingeniería Informática

Presencial

Modelado del Software

Modelado del Software - Tlf: (+34) 968 278 821

ÍndiceModelado del Software ........................................................................................................ 1

Breve descripción de la asignatura ................................................................................... 1

Brief Description .................................................................................................................. 1

Requisitos Previos .............................................................................................................. 1

Objetivos .............................................................................................................................. 1

Competencias y resultados de aprendizaje ...................................................................... 2

Metodología ......................................................................................................................... 3

Temario ................................................................................................................................. 3

Relación con otras materias ............................................................................................... 6

Sistema de evaluación ........................................................................................................ 6

Bibliografía y fuentes de referencia ................................................................................... 7

Web relacionadas ................................................................................................................ 8

Recomendaciones para el estudio y la docencia ............................................................. 8

Material necesario ............................................................................................................... 9

Tutorías ................................................................................................................................ 9

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

1

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: Magdalena Cantabella Sabater Email: [email protected]

Horario de atención a los alumnos/as: Viernes de 10:00 a 12: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. Profesor coordinadora de módulo: Jose Luis Abellán Miguel Profesor coordinador de curso: José María Cecilia Canales.

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 (Unified Modeling Language). 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) 902 102 101

2

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 de estudio.

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) 902 102 101

3

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 32,4

59,8 horas

(39,87 %)

Prácticas 9

Evaluación en el aula 6,6

Tutorías 12

Estudio personal 54

90,2 horas

(60,13 %)

Realización de ejercicios, presentaciones y casos prácticos

27

Actividades de aprendizaje virtual

4,5

Lecturas recomendadas y búsqueda de bibliografía

4.5

TOTAL 150 59,8 90,2

Temario Programa de la enseñanza teórica

Tema 1. Introducción.

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

4

1. Concepto de ingeniería del software

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

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

5

Tema 6. Modelado de comportamiento del sistema

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?

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

6

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.

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: 35% del total de la nota. Prueba escrita con preguntas tanto teóricas como prácticas. Se evaluarán los conocimientos acerca del modelado básico de un sistema con UML: requisitos, estructura e interacciones. Se establece una nota de corte de 4.0 puntos.

- Examen final de la asignatura: 35% del total de la nota. Con los mismos criterios que la primera prueba parcial. Cubrirá la segunda mitad de la asignatura donde 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. La prueba se realizará al final del cuatrimestre.

- Evaluación de prácticas y problemas: 30% del total de la nota. Forman parte de este ítem las actividades desarrolladas en las sesiones prácticas previamente descritas. El total de los documentos y actividades realizados por los alumnos se puntuará entre 0 y 10. Para estos trabajos se establece una nota de corte mínima de 4.0 puntos.

Para poder superar la asignatura será necesario obtener al menos una nota de 4.0 en cada uno de los ítems anteriores. Sin embargo para superar la asignatura, la media ponderada de todas las notas deberá ser igual o superior a 5.0.

Examen final de la asignatura: Este examen se dividirá en dos partes relacionadas con las dos partes de la asignatura. El alumno podrá recuperar las partes previamente no superadas (nota inferior a 5) o no presentadas.

En caso de no superar la asignatura en la convocatoria ordinaria, la nota de los ítems con 5.0 o superior se conservará para la convocatoria de septiembre. Los detalles sobre el sistema de evaluación se encuentran recogidos en la normativa general de la universidad.

Convocatoria de Septiembre:

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

7

El alumno solamente se examinará de la parte de la asignatura que hubiera suspendido en la convocatoria ordinaria. El valor de cada una de las pruebas será: primer parcial 35%, y segundo parcial 35%. Las pruebas prácticas suponen el 30% del total de la nota. Aquellos alumnos que suspendieran la parte práctica en la convocatoria de Junio deberán realizar de nuevo todos los ejercicios prácticos propuestos.

Bibliografía y fuentes de referencia Bibliografía básica

• 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 • Grady Booch , Ivar Jacobson, James Rumbaugh; El lenguaje unificado de modelado. 2dn

edición. Pearson, ISBN: 9788478290765. • Larman, C. UML y patrones. 1ª edición. Madrid: Prentice Hall, 2003. ISBN: 9788420534381. • Sommerville, Ian. Ingeniería del Software. 9ª Edición, Pearson, 2012. ISBN:

9786073206037. • 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 • 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. • Booch, G.; Rumbaugh, J.; Jackobson, I. El lenguaje unificado de modelado: Guia del

Usuario. 2ª edición. Madrid: Addison-Wesley, 2006. ISBN: 9788478290765.

Bibliografía complementaria

• Booch, G.; Rumbaugh, J.; Jackobson, I. Lenguaje Unificado de Modelado Manual de Referencia Uml 2.0. 1ª edición. Madrid: Addison-Wesley, 2006. ISBN: 8478290877.

• Gamma, E.; Helm, R.; Jonson, R. Vlisssides, J. Patrones de Diseño. 1ª edición. Madrid: Addison-Wesley Iberoamericana, 2002. ISBN: 9788478290598.

• Alan M., Davis. Software requirements: Objects, Functions and States. 2ª edición. Madrid: Prentice-Hall, 1993. ISBN: 013805763X.

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

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

8

• Stevens, P.; Pooly, R. Utilización de UML en Ingeniería del Software con Objetos y Componentes. 1ª edición. Madrid: Addison-Wesley, 2007. ISBN: 9788478290864.

• VV.AA. Gestión del proceso software. 1ª edición. Madrid: editorial universitaria Ramón Areces, 2002. ISBN: 9788480045469

• Schach, S. Ingeniería del software orientada a objetos. 6ª edición. Mexico: McGraw Hill, 2006. ISBN: 9789701056363.

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 y la docencia 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ítico reside 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 alumno deberá ser capaz de emplar correctamente la herramienta de modelado para crear modelos UML completos y bien formados.

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

9

Material necesario 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 Community Edition 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:

• 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,

Modelado del software

Modelado del software- Tlf: (+34) 902 102 101

10

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.