Enginyeria en Informàtica (3371)
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)
Disseny de la persistència
- Mapping objecte/relacional
- Mecanismes pel maneig de la persistència en Java
- Serialització - JDBC - APIs XML - EJB - JDO i frameworks de persistència
Optimització de BDR
Altres paradigmes de BD
- OO
- XML
- Dades espacials
Particularitats de l’ES per a aplicacions web
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
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. Cada una de les tres parts té les seves pròpies pràctiques (en
grup), d’obligatori lliurament. Una nota per cada part, la final és la mitjana de les 3 amb
un mínim de 3,5 per part
Examen teòric: 50% de la nota final. Un examen final amb tres parts de 3 hores. Una nota per
cada part, la final és la mitjana de les 3 amb un mínim de 3,5 per part.
Cal aprovar teoria i pràctica per superar l’assignatura. Es guarda la nota fins al
setembre de les parts aprovades si no s’aprova l’assignatura completa
Bibliografia
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, 2000
HARRISON, 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,1998
ROSENBERG, 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