Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 97 Horas de Tutorías: 3 Clase Expositiva: 15 Clase Interactiva: 35 Total: 150
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Departamentos: Electrónica y Computación
Áreas: Lenguajes y Sistemas Informáticos
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Segundo semestre
Docencia: Con docencia
Matrícula: Matriculable
El objetivo fundamental de la materia es proporcionar al estudiante un conjunto de técnicas y principios de diseño que le permitan afrontar la construcción de software de manera sistemática. En particular, dada la demostrada eficiencia del paradigma orientado a objetos en el desarrollo de software flexible y reutilizable, se aborda el modelado de aplicaciones bajo esa perspectiva.
Los tres pilares sobre los que se sustenta la materia son: el aprendizaje de principios de modelado sobre la base de un lenguaje gráfico estándar (UML); la ejecución de un proceso ligero de construcción guiado por casos de uso, centrado en la arquitectura, iterativo e incremental; y la aplicación de patrones de diseño como soluciones eficaces a problemas recurrentes de modelado.
Conceptos de diseño
Modelos y estrategias
Diseño arquitectónico
Arquitecturas de referencia
Introducción al paradigma orientado a objetos
Modelado de requisitos funcionales
Modelado estructural
Modelado de comportamiento
Modelado físico
Proceso de desarrollo orientado a objetos
Patrones de diseño
En esta asignatura no se proporcionan apuntes por parte de los profesores.
Bibliografía Básica:
1. FOWLER, Martin. UML Distilled: a brief guide to the standard object modeling language. 3rd ed. Boston: Addison-Wesley, 2004. ISBN 0-321-19368-7
2. BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar. El Lenguaje Unificado de Modelado. 2ª ed. Madrid: Addison-Wesley, 2006. ISBN 84-7829-076-1
3. LARMAN, Craig. UML y patrones: una introducción al análisis y diseño orientado a objetos y al Proceso Unificado. 2ª ed. Madrid: Prentice Hall, 2003. ISBN 84-205-3438-2
4. GAMMA, Erich et al. Patrones de Diseño: elementos de software orientado a objetos reutilizable. Madrid: Addison-Wesley, 2002. ISBN 84-7829-059-1
Bibliografía Complementaria:
1. MARTIN, Robert C. UML para programadores en Java. Madrid: Prentice Hall, 2004. ISBN 84-205-4109-5
2. RUMBAUGH, James, JACOBSON, Ivar, BOOCH, Grady. El Lenguaje Unificado de Modelado: manual de referencia. 2ªed. Madrid: Addison-Wesley, 2007. ISBN 978-84-78290871
3. JACOBSON, Ivar, BOOCH, Grady, RUMBAUGH, James. El Proceso Unificado de desarrollo de software. Madrid: Addison-Wesley, 2000. ISBN 84-7829-036-2
4. FREEMAN, Eric et al. Head first Design Patterns. Sebastopol (CA): O’Reilly, 2004. ISBN 0-596-00712-4
Contribuir a obtener las competencias globales recogidas en la memoria del título de Grado en Ingeniería Informática de la USC (concretamente, CG1, CG5, CG8, CG9, TR2, TR3) y las competencias asociadas al módulo de Ingeniería del Software (en particular, RI1, RI8, RI16, TI2).
En lo referente a las competencias concretas previstas en dicho módulo, la presente asignatura facilita la adquisición de las siguientes habilidades:
- Ser capaz de seleccionar de modo razonado un ciclo de vida para un proyecto, comprender sus fases y los entregables que produce.
- Comprender las consecuencias que los distintos procesos tienen sobre el modelo de construcción del software y sobre el software mismo.
- Ser capaz de producir un conjunto de requerimientos de software para un proyecto de tamaño intermedio.
- Estar en disposición de discutir las propiedades de un buen diseño.
- Poder evaluar un diseño basándose en los conceptos y principios de diseño.
- Ser capaz de seleccionar y aplicar los patrones de diseño adecuados para un producto.
- Entender el objetivo de las pruebas y su impacto en el proceso y el software.
- Comprender las posibilidades y consecuencias de la reutilización.
- Comprender las ventajas y limitaciones del uso de metodologías de desarrollo.
Las actividades que serán realizadas durante el semestre son las siguientes:
1. Sesiones de teoría centradas en la exposición por parte del profesor de los conceptos necesarios para abordar la construcción sistemática de software. En particular, se incidirá en los tópicos relacionados con la especificación de requisitos funcionales, el modelado de la dualidad estructura/comportamiento y la aplicación de patrones de diseño. En consecuencia, en estas sesiones se sientan las bases para que los estudiantes puedan desarrollar las competencias generales CG5, CG8 y CG9 y las transversales TR2 (razonamiento crítico) y TR3 (aprendizaje autónomo y adaptación a nuevas situaciones), así como las competencias de la rama de informática RI1 y RI8 y la de las tecnologías de la información TI2.
2. Realización de pequeños trabajos individuales o en grupo. Las actividades individuales consistirán en la resolución en el aula de teoría de ejercicios propuestos por el profesor; para completar las tareas colectivas, los equipos de trabajo podrán hacer uso de técnicas de aprendizaje cooperativo como el puzzle de Aronson para investigar y exponer contenidos particulares de la materia. Por tanto, este tipo de actividades está orientado a desarrollar habilidades de modelado de software (lo que supone trabajar las competencias CG5, RI1, RI8 y TI2) y de trabajo en equipo (competencia TR2).
3. Desarrollo de actividades prácticas en grupo. La dinámica de las sesiones prácticas en el aula de informática seguirá un enfoque interactivo. Los estudiantes se organizarán en equipos de trabajo para resolver los problemas planteados haciendo uso de métodos de aprendizaje basado en proyectos. Se abordará un proyecto de construcción de software utilizando para ello las técnicas de diseño propias de la asignatura y se hará seguimiento del avance de cada equipo por medio de entregas intermedias. Este tipo de actividades abarca tareas correspondientes a cada uno de los tres ejes de la materia señalados en la sección de Objetivos, por lo que contribuye a la consecución de todas las competencias enumeradas en la sección correspondiente; no obstante, se incide singularmente en las competencias CG1 (capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas), TR2 (trabajo en equipo) y RI16 (conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería del software). La asistencia a las sesiones interactivas es obligatoria, por lo que las ausencias deberán justificarse adecuadamente.
4. Seguimiento y realimentación. Las sesiones de tutoría se dedicarán a la orientación activa del trabajo de los estudiantes, con especial atención al desarrollo de las prácticas en equipo propuestas en el aula de informática. Se combinará la modalidad presencial con la telemática a través de Microsoft Teams.
5. Evaluación final mediante examen. Al finalizar el semestre los estudiantes deberán demostrar individualmente el nivel alcanzado con respecto a las competencias propias de la asignatura. Particularmente, se trabajan las destrezas más directamente relacionadas con las habilidades de modelado de software (competencias CG5, RI1, RI8, TI2).
Para los casos de realización fraudulenta de ejercicios o pruebas, será de aplicación lo recogido en la normativa institucional de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones.
1ª OPORTUNIDAD:
La formación continua del estudiante, que supondrá un 80% de la nota final, será valorada por medio de las actividades 2 y 3, mientras que el examen final de la asignatura tendrá un peso del 20%. Dentro de la evaluación continua, la actividad 3 tendrá una contribución sobre el global del 65%, por un 15% reservado para la actividad 2. Para aprobar la asignatura, se deberán superar independientemente la evaluación continua y el examen. Se considerará presentado a quien participe en alguna entrega correspondiente a la actividad 3 o se presente al examen teórico.
2ª OPORTUNIDAD:
Todos los estudiantes que no hayan superado el examen en la primera oportunidad tendrán que realizar una nueva prueba teórica cuya contribución a la nota final será del 20%. Quienes hayan entregado el proyecto en la primera oportunidad pero que no lograran una nota suficiente en el capítulo de evaluación continua, tendrán la opción de mejorar la versión previa de este proyecto; aquellos que no presentaran el proyecto en grupo en la primera evaluación, deberán enfrentarse a un examen práctico cuya contribución será de un 65% sobre el total. Las actividades de tipo 2 no son recuperables en la 2ª oportunidad. En cualquier caso, se considerará presentado a quienes entreguen el proyecto o se presenten a los exámenes.
CONVOCATORIA EXTRAORDINARIA:
La evaluación tendrá lugar a través de la realización en el mismo día de un examen teórico, con un peso del 20% en la nota final, y de una prueba práctica de la que resultará el 80% restante. Para aprobar la asignatura es necesario superar separadamente ambos exámenes. Se considerará presentado a quien participe en cualquiera de estas dos pruebas.
Bajo ninguna circunstancia se conservarán notas entre convocatorias de distintos cursos. La asistencia a clase no será tenida en cuenta directamente en la evaluación del estudiante.
La asignatura tiene asignados 6 ECTS. Además de las correspondientes horas de trabajo presencial en el aula, el estudiante debe asumir en torno a 90 horas de trabajo personal a distribuir entre la escritura de trabajos, la resolución de ejercicios, la realización de prácticas y el estudio autónomo.
Es muy deseable el conocimiento previo del paradigma orientado a objetos. Por eso, es altamente recomendable haber cursado previamente la asignatura Programación Orientada a Objetos (POO).
La realización de las actividades previstas se apoyará en el Campus Virtual de la USC (plataforma Moodle) y en la herramienta Teams de Microsoft, fundamentalmente.
Se hará uso de la herramienta de modelado orientado a objetos StarUML en el desarrollo de las actividades de tipo 3 de la metodología.
Esta asignatura se imparte en castellano y en gallego.
Raquel Dosil Lago
- Departamento
- Electrónica y Computación
- Área
- Lenguajes y Sistemas Informáticos
- Teléfono
- 881815507
- Correo electrónico
- raquel.dosil [at] usc.es
- Categoría
- Profesor/a: Profesor Ayudante Doctor LOU
Jose Varela Pet
Coordinador/a- Departamento
- Electrónica y Computación
- Área
- Lenguajes y Sistemas Informáticos
- Correo electrónico
- jose.varela.pet [at] usc.es
- Categoría
- Profesor/a: Profesor Contratado/a Doctor
Martes | |||
---|---|---|---|
09:00-12:00 | Grupo /CLIL_03 | Gallego | Aula de Informática I3 |
Miércoles | |||
09:00-12:00 | Grupo /CLIL_02 | Castellano | Aula de Informática I2 |
17:00-18:00 | Grupo /CLE_01 | Castellano | Aula A2 |
Jueves | |||
09:00-12:00 | Grupo /CLIL_01 | Castellano | IA.04 |
Viernes | |||
09:00-12:00 | Grupo /CLIL_04 | Castellano | IA.14 |
13.01.2025 16:00-20:00 | Grupo /CLIL_04 | Aula trabajo |
13.01.2025 16:00-20:00 | Grupo /CLE_01 | Aula trabajo |
13.01.2025 16:00-20:00 | Grupo /CLIL_02 | Aula trabajo |
13.01.2025 16:00-20:00 | Grupo /CLIL_01 | Aula trabajo |
13.01.2025 16:00-20:00 | Grupo /CLIL_03 | Aula trabajo |
04.06.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A3 |
04.06.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A3 |
04.06.2025 16:00-20:00 | Grupo /CLE_01 | Aula A3 |
04.06.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A3 |
04.06.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A3 |
04.06.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A4 |
04.06.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A4 |
04.06.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A4 |
04.06.2025 16:00-20:00 | Grupo /CLE_01 | Aula A4 |
04.06.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A4 |
07.07.2025 16:00-20:00 | Grupo /CLE_01 | Aula A1 |
07.07.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A1 |
07.07.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A1 |
07.07.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A1 |
07.07.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A1 |