1. Introducció a l'enginyeria del software orientada a objectes.
1.1. El software.
1.2. L'enginyeria del software.
1.3. Models de desenvolupament del software.
1.4. Metodes de desenvolupament del software
1.5. L'orientació a objectes.
1.6. El Llengutage Unificat de Modelat (UML).
1.7. UML i el procés de desenvolupament del software.
2. El llenguatge unificat de modelatge (UML)
2.1. Casos d'ús.
2.1.1. Diagrames de casos d'ús.
2.1.2. Especificació de casos d'ús.
2.2. Diagrames d'activitat.
2.3. Diagrames de classes.
2.3.1. Classe: atributs, operacions. Classe abstracta.
2.3.2. Generalització/Especialització.
2.3.3. Associacions. Multiplicitat.
2.3.4. Agregació, composició.
2.3.5. Classe associació. Associació qualificada.
2.3.6. Dependències. Restriccions. Estereotips. Interfícies.
2.3.7. Dels diagrames de classes al codi Java.
2.3.8. Classes d'anàlisi: frontera, control i entitat.
2.4. Diagrames d'objectes.
2.5. Paquets.
2.6. Diagrames d'interacció.
2.6.1. Diagrames de col·laboració.
2.6.2. Diagrames de seqüència.
2.6.3. Multiobjectes.
2.7. Diagrames d'estat.
2.8. Diagrames de components i de desplegament.
3. Definició de Requeriments, Anàlisi i Disseny orientats a objectes.
3.1. Requeriments: modelat casos d'ús, prototipatge interfícies usuari.
3.2. Anàlisi: modelat del domini, anàlisi del comportament.
3.3. Disseny: modelat de la interacció.
3.4. Visió global: desenvolupament iteratiu i incremental.
3.5. Patrons de disseny. Patrons GRASP.
4. El disseny de la persistència.
4.1. Mapejat d’un diagrama de classes al model Relacional.
4.2. La gestió de les dades.
5. Proves del software
5.1. Tipus de prova.
5.2. Casos de prova.
5.3. Pla de proves.
5.4. Proves del software orientat a objectes: provar una classe.
5.5. Proves de requeriments, dels models d'anàlisi i disseny, d'integració de subsistemes, del sistema.