Zaawansowane projektowanie obiektowe: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
|||
Linia 40: | Linia 40: | ||
=== Moduły === | === Moduły === | ||
# Wprowadzenie do przedmiotu [Wykład | # Wprowadzenie do przedmiotu [Wykład [[media:zpo-1-wyk.pdf|PDF]] | [[zpo-1-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-1-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2001%20-%20output/quizmaker.html SWF]], [Lab [[zpo-1-lab|wiki]]] | ||
# Przykład biblioteki obiektowej - Java Collections [Wykład [[media:zpo-2-wyk. | # Przykład biblioteki obiektowej - Java Collections [Wykład [[media:zpo-2-wyk.pdf|PDF]] | [[zpo-2-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-2-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2002%20-%20output/quizmaker.html SWF]], [Lab [[zpo-2-lab|wiki]]] | ||
# Testowanie jednostkowe [Wykład | # Testowanie jednostkowe [Wykład [[media:zpo-3-wyk.pdf|PDF]] | [[zpo-3-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-3-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2003%20-%20output/quizmaker.html SWF]], [Lab [[zpo-3-lab|wiki]]] | ||
# Metryki obiektowe [Wykład | # Metryki obiektowe [Wykład [[media:zpo-4-wyk.pdf|PDF]] | [[zpo-4-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-4-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2004%20-%20output/quizmaker.html SWF]], [Lab [[media:zpo-4-lab.doc|DOC]] | [[zpo-4-lab|wiki]]] | ||
# Wprowadzenie do refaktoryzacji [Wykład | # Wprowadzenie do refaktoryzacji [Wykład [[media:zpo-5-wyk.pdf|PDF]] | [[zpo-5-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-5-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2005%20-%20output/quizmaker.html SWF]], [Lab [[zpo-5-lab|wiki]]] | ||
# Katalog przekształceń refaktoryzacyjnych cz. I [Wykład | # Katalog przekształceń refaktoryzacyjnych cz. I [Wykład [[media:zpo-6-wyk.pdf|PDF]] | [[zpo-6-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-6-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2006%20-%20output/quizmaker.html SWF]], [Lab [[zpo-6-lab|wiki]]] | ||
# Katalog przekształceń refaktoryzacyjnych cz. II [Wykład | # Katalog przekształceń refaktoryzacyjnych cz. II [Wykład [[media:zpo-7-wyk.pdf|PDF]] | [[zpo-7-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-7-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2007%20-%20output/quizmaker.html SWF]], [Lab [[zpo-7-lab|wiki]]] | ||
# Katalog przekształceń refaktoryzacyjnych cz. III [Wykład | # Katalog przekształceń refaktoryzacyjnych cz. III [Wykład [[media:zpo-8-wyk.pdf|PDF]] | [[zpo-8-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-8-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2008%20-%20output/quizmaker.html SWF]], [Lab [[zpo-8-lab|wiki]]] | ||
# Wzorce projektowe, cz. I [Wykład | # Wzorce projektowe, cz. I [Wykład [[media:zpo-9-wyk.pdf|PDF]] | [[zpo-9-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-9-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2009%20-%20output/quizmaker.html SWF]], [Lab [[zpo-9-lab|wiki]]] | ||
# Wzorce projektowe, cz. II [Wykład | # Wzorce projektowe, cz. II [Wykład [[media:zpo-10-wyk.pdf|PDF]] | [[zpo-10-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-10-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2010%20-%20output/quizmaker.html SWF]], [Lab [[zpo-10-lab|wiki]]] | ||
# Wzorce projektowe, cz. III [Wykład | # Wzorce projektowe, cz. III [Wykład [[media:zpo-11-wyk.pdf|PDF]] | [[zpo-11-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-11-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2011%20-%20output/quizmaker.html SWF]], [Lab [[zpo-11-lab|wiki]]] | ||
# Programowanie aspektowe [Wykład | # Programowanie aspektowe [Wykład [[media:zpo-12-wyk.pdf|PDF]] | [[zpo-12-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-12-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2012%20-%20output/quizmaker.html SWF]], [Lab [[zpo-12-lab|wiki]]] | ||
# Programowanie komponentowe [Wykład | # Programowanie komponentowe [Wykład [[media:zpo-13-wyk.pdf|PDF]] | [[zpo-13-wyk-toc|wiki]] | [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/zpo-13-wyk/player.html SWF]], [Test [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zpo/qm/ZPO%2013%20-%20output/quizmaker.html SWF]], [Lab [[zpo-13-lab|wiki]]] | ||
=== Literatura === | === Literatura === |
Wersja z 09:09, 21 sie 2006
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.