Zaawansowane projektowanie obiektowe
Z Studia Informatyczne
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
Opis
Celem wykładu jest przedstawienie zadań i metod projektowania obiektowego. Pierwszy obszar wiedzy dotyczy wzorców projektowych, ich genezy, zastosowań oraz przykładów wykorzystania. Drugi obszar dotyczy refaktoryzacji oprogramowania, pozwalającej efektywnie wspomagać procesy pielęgnacji kodu źródłowego. Ponadto wykład obejmuje zagadnienia metryk obiektowych, testowania obiektowego oraz programowania aspektowego.
Sylabus
Autor
- Bartosz Walter
Wymagania wstępne
- Programowanie obiektowe
- Inżynieria oprogramowania
Zawartość
- Wprowadzenie do obiektowości
- mechanizmy obiektowe
- odpowiedzialność obiektów
- kryteria oceny jakości
- Przykład biblioteki obiektowej - Java Collections
- Testowanie jednostkowe
- JUnit 4.x
- TestNG
- Obiekty zastępcze
- Metryki obiektowe
- McCabe
- Chidamber&Kemerer
- MOOD (e Abreu)
- R. Martin
- Wzorce projektowe (3 wykłady)
- Refaktoryzacja oprogramowania (4 wykłady)
- wprowadzenie,
- bad code smells,
- katalog Fowlera
- Programowanie aspektowe
- AspectJ
- Programowanie komponentowe
- Rozwiązywanie zależności
- Dependency Injection
Moduły
- Wprowadzenie do przedmiotu [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Przykład biblioteki obiektowej - Java Collections [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Testowanie jednostkowe [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Metryki obiektowe [Wykład PDF | wiki | SWF], [Test SWF], [Lab DOC | wiki]
- Wprowadzenie do refaktoryzacji [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Katalog przekształceń refaktoryzacyjnych cz. I [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Katalog przekształceń refaktoryzacyjnych cz. II [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Katalog przekształceń refaktoryzacyjnych cz. III [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Wzorce projektowe, cz. I [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Wzorce projektowe, cz. II [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Wzorce projektowe, cz. III [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Programowanie aspektowe [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
- Programowanie komponentowe [Wykład PDF | wiki | SWF], [Test SWF], [Lab wiki]
Literatura
- E. Gamma i in.: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, WNT, 2005
- B . Eckel: Thinking in Java, Helion, 2003
- M. Fowler: Refaktoryzacja. Ulepszanie struktury istniejącego kodu. WNT, 2006
- B. Henderson-Sellers: Object-oriented metrics. Measures of complexity. Prentice Hall, 1995.