Tym razem książka napisana jak podręcznik. Co prawda napisana w 2005 roku, ale oparta jest na UML w wersji 2.0 więc “nie psuje” czytelnika ;). Książka zawiera w postaci bardzo dobrze uporządkowanej, opis całego procesu tworzenia oprogramowania metodami obiektowymi: od planowania do implementacji.
Wstęp zawiera bardzo pouczające porównanie i podsumowanie procesów wytwórczych: od klasycznego wodospadu do programowania ekstremalnego. Znajdziecie także uwagi na temat metod będących ich kombinacjami i, w różnych wariantach, chyba najczęściej stosowanych.
Omówiono: fazę inicjacji w tym planowanie i zarządzanie projektem developerskim. Fazę analizy w tym analizę wymagań, modelowanie funkcjonalności, struktury i zachowania. Fazę projektowania w tym przejście z analizy na projektowanie, projektowanie klas i ich metod, projektowanie warstwy danych, projektowanie komunikacji użytkownika z systemem (GUI), projektowanie architektury (szczególnie ma to znaczenia dla dużych systemów). Na końcu faza implementacji i wdrożenia.
Książka zawiera wiele bogato ilustrowanych przykładów. Co prawda autorzy powielają jeszcze coś, co w moim mniemaniu jest błędem, a mianowicie nie oddzielają (albo łączą) analizy pojęciowej od obiektowej na etapie analizy i projektowania struktury. Niestety model dziedziny systemu to nie model pojęciowy, łączenie ich w jeden to echa klasycznej analizy strukturalnej (diagramy ERD i modele relacyjnej).
Generalnie książkę polecam, mało jest tak dobrze napisanych kompendiów na ten temat. Co do różnicy pomiędzy analizą pojęciową i projektowaniem modelu dziedziny systemu, nie raz pisałem (patrz art. Cholerny diagram klas) ale leży już w kolejce do przeczytania Business Rules Concepts Ronalda Ross’a. To czwarta edycja tej pozycji (mam wszystkie ;)) i już po pobieżnym przejrzeniu widać ewolucje i stopniowe dorastanie dziecka Ronalda Ross’a jakim jest koncepcja reguł biznesowych i modeli pojęciowych jako narzędzia analizy i modelowania. Koncepcja doskonale pasuje do metod obiektowych analizy i projektowania, ale o tym innym razem.
Książkę polecam przede wszystkim analitykom do nauki ale także “wyżartym” programistom, by sobie uporządkowali zdobyte doświadczenie i możliwie łagodnie przechodzili od metod strukturalnych do obiektowych. Tu pewnie nowinka dla nich: bazy danych projektujemy na samym końcu, na etapie implementacji opracowanego kompletnego projektu obiektowego.