Abstract: |
Aquesta assignatura s'ha de veure com la continuació lògica de l'assignatura de Fonaments de Programació. L'objectiu bàsic és ampliar les nocions bàsiques de programació introduïdes a Fonaments de Programació i completar-les els principis de la programació orientada a objectes. La programació orientada a objectes és una de les metodologies més exteses de disseny i programació. A la programació orientada a objectes el software s'organitza en classes que contenen mètodes (procediments) i atributs (dades). Les instàncies o objectes d'aquestes classes s'envien missatges les unes a les altres (fan "trucades" a mètodes d'altres objectes) aconseguint aixi la funcionalitat desitjada. A part del concepte de classe, tres altres elements fonamentals són l'herència, la composició i la separació de les parts pública i privada de les classes. Aquests elements son doncs necessàris per a la programació OO, però no suficients: cal saber com utilitzar-los per arribar a solucions que siguin fàcilment extensibles en el futur, ja que una llei del software és que els canvis són inevitables. Existeixen una serie de principis de disseny o heurístiques que ens diuen com s'han d'emprar aquests elements per tal d'aconseguir-ho. I sobre ells encara, es construeixen els patrons de disseny, que son solucions a nivell de disseny OO a problemes recurrents, que apareixen sovint en resoldre problemes aparentment independents. En aquesta assignatura s'introdueixen i es practiquen els conceptes OO aixi com els principis i patrons de disseny. D'aquesta forma, els objectius formatius de l'assignatura són els següents: Entendre i aplicar correctament els principis bàsics de la programació orientada a objectes: concepte declasse, objecte i encapsulament de dades. Entendre i aplicar a problemes reals els principis d'herència i composició de classes. Conéixer i aplicar els principis i patrons de disseny a la resolució de problemes de programació. 1 Conéixer i aplicar els principis i patrons de disseny a la resolució de problemes de programació. Adquirir la capacitat de disseny i programació d'algorismes per a la resolució de problemes complexos, Utilitzar les estructures de programació i de representació de la informació més adients per la implementació d'un algorisme. Entendre el cicle de vida del software per la resolució de problemes de programació: anàlisi del problema, disseny, implementació i prova. Desenvolupar els programes seguint unes normes d'estil tendents a aconseguir programes de qualitat. |