Od modelu do aplikacji

Narzędzia do modelowania stają się niezbędnym elementem warsztatu programistycznego.

Narzędzia do modelowania stają się niezbędnym elementem warsztatu programistycznego.

Współczesne pakiety typu RAD to wygodne środowiska graficzne z mechanizmami automatycznego generowania dużych fragmentów kodu. Trzeba jednak pamiętać, że stosowanie bogatych w funkcje i łatwych w użyciu edytorów nie oznacza, iż od razu powstaną aplikacje lepsze i do tego w krótszym czasie. Konsekwencją bezkrytycznego korzystania z popularnych narzędzi RAD jest niechlujny sposób tworzenia aplikacji - "sklejania" wygenerowanych fragmentów kodu czy pisanie metodą "kopiuj i wklej". Aby nie wpaść w pułapkę, konieczne jest precyzyjne modelowanie aplikacji. Dzięki specjalistycznym narzędziom wiadomo, które fragmenty aplikacji można wygenerować automatycznie, jak zakodować poszczególne interfejsy itd. Narzędzia te dają pewność, że szkielet i struktura aplikacji są zgodne z projektem. Wiele środowisk RAD zawiera narzędzia do modelowania.

Modele Borlanda

W przypadku Delphi 7 Studio dostępne są nawet dwa narzędzia: ModelMaker i Bold For Delphi.

ModelMaker jest pakietem CASE/UML, ściśle związanym z językiem Object Pascal. Projektant może albo zmieniać kod w Delphi, albo edytować model. Narzędzie "pamięta" relacje między elementami diagramu a kodem (nie ma znaczenia, w którym miejscu zmienia się nazwę klasy lub metody). Możliwe są oczywiście bardziej wyrafinowane operacje, np. zmiana relacji pomiędzy poszczególnymi klasami czy wręcz zmiana sposobu agregacji klas składowych.

ModelMaker udostępnia specjalne API, które można wykorzystać do rozszerzenia IDE. Programista może skorzystać z gotowych wzorców projektowych, dostosowanych specjalnie do Delphi. Może także definiować własne modele, które następnie staną się nowymi wzorcami dla innych aplikacji. Ponadto ModelMaker jest bardzo wygodnym narzędziem do tworzenia dokumentacji.

Program Bold jest w zasadzie tzw. środowiskiem MDA (Model Driven Architecture), w którym to model wymusza określony rozwój aplikacji. Nadzoruje by to, co powstało w Delphi, było zgodne z modelem UML (dużą część modelu program tworzy samodzielnie).

Wiele narzędzi CASE generuje szkielet systemu. Bold potrafi w dużym stopniu wygenerować gotowe fragmenty aplikacji. Ponadto sprawdza poprawność danego komponentu czy formatki i zgodność z wzorcowym modelem UML. Ułatwia np. definiowanie klas dostępu do danych, optymalizuje sposób przepływu informacji między poszczególnymi warstwami programu. Bold pozwala także na definiowanie więzów w języku OCL (Object Constraint Language), który określa wymagania wynikające z logiki biznesowej na poziomie modelu (co powoduje wygenerowanie odpowiedniego kodu).

Po przetworzeniu modelu UML w Bold można: wygenerować schemat bazy danych, kod poszczególnych wersji aplikacji, określić zasady tworzenia serii obiektów wewnątrz programu. Kod stworzony przez Bold może być uaktualniony w momencie, gdy schemat klas UML się zmienił.

Firma BoldSoft opracowuje narzędzie ModelRun - dodatek do pakietu Bold, który będzie pozwalał uruchomić model UML.

Visio - oryginał i klon

W pakiecie Visual Studio .Net Enterprise Architect jest dostępna specjalna wersja narzędzia Visio 2002, z gotowymi elementami do tworzenia schematów UML i ORM (Object Role Modeling - odmiennego sposobu modelowania aplikacji z wykorzystaniem notacji UML). Jednak tu nie jest możliwa równoległa praca nad modelem i kodem. Można wygenerować nowy model albo na jego podstawie stworzyć szkielet aplikacji - nie można natomiast uaktualnić modelu ani zapisać do kodu tylko zmian wynikających z dodania nowych właś-ciwości.

Istnieje klon Microsoft Visio - Dia. Narzędzie zostało opracowane przez społeczność open source. Dia jest przeznaczona do tworzenia dowolnych diagramów, jednak twórcy mają ambicję stworzenia pakietu, w którym łatwo można rysować przede wszystkim diagramy UML. W odróżnieniu od Visio na razie jest to tylko pakiet graficzny, bez możliwości osadzenia w nim makr, które na podstawie modelu UML generowałyby szkielet systemu informatycznego.


TOP 200