Logo

Disseny de Software

Codi: 102759
Crèdits: 6
2026/2027
Titulació Tipus Curs
Enginyeria Informàtica OB 3
Enginyeria Informàtica OP 4

Professor/a de contacte

Nom :
Joan Serrat Gual
Correu electrònic :
joan.serrat@uab.cat

Equip docent

Emanuel Adolfo Vallejo Canizales
David Acuña Torras

Idiomes dels grups

Podeu consultar aquesta informació al final del document.

Prerequisits

No hi ha prerequisits oficials, però cal que l'estudiant domini la notació de diagrames de classe UML, els conceptes d'orientació a objecte i la seva programació en algun llenguatge, preferiblement Java.

Objectius

  • Un cop el propòsit d'un software s'ha determinat mitjançant l'anàlisi de requeriments, els desenvolupadors de software dissenyen una solució. Aquesta va des de l'arquitectura dels seus components (classes, mòduls...) fins a la implementació en algun llenguatge de programació. Aquesta assignatura cobreix principalment dos aspectes claus del disseny: el disseny orientat a objecte, amb èmfasi en els patrons de disseny, i el disseny de la interfície d'usuari.
  • L'aprenentatge es recolza en un projecte (la pràctica) o dit d'una altra manera, es tracta "d'aprendre per fer": tots els conceptes tractats a teoria són necessaris per tal de dissenyar i implementar una aplicació de software, a partir d'un enunciat que fa el paper de document de requeriments. Es tracta de fer el disseny i la implementació d'una aplicació (però no l'anàlisi de requeriments, la prova, el control de versions o el garantiment de la qualitat, que pertanyen a altres assignatures).

Resultats d'aprenentatge

  1. Especificar les necessitats del client en un document d'especificació de software.
  2. Identificar, gestionar i resoldre conflictes.
  3. Dissenyar una interface d'usuari partint de les especificacions del client.
  4. Identificar el paradigma que millor s'adapta al problema de disseny d'un sistema informàtic software específic tenint en compte els requeriments d'accessibilitat, ergonomia, usabilitat i seguretat.
  5. Dissenyar i documentar solucions de software.
  6. Concebre sistemes de software basats en tecnologies de xarxa, incloent Internet, Web, comerç electrònic, multimèdia, serveis interactius i computació mòbil.
  7. Conèixer i aplicar els components de software específics en problemes computacionals basats en comunicacions.
  8. Mantenir una actitud proactiva i dinàmica respecte al desenvolupament de la pròpia carrera professional, el creixement personal i la formació continuada. Tenir esperit de superació.
  9. Desenvolupar la curiositat i la creativitat.
  10. Treballar cooperativament.
  11. Assumir i respectar el rol dels diversos membres de l'equip, així com els diferents nivells de dependència de l'equip.

Continguts

1. Principis d'orientació a objecte

2. Patrons de disseny: creacionals, estructurals, de comportament

3. Estil de codificació i comentaris. Logging.

4. Disseny de la interfície d'usuari

  • usabilitat
  • UX research
  • UX design : prototipat, user testing
  • internacionalització i localització

5. Programació d'interfícies en Flutter

Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
resolució de problemes 12 0,48 1, 3, 4, 5, 6, 7
estudi individual 29 1,16 1, 3, 4, 5, 7
classes de problemes 12 0,48 3, 5, 6, 7
classes de teoria 26 1,04 3, 4, 5, 6, 7
classes de pràctiques 12 0,48 2, 3, 5, 6, 7, 10, 11
preparacio practiques 52 2,08 2, 3, 4, 5, 6, 7, 10, 11
  • Classes de teoria. En elles el professorat introdueix els continguts teòrics i dona referències útils (llibres, articles, pàgines web) per que l'estudiant després en pugui continuar el seu aprenentatge, així com desenvolupar l'aplicació software proposada. Les transparències utilitzades en aquestes classes doncs no s'han de prendre com a única font d'estudi ja que serveixen per que el professorat pugui exposar de manera més àgil. En canvi, cal estudiar, a més, els llibres recomanats, i els articles, capítols de llibres d'accés obert i altre material que indicarem.
  • Classes de problemes. Aquestes classes s'empraran principalment per exposar i avaluar exercicis, que són problemes de disseny més implementació, o be la aplicació de tècniques de UX.
  • Sessions de pràctiques. Els estudiants hauran format a principi de curs grups petits. A les classes de pràctiques els estudiants venen a 1) 'passar comptes' amb el professor de la feina feta cada setmana i resoldre dubtes, i 2) donat que la pràctica estarà dividida en fites, les setmanes que corresponen a una fita s'avalua la part corresponent in situ, segons un barem que figurarà a l'enunciat de la pràctica. Per tant, les sessions de pràctiques *no* són per fer la pràctica.

