Pla docent de l'assignatura

 

 

Tanca imatge de maquetació

 

Imprimeix

 

Dades generals

 

Nom de l'assignatura: Disseny de Software

Codi de l'assignatura: 364303

Curs acadèmic: 2021-2022

Coordinació: Ana Puig Puig

Departament: Departament de Matemàtiques i Informàtica

crèdits: 6

Programa únic: S

 

 

Hores estimades de dedicació

Hores totals 150

 

Activitats presencials i/o no presencials

52,5

 

-  Teoria

Presencial

 

22,5

 

-  Teoricopràctica

Presencial

 

15

 

-  Pràctiques de laboratori

Presencial

 

15

Treball tutelat/dirigit

57,5

Aprenentatge autònom

40

 

 

Recomanacions

 

  • És molt recomanable haver aprovat les assignatures Programació I i Programació II.
  • Es recomanable conèixer els conceptes de programació orientada a objectes.
  • Cal tenir coneixements del llenguatge de programació Java.

 

 

Competències que es desenvolupen

 

   -

7T-TRANSV. Capacitat de treballar en equip.

   -

8G-GENERAL. Coneixement de les matèries bàsiques i tecnologies, que capacitin per a l'aprenentatge i desenvolupament de tecnologies i mètodes nous, com també de les que proporcionin una gran versatilitat per adaptar-se a situacions noves.

   -

5T-TRANSV. Capacitat comunicativa.

   -

4T-TRANSV. Capacitat de fer raonaments crítics i lògics.

   -

1T-TRANSV. Capacitat per aplicar els coneixements adquirits per elaborar i defensar arguments, i per resoldre problemes relacionats amb la informàtica.

   -

2FC - FORMACIÓ COMUNA. Capacitat per planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa i la millora contínua, i valorar-ne l'impacte econòmic i social.

   -

1FC - FORMACIÓ COMUNA. Capacitat per dissenyar, desenvolupar, seleccionar i avaluar aplicacions i sistemes informàtics, i assegurar-ne la fiabilitat, seguretat i qualitat d'acord amb principis ètics i la legislació i normativa vigents.

   -

8FC - FORMACIÓ COMUNA. Capacitat per analitzar, dissenyar, construir i mantenir aplicacions de manera robusta, segura i eficient, i triar el paradigma i els llenguatges de programació més adequats.

   -

En la mesura que sigui possible s’incorporarà la perspectiva de gènere en el desenvolupament de l’assignatura, ampliant els àmbits de les aplicacions proposades, el context dels problemes i utilitzant llenguatge inclusiu. 

 

 

Objectius d'aprenentatge

 

Referits a coneixements

— Aprendre els conceptes bàsics de disseny de programari.

 

— Conèixer els fonaments per analitzar i dissenyar programari.

 

— Aprendre a descompondre un problema d’una mida determinada en mòduls independents.

 

— Aprendre a produir programes de mida mitjana fiables i fàcils d’entendre, modificar, mantenir i reutilitzar.

 

— Aprendre a fer servir els patrons de disseny més utilitzats.

 

— Ser capaç de fer servir esquemes algorísmics, estructures de dades, i d’aplicar patrons de disseny.

 

— Entendre el procés i els passos implicats en un desenvolupament guiat per tests (test-driven development).

 

— Aprendre a desenvolupar software d’una història d’usuari fent servir tests automàtics.

 

— Aprendre mètodes de refactorització automàtica per netejar i reestructurar codi.

 

Referits a habilitats, destreses

— Conèixer com programar tests unitaris en entorns de desenvolupament de projectes en Java.

 

— Conèixer eines de desenvolupament basat en patrons utilitzades en Java.

 

Referits a actituds, valors i normes

— Disposar de criteris que permetin escollir l’alternativa més adequada durant les etapes d’especificació, anàlisi i disseny, i disposar d’elements per argumentar de manera raonada sobre les eleccions fetes.

 

 

Blocs temàtics

 

1. Introducció al procés de desenvolupament del programari

1.1. Procés de desenvolupament del programari i cicle de vida del programari

1.2. Desenvolupament basat en tests (test-driven development)

1.3. Cicle de desenvolupament basat en tests: casos i exemples

2. Anàlisi de requisits

2.1. Casos d’ús i model de domini

2.2. User stories

3. Model de disseny

3.1. Concepte, estructura i utilitat

3.2. Models arquitectònics

3.3. Principis de disseny: S.O.L.I.D.

3.4. Principis de disseny bàsics: patrons generals

4. Patrons de disseny

4.1. Patrons arquitectònics (estructura monolítica, client-servidor, n-tiers)

4.2. Model-vista-controlador: Singleton, Observer, Facade

4.3. Composite, Strategy, Command

