Disseny de Sistemes Basats en la Web ( DSBW )
| Crèdits: |
Departament: |
Tipus: |
Requisits: |
| 7.5 |
LSI |
Optativa per l'EI
Optativa per l'ETIG
|
|
ES2
- Pre-requisit per l' EI , ETIG
|
|
|
Professors
| Responsable: | Carles Farre Tost (farre lsi.upc.edu). |
| Altres: | (Informació no introduïda) |
Objectius Generals
Estendre i integrar els coneixements adquirits en assignatures anteriors d'enginyeria del programari per a dissenyar aplicacions distribuïdes i basades en la web amb orientació a objectes, aplicant patrons de disseny i usant com a notació el llenguatge UML.
Objectius Específics
Coneixements
- Conèixer les tecnologies Web necessàries per al desenvolupament d'aplicacions Web.
- Conèixer els principals models/patrons de negoci per sistemes basats en el Web
- Conèixer la metodologia de desenvolupament de les aplicacions Web.
- Conèixer els elements d'UML específics per al disseny d'aplicacions Web.
- Conèixer els patrons de disseny per al disseny d'aplicacions Web
- Conèixer XML i les seves aplicacions en el desenvolupament web
Habilitats
- Saber identificar i aplicar els patrons de negoci més adients per perfilar una solució global a les necessitats d'una organització en l'entorn web.
- Saber aplicar i integrar els coneixements adquirits en les assignatures d'Enginyeria del Programari, adaptant-los si cal a les especificitats del desenvolupament web.
- Saber construir els diferents models UML necessaris per documentar el desenvolupament de les aplicacions web.
- Saber identificar els patrons que es poden aplicar en un disseny web, i aplicar-los correctament.
- Saber desplegar i configurar aplicacions web, tenint en compte els factors que poden afectar el rendiment i la disponibilitat.
- Saber identificar els principals riscos de seguretat de les aplicacions web i les estratègies per solucionar-los.
Competències
- 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.
- Capacitat per argumentar lògicament les decisions preses, la feina feta o un punt de vista. Capacitat per donar opinions, raonaments i justificacions fonamentades per tal de convèncer.
- Capacitat per prendre decisions en presència d'incertesa o de requisits contradictoris
- Capacitat per estudiar de diverses fonts, identificant quan la informació rebuda a classe no és suficient i cercant informació complementària.
- Capacitat d'aprendre autònomament.
- Capacitat per treballar efectivament en grups petits de persones per a la resolució d'un problema de dificultat mitjana.
- Capacitat per presentar per escrit, de forma clara i correcta, els resultats de la pròpia feina (a nivell de documentar un lliurament de pràctiques).
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. Introducció
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
2. Tecnologies web
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
8,0 |
0 |
16,0 |
|
|
Repàs i estudi de les tecnologies utilitzades per al desenvolupament d'aplicacions web
|
|
3. Models de negoci per a sistemes basats en el web
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Estudi les diferents tipus d'aplicacions que es poden desenvolupar en el web per donar suport a les activitats de les organitzación. Classificació i descripció d'aquestes aplicacion usant patrons de models de negoci.
|
|
4. Metodologia per al desenvolupament d'aplicacions web.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
Repàs dels conceptes fonamentals sobre el cicle de vida del desenvolupament del software, fent especial ènfasi en les particularitats del l'entorn web.
|
|
5. Anàlisi de requisits d'aplicacions web. Especificació i disseny del model d'interacció amb UML.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
6. Disseny: arquitectura física i lògica d'una aplicació web.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
7. Disseny: notació UML per al disseny web.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
4,0 |
0 |
8,0 |
|
|
8. Disseny: patrons per al disseny d'aplicacions web
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 8,0 |
12,0 |
0 |
0 |
0 |
20,0 |
0 |
40,0 |
|
|
9. Implementació, desplegament i configuració d'aplicacions web. Tècniques de prova i millora del rendiment
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 0 |
0 |
10,0 |
0 |
10,0 |
0 |
0 |
20,0 |
|
|
10. Seguretat de les aplicacions web
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
2,0 |
0 |
2,0 |
2,0 |
0 |
8,0 |
|
|
11. XML i serveis web
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
2,0 |
0 |
2,0 |
2,0 |
0 |
8,0 |
|
| - Total per tipus |
T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 28,0 |
28,0 |
14,0 |
0 |
14,0 |
56,0 |
0 |
140,0 |
- Hores addicionals dedicades a l'avaluació:
|
3,0 |
- Total hores de treball per l'estudiant |
143,0 |
|
Metodologia docent
Classes de Teoria: 2 hores setmana.
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 tan essencials) 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.
Classes de Problemes: 2 hores setmana.
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.
Classes de Laboratori: 2 hores cada quinze dies.
Després d'una breu introducció per motivar les tasques a realitzar, els estudiants hauran de fer diverses tasques amb l'ordinador (instal·lar, configurar, implementar, provar, monitoritzar, etc.), d'acord amb un pla de treball preestablert i una llista d'objectius, l'assoliment total o parcial dels quals determinarà l'avaluació d'aquella sessió de laboratori.
Mètode d'avaluació
L'avaluació de l'assignatura consta de 3 parts:
1. Participació en sessions de laboratori (20%). Durant el curs, l'estudiant ha de participar en un mínim de 4 sessions de laboratori. En cada sessió, l'alumne que hi participi obtindrà una nota en funció del grau d'acompliment dels objectius preestablerts.
2. Entrega d'exercicis (20%). Durant el curs, l'estudiant ha de realitzar i presentar personalment un mínim de 6 exercicis, corresponents a sessions de problemes diferents. Es valorarà el nombre de problemes entregats i la qualitat de les solucions. Per als estudiants que no presentin aquest mínim d'exercicis,
o que no els aprovin en mitjana, aquesta part de l'avaluació s'acumularà
a la del examen final.
3. Examen final (60%).
Bibliografía bàsica
- CONALLEN, Jim Building Web Aplications wiht UML, 2on Edition, Addison-Wesley, 2002.
- CERI, Stefano et al. Designing Data-Intensive Web Applications, Morgan Kaufmann, 2002.
- FOWLER, Martin Patterns of Enterprise Application Architecture, Addison Wesley, 2002.
- ALUR, Deepak et al. Core J2EE Patterns: Best Practices and Design Strategies, 2on Edition, Prentice Hall PTR, 2003.
Bibliografía complementària
- PRESSMAN, Roger Ingeniería del Software: Un enfoque práctico, McGraw Hill, 2001.
- ARRINGTON, CT Enterprise Java wiht UML, John Wiley & Sons, 2001.
Enllaços web
-
http://webml.org/
Lloc web dels autors del llibre "Designing Data-Intensive Web Applications"
-
http://www-106.ibm.com/developerworks/patterns/library/index.html
IBM: Patrons per al comerç electrònic
-
http://www.javapassion.com/j2eeadvanced/index0.html
Pàgina que conté una enorme quantitat d'enllaços útils per al desenvolupament d'aplicacions web amb J2EE
-
http://java.sun.com/blueprints/enterprise/
Lloc web de SUN amb guies, patrons i codi d'exemple per al desenvolupament d'aplicacions J2EE
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 és un d'ells).
4) Conèixer els principis del disseny orientat a objectes.
5) Conèixer el concepte de patrons de disseny i els patrons de disseny principals.
6) Conèixer els elements de l'UML específics del disseny.
7) Conèixer les característiques principals de les plataformes de components distribuïts.
A la vista d'aquestes capacitats, es suggereixen com a prerequisits l'assignatura següent: Enginyeria del Programari II (RPE-ES2 / EP2)
|