Identifying Data 2015/16
Subject (*) Metodoloxía da Programación Code 614111205
Study programme
Enxeñeiro en Informática
Descriptors Cycle Period Year Type Credits
First and Second Cycle 1st four-month period
Second Obligatoria 6
Language
Spanish
Teaching method Face-to-face
Prerequisites
Department Tecnoloxías da Información e as Comunicacións
Coordinador
E-mail
Lecturers
E-mail
Web
General description Esta asignatura se centra en uno de los principales paradigmas existentes para el desarrollo de sistemas software: la Orientación a Objetos. Más concretamente, el alumno aprenderá las diferentes fases que esta aproximación conlleva, así como las diferentes técnicas y herramientas con las que cuenta.
Finalmente, se destaca la importancia de la documentación y las pruebas en el conjunto del producto software.

Study programme competencies
Code Study programme competences / results
A1 Aprender de maneira autónoma novos coñecementos e técnicas avanzadas axeitadas para a investigación, o deseño e o desenvolvemento de sistemas e servizos informáticos.
A7 Saber especificar, deseñar e implementar un sistema de información, empregando bases de datos.
A9 Dirixir equipos de traballo ligados ao deseño de produtos, procesos, servizos informáticos e outras actividades profesionais.
B1 Aprender a aprender.
B2 Resolver problemas de forma efectiva.
B3 Aplicar un pensamento crítico, lóxico e creativo.
B4 Aprendizaxe autónoma.
B5 Traballar de forma colaborativa.
B7 Comunicarse de maneira efectiva en calquera contorno de traballo.
B8 Traballar en equipos de carácter interdisciplinar.
B9 Capacidade para tomar decisións.
B11 Razoamento crítico.
B12 Capacidade para a análise e a síntese.
B13 Capacidade de comunicación.
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.

Learning aims
Learning outcomes Study programme competences / results
Conocer métodos, técnicas y herramientas de desarollo de software Orientado a Objetos. A7
B2
B12
C3
Capacidad para aplicar los anteriores elementos a casos prácticos. B2
B3
Capacidad para adaptarse a nuevas situaciones y contextos. A1
B1
B2
B3
B11
B12
C3
C6
Capacidad para trabajar en equipo. A9
B5
B7
B8
B9
B13
Capacidad para aprender de forma autónoma. A1
B1
B3
B4
B11

Contents
Topic Sub-topic
Introducción a la Ingeniería del Software Antecedentes históricos
El proceso de resolución de problemas
Introducción a los ciclos de vida
Introducción a las metodologías de desarrollo software
Conceptos básicos de la Orientación a Objetos Introducción
Objetos
Clases
Relaciones
Polimorfismo
Ejemplos básicos
Análisis y diseño Orientado a Objetos Análisis textual de Abbot
Técnica CRC
Estrategías de análisis
Notación UML Elementos comunes a los diagramas
Diagramas de clases
Diagramas de casos de uso
Diagramas de secuencia
Diagramas de colaboración
Diagramas de estado
Patrones de Diseño Orientado a Objetos Introducción
Ventajas
Principales patrones
Práctica de Programación Orientado a Objetos en JAVA Aprendizaje autónomo del lenguaje de programación JAVA
Programación en JAVA de un sistema software
Trabajo en grupo: Análisis y diseño de un sistema software Planteamiento de un dominio de aplicación
Elaboración del diagrama de casos de uso
Elaboración del diagrama de clases asociado
Elaboración, para las principales funcionalidades del sistema, de los diagramas de secuencia, colaboración y de estado que se consideren necesarios.
Seguimiento y tutorización del trabajo en grupo

Planning
Methodologies / tests Competencies / Results Teaching hours (in-person & virtual) Student’s personal work hours Total hours
Guest lecture / keynote speech 36 36 72
Supervised projects 0 30 30
Objective test 4 10 14
Laboratory practice 16 16 32
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech Presentación de los conocimientos teóricos relacionados con los temas abordados.
Supervised projects Trabajo en grupo en el que se aplican los conocimientos adquiridos a un caso práctico propuesto por el grupo.
Objective test Examen escrito para valorar los conocimientos teóricos y prácticos adquiridos a lo largo del curso.
Laboratory practice Análisis, diseño, implementación y discusión de las soluciones planteadas para un caso práctico común.

Personalized attention
Methodologies
Supervised projects
Description
Se combinará el método magistral, las clases de prácticas, el trabajo autónomo y el trabajo en grupo.

El método magistral se empleará para la presentación de los conocimientos teóricos relacionados con los distintos bloques temáticos.

Las clases de prácticas se dedicarán a la realización de ejemplos y ejercicios, que serán discutidos con los alumnos con objeto de corregir errores cometidos. Para ello, el trabajo autónomo del alumno es fundamental.

