Descripción
La finalidad de la asignatura es doble. Por un lado, se introduce al alumno en una de las metodologías emergentes que más impacto ha tenido en el desarrollo ágil de aplicaciones: La Programació Extrama (Extreme Progrraming - XP). Por otro lado, la asignatura introduce al alumno en el desarrollo de aplicaciones .NET, y lo orienta para aplicar los conocimientos de la XP sobre este contexto.
Tipo asignatura
Optativa
Semestre
Primero
Créditos
5.00
Conocimientos previos

Nociones de metodología de desarrollo de software

Objetivos

Los objetivos de la asignatura pueden resumirse en los siguientes puntos:
- Capacidad de análisis y síntesis
- Capacidad de organizar y planificar
- Conocimientos generales básicos sobre el área de estudio
- Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas)
- Resolución de problemas
- Toma de decisiones
- Conocimientos básicos y fundamentales del ámbito de formación
- Conocimientos en alguna especialidad de formación
- Capacidad crítica y autocrítica
- Trabajo en equipo
- Capacidad de trabajar en un equipo interdisciplinar
- Capacidad de aplicar los conocimientos en la práctica
- Habilidades de investigación
- Capacidad de aprender
- Capacidad para adaptarse a nuevas situaciones
- Capacidad para generar nuevas ideas (creatividad)
- Liderazgo
- Habilidad para trabajar de forma autónoma
- Diseño y gestión de proyectos
- Preocupación por la calidad y mejora continua
- Motivación de logro

Contenidos

Parte 1: La Programación Extrema
Tema 1. Introducción a los conceptos básicos de la XP
Tema 2. La XP en acción
Tema 3. Desarrollo de un proyecto con la XP
Tema 4. Utilización de las herramientas de la XP
Tema 5. Aplicación de la XP en una organización
Tema 6. Ampliación del uso de la XP

Parte 2: .NET y la Programación Extrema
Tema 7. Introducción a las tecnologías .NET
Tema 8. Programación con C#
Tema 9. Aplicación de la XP en el desarrollo de aplicaciones C#

Metodología

La metodología utilizada en esta asignatura separa las clases en dos tipos: las teóricas y las prácticas.

El profesor imparte durante el curso los conceptos teóricos de la asignatura mediante clases magistrales. En estas clases el profesor también resuelve ejercicios de aplicación directa de los conceptos explicados. La proporción del tiempo dedicado a cada una de estas tareas durante las clases magistrales es aproximadamente del 50% en explicación y el otro 50% en la resolución de problemas en la pizarra.

Al final de cada tema el profesor plantea ejercicios para que sean resueltos por los alumnos de manera individual o en grupo. Durante este tiempo con la ayuda del profesor el alumno puede realizar ejercicios para posteriormente acabarlos en casa y entregarlos al profesor opcionalmente.

Las horas prácticas son unas 40 horas extras durante el curso fuera de las horas dedicadas a clase, donde se ponen en práctica los conocimientos adquiridos durante las clases teóricas. Los alumnos forman grupos de tres personas para realizar trabajos donde se requiere un buen dominio y comprensión de la teoría explicada en clase para poder especificar, diseñar y proponer el desarrollo de un mini-proyecto que les planteará el profesor. Todos estos trabajos son evaluados mediante una exposición en clase y una entrevista con el profesor para evaluar el grado de cooperación entre los integrantes del grupo. Los mejores trabajos tendrán una puntuación extra como recompensa por el trabajo y el esfuerzo dedicado.

Para mejorar el rendimiento del alumno, se le ofrece la posibilidad de hacer consultas personalizadas sobre la asignatura, tanto a nivel de materia, como todo lo que implica la misma (forma de estudio, planificación de las horas de estudio, diseños prácticos, corrección de problemas propuestos...)

Evaluación

La asignatura se divide en dos partes, una teórica donde se exponen los fundamentos metodológicos de la ingeniería del software, y una segunda parte donde se ponen en práctica los conocimientos anteriores a partir de la realización de un trabajo llevado a cabo como un proyecto de ingeniería. Cada una de estas partes se evalúa por separado y se tienen que aprobar por separado para aprobar la asignatura.

La nota final de la asignatura es la suma ponderada de la nota de evaluación continua (30%) y de la nota de prácticas (70%). La evaluación continua se calcula mediante los trabajos entregados y la participación en clase. La nota máxima en la convocatoria extraordinaria es de 8.

