Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Rosa Herrero Antón

Trimestre: Tercer trimestre

Crèdits: 4

Professorat: 

Montserrat Estañol Lamarca

Idiomes d'impartició


  • Català

L'idioma d'impartició principal a classe és el català.

Tanmateix:

- Tot el codi exposat està en anglès
- Les eines usades i material addicional estan en anglès,
- Tot el codi que s'entregui ha d'estar en anglès. Examens i pràctiques que consisteixin en redactar han d'estar o en català o castellà 

Competències


Competències bàsiques
  • B2_Que els estudiants sàpiguen aplicar els seus coneixements a la seva feina o vocació d'una forma professional i tinguin les comptències que demostren mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi

  • B4_Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tan especialitzat com no especialitzat

  • B5_Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

Competències específiques
  • EIS1_Capacitat per a desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari i que es comportin de forma fiable i eficient, siguin assequibles de desenvolupar i mantenir i compleixin normes de qualitat, aplicant les teories, principis, mètodes i pràctiques de l'enginyeria del software

  • EIS2_Capacitat per a valorar les necessitats del client i especificar els requisits software per a satisfer aquestes necessitats, reconciliant objectius en conflicte, mitjançant la cerca de compromisos acceptables, dins de les limitacions derivades del cost, del temps, de l'existència de sistemes ja desenvolupats i de les pròpies organitzacions

  • EIS3_Capacitat per donar solució a problemes d'integració en funció de les estratègies, estàndards i tecnologia disponibles

  • EIS4_Capacitat d'identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software sobre la base d'un coneixement adequat de les teories, models i tècniques actuals

  • EIS5_Capacitat d'identificar, avaluar i gestionar els riscos potencials associats que es puguin presentar

  • EIS6_Capacitat per a dissenyar solucions apropiades en un o més dominis d'aplicació, utilitzant mètodes de l'enginyeria del software que integren aspectes ètics, socials, legals i econòmics

  • ESI2_Capacitat per determinar els requisits dels sistemes d'informació i comunicació d'una organització, atenent a aspectes de seguretat i compliment de la normativa i legislació vigent

  • ESI3_Capacitat per participar activament en l'especificació, disseny, implementació i manteniment dels sistemes d'informació i comunicació

Competències transversals
  • T1_Que els estudiants coneixin un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit, d'acord amb les necessitats que tindran les graduades i els graduats a cada titulació

  • T2_Que els estudiants tinguin capacitat per a treballar com a membres d'un equip interidisciplinar ja sigui com un membres més, o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles

Descripció


L'assignatura d'Enginyeria del Software III del tercer trimestre de tercer curs, és la darrera de les tres assignatures anomenades Enginyeria del Software. La seva impartició està pensada a dedicar 3 ECTS a la part de teoria i 1 ECTS a practicar els conceptes exposats a teoria. 

En aquesta assignatura s’explicaran nous Patrons de Disseny de Software i temes relacionats amb l’Enginyeria de Requisits, posant l’èmfasi en les implicacions de les tècniques Agile i Lean en el disseny i desenvolupament de software.

Un altre dels temes abordats en aquesta assignatura serà el Testing, fent-ne una extensió de les tècniques ja vistes a Enginyeria del Software II, introduint diferents estratègies i la depuració. L’ús del Testing per a millorar la qualitat del codi i la seva mantenibilitat és clau. 

L'aula (física o virtual) és un espai segur, lliure d'actituds masclistes, racistes, homòfobes, trànsfobes i discriminatòries, ja sigui cap a l'alumnat o cap al professorat. Confiem que entre totes i tots puguem crear un espai segur on ens puguem equivocar i aprendre sense haver de patir prejudicis d'altres. 

Continguts


1.      Patrons de disseny de software

1.1. Functional Programming

1.2.  High Cohesion / Low Coupling

1.3. UML drawings, relations, and dependency directions

1.4. Plugin Architecture

1.5.  Patró S.O.L.I.D.

1.6.  Patró Command.

1.7.  Patró Observer. 

1.8.  Patró Event Target.

1.9.  Event Bus.

1.10.  Patró Model Vista Controlador.

2.      Proves del software

2.1.  Estratègies de prova i tècniques. AAA & FIRST.

2.2.  Test Driven Development

2.3.  Code Coverage

2.4.  Law of Demeter

2.5.  Dependency Injection

2.6.  Lower 's' singleton pattern

2.7.  Revisió de Codi

2.8.  Professionalism as emergence of Testing + Agile

3.      Enginyeria de Requisits            

3.1.  Introducció.

3.2.  Mètode de captura de requisits: Lean

3.3.  Agile, la cerca de la confiança.

Sistema d'avaluació


La nota final es calcularà amb les qualificacions de les activitats ponderades de la forma següent:

·          Examen (EX): 60%

·          Pràctiques (PR): 40%

Per poder superar l'assignatura és necessari que tant EX com PR siguin iguals o superiors a 5 (s'ha d'aprovar teoria i pràctica per separat). En aquest cas la nota de final NF serà la ponderació segons com està descrit més amunt (40% PR, 60% EX). En cas contrari serà la mínima d'elles.

Només podran recuperar-se l’examen (EX) en una única prova de tota l’assignatura (les pràctiques no es poden recuperar). En cas de recuperació, el 60% de la nota final de l’assignatura serà la més gran entre l'examen de recuperació ER i l'obtinguda a EX.

Per poder realitzar l'examen de recuperació l’estudiant haurà de complir les següents condicions següents:

  • La nota de l’assignatura és inferior a cinc.
  • L'alumne s'ha presentat a EX.
  • A partir de la descripció anterior, s’infereix que la nota de pràctiques PR ha de ser superior o igual a 5.

Bibliografia


Bàsic

Clean Agile: Back to Basics
Robert C. Martin, Person, ISBN 9780135781869

Patrones de diseño : elementos de software orientado a objetos reutilizable.

Gamma, Eric et all. Addison-Wesley, cop. 2003. ISBN 9788478290598.

Clean Architecture: A Craftman's Guide to Software Structure and Design
Robert C. Martin, Person, ISBN 9780134494166

Clean Craftsmanship: Disciplines, Standards, and Ethics
Robert C. Martin, Person, ISBN 9780136915713

Complementary

Refactoring: Improving the Design of Existing Code
Martin Fowler, Addison-Wesley Professional, ISBN 9780134757599

UML y patrones : una introducción al análisis y diseño orientado a objetos y al proceso unificado.

Larman, Crai Prentice Hall, cop. 2003. ISBN 978 8420534382.