4.4. Factory, Template Factory, Abstract Factory

4.5. Finite State Machine

5. Del disseny a la implementació

5.1. Tipus de tests: test d’acceptació i tests unitaris

5.2. Bones característiques dels tests: F.I.R.S.T.

5.3. Principis de testing: patrons de test

5.4. Tècniques de redisseny: test de codi en producció (legacy code testing)

5.5. Complements de tests: stubs, fakes, mocks

6. Ús de frameworks de testing

 

 

Metodologia i activitats formatives

 

L’assignatura utilitza la metodologia Flipped Classroom (classe inversa) en què l’alumnat pren el paper actiu de l’aprenentatge i el professorat serveix de guia i orientació d’aquest procés. Aquesta metodologia s’empra en les sessions de teoria, les sessions de problemes (teoricopràctiques), les sessions de laboratori i els treballs tutelats. Les activitats es proposen i se segueixen mitjançant el Campus Virtual. Les pràctiques de laboratori es duen a terme mitjançant GitHub Classroom.

  • Les sessions de teoria (una hora i mitja setmanal durant 15 setmanes): es dediquen a l’exposició del temari teòric de l’assignatura. Es farà servir, en la mesura que sigui possible, la metodologia Flipped ClassRoom que implica que l’alumnat visioni, explori o llegeixi un cert material abans de les classes, que serveixen per explorar, analitzar i desenvolupar diferents conceptes. Després, a classe, el professorat sintetitza breument els conceptes analitzats, resol dubtes i obre problemes, fomentant la participació de l’alumnat a partir de reptes per resoldre problemes i qüestionaris interactius. Aquestes activitats s’usen per generar un feedback continuat amb l’alumnat i obrir espais de discussió. Cada setmana es defineix la planificació de les tasques a realitzar prèviament de forma asíncrona i els continguts que es treballaran en la classe següent.

Aquestes classes teòriques contenen activitats avaluables de diferents tipus al llarg del curs (com ara qüestionaris d’autoavaluació, problemes o lliurament de projectes i presentacions orals).  

  • Les sessions teoricopràctiques (una hora i mitja setmanal durant deu setmanes) es dediquen a fer exercicis amb la finalitat de presentar i discutir en grup solucions a enunciats relativament simples que involucrin pocs coneixements teòrics.  Tothom hi tindrà un paper actiu, treballant en grups petits per resoldre i valorar les solucions de les persones del grup. S’incentivarà la discussió i la participació a classe.

Les classes teoricopràctiques contenen activitats avaluables de diferents tipus al llarg del curs (com poden ser qüestionaris d’autoavaluació, problemes o lliurament de projectes i presentacions orals). 

  • Les sessions de laboratori (una hora i mitja setmanal durant deu setmanes) es fan complementant les classes teòriques i de problemes. S’aprofundeixen els aspectes més pràctics de cadascun dels conceptes vistos en la teoria i a problemes. Les sessions es dediquen a aplicar els coneixements teòrics a diferents problemes pràctics implicats en un projecte d’envergadura mitjana, en grups de dues o tres persones, resolt sota la supervisió personalitzada del professorat. Aquest procés inclou lliuraments periòdics de parts de la solució, amb la finalitat d’orientar la feina i el seu desenvolupament en la direcció correcta.

Al llarg del curs, algunes de les sessions de laboratori són avaluables (sessions de lliurament de pràctiques dutes a terme fora de l’aula, proves directes amb temps limitat dins de la sessió, entrevistes, correcció de problemes en petits grups tutelats, etc.). Els lliuraments es fan a través del Campus Virtual i el GitHub de l’assignatura; el seguiment del treball es farà utilitzant GitHub.

Com es diu a les competències d’aquest pla docent, en la mesura que sigui possible s’incorporarà la perspectiva de gènere en el desenvolupament de l’assignatura, ampliant els àmbits de les aplicacions proposades, el context dels problemes i fent servir llenguatge inclusiu. 

Programari (software) emprat: Java, IntelliJ

 

* En cas de docència virtual obligada per la situació sanitària

Si la situació sanitària ho permet i es donen les condicions necessàries, es disposarà d’aproximadament un 50 % de presencialitat. En la docència presencial es prioritzarà la resolució de dubtes de teoria i de pràctiques. També es prioritzarà fer presencialment les activitats avaluadores.

Els horaris es mantenen i la docència teoricopràctica es desenvoluparà totalment en format no presencial síncron o asíncron, podent variar el repartiment de l’alumnat en grups. Les classes de teoria i les de pràctiques de laboratori es faran de manera síncrona.

 

 

Avaluació acreditativa dels aprenentatges

 

Avaluació continuada
Depenent de la situació sanitària les activitats avaluables poden ser: controls presencials, presentacions orals, controls no presencials síncrons o lliurament de treballs.