Evaluación de la parte teórica:
D. Trabajos hechos en casa
J. Participación en clase

Evaluación de la Parte Práctica:
D. Trabajos realizados en casa
F. Informes/Trabajos realizados en grupo
G. Trabajos prácticos con el ordenador
I. Presentaciones.

La nota de la parte práctica se evalúa a partir de un trabajo práctico que ha de entregar el alumno a final del curso. Su evaluación se realiza en función de la calidad, metodología, funcionalidad, comprensión y claridad de su exposición. El mejor trabajo es premiado con un 1 adicional sobre la nota de la parte práctica.

Nota final=30%(Nota Evaluacio continua)+ 70% (Nota Teórica + punto opcional)

Criterios evaluación

- Capacidad de análisis y síntesis [A,C,D,F,I]
- Capacidad de organizar y planificar [F,G]
- Conocimientos generales básicos sobre el área de estudio [A,C,D,F,I,J,L]
- Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas) [D,G]
- Resolución de problemas [A,D,G,L]
- Toma de decisiones [A,F]
- Conocimientos básicos y fundamentales del ámbito de formación [A,C,D,F,I,J,L]
- Conocimientos en alguna especialidad de formación [A,C,D,F,I,J,L]
- Capacidad crítica y autocrítica [D,I,J,L]
- Trabajo en equipo [F]
- Capacidad de trabajar en un equipo interdisciplinar [F]
- Capacidad de aplicar los conocimientos en la práctica [D,G]
- Habilidades de investigación [D,G]
- Capacidad de aprender [D,F,G]
- Capacidad para adaptarse a nuevas situaciones [D,F,G,L]
- Capacidad para generar nuevas ideas (creatividad) [D,J,L]
- Liderazgo [F,I]
- Habilidad para trabajar de forma autónoma [D]
- Diseño y gestión de proyectos [D,F,G]
- Preocupación por la calidad y mejora contínua[D,F,G]
- Motivación de logro [D,F,G]

Bibliografía básica

-Stewart Baird. Sams Teach Yourself Extreme Programming in 24 Hours. Sams, 1st edition 2002). ISBN ISSBN: 978-0672324413
-James W. Newkirk and Robert C. Martin. Extreme Programming in Practice. Addison-Wesley Professional (2001). ISBN ISSBN: 978-0201709377
-Neil Roodyn. eXtreme .NET: Introducing eXtreme Programming Techniques to .NET Developers. Addison-Wesley Professional (2004). ISBN ISSBN: 978-0321303639
-Ron Jeffries. Extreme Programming Adventures in C#. Microsoft Press (2004). ISSBN: 978-0735619494
-Doug Wallace, Isobel Raggett, Joel Aufgang. Extreme Programming for Web Projects. Addison-Wesley Professional (2002). ISSBN: 978-0201794274
- Ian Sommerville. Ingeniería del Software. 8ª edición. Pearson Addison-Wesley (2006). ISBN: 978-0321313799
- Jonathan Arnowitz. Effective Prototyping for Software Makers (Interactive Technologies), Morgan Kaufmann (2006). ISBN: 978-0120885688

Material complementario

- Glenn Niemeyer. Extreme Programming with Ant: Building and Deploying Java Applications with JSP, EJB, XSLT, XDoclet, and JUnit. Sams, 1st edition (2003). ISBN ISSBN: 978-0672325625
- Richard Hightower, Warner Onstine, Paul Visan, Damon Payne, Joseph D. Gradecki. Professional Java Tools for Extreme Programming: Ant, XDoclet, JUnit, Cactus, and Maven (Programmer to Programmer). Wrox (2004). ISBN ISSBN: 978-0764556173
- Eric M. Burke, Brian M. Coyner. Java Extreme Programming Cookbook. O'Reilly Media, Inc., 1 edition (2003). ISSBN: 978-0596003876
- Martin Fowler. Refactoring—Improving the Design of Existing Code. Addison Wesley (1999). ISBN ISSBN: 978-0201485677.
- Steve McConnell. Rapid Development: Taming Wild Software Schedules. Microsoft Press (1996). ISBN ISSBN: 978-1556159008
- Scott Ambler. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. Wiley (2002). ISBN ISSBN: 978-0471202820
- Jesse Tilly and Eric M. Burke. Ant: The Definitive Guide. O'Reilly & Associates (2005). ISBN: 978-0596006099