Augmentar lletres   Inici   Informació   Contactar   Mapa
Castellano   English

Enginyeria del Software II (ES2)

Crèdits Dept.
7.2 ECTS LSI

Professors

Responsable:  Javier Franch Gutiérrez (franch@lsi.upc.edu)
Altres:Cristina Gómez Seoane (cristina@lsi.upc.edu)
Enric Martínez Gomàriz (gomariz@lsi.upc.edu)
Jordi Pradel Miquel (jpradel@lsi.upc.edu)
José Antonio Raya Martos (jraya@lsi.upc.edu)

Objectius Generals

L'objectiu principal de l'assignatura és el d'aprendre a dissenyar:
- (1) amb orientació a objectes,
- (2) usant patrons de disseny,
- (3) usant com a notació el llenguatge més apropiat
Sistemes d'informació:
- (1) amb una arquitectura en capes,
- (2) centralitzats i distribuïts.

Objectius Específics

Coneixements

  1. Conèixer els principis del disseny orientat a objectes.
  2. Conèixer el concepte de patrons de disseny i els patrons de disseny principals.
  3. Conèixer els elements de l'UML específics del disseny.
  4. Conèixer les característiques principals dels sistemes distribuïts.
  5. Conèixer algun producte tecnològic concret.
  6. Conèixer la problemàtica de l'assignació de responsabilitats a capes.

Habilitats

  1. Saber dissenyar un sistema d'informació (centralitzat o distribuït) amb orientació a objectes i amb una arquitectura en capes, partint de l'especificació dels seus requisits (funcionals i no funcionals).
  2. Saber identificar els patrons que es poden aplicar en un disseny, i aplicar-los correctament.
  3. Saber expressar el disseny usant els elements corresponents de l'UML.
  4. Saber assignar les responsabilitats determinades a l'especificació del sistema a les diverses capes.
  5. Saber avaluar les propietats principals d'un disseny (orientat a objectes) concret.

Competències

  1. Capacitat per dissenyar sistemes, components o processos que s'ajustin a unes necessitats, utilitzant els mètodes, tècniques i eines més adients en cada cas.
  2. Saber aplicar el cicle de resolució de problemes típic de la ciència i l'enginyeria: especificació, generació d'idees i alternatives, disseny d'una estratègia de solució, execució de l'estratègia, validació, interpretació i avaluació dels resultats. Capacitat d'analitzar el procés un cop acabat.
  3. Capacitat per estudiar de diverses fonts, identificant quan la informació rebuda a classe no és suficient i cercant informació complementària.
  4. Capacitat d'aprendre autònomament.

Continguts

Hores estimades de:

T P L Alt L Ext. Est A Ext.
Teoria Problemes Laboratori Altres activitats Laboratori extern Estudi Altres hores fora d'horari fixat

1. Principis del disseny orientat a objectes
T      P      L      Alt    L Ext. Est    A Ext. Total 
4,0 8,0 0 0 0 12,0 0 24,0

2. Patrons de disseny
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 12,0 0 0 0 30,0 0 48,0

3. Representació del disseny en UML
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 0 0 0 0 2,0 0 4,0

4. Disseny orientat a objectes: Domini, Presentació, Gestió de dades
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 12,0 0 0 0 24,0 0 42,0

5. Disseny de sistemes distribuïts
T      P      L      Alt    L Ext. Est    A Ext. Total 
6,0 12,0 0 0 0 24,0 0 42,0

6. Coneixement d'algun producte tecnològic concret
T      P      L      Alt    L Ext. Est    A Ext. Total 
2,0 4,0 0 0 0 6,0 0 12,0


Total per tipus T      P      L      Alt    L Ext. Est    A Ext. Total 
26,0 48,0 0 0 0 98,0 0 172,0
Hores addicionals dedicades a l'avaluació 8,0
Total hores de treball per l'estudiant 180,0

Metodologia docent

La docència de l'assignatura està estructurada en classes de teoria i classes de problemes, tot i que la distribució de les mateixes no segueix un patró setmanal regular.

En les classes de teoria els professors presenten els continguts essencials de l'assignatura. Normalment els professors usen transparències, que els estudiants poden (i haurien de) obtenir abans de les classes.