La nota final de l’assignatura (Nota_Final) es calcula mitjançant la fórmula següent: 

Nota_Final = a * Nota_Teoria + b * Nota_Pràctiques + c * Nota_Addicional.

on,

 Nota_Teoria és la nota de la part teòrica de l’assignatura. Aquesta avaluació es pot fer mitjançant exàmens parcials, finals i/o presentació de treballs i/o temes, calculant una mitjana ponderada sobre la base de la càrrega de continguts de cada activitat.

— Nota_Pràctiques és la nota de diversos lliuraments de pràctiques amb una prova o entrevista associada. Aquesta nota es calcula a partir d’un mínim de dos lliuraments durant el semestre. 

— Nota_Addicional és la nota que comprèn diverses activitats que es poden incloure per avaluar l’assignatura (com ara exàmens de tipus test, exposicions a classe, lliuraments de problemes, etc.).

— ab i c són els pesos que es donen a les diferents parts de l’assignatura i que es corresponen amb les hores de dedicació de l’alumnat. Cada curs, els pesos es concreten en el full informatiu del Campus Virtual sempre dins dels marges següents: 0,4 <= a <= 0,6; 0,4 <= b <= 0,5 i 0,0 <= c <= 0,4.

Mínims de les parts:

  • Per poder calcular la Nota_Final és imprescindible complir uns certs mínims: 

Nota_Teoria >= 4,0 i  Nota_Pràctiques >= 4,0 i es faci un mínim de dos lliuraments de pràctiques.

  • En el cas que alguna de les parts no arribi a 4,0, la nota final es calcula com Nota_Final = mínim (Nota_Final, 4,0). L’assignatura s’aprova amb la Nota_Final >= 5,0.


Parts no presentades:
  • Les notes recollides al llarg del curs que corresponguin a avaluacions obligatòries (exàmens, lliuraments, etc. no optatius) compten com a 0 en cas que no es presentin. 
  • En el cas dels lliuraments pràctics, la Nota_Final  es considera com a no presentat quan hi hagi més d’un lliurament no presentat.


Irregularitats:
  • En cas que una persona matriculada a l’assignatura cometi alguna irregularitat que doni lloc a una variació significativa de la qualificació d’un acte d’avaluació, aquest acte es qualifica amb un 0.
  • En cas que es produeixi més d’una irregularitat en els actes d’avaluació d’una mateixa assignatura, aquesta persona tindrà una qualificació final de 0 a tota l’assignatura.


Matrícules d’honor:
  • Es pot atorgar la menció de matrícula d’honor a les persones que tinguin una qualificació igual o superior a 9,0. 
  • El nombre de matrícules d’honor no pot ser superior al 5 % de les persones matriculades en una assignatura en el període lectiu corresponent, llevat que el nombre d’alumnes a la llista de matrícula sigui inferior a 20, cas en el qual es pot atorgar una sola matrícula d’honor. Es pot concedir una matrícula d’honor addicional per la fracció resultant d’aplicar el 5 % de persones matriculades.


Reavaluació

a) Tothom que estigui matriculat té dret a la reavaluació de la part de teoria de l’assignatura.

b) Si es té la qualificació «no presentat» es té dret a la reavaluació.

c) La Nota_Teoria_Reavaluació s’obté realitzant un examen final de l’assignatura el dia fixat per a la reavaluació.

d) Per obtenir la nota final de teoria de l’assignatura s’utilitza la fórmula següent: màxim (Nota_Teoria, Nota_Teoria_Reavaluació). Cal que màxim (Nota_TeoriaNota_Teoria_Reavaluació) sigui superior o igual a 4,0

e) La Nota_Pràctiques és la nota de diversos lliuraments de pràctiques de manera presencial:
  • Aquesta nota es calcula a partir d’un mínim de dos lliuraments durant el semestre. Ha de ser superior o igual a 4,0. 
  • Es poden reavaluar un màxim de dues pràctiques. 
  • Es pot reavaluar només una de les pràctiques. 
  • La nota màxima de la reavaluació de cadascuna de les pràctiques és de 5. 
  • La reavaluació de pràctiques es fa durant la prova de reavaluació de l’assignatura.
  • Es guarda la nota final de pràctiques si és superior a un 7.


f)  La Nota_Addicional és la nota que comprèn diverses activitats que es poden incloure per avaluar l’assignatura (com ara exàmens de tipus test, exposicions a classe, lliuraments de problemes, etc.). 

g) Per calcular la nota final, sempre que es compleixin els mínims establerts en els apartats anteriors, s’utilitza la fórmula següent:

Nota_Final = a * màxim (Nota_TeoriaNota_TeoriaReavaluació) + b * Nota_Pràctiques + c * Nota_Addicional.

