Descripció
La finalitat de l´assignatura és doble. D´una banda, s´introdueix a l´alumne en una de les metodologies emergents que més impacte ha tingut en el desenvolupament àgil d´aplicacions: La Programació Extrema (Extreme Programming - XP). D´altra banda, l´assignatura introdueix a l´alumne en el desenvolupament d´aplicacions .NET, i l´orienta per aplicar els coneixements de la XP sobre aquesta vessant.
Tipus assignatura
Optativa
Semestre
Primer
Crèdits
5.00
Coneixements previs

Nocions de metodologia de desenvolupament de software

Objectius

Els objectius de l´assignatura es poden resumir en els següents punts:

- Capacitat d'anàlisi i síntesi
- Capacitat d'organitzar i planificar
- Coneixements generals bàsics sobre l'àrea d'estudi
- Habilitats de gestió de la informació (habilitat per buscar i analitzar informació provenent de fonts diverses)
- Resolució de problemes
- Presa de decisions
- Coneixements bàsics i fonamentals de l'àmbit de formació
- Coneixements en alguna especialitat de formació
- Capacitat de crítica i autocrítica
- Treball en equip
- Capacitat de treballar en un equip interdisciplinar
- Capacitat d'aplicar els coneixements a la pràctica
- Habilitats d'investigació
- Capacitat d'aprendre
- Capacitat per adaptar-se a noves situacions
- Capacitat per generar noves idees (creativitat)
- Lideratge
- Habilitat per treballar de forma autònoma
- Disseny i gestió de projectes
- Preocupació per la qualitat i millora contínua
- Motivació per assolir nous reptes

Continguts

Part 1: La Programació Extrema
Tema 1. Introducció als conceptes bàsics de la XP
Tema 2. La XP en acció
Tema 3. Desenvolupament d´un projecte amb la XP
Tema 4. Utilització de les eines de la XP
Te ma 5. Aplicació de la XP en una organització
Tema 6. Ampliació de l´ús de la XP

Part 2: .NET i la Programació Extrema
Tema 7. Introducció a les tecnologies .NET
Tema 8. Programació amb C#
Tema 9. Aplicant la XP en el desenvolupament d´aplicacions C#

Metodologia

La metodologia emprada en aquesta assignatura separa les classes en dos tipus: les teòriques i les pràctiques.

El professor imparteix al llarg del curs els conceptes teòrics de l´assignatura mitjançant classes magistrals. En aquestes classes el professor també resol exercicis d´aplicació directa dels conceptes explicats. La proporció del temps dedicat a cada una d´aquestes tasques durant les classes magistrals és aproximadament del 50% a explicació i l´altra 50% a resolució de problemes a la pissarra.

Al final de cada tema el professor planteja exercicis perquè siguin resolts pels alumnes de manera individual o en grup. Durant aquest temps amb l´ajuda del professor l´alumne pot realitzar exercicis per posteriorment acabar-los a casa i entregar-los al professor opcionalment.

Les hores pràctiques són unes 40 hores extres al llarg del curs fora de les hores dedicades a classe on es posen en pràctica els coneixements adquirits durant les classes teòriques. Els alumnes formen grups de tres persones per tal de realitzar treballs on es requereix un bon domini i comprensió de la teoria explicada a classe per poder especificar, dissenyar y proposar el desenvolupament d´un mini-projecte que planteja el professor. Tots els treballs són avaluats mitjançant una demostració pràctica i una entrevista amb el professor per tal d´avaluar el grau de cooperació entre els integrants del grup. Els millors treballs es presenten a classe i comporta una puntuació extra com recompensa pel treball i esforç dedicat als membres del grup.

Per millorar el rendiment de l´alumne, se´ls ofereix la possibilitat de fer consultes personalitzades sobre l´assignatura, tant a nivell de matèria, com tot el que involucra a la mateixa (forma d´estudi, planificació de les hores d´estudi, dissenys pràctics, correcció de problemes proposats...).

Avaluació

L´assignatura es divideix en dos parts, una teòrica on s´exposen els fonaments metodològics de l´enginyeria del software, i una segona part on es posen en pràctica els coneixements anteriors a partir de la realització d´un treball portat a terme com un projecte d´enginyeria.

La nota final de l´assignatura és la suma ponderada de la nota d'avaluació continua (30%) i de la nota de Pràctiques (70%). La nota d'avaluació s'obté a partir del lliurament d'exercicis i de la participació a classe. La nota màxima a convocatòria extraordinaria és de 8.

Avaluació de la part teòrica:
D. Treballs fets a casa
J. Participació a classe

Avaluació de la Part Pràctica:
D. Treballs fets a casa
F. Informes/treballs fets en grup
G. Treballs pràctics amb ordinador
I. Presentacions

La nota de la part pràctica s´avalua a partir d´un treball pràctica que ha de lliurar l´alumne a final de curs. La seva avaluació estarà en funció de la qualitat, metodologia, funcionalitat, comprensió i claredat de la seva exposició. El millor treball és premiat amb un 1 addicional sobre la nota de la part pràctica.

Nota final= 30%(Avaluacio continua)+ 70% (Nota Teòrica + punt opcional)

Criteris avaluació

- Capacitat d'anàlisi i síntesi [A,C,D,F,I]
- Capacitat d'organitzar i planificar [F,G]
- Coneixements generals bàsics sobre l'àrea d'estudi [A,C,D,F,I,J,L]
- Habilitats de gestió de la informació (habilitat per buscar i analitzar informació provenent de fonts diverses) [D,G]
- Resolució de problemes [A,D,G,L]
- Presa de decisions [A,F]
- Coneixements bàsics i fonamentals de l'àmbit de formació [A,C,D,F,I,J,L]
- Coneixements en alguna especialitat de formació [A,C,D,F,I,J,L]
- Capacitat de crítica i autocrítica [D,I,J,L]
- Treball en equip [F]
- Capacitat de treballar en un equip interdisciplinar [F]
- Capacitat d'aplicar els coneixements a la pràctica [D,G]
- Habilitats d'investigació [D,G]
- Capacitat d'aprendre [D,F,G]
- Capacitat per adaptar-se a noves situacions [D,F,G,L]
- Capacitat per generar noves idees (creativitat) [D,J,L]
- Lideratge [F,I]
- Habilitat per treballar de forma autònoma [D]
- Disseny i gestió de projectes [D,F,G]
- Preocupació per la qualitat i millora contínua [D,F,G]
- Motivació per assolir nous reptes [D,F,G]

Bibliografia 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 complementari

- 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