W teorii nie ma różnicy pomiędzy teorią i praktyką. W praktyce - jest

12-06-2011, 23:22

...takim cytatem Craig Larman zaczyna jeden z rozdziałów swojej książki „UML i wzorce projektowe”. Czy istnieje możliwość stworzenia aplikacji, która w praktyce działałaby tak samo dobrze, jak w teorii?

Craig Larman jest naczelnym naukowcem w firmie konsultingowej Valtech, działającej w Stanach Zjednoczonych, Europie i Azji, a pełny tytuł jego książki brzmi „UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji”. Wystarczy go przeczytać, a stanie się jasne, że to NIE jest podręcznik dla początkujących programistów. Jeżeli myślisz, że nauczysz się z jego pomocą rysowania diagramów UML (ang. Unified Modeling Language), jesteś w błędzie. Książka roi się od przykładów, ale podstaw w niej nie znajdziesz. Autor podpowiada zresztą, gdzie ich szukać – większość rozdziałów kończy się zestawieniem polecanych materiałów, zarówno drukowanych, jak i dostępnych w internecie.

„UML to tylko standardowa notacja schematyczna – linie, prostokąty, nic więcej. Modelowanie graficzne z użyciem uzgodnionej notacji może być wielkim wsparciem, jednak jego znaczenia nie da się porównać z wagą wiedzy na temat projektowania i myślenia obiektowego” – tłumaczy Larman, dodając, że osoba nieposiadająca takiej wiedzy prawdopodobnie wykorzysta UML do tworzenia złych projektów. Omawiana książka ma pomóc w zdobyciu podstawowych umiejętności związanych z OOA/D (ang. Object-Oriented Analysis and Design), czyli analizą i projektowaniem obiektowym. Pojawiające się w niej diagramy UML służą lepszemu zrozumieniu przedstawianych problemów i ich rozwiązań.

Warto zauważyć, że większość zamieszczonych w książce diagramów odnosi się do rzeczywistych projektów: komputerowego systemu sprzedaży NextGen i elektronicznej wersji gry Monopoly. Obok diagramów narysowanych – dla zwiększenia czytelności – z wykorzystaniem narzędzi autor umieścił także cyfrowe zdjęcia autentycznych szkiców UML.

Chociaż według Larmana książka nie jest przeznaczona dla zaawansowanych czytelników, nie powinny po nią sięgać osoby, które nie programowały dotąd w żadnym języku obiektowym. Uprzywilejowani mogą się czuć zwolennicy Javy, prezentowane w publikacji przykładowe fragmenty kodu zostały bowiem napisane z wykorzystaniem tego języka. Autor zapewnia jednak, że opisane przez niego idee mają zastosowanie w większości technologii obiektowych, m.in. w C#, Pythonie itp.

Chcąc przedstawić najlepsze przykłady zastosowania OAA/D, Larman wybrał iteracyjny (przyrostowy) model wytwarzania oprogramowania, omawiany w opozycji do kaskadowego, który zakłada przeprowadzenie pełnej analizy wymagań i stworzenie kompletnego projektu przed przystąpieniem do pisania kodu. Według autora zdecydowanie lepszym podejściem jest programowanie aplikacji przebiegające w krótkich, powtarzających się cyklach (obejmujących za każdym razem analizę wymagań, projektowanie, implementację oraz testy).

Nikt jednak nie każe zaczynać nam od zera. Istnieją wzorce projektowe opisujące sprawdzone rozwiązania stosowane przez doświadczonych programistów – ich przyswojenie przekłada się na szybsze osiągnięcie biegłości w projektowaniu obiektowym. Autor uwzględnił w swojej książce wzorce GoF i GRASP, pokazując, jak przejść od artefaktów projektowych do kodu w języku Java. W dalszych rozdziałach tej ponad 700-stronicowej publikacji znajdziemy też zasady projektowania architektur warstwowych oraz szkieletów (frameworków).

Komu więc można polecić tę książkę? Raczej nie studentom, tylko praktykującym programistom, którzy szukają sposobu na to, by więcej ich projektów kończyło się sukcesem. A jeżeli studentom, to takim, którzy nauczyli się już programować w jakimś języku obiektowym, nie spali na inżynierii oprogramowania, więc umieją rysować diagramy UML, a teraz przymierzają się do tworzenia aplikacji w ramach pracy dyplomowej.

UML i wzorce projektoweUML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji

(tytuł oryginału: Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development)

Autor: Craig Larman
Tłumaczenie: Justyna Walkowska

Data wydania: 03/2011
Stron: 754
ISBN: 978-83-246-2874-2
Format: 172x245
Oprawa: twarda


Następny artykuł » zamknij

P2P blokowane w Malezji

Źródło: DI24.pl
  
znajdź w serwisie

RSS - Wywiad
Wywiad  
RSS - Interwencje
RSS - Porady
Porady  
RSS - Listy
Listy