— ab i c són els pesos que es donen a les diferents parts de l’assignatura i que es corresponen amb les hores de dedicació de l’alumnat. Cada curs, els pesos es concreten sempre dins dels marges següents: 0,4 <= a <= 0,6; 0,4 <= b <= 0,5 i 0,0 <= c <= 0,3.

h) En la reavaluació se segueixen considerant tots els aspectes que s’han introduït anteriorment en les seccions de mínims de les parts, parts no presentades, irregularitats i matrícules d’honor. 

 

 

Avaluació única

L’alumnat que es vulgui acollir a l’avaluació única ho ha de sol·licitar a la Secretaria de la Facultat dins dels terminis establerts cada curs acadèmic. En l’avaluació única, cal superar una prova final en què s’avaluen conceptes teòrics i pràctics de l’assignatura de la manera següent: 

Nota_Final = a * Nota_Prova_Final + b * Nota_Pràctiques

On,

— Nota_Prova_Final és una prova final on s’avaluen els conceptes teòrics i aplicats de l’assignatura. 
— Nota_Pràctiques és la nota de la part pràctica (preguntes i problemes sobre els continguts de les pràctiques de l’avaluació continuada, problemes específics pràctics de coneixements, etc.). Aquesta nota es calcula a partir d’un mínim de dos lliuraments durant el semestre.

— a i b són els pesos que es donen a les diferents parts de l’assignatura i que es corresponen amb les hores de dedicació de l’alumnat. Cada curs, aquests pesos es concreten en el full informatiu publicat al Campus Virtual sempre dins dels marges següents:  0,4 <= <= 0,6  i     0,4 <= <= 0,5

En l’avaluació única se segueixen considerant tots els aspectes que s’han introduït anteriorment en les seccions de mínims de les parts, parts no presentades, irregularitats i matrícules d’honor. 

  • Per poder calcular la Nota_Final és imprescindible que s’obtinguin els mínims següents: Nota_Prova_Final >= 4,0 i Nota_Pràctiques >= 4,0 i es faci un mínim de dos lliuraments de pràctiques. En el cas que alguna de les parts no arribi a 4,0, la nota final es calcula com Nota_Final  = mínim (Nota_Final, 4,0). L’assignatura s’aprova amb la Nota_Final >= 5,0.
  • Si algú no es presenta a la prova o no té un mínim de dues pràctiques presentades, rep la qualificació de «no presentat».
  • En cas que un o una estudiant cometi alguna irregularitat que doni lloc a una variació significativa de la qualificació d’un acte d’avaluació, aquest acte es qualifica amb un 0. En cas que es produeixi més d’una irregularitat en els actes d’avaluació d’una mateixa assignatura, la qualificació final de tota l’assignatura és de 0.
  • Es pot atorgar la menció de matrícula d’honor a les persones que tinguin una qualificació igual o superior a 9,0. El nombre de matrícules d’honor no pot ser superior al 5 % de persones matriculades en una assignatura en el període lectiu corresponent, llevat que el nombre d’alumnes matriculats sigui inferior a 20, cas en el qual es pot atorgar una sola matrícula d’honor. Es pot concedir una matrícula d’honor addicional per la fracció resultant d’aplicar el 5 % de persones matriculades.


Reavaluació

a) Tothom que s’hagi acollit a l’avaluació única té dret a la reavaluació de la part de teoria de l’assignatura.

b) Si es té la qualificació «no presentat» es té dret a la reavaluació.

c) Per obtenir la nota final de teoria de l’assignatura s’utilitza la fórmula següent: màxim (Nota_Prova_Final, Nota_Teoria_Reavaluació).

d) Per calcular la nota final, cal que màxim (Nota_Prova_Final, Nota_Teoria_Reavaluació) sigui superior o igual a 4,0. En aquest cas, la Nota_Final  es calcula com:

Nota_Final = a * màxim (Nota_Prova_FinalNota_TeoriaReavaluació) + b * Nota_Pràctiques

on,

— Nota_Pràctiques és la nota de diversos lliuraments presencials de pràctiques. Aquesta nota es calcula a partir d’un mínim de dos lliuraments durant el semestre. Ha de ser superior o igual a 4,0. Es poden reavaluar un màxim de dues pràctiques. La nota màxima de la reavaluació de cadascuna de les pràctiques és de 5. La reavaluació de pràctiques es fa durant la prova de reavaluació de l’assignatura.

— a i b són els pesos que es donen a les diferents parts de l’assignatura i que es corresponen amb les hores de dedicació de l’alumnat. Cada curs, els pesos es concreten sempre dins dels marges següents: 0,4 <= <= 0,6; 0,4 <= b <= 0,5.