Enginyeria del Software I ( ES1 )
| Crèdits: |
Departament: |
Tipus: |
Requisits: |
| 7.5 |
LSI |
Obligatòria per l'EI
Obligatòria per l'ETIG
Optativa per l'ETIS
|
|
PRED
- Pre-requisit per l' EI , ETIG
|
|
|
PS
- Pre-requisit per l' ETIS
|
|
|
Professors
| Responsable: | Ernest Teniente Lopez (teniente lsi.upc.edu). |
| Altres: | M. Dolors Costal Costa (dolors lsi.upc.edu) M. Ribera Sancho Samso (ribera lsi.upc.edu). |
Objectius Generals
L'objectiu principal de l'assignatura és el d'aprendre a especificar un sistema d'informació amb orientació a objectes i una notació concreta. També es pretén que l'alumne conegui les metodologies més actuals de desenvolupament de software, el concepte de prova del software a nivell d'especificació i sàpiga distingir els patrons arquitectònics més importants.
Objectius Específics
Coneixements
- Tenir una visió general del procés de l'enginyeria del programari.
- Conèixer les propietats desitjables de l'especificació.
- Conèixer els elements de l'UML i d'OCL propis de l'especificació.
- Conèixer les metodologies més importants de desenvolupament de programari.
- Conèixer els conceptes bàsics de les proves en l'especificació.
- Conèixer les propietats de l'arquitectura del programari i alguns patrons de disseny arquitectònic.
Habilitats
- Saber distingir les diverses etapes que composen tot procés d'enginyeria del programari.
- Saber relacionar els requisits amb parts de l'especificació.
- Saber especificar un sistema d'informació amb orientació a objectes, en els llenguatges UML i OCL, a partir dels seus requisits.
- Saber dissenyar les proves de l'especificació a realitzar per a un sistema concret.
Competències
(Informació no introduïda)
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ó a l'enginyeria del programari
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
0 |
0 |
0 |
4,0 |
0 |
6,0 |
|
|
2. Requisits del programari (funcionals i no funcionals)
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
0 |
0 |
0 |
8,0 |
0 |
10,0 |
|
|
3. Especificació amb UML
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 18,0 |
24,0 |
0 |
0 |
0 |
50,0 |
0 |
92,0 |
|
És la part més important del curs. Es descomposa en els temes següents:
3.1 - L'esquema conceptual de dades
3.2 - El llenguatge OCL (Object Constraint Language)
3.3 - El Model de Casos d'Ús
3.4 - El Model del Comportament
3.5 - El Model d'Estats
|
|
4. Metodologies de desenvolupament de programari
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
8,0 |
0 |
12,0 |
|
|
L'objectiu d'aquest tema és el d'explicar les metodologies més actuals per desenvolupar programari. És possible que aquestes vagin variant amb el temps, però d'entrada es preveu explicar el procés unificat, metodologies àgils i la programació extrema.
|
|
5. Disseny de proves en el context orientat a objectes
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
10,0 |
0 |
14,0 |
|
|
6. Introducció als patrons de disseny. Patrons de disseny arquitectònic.
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
0 |
0 |
0 |
0 |
0 |
0 |
2,0 |
|
| - Total per tipus |
T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 28,0 |
28,0 |
0 |
0 |
0 |
80,0 |
0 |
136,0 |
- Hores addicionals dedicades a l'avaluació:
|
8,0 |
- Total hores de treball per l'estudiant |
144,0 |
|
Metodologia docent
La docència de l'assignatura està estructurada en classes de teoria i classes de problemes.
A 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.
A 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.
Mètode d'avaluació
Avaluació continuada:
60% examen final + 30% problemes + 10% participació a classe.
Nota final = màxim (nota de l'examen final, nota d'avaluació continuada)
Per al cálcul de la nota de problemes, es farà com a mínim un control
en hores de classe; en funció de la marxa del curs, de la mida dels grups,
etc. podrà haver-hi més d'un control i/o recollides avaluables de
problemes.
Bibliografía bàsica
- C. Larman Applying UML and Patterns, Prentice-Hall, 2002.
- J.Rumbaugh, I.Jacobson, G.Booch The Unified Modeling Language Reference Manual, Addison-Wesley , 1999.
- F.Buschmann, R.Meunier, H.Rohnert, P.Sommerlad, M.Stal A System of Patterns. Pattern-oriented Software Architecture, John Wiley & Sons, 1996.
- R.S. Pressman Software Engineering. A Practitioner's Approach (5a edició), McGraw-Hill, 2000.
Bibliografía complementària
- Binder Testing Object-Oriented Systems. Models, Patterns and Tools, Addison-Wesley, 2000.
- Jacobson, Ivar; Booch, Grady; Rumbaugh, James The Unified Software Development Process, Addison-Wesley, 1999.
Enllaços web
-
http://www.omg.org/technology/uml/index.htm
L'UML a l'OMG (Object Management Group)
Capacitats prèvies
Els alumnes haurien de tenir coneixements suficients d'estructures de dades i algorismes i de programació quan comencen enginyeria del programari. Creiem que això s'aconsegueix a les assignatures d'Estructura de Dades i Algorismes (EDA) i Programació II.
|