Per tal de fer el seguiment i l'avaluació d'exercicis i pràctica cada grup cal que dugui un portàtil propi.

Tots els materials de l'assignatura juntament amb la planificació detallada es troben al campus virtual.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè l'alumnat completi les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura.

Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
avaluació individual 50% 4 0,16 1, 3, 4, 5, 6, 7, 8, 9
avaluació de grup 50% 3 0,12 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

La forma d'avaluació és continuada. Aquesta consta d'una part d'avaluació de grup i una altra d'individual. La nota de la primera (PR) s'obté fent promig de les notes de les fites de pràctiques (M1, M2, M3). La segona (EX) del promig de dues proves escrites durant el trimestre (EX1, EX2), o bé d'un examen final de recuperació (EXR1, EXR2). Els sufixes 1 i 2 es refereixen a les dues parts que té l'assignatura, abans i després del primer examen EX1.

L'algoritme pel càlcul de la nota final (FM) és el següent (totes les notes són sobre 10) :

// EX1, EX2 exàmens parcials

// EXR1, EXR2 examen de recuperació

// M1, M2, M3 notes de les 3 fites de pràctiques

// FM nota final

EX = ( max(EX1, EXR1) + max(EX2, EXR2) ) / 2.

if (M1>0) and (M2>0) and (M3>0) {

PR = (M1 + M2 + M3) / 3.

} else {

PR = 0.

}

if (EX >=5.) and (PR >=5.) {

FM =(EX + PR) / 2.

} else { // EX<5. o PR<5.

FM = min(EX, PR)

}

La pràctica

  • La realització de la pràctica és essencial per assimilar els conceptes de teoria. La primera cosa doncs que volem assegurar és que la pràctica ha estat realment feta pel grup que la presenta, i que cada membre del grup hi ha contribuït en la mateixa mesura que els altres. La segona és que la pràctica es faci de manera progressiva durant el curs, en paral·lel a la teoria. Per això farem el següent:
  • La nota de la pràctica s'obté combinant la nota de les parts en les que aquesta està dividida. Cada part serà avaluada in situ en una de les sessions de pràctiques que anunciarem a principi de curs (les fites). Els punts que es poden obtenir de cada part s'especificarà a l'enunciat. Aquestes avaluacions no tenen recuperació després.
  • Els dies d'avaluació de la pràctica (fites), si de resultes de les respostes a les preguntes que faci el professor durant l'avaluació, tenim dubtes sobre l'autoria o la contribució d'algun dels membres del grup, llavors la nota de pràctica passarà de ser de grup a individual i en funció de quanta i quina part de la pràctica hagi fet cada membre.

Els exercicis

  • Proposarem alguns exercicis que són opcionals. Aquests exercicis es fan en grup, el mateix que el de pràctiques (tots o un subconjunt dels seus membres). Els exercicis poden sumar punts a la nota de teoria EX, amb un topall de 10. Diem 'poden' perquè la obtenció d'aquests punts extra estarà condicionada a una prova de validació individual per tal de comprovar que l'estudiant ha realitzat efectivament l'exercici que ha lliurat. Aquestes proves de validació les farem només un cop i no tenen recuperació després.