Altres continguts de l'assignatura no són presentats a classe, però han de ser estudiats de manera autònoma pels propis estudiants. Aquests continguts són tan "obligatoris" com els altres, simplement que s'han d'estudiar de manera diferent. Els professors indiquen en quin moment del curs s'han d'haver estudiat aquests continguts i els recursos docents que es poden emprar. Moltes vegades, aquests recursos estan escrits en anglès.

En les classes de problemes es practiquen els continguts de l'assignatura (els presentats a classe i els adquirits autònomament) mitjançant la realització de problemes. A vegades es requereix que els problemes s'hagin resolt (o almenys intentat resoldre) abans de la classe, i llavors la classe es destina a analitzar i discutir col·lectivament les millors solucions. Altres vegades, el problema es planteja i s'ha de resoldre en la mateixa classe. És fonamental per al correcte desenvolupament del curs que els estudiants preparin els problemes que els professors encarreguen. Els alumnes han de tenir sempre accés a classe a la llista de problemes del tema en curs.

Mètode d'avaluació

L'assignatura consta de quatre actes avaluatoris durant el curs i un
examen final.

Els quatre actes avaluatoris, P1, P2, P3 i P4, permeten aprovar per curs
sense necessitat de l'examen final si es compleixen les condicions següents:
1) L'acte P1 té una nota més gran o igual que 3
2) Els actes P2, P3 i P4 tenen nota més gran o igual que 4
3) Com a molt dos actes tenen nota més petita que 5
4) La mitjana ponderada segons la fórmula F és més gran o igual que 5:

F = 15%P1 + 15%P2 + 40%P3 + 30%P4

Els alumnes que no aprovin per curs han d'anar a l'examen final EF si
volen aprovar l'assignatura. La nota final queda com:
- si EF >= 5, llavors nota final = EF
- si EF < 5 i F >= 5, llavors nota final = màxim(EF, 4.5)
- si EF < 5 i F < 5, llavors nota final = màxim(EF, F)

Els alumnes que havent aprovat per curs, es presenten a l'examen final,
s'enten que renuncien a la nota F, és a dir, nota final = EF.

La nota NP queda reservada per a aquells alumnes que no es presenten a
cap acte avaluatori (tret possiblement de P1 i P2) ni a l'examen final.

En qualsevol cas, la participació de l'estudiant a classe pot ajudar a
arrodonir per adalt la nota final de les actes.

Bibliografía bàsica

  • Gamma, Helm, Johnson, Vlissides Design Patterns, Addison-Wesley , 1995.
  • Martin, Robert C. Agile Software Development. Principles, Patterns and Practices, Prentice Hall, 2003.
  • Larman, Craig Applying UML and Patterns, Prentice-Hall, 2005.
  • Fowler, Martin Patterns of Enterprise Application Architecture, Addison-Wesley, 2003.

Bibliografía complementària

  • Meyer, Bertrand Object-Oriented Software Construction, Prentice Hall, 1997.
  • Rumbaugh, James; Jacobson, Ivar; Booch, Grady The Unified Modeling Language Reference Manual (2a edició), Addison-Wesley, 2004.

Enllaços web

  1. Obrir nova finestra http://hillside.net/patterns/
    El principal seti web dels patrons de disseny.


  2. Obrir nova finestra http://www.omg.org/technology/uml/index.htm
    L'UML a l'OMG.


Capacitats prèvies

1) Saber què és una especificació (formal) en UML/OCL dels requisits funcionals i no funcionals d'un sistema.
2) Saber el context en què es pot fer el disseny d'un sistema i, en particular, quines són les activitats prèvies i següents.
3) Saber què és l'arquitectura del programari, i quins estils arquitectònics hi ha (l'arquitectura en capes -usada en el curs- és un d'ells).
4) Conèixer a fons la programació orientada a objectes i (almenys) un llenguatge de programació orientat a objectes.
5) Conèixer el model relacional de dades i les funcionalitats principals dels sistemes de gestió de bases de dades relacionals.

A la vista d'aquestes capacitats, es suggereixen com a prerequisits les assignatures següents:
- Enginyeria del software I
- Bases de dades
- Projecte de programació.



 
logo FIB © Facultat d'Informàtica de Barcelona - webmaster@fib.upc.edu - RSS RSS