2005-2006

Enginyeria en Informàtica (3371)


Enginyeria del Software I (12460) 


Descripció

L'assignatura dona una visió general sobre les diferents teories i pràctiques que conformen la disciplina de l'Enginyeria de Software. Per això, partint del paradigma orientat a objectes com a nexe d'unió, s'estudia el concepte de cicle de vida i les seves parts i models, amb un énfasi especial en la fase de recollida de requeriments i la utilització de UML i de patrons software.

Objectius

L'alumne ha de:

- Entendre el significat i la utilitat de l’Enginyeria de Software com a disciplina a mig camí entre la Informàtica i l'Enginyeria tradicional.

- Entendre el concepte de Cicle de Vida, conèixer els models més habituals i els processos involucrats.

- Aprendre a realitzar una recollida de requeriments i elaborar un document de requeriments complert i estructurat.

- Entendre la aplicabilitat dels models incrementals i el eXtreme Programming.

- Entendre la utilitat del modelatge visual i assolir un coneixement complert d’UML com a exemple paradigmàtic del modelatge visual

- Aprofundir els seus coneixements en els conceptes de la programació Orientada a Objectes.

- Utilitzar els coneixements teòrics d'analisi i disseny per a resoldre casos pràctics.

- Entendre la utilitat dels patrons de software.

- Conèixer algun dels principals catàlegs de patrons i poder-los aplicar en situacions pràctiques.  

Temari

Part A. Teoria de l'Enginyeria del Software

A.1. Introducció

A.1.1. Què és l'enginyeria de software?

A.2. Enginyeria de Software

A.2.1. Models de cicle de vida
A.2.2. Iteració de procesos
A.2.3. Especificacions de software
A.2.4. Disseny i implementació
A.2.5. Validació
A.2.6. Evolució
A.2.7. Suport automàtic per l'ES

A.3. Especificació de requeriments

Part B. Anàlisi i Disseny OO

B.1. Modelatge Visual i UML

B.1.1. Modelatge Visual
B.1.2. Historia breu d'UML
B.1.3. Què és i qué no és l'UML
B.1.4. Vistes i diagrames UML B.1.4.1. Diagrama de Casos d'Us
B.1.4.2. Diagrama de Classes
B.1.4.3. Diagrama d'Objectes
B.1.4.4. Diagrama de Seqüència
B.1.4.5. Diagrama de Col·laboració
B.1.4.6. Diagrama d'Estats
B.1.4.7. Diagrama d'Activitat
B.1.4.8. Diagrama de Paquets
B.1.4.9. Diagrama de Components
B.1.4.10. Diagrama de Distribució

B.2. Anàlisi i Disseny Orientat a Objectes

B.2.1. Concepte d'Objecte i Classe
B.2.2. Encapsulament
B.2.3. Relacions: associació, agregació, composició…
B.2.4. Jerarquies de Generalització/Especialització
B.2.5. Altres conceptes importants de les relacions d'herència: Herència múltiple, delegació, polimorfisme…
B.2.6. Classes paramètriques

B.3. Els patrons software

B.3.1. El concepte de patró
B.3.2. Classificacions i documentació de patrons
B.3.3. Selecció i utilització de patrons
B.3.4. Catàleg de patrons GRASP
B.3.5. Catàleg de patrons GOF

Organització

Es tracta d'una assignatura de forta càrrega (9 crèdits). S'organitza segons el pla establert de 5 hores de teoria i 4 de pràctiques a la setmana. A la part de teoria es veuen en paral·lel ja des del primer dia dues parts. Una més teòrica i conceptual (la A) i una altra més pràctica (la B). D'aquesta manera es pretén que l'alumne pugui anar assolint els coneixements que també aplicarà a la part pràctica i a més que prengui la consideració de que aquesta assignatura, degut al seu volum, és en realitat equivalent a dues assignatures habituals. A la part de pràctiques es formen grups de 2-3 persones que treballen sobre un projecte d'anàlisi i disseny realista, començant per l'anàlisi de requeriments i acabant amb la implementació i la aplicació de patrons de disseny adients.  

Pràctiques

1. Utilització d'eines CASE bàsiques.
2. De l'especificació de requeriments a la implementació

Mètode d'avaluació

La part de teoria equival a un 65% del total i les pràctiques a un 35%. Dins de la teoria, hi ha tres parts diferenciades. A l'examen hi ha un test que conta un 35% i un problema que conta un 65%. Qualsevol de les dues parts ha de ser superior a 4 perque es pugui fer mitja tot i que es guarden les parts aprovades per a la convocatòria de setembre. A més es dona la possibilitat opcional d'escriure un article sobre un dels temes de l'assignatura. Aquest article pot arribar a pujar 1,5 punts la nota de la teòrica. A la pràctica, l'avaluació es fa a partir d'un seguiment continu i un procés d'entregues al llarg de tot el trimestre.  

Bibliografia

Bibliografia bàsica

SOMMERVILLE, IAN: Software engineering; 6th ed.; Harlow Addison-Wesley 2000

MEYER, BERTRAND: Construcción de software orientado a objetos. Traducción: Miguel Katrib Mora, Rafael García Bermejo, Salvador Sánchez revisión técnica: Jesús García Molina 2ª ed.Madrid [etc.] Prentice Hall 1998

FOWLER, MARTIN: UML distilled a brief guide to the standard object modeling language 2nd ed. Reading (Mass.) Addison-Wesley cop. 2000

Bibliografia complementària

PRESSMAN, ROGER S.: Ingeniería de Software, Un enfoque práctico. 5ª edición. Mc.Graw Hill. 2001

COSTAL, DOLORS: Enginyeria del software especificació especificació de sitemes orientats a objectes amb la notació UML ; EDICIÓ 1a ed. Barcelona Edicions UPC 2000

PERALTA GIMÉNEZ, ALLEN J.: Enginyeria del software programació orientada a objectes Allen Barcelona Edicions UPC 1994

SCHACH, STEPHEN R.: Software engineering; 2nd ed. Boston Irwin cop. 1993

JOYANES AGUILAR, LUIS: Programación orientada a objetos; 2ª ed. Madrid Osborne/McGraw-Hill cop. 1998

LIËNS, ANTON: Principles of object-oriented software development; Workingham Addison-Wesley 1995

LARMAN, CRAIG: Applying UML and patterns an introduction to object-oriented analysis and design; Upper Saddle River, N.J. Prentice Hall PTR cop. 1998 Design patterns elements of reusable object-oriented software Erich Gamma ... [et al.] ;Reading, MA [etc.] Addison-Wesley cop. 1995 STROUSTRUP, BJARNE: The C++ programming language; 3rd ed. Reading (Mass.) Addison-Wesley cop. 1997

SHTERN, VICTOR: Core C++ a software engineering approach Victor Shtern; Upper Saddle River Prentice Hall PTR cop. 2000

Observacions

L'assignatura està recomanada també per a alumnes de la carrera tècnica que hagin de realitzar el seu projecte final de carrera.

Darrera actualització 24-11-2010
© Universitat Pompeu Fabra, Barcelona