Altres

  • No convalidem pràctiques, exercicis ni exàmens de cursos anteriors. Els estudiants repetidors no reben cap tractament diferenciat.
  • Si no s'entrega un examen o una part de la pràctica, la nota d'aquesta part és zero. La nota final serà 'no avaluable' si no s'ha entregat res avaluable, ja sigui examen, pràctica o exercici.
  • Les fites de pràctiques són avaluacions equivalents al exàmens escrits. Si un estudiant no s'hi presenta, la nota és zero.
  • Només seran avaluats d'un exercici els estudiants que siguin presents a la corresponent classe de problemes.
  • Les notes MH les concedirem de manera discrecional als estudiants amb nota final superior 9.0 i tenint en compte tota mena de treballs fets (exàmens, pràctica i exercicis).
  • Les dates d'avaluació continuada i lliurament de treballs es publicaran al campus virtual de l'assignatura i poden estar subjectes a canvis en resposta a possibles incidències. Sempre s'informarà mitjançant el campus virtual, que serà el mecanisme de comunicació entre docents i estudiants.
  • Per a les activitats d’avaluació de tipus examen escrit, s’indicarà un lloc, data i hora de revisió en la que l'estudiant podrà revisar l’activitat amb el professor. Si l'estudiant no es presenta a aquesta revisió, no es revisarà posteriorment aquesta activitat.
  • Aquesta assignatura no preveu el sistema d'avaluació única.
  • En cas que un estudiant trobi que no pot assistir a alguna activitat d'avaluació (examen o fita de pràctiques) existeix un “protocol de sol·licitud de reprogramació d’activitats d’avaluació" pel qual l'estudiant ho pot sol·licitar.
  • Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, es qualificaran amb un zero les irregularitats comeses per l'estudiant que puguin conduir a una variació de la qualificació d'un acte d’avaluació. Per tant, la còpia, el plagi, l’engany, deixar copiar, etc. en qualsevol de les activitats d’avaluació implicarà suspendre-la amb un zero. Les activitats d’avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs, amb nota zero.
  • En aquesta assignatura, no es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) en cap de les seves fases si no es diu el contrari a classe. Qualsevol treball que inclogui fragments generats amb IA serà considerat una falta d'honestedat acadèmica i pot comportar una penalització parcial o total en la nota de l'activitat, o sancions majors en casos de gravetat.

Bibliografia

Part 1

  • Design patterns: elements of reusable object oriented software. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Addison Wesley, 1994. Versió en castellà de Pearson Educación, 2003.
  • Design patterns explained simply. Alexander Shvets. https://sourcemaking.com/design-patterns-ebook. Del mateix autor, https://refactoring.guru/design-patterns/
  • Head first design patterns. E. Freeman, E. Freeman, K. Sierra, B. Bates. O'Reilly, 2020.
  • Clean code: a handbook of agile software craftmanship. R.C. Martin. Prentice Hall, 2008. O be l'edició en castellà Codigo limpio, d'Anaya Multimedia 2012.

Part 2

  • The user experience team of one. A research and design survival guide. Leah Buley. Rosenfeld, 2013.
  • The Art and Science of UX Design: A Step-By-step Guide to Designing Amazing User Experiences. Anthony Conta. Pearson Education, 2023
  • Rocket surgery made easy: the do-it-yourself guide to finding and fixing usability problems. S. Krug. New Riders, 2010. Versió en castellà Haz facil lo imposible, d'Anaya Multimedia 2010.

Programari

  • Llenguatges de programació: Java, Dart (Flutter)
  • Entorns de programació: IntelliJ IDEA (Java, Flutter), plugins Checkstyle, plantUML. Llibreria logback
  • Altres: eina de prototipat Figma

Grups i idiomes de l'assignatura

La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura

Tipus de docència Grup Idioma Semestre Torn
(TE) Teoria 420 Català primer quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 421 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 421 Català/Castellà primer quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 422 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 422 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 423 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 424 Català primer quadrimestre matí-mixt
(TE) Teoria 450 Català primer quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 451 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 451 Català/Castellà primer quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 452 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 452 Català/Castellà primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 453 Català primer quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 454 Català primer quadrimestre matí-mixt