Zaawansowane projektowanie obiektowe

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

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

  1. Wprowadzenie do przedmiotu [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  2. Przykład biblioteki obiektowej - Java Collections [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  3. Testowanie jednostkowe [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  4. Metryki obiektowe [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab DOC | wiki]
  5. Wprowadzenie do refaktoryzacji [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  6. Katalog przekształceń refaktoryzacyjnych cz. I [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  7. Katalog przekształceń refaktoryzacyjnych cz. II [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  8. Katalog przekształceń refaktoryzacyjnych cz. III [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  9. Wzorce projektowe, cz. I [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  10. Wzorce projektowe, cz. II [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  11. Wzorce projektowe, cz. III [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  12. Programowanie aspektowe [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]
  13. Programowanie komponentowe [Wykład PPT | PDF | wiki | SWF], [Test TXT | SWF], [Lab wiki]


Literatura

  1. E. Gamma i in.: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, WNT, 2005
  2. B . Eckel: Thinking in Java, Helion, 2003
  3. M. Fowler: Refaktoryzacja. Ulepszanie struktury istniejącego kodu. WNT, 2006
  4. B. Henderson-Sellers: Object-oriented metrics. Measures of complexity. Prentice Hall, 1995.