Curs 2004-2005
Enginyeria en Informàtica
Enginyeria de Software II (12469)
Descripció
Aquesta assignatura és una continuació de la de tercer curs anomenada "Enginyeria de Software I". Es tracten diferents aspectes de l'Enginyeria del Software i es divideix en tres parts, cada una amb un enfocament diferent. La primera part tracta la gestió dels projectes, la segona es centra en les particularitats de les aplicacions web i aspectes avançats de bases de dades, mentre que a la tercera s'estudia l'enginyeria per al software distribuït.
Objectius
Que l'alumne entengui les eines i mètodes habituals de planificació i gestió i sigui capaç de fer la planificació d'un petit projecte. Que l'alumne comprengui les diferents formes d'implementar la persistència en el marc d'un mètode de desenvolupament orientat a objectes. Que l'alumne sigui capaç de desenvolupar solucions distribuïdes.
Temari
Part 1: Gestió de projectes (un terç de l'assignatura)
Gestió de projectes multimedia
Fase de Definició:
- La proposta
- La planificació
Fase d'Anàlisi:
- Solució de negoci
- Arquitectura de la informació: HCI i disseny
- Arquitectura tecnològica
Fase de disseny
Fase d'implementació i proves
Fases d'Explotació i manteniment
Metodologia d'assegurament de la Qualitat
Llançament i execució del projecte
Part 2: Disseny de la persistència i aplicacions web (un terç de l'assignatura)
1. Disseny de la persistència
1.1. Mapping objecte/relacional
1.2. Mecanismes pel maneig de la persistència en Java
- Serialització
- JDBC
- EJB
- Frameworks de persistència
2. Aplicacions web
2.1. Model 2 (MVC per a la web)
2.2. Frameworks MVC
3. Altres temes relacionats amb persistència:
3.1. Optimització de BDR
3.2. Altres paradigmes de BD
- OO
- XML
- Dades espacials
Part 3: Enginyeria del software distribuït (un terç de l'assignatura)
Arquitectures i models distribuïts
Disseny orientat a la disponibilitat
Models d'escabilitat
Desenvolupament basat en components distribuïts
Gestió i administració de sistemes distribuïts
Organització
Pràctiques
La part pràctica s'avalua per separat a les tres parts de l'assignatura. A la part de gestió de projectes es fa el desenvolupament d'una proposta de projecte. A la segona part s'implementen exercicis sobre les diferents formes de maneig de persistència. A la part tercera s'implementa la solució distribuïda a un problema.
Mètode d'avaluació
Pràctiques: 50% de la nota final Cadascun dels tres blocs té les seves pròpies pràctiques (en grup), d'obligatori lliurament. Una nota per cada pràctica, la final és la mitjana de les 3 amb un mínim de 5,0 per cada pràctica Examen teòric: 50% de la nota final Un únic examen final de tots els blocs. Una nota de 5,0 per aprovar Cal aprovar teoria i pràctica per superar l'assignatura Es guarda la nota de les pràctiques aprovades i/o de la teoria fins al setembre
Bibliografia bàsica
G. COULOURIS, J. DOLLIMORE, T. KINDBERG: Distributed Systems, Concepts and Design. Addisson Wesley.
José Francisco Gómez García, Adriano J. Coronel Granado, Luís Martínez de Irujo García, Antonio Llorente Simón: Gestión de proyectos. Fundación Confemetal, Madrid, 2000HARRISON, Guy: Oracle SQL high-performance tuning. Prentice Hall PTR, Upper Saddle River, N.J., 2001
Bibliografia complementària
Gestió de Projectes
BROOKS, Frederick P: The Mythical man-month: essays of software engineering. Reading: Addison-Wesley, cop. 1995
DONALSON, Scott E.: Succesful software development. Upper Saddle River: Prentice Hall PTR, 2000
GÓMEZ GARCÍA, J.F.: Gestión de proyectos. Fundación Confemetal, Madrid, 2000
RODA GARCÍA, J. L.: Introducción a la ingeniería del software. Gobierno de Canarias. Cosejería de Educación, Cultura y Deportes. Dirección General de Universidades e Investigación. Canarias, 2001
SCHACH, Stephen R.: Software engineering. Irwin, cop., Boston, 1993
STRAUSS, Roy: Managing multimedia projects. Focal Press, cop., Boston, 1997
Enginyeria del software general ( i ES orientada o objectes)
ANTON I SOLÀ, M. D.: Enginyeria del programari II. Univeristat Oberta de Catalunya, Barcelona, 2002
CAMPDERRICH, B.: Enginyeria del programari I. Univeristat Oberta de Catalunya, Barcelona, DL 2000
CAMPDERRICH, B.: Enginyeria del programari III. Universitat Oberta de Catalunya, Barcelona, 2001
PRESSMAN, Roger, S: Ingeniería del software: un enfoque práctico. McGraw-Hill, cop, Madrid, 2001
SOMMERVILLE, Ian: Ingeniería de software. Addison-Wesley Iberoamericana, cop, México 2002
UML i RUP
BOOCH, Grady: El Lenguaje unificado de modelado: manual de referencia. Addison-Wesley, cop, Madrid, 2000
COCKBURN, Alistair: Writing effective use cases. Addison-Wesley, cop., Boston, 2001
FOWLER, Martin: UML distilled: a brief guide to the standard object modeling language. Addison-Wesley, cop., 2000
JACOBSON, Ivar: El Proceso unificado de desarrollo de software. Addison-Wesley, cop., Madrid, 2000
KRUCHTEN, Philippe: The Rational unified process. Addison-Wesley, cop., 2000
LOPEZ, Nathalie: Integrar UML en los proyectos. París: Eyrolles:Barcelona:Gestión 2000,1998ROSENBERG, D.: Applying use case driven object modeling with UML: an annotated e-commerce example. Addison-Wesley, cop., Boston, 2001
ROSENBERG, D.: Use case driven object modeling with UML: a practical approach. Addison-Wesley, cop. Boston, 1999
Aplicacions web
ARRINGTON, C.T.: Enterprise JAVA with UML. John Wiley & Sons, cop, New York, 2001
CERAMI, Ethan: Web services essentials (Recurs electrònic). O'Reilly, Beijing, 2002
CHAPPELL, David A.: Java web services: (using Java in service-oriented architectures). O'Relly, cop., Beijing, 2002
CONALLEN, Jim: Building Web applications with UML (Recurs electrònic). Addison-Wesley, cop., Boston, 2000
SNELL, James: Programming web services with SOAP (Recurs electrònics). O'Relly, cop., Sebastopol, 2002
Bases de dades
La Biblia de Oracle 8. Anaya Multimedia, DL, Madrid, 1998
Introducción a los sistemas de bases de datos. C.J. Date; traducción: Sergio Luis María Ruiz. Faudón: revisión técnica: Felipe López Gamino. Pearson Educación, Mèxic, 2001
ELMASRI, Ramez: Fundamentos de sistemas de bases de datos. Addison Wesley, cop., Madrid, 2002
HARRISON, Guy: Oracle SQL high-performance tuning. Prentice Hall PTR, Upper Saddle River, N.J., 2001
KORTH, HENRY F.: Fundamentos de bases de datos. McGraw-Hill, cop., Madrid, 1993
Patrons
COOPER, James W.: Java Design Patterns (Recurs electrònic). Addison Wesley, 2000
Design patterns elements of reusable object-oriented software. Reading: Addison-Wesley, 1995
FOWLER, Martin: Analysis patterns: reusable object models. Reading: Addison-Wesley, cop., 1997
LARMAN, Craig: Applying UML and patterns: an introduccion to object-oriented analysis and design. Upper Saddle River, N.J., Prentice Hall PTR, cop., 2001
METSKER, Steven John: Design patterns Java workbook. Addison Wesley, cop., Boston, 2002
Mètodes àgils i Programació extrema
BECK, Kent: Extreme Programming Explained (Recurs electrònics). Reading: Addison Wesley, 1999
BECK, Kent: Planning extreme programming (Recurs electrònics). Reading, MA, Addison Wesley, 2000
COCKBURN, Alistair: Agile software development. Addison Wesley, corp., Boston, 2002