Przetasowanie w narzędziach

Model zawsze pod ręką

Przetasowanie w narzędziach

CodeWright - tak może wyglądać przyszła wersja środowiska IDE Borlanda.

Po ustaleniu wymagań można przejść do etapu projektowania. Dotychczas Borland integrował JBuilder z pakietem Rational Rose. Teraz jego miejsce ma zająć narzędzie o nazwie Together, które zostanie zintegrowane z oferowanymi przez Borlanda narzędziami RAD.

Podobnie jak w Rational XDE, Together umożliwia równoległą edycję modelu i kodu aplikacji - wszelkie zmiany są na bieżąco synchronizowane. Oprócz klasycznego narzędzia do modelowania UML, Together zawiera wiele specjalistycznych rozszerzeń. Jednym z nich jest moduł do projektowania systemów czasu rzeczywistego. Umożliwia on m.in. definiowanie dla nich schematu architektury, diagramów: stanu, przekazywania zdarzeń oraz współpracy, schematów komunikacji asynchronicznej itd. Together można wykorzystać także do modelowania przebiegu procesów biznesowych, baz danych (diagramy ER) czy edycji plików XML, z tym jednak, że obsługiwany jest jedynie standard DTD, a brak jest wsparcia dla W3C Schema.

Ciekawym elementem narzędzia Together jest moduł do projektowania interfejsu użytkownika. W pakiecie zostały zdefiniowane wzorcowe komponenty obsługujące logikę działania i gotowe wzorce elementów interfejsu. Projektant może jednak samodzielnie zdefiniować korporacyjne standardy interfejsu, co pozwoli zachować spójność nawet między różnymi aplikacjami.

W pakiecie Together umieszczono mechanizmy do tzw. refaktoringu aplikacji, czyli porządkowania jej wewnętrznej konstrukcji bez zmiany wyjściowej funkcjonalności. Przykładem takich działań może być przenoszenie klas między pakietami czy też ujednolicanie nazw atrybutów. Wspomniane mechanizmy zadbają o to, by nazwy i wskazania na położenie poszczególnych części kodu były synchronizowane pomiędzy wszystkimi funkcjami, które do nich się odwołują. Inny przykład to wydzielenie z monolitycznej aplikacji kilku klas i oznaczenie ich jako tych, które implementują interfejs użytkownika. Mechanizmy te pozwalają też na przenoszenie metody między klasami, wraz z niezbędnymi elementami towarzyszącymi. Pakiet ma także funkcję podpowiedzi, które elementy kodu powinny stanowić klasę bazową, a które klasę podrzędną.

Bardzo użyteczną funkcją pakietu Together jest możliwość tworzenia szkieletu testów (np. dla JUnit) na podstawie modelu. Mechanizm generowania testów wykorzystuje wspomniany mechanizm klas wzorcowych i szablonów. Tak powstałe testy obejmują zarówno funkcjonalność, np. algorytmy, jak i interfejs wizualny: i komponenty Swing, i AWT. Together może także wykorzystać środowisko Cactus i HttpUnit do testowania kodu, który ma być uruchamiany na zdalnych serwerach (tworzy odpowiedni kod testujący).

Na stronach Borlanda jest dostępna lista narzędzi i systemów, z którymi firma zamierza zintegrować Together. Zaplanowano m.in. możliwość eksportu/importu danych z takich baz, jak IBM DB2, Oracle i SQL Server, importowanie struktury tabel - w formie diagramu ER lub diagramu klas, a także poprzez generowanie skryptów SQL tworzących bazy zgodne z modelem. W przypadku Oracle 9i ma być także dostępny mechanizm mapowania typów SQLJ oraz użytych w bazie typów obiektowych.

Na razie pakiet Together obsługuje głównie standardowe mechanizmy instalowania komponentów w serwerach aplikacyjnych Javy. Po wgraniu pakietu EJB do serwera aplikacji, Together może więc automatycznie utworzyć stronę JSP, która pozwoli przetestować wgrany pakiet. Wkrótce zostaną dodane: obsługa mechanizmów instalacji, uruchamiania i zarządzania aplikacjami, charakterystycznych dla różnych typów serwerów. Obecnie działają tylko niektóre z nich, np. akcelerator do Bea WebLogic Workshop pozwala z poziomu Together ControlCenter wygenerować diagram usługi Web, stworzyć wizualnie usługę Web (w podobny sposób jak w Bea Workshop) czy tworzyć "lekkie" kontrolki w Javie.

Pakiet Together jest zintegrowany z CaliberRM, dlatego jest możliwe łączenie poszczególnych wymagań z diagramami czy nawet ich częściami składowymi. Z poziomu modelu UML, po kliknięciu na symbol klasy, można dodać odpowiednie wymaganie do CaliberRM. Możliwe jest również działanie odwrotne - z poziomu CaliberRM można sprawdzić, w jaki sposób określona funkcjonalność została zaimplementowana w modelu UML. Istnieje nawet możliwość tworzenia wspólnych raportów, zawierających wymagania i odpowiadające im elementy modelu. Ponadto program kliencki CaliberRM, wykonany za pomocą technologii Java, jest osadzany w panelu komunikatów systemu Together.

Kolejne wersje Together mają obsługiwać nowsze standardy UML: 1.1, 1.3 i 1.4 wraz z dodatkowymi rozszerzeniami, a także wspierać wymianę danych za pośrednictwem odpowiednio sformatowanych dokumentów XML. Format ten ma też stać się domyślnym sposobem wymiany danych pomiędzy pakietami Together i Rational Rose.

Pakiet Together ma kilka wersji - ControlCenter jest przeznaczona dla dużych zespołów programistów. Są też dwie wersje przystosowane do integracji z JBuilder i IBM WebSphere. Jest dostępna także edycja przeznaczona dla samodzielnych programistów.

Przynajmniej na razie Borland nie chce budować wokół Together własnej metodologii prowadzenia projektów czy modelowania aplikacji, tak jak zrobił to Rational, opracowując RUP (Rational Unified Process). Przedstawiciele firmy podkreślają, że jej narzędzia są dobrą propozycją dla programistów zainteresowanych metodyką o nazwie agile programming. Chodzi o taki sposób tworzenia oprogramowania, w którym możliwość elastycznego dostosowywania się do zmian w wymaganiach jest ważniejsza niż sztywne trzymanie się projektu i reguł formalnych.


TOP 200