Select Enterprise - CASE dla każdego

Firma Select Software Tools opiera rozwój swego narzędzia CASE - Select Enterprise na minimalistycznym podejściu do modelowania: należy z narzędzia pozbyć się wszystkiego, co nie jest niezbędne.

Firma Select Software Tools opiera rozwój swego narzędzia CASE - Select Enterprise na minimalistycznym podejściu do modelowania: należy z narzędzia pozbyć się wszystkiego, co nie jest niezbędne.

Gdy w latach 80. pojawiły się narzędzia CASE, były to programy stricte jednokierunkowe. Analitycy rysowali na ekranie diagramy o dobrze określonej strukturze, a we właściwym momencie narzędzie "wypluwało" metry (w przenośni i dosłownie w wydrukach) kodu źródłowego. Rozwiązanie to było znakomite w teorii to znaczy do chwili gdy programista musiał dokonać niezbędnych poprawek w kodzie źródłowym (lub co gorsza - w kodzie binarnym). Od tego momentu model analityczny nie zgadzał się z kodem, był więc odrzucany i nie nadawał się do ponownego wykorzystania. Była to główna przyczyna niewielkiej popularności narzędzi CASE.

W ciągu ostatnich dwóch lat większość producentów narzędzi CASE zrealizowała tzw. reverse engineering, tj. odtwarzanie modelu aplikacji w narzędziu CASE na podstawie kodu źródłowego (czasem na podstawie kodu binarnego). Firma Select Software Tools nazywa tę właściwość "inżynieria pełna" (roundütrip engineering). Teraz model i kod są w pełni zsynchronizowane i główna wada nrzędzi CASE została usunięta. Oczywiście nie ma nic za darmo: firma Select przyznaje, że ich metoda odtwarzania modelu na podstawie kodu działa dobrze tylko wtedy, gdy odtwarzany kod ma ściśle zdefiniowaną strukturę; najlepiej aby pochodził z narzędzia Select.

Potrzeby programistów

Stuart Frost, założyciel i dyrektor naczelny firmy Select Software Tools, pracował kilka lat jako konsultant narzędzi CASE dla wielkich korporacji. Z jego doświadczenia wynikało, że narzędzia CASE są bardzo potrzebne, ale dostarczane produkty są zbyt drogie, w stosunku do ich możliwości i jakości. To zadecydowało o założeniu przez niego firmy, która dostarcza tanie narzędzia CASE (poniżej 2000 GBP za stanowisko programisty).

Select Perspective

W znanej książce na temat metodyki Select Perspective - realizowanej m.in. w pakiecie narzędziowym Select Enterprise - Stuart Frost twierdzi, że tradycyjne narzędzia CASE są zbyt powolne i sztywne, jak na potrzeby współczesnych aplikacji w szybko zmieniającym się świecie. Tym bardziej że w większości przypadków nie uwzględniają one potrzeby stworzenia aplikacji wielowarstwowych (z serwerem bazy danych, serwerem aplikacji i stacjami klienta).

Select Perspective proponuje cztery modele aplikacji:

Model architektoniczny. Frost zaleca korzystanie z klasycznego schematu ANSI/SPARC, w którym we współczesnym środowisku aplikacji tworzy się cztery schematy obiektowe:

* obiekty interfejsu użytkowego;

* lokalne obiekty biznesowe (ograniczone np. do jednego wydziału firmy);

* korporacyjne obiekty biznesowe, ważne dla całej firmy; powinny być budowane na początku i wykorzystywane w każdej aplikacji;

* obiekty do zapamiętania (inaczej baza danych).

Metodyka nie nakłada ograniczeń na rozkład tych obiektów w strukturze aplikacji - nie każdy z nich musi działać w oddzielnej warstwie aplikacji, na oddzielnym komputerze. Jednakże tak przygotowane schematy łatwo rozdzielić na partycje aplikacji w dowolny sposób. Do komunikacji między poszczególnymi partycjami można wykorzystać pakiety komunikacyjne, które oferuje Microsoft w technice komunikacji obiektowej COM (Common Object Model), lub - w przypadku środowiska niejednorodnego - programy zgodne z architekturą CORBA (Common Object Request Broker Architecture), opracowaną przez Object Management Group.

Techniki modelowania. Modele obiektów są oparte na technice OMT (Object Modelling Technique) Rumbaugha z rozszerzeniami dla architektury wielowarstwowej. Select Perspective stosuje metodykę Jacobsona (Use Case) dla pokazania widoku systemu z punktu widzenia świata zewnętrznego, diagramy interakcji obiektów (Object Interaction) dla przedstawienia wzajemnego oddziaływania obiektów i modelowanie dynamiczne (Dynamic Modelling), prezentujące wpływ zmiany stanów na poszczególne klasy obiektów.

Firma zamierza w przyszłości wspierać ujednoliconą metodykę, opracowaną przez Jacobsona, Rumbaugha i Boocha, tzw. Unified Modelling Language.

Modelowanie procesów. Modelowanie aktorów procesów oraz ich dekompozycja stanowią główne techniki dostępne w Select Enterprise. Modele procesów są realizowane jako statyczne, hierarchiczne diagramy procesów oraz dynamiczne diagramy wątków procesów, prezentujące zależności i powiązania między poszczególnymi procesami biznesowymi.

Model zarządzania. S. Frost przedstawia sposób organizowania i kierowania zespołem programistów, zarządzania biblioteką obiektów (repozytorium) i in.

Wszystkie techniki modelowania w Select Enterprise są ściśle powiązane za pośrednictwem repozytorium, utrzymywanego oddzielnie dla potrzeb każdej aplikacji.

Select Enterprise 5.0 for Visual Basic

Programiści (w przeciwieństwie do swych szefów i analityków) nie znoszą wymagań narzucanych przez narzędzia CASE, twierdząc, że ograniczają one ich wenę twórczą i są stratą czasu. W przypadku programistów używających Visual Basic niechęć ta jest szczególnie duża, gdyż najważniejszymi zaletami ich ulubionego języka jest: prostota, szybkość tworzenia aplikacji i łatwość użycia. Z tego powodu Select Enterprise for Visual Basic jest przeznaczony dla "górnej warstwy" programistów, używających Visual Basic Enterprise Edition, tj. dla kilku procent programistów VB.

Najważniejszą zaletą Select Enterprise for VB jest możliwość określenia struktury w aplikacjach VB. Można np. wymusić model pracy złożony z "modelu/widoku/kontrolera", w którym definiuje się trzywarstwowy schemat interfejsu użytkowego: obiekty wizualne są automatycznie połączone z obiektami działającymi w tle za pośrednictwem "kontrolerów".

Select Enterprise for Visual Basic generuje kod dla VB 4.0 i schematy baz danych dla Microsoft Server. Może także tworzyć serwery OLE Automation oraz zarządzać dystrybucją obiektów w sieci za pośrednictwem Remote Automation.

Inne możliwości

Istnieją specjalne wersje Select Enterprise 5.0 dla innych języków programowania i narzędzi do szybkiego tworzenia aplikacji, takich jak: Forte, Gupta SQL Windows, PowerBuilder i C/C++.

Select Enterprise wspiera "inżynierię pełną", pozwalającą na odczytanie kodu z wielu różnych narzędzi (takich jak: Forte, PowerBuilder lub C++) i generowanie kodu dowolnego z nich.