Finalmente, el trabajo en grupo permite a los alumnos enfrentarse con los problemas inherentes al análisis y diseño de un sistema software. Para el seguimiento y tutorización de este trabajo el grupo se reunirá con el tutor en diferentes ocasiones para valorar y asegurar el progreso en la adquisición y aplicación de los conocimientos adquiridos.

En todo momento se fomentará la participación de los alumnos.

Assessment
Methodologies Competencies / Results Description Qualification
Supervised projects Trabajo tutelado en grupo en el que se valorará:
- Dominio de los conocimientos prácticos de la materia.
- Calidad de la solución aportada.
- Defensa del trabajo.
- Dominio de los conocimientos adquiridos.
30
Objective test Examen escrito individual sobre el dominio de los conocimientos teóricos y prácticos de la asignatura; correspondiendo el 45% del total a la parte teórica de la prueba y el 55% restante a la parte práctica de la misma. 70
Laboratory practice La correcta realización de las prácticas de laboratorio es obligatoria, pero no computa a efecto de la nota final; siendo "apto" o "no apto" las posibles calificaciones de las mismas. 0
 
Assessment comments
La evaluación se realizará tanto desde un punto de vista formativo como de acreditación.
El primer aspecto se refiere a la obtención de la información necesaria para determinar como se va desarrollando el proceso formativo, establecer la calidad de los aprendizajes del alumnado y aplicar las medidas correctivas necesarias para cubrir las lagunas de aprendizaje detectadas. Para ello, a lo largo del curso se analizará la evolución de cada alumno mediante su participación en las clases teóricas, prácticas, así como en el trabajo en grupo obligatorio.
Por su parte, el objetivo de la acreditación es constatar que los alumnos poseen las competencias fundamentales necesarias para llevar a cabo el desarrollo de un sistema software desde el punto de vista Orientado a Objetos. Esta acreditación se realizará en dos momentos temporales distintos: una vez finalizado el trabajo en grupo, mediante su defensa y al finalizar el curso, mediante un examen escrito individual teórico y uno práctico.

La nota final de cada alumno se obtendrá según lo indicado a continuación:
Examen escrito individual: 70% (correspondiendo el 45% a la parte teórica y el 55% a la parte práctica)
Trabajo en grupo: 30%

Para aprobar la asignatura es preciso obtener una puntuación global mínima de 5 puntos sobre 10 y cumplir las siguientes restricciones:
- Haber superado las diferentes prácticas obligatorias planteadas por el profesor a lo largo del curso. Estas prácticas son obligatorias, pero no computan a efecto de la nota final.
- Tener una nota mínima de 5 sobre 10 en el trabajo en grupo.
- Tener una nota mínima de 5 sobre 10 en el examen (sumando parte teórica y práctica).

Aspectos a tener en cuenta:
- Los grupos de alumnos para realizar el trabajo en grupo se formarán bajo las directrices del profesor cuando éste así lo indique al principio del curso.
- La defensa del trabajo en grupo será en horario oficial de la asignatura y a estos actos deberán asistir todos los miembros del grupo.
- Una vez aprobado el trabajo en grupo, su nota se mantendrá para futuras convocatorias mientras no varíe el formato del trabajo.

Los alumnos que no superen la asignatura tendrán que demostrar la correcta adquisición de las competencias fundamentales de la asignatura mediante la realización de un nuevo examen teórico y práctico. Además, aquellos alumnos que no hayan superado el trabajo en grupo y, o, las prácticas obligatorias deberán rehacerlos bajo las directrices del profesor hasta que éstos cumplan con los requisitos mínimos exigidos.

Sources of information
Basic

- Pressman, Roger S. Ingeniería del Software. Un Enfoque Práctico. McGraw Hill. 6 Edición. 2005.

- Booch, G., Rumbaugh, J., Jacobson, I. El Lenguaje Unificado de Modelado. Addison Wesley Iberoamericana. 2004.

- Sommerville, Ian. Software Engineering. Addison-Wesley. 7ª edición. 2005.

- Arnow, David M. Introducción a la programación con JAVA, Un enfoque orientado a objetos. Addison-Wesley. 2000.

Complementary

- Booch, G., Rumbaugh, J., Jacobson, I. El proceso unificado de desarrollo del software. Addison Wesley Iberoamericana. 2001.

- López-Cortijo, R., de Amescua, A. Ingeniería del Software, Aspectos de Gestión. IIIS. 1998.

- Niemeyer, P., Knudsen, J. Curso de JAVA. Anaya Multimedia. 2000.

- Braude, Eric J. Software Engineering. An object-Oriented Perspective. John Wiley & Sons. 2001.

- http://java.sun.com/reference/api


Recommendations
Subjects that it is recommended to have taken before

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus
Estrutura de Datos e da Información/614111102
Programación/614111109

Other comments
La asignatura tiene un carácter eminentemente práctico, por lo que es fundamental que los alumnos sepan aplicar los conocimientos teóricos aprendidos a la práctica.


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.