System Engineer - droga do kompletnej aplikacji
-
- Marian Łakomy,
- 28.06.1993
Popularny jest dowcip, w którym kierowca pyta przechodnia o drogę. Po wysłuchaniu całej serii pytań na temat różnych miejsc, do których kierowca chciałby dojechać, zdenerwowany przechodzień mówi wreszcie: Jeżeli zamierza Pan dojechać w te wszystkie miejsca, to nie należy zaczynać od naszego miasteczka!
Popularny jest dowcip, w którym kierowca pyta przechodnia o drogę. Po wysłuchaniu całej serii pytań na temat różnych miejsc, do których kierowca chciałby dojechać, zdenerwowany przechodzień mówi wreszcie: Jeżeli zamierza Pan dojechać w te wszystkie miejsca, to nie należy zaczynać od naszego miasteczka!
Nieco podobnie ma się problem z projektowaniem aplikacji użytkowych, zawierających obszerne bazy danych. Liczba celów do osiągnięcia jest ogromna i należy naprawdę dobrze wybrać punkt startowy, aby je wszystkie osiągnąć.
Obecnie istnieje wiele narzędzi typu CASE (Computer Aided System Engineering), ułatwiających przejście od wymagańużytkowych do kompletnej, przetestowanej i dobrze działającej aplikacji. Narzędzia CASE zawsze oferowałynadzieję uzyskania szybko gotowego programu. Jednakże te dawniejsze oferowały raczej możliwość tworzenia diagramów przepływu danych i ich dokumentowanie, niż wymuszały dobrze sprecyzowaną metodologię projektowania. W celu sprostania zmieniającym się wymaganiom i warunkom pracy, nowe narzędzia muszą dawać znacznie więcej - od postawienia wymagań do kompletnego produktu, najlepiej zgodnego z modelem klient/serwer i pracującego w środowisku graficznym (Windows).
System Engineer
Brytyjska firma LBMS oferuje w Polsce przez swego partnera handlowego, firmę InfoViDE (ul. Lindleya 16, tel. 6280441 w. 309), zestaw System Engineer Toolset (SE), reklamowany jako narzędzie CASE nowej generacji. Zestaw narzędzi SE pracuje w środowisku Windows (rys. 1), dzięki czemu koszt wstępnych inwestycji sprzętowych jest niewielki - nie ma potrzeby kupowania potężnych stacji roboczych.
Zestaw SE działa w każdej z istniejących sieci PC i pozwala na efektywną pracę grupową nad projektem. Skuteczne wykorzystanie możliwości środowiska Windows (OLE i DDE) daje SE Workplace, integrujący różne elementy składowe zestawu.
Narzędzia z zestawu System Engineer pozwalają na przygotowanie aplikacji dla wielu platform sprzętowych, łącznie z komputerami firm DEC, IBM, ICL, Unisys i NCR. Decyzję co do zakupu sprzętu można podjąć dopiero po opracowaniu i wstępnym przetestowaniu aplikacji.
Wymagania i analiza
Ocenia się, że ponad 40% kosztów całego projektu programowego jest przeznaczone na testowanie zgodności danych, dostępnych dla różnych członków zespołu, a efektywność pracy każdego członka zespołu wynikaz możliwości korzystania z niesprzecznej, centralnej bazy danych obiektów i centralnego słownika.
Strukturę przepływu danych i analizę wymagań przygotowuje się zwykle za pomocą edytora, w postaci diagramów przepływu. W zestawie SE znajduje się łatwy w użyciu edytor diagramów, połączony ze wspomnianą centralną bazą danych obiektów. Możliwość testowania asocjacji obiektów i ich właściwości ułatwia sprawdzanie poprawności izgodności wymagań z diagramami przepływu.
Szybkie przygotowanie prototypu
Sukces projektu znacznie bardziej zależy od akceptacji użytkowników niż chce to przyznać większość projektantów systemów użytkowych. W zestawie SE znajdują się narzędzia do szybkiego przygotowania prototypu aplikacji, już od samego początku projektu. Screen Map Editor służy do przygotowania formy ekranów do wprowadzania i wizualizacji danych, wprowadzenia hierarchicznych menu, rozwijanych list wyboru oraz okienek dialogowych. Istnieje także możliwość opracowania okienek pomocy do poszczególnych ekranów.
Projekt aplikacji
Zestaw SE umożliwia przekształcenie danych logicznych i modelu ich przepływu w kompletny, działający system. Aby nie wiązać się z konkretną architekturą sprzętowo-programową, językami 3GL czy 4GL, System Engineer przygotowuje aplikację w formie nieproceduralnego pseudokodu.
Specyfikacje procesów są zapisane w postaci ciągu modułów tego pseudokodu. Kod ten generuje się wybierając myszą z rozwijanych menu polecenia związane z poszczególnymi obiektami projektu. Na przykład w celu wygenerowania kodu dostępu do bazy danych, należy z graficznego modelu bazy wybrać encje i ich zależności: kod zostanie wytworzony automatycznie. Każdy moduł pseudokodu jest związany z odpowiednimi obiektami w centralnej obiektowej bazie SE. Tak więc każda zmiana projektu, automatycznie przepropaguje aż do końcowego produktu.
Korzystając z wykazu obiektów danych i logicznego modelu danych, SE pozwala na przygotowanie specjalnego systemu zarządzania bazą danych aplikacji lub opracowanie kodu SQL dla istniejącego serwera danych.
Interfejs użytkownika
Użytkownicy współczesnych systemów użytkowych coraz częściej stawiają wymaganie, aby system działał w środowisku graficznym (Windows, X Window). W wielu projektach, opracowanie interfejsu graficznego pochłania ponad 50% nakładów. W skład zestawu SE wchodzi system projektowania interfejsu graficznego GUI/Designer, korzystający z tej samej obiektowej bazy danych projektu. Zdefiniowano w nim typowe obiekty dla interfejsu graficznego: ikony, hierarchiczne menu, rozwijane listy, pola do edycji, klucze do wybierania, przyciski, paski przewijania, komunikaty, zdarzenia i in. GUI/Designer zawiera także narzędzie do szybkiego tworzenia prototypów, co pozwala od razu ocenić jakość gotowego produktu.
Generator aplikacji
Z opracowanego na poprzednich etapach pseudokodu korzystają moduły generatorów aplikacji SE/Construction lub SE/Open. Ten pierwszy daje gotowy kod w COBOL-u, nadający się do skompilowania na dużym komputerze lub PC. SE/Open jest narzędziem umożliwiającym przejście do tak zwanych niskopoziomowych generatorów kodu, działających na różnych platformach sprzętowych.
Narzędzia wspomagające i dokumentacja
Wszystkie etapy projektu opracowywanego za pomocą narzędzi System Engineer mogą być dobrze udokumentowane, przez wpisywanie uwag projektanta bezpośrednio na diagramach przepływu i przygotowanie dokumentów tekstowych. Natomiast do zarządzania całym projektem w pracy grupowej niezbędne są zaawansowane narzędzia określenia i przydziału zasobów, kontroli wykonania, sprawdzania stanu zaawansowania itd. Firma LBMS dostarcza Project Engineer, ściśle zintegrowany z System Engineer i przeznaczony właśnie do zarządzania dużymi projektami programowymi. Przeznaczony jest dla szefa projektu i umożliwia mu inteligentną ocenę stanu projektu, znalezienie wąskich gardeł, zarządzanie różnymi wersjami projektu (z ewentualnym powrotemdo wersji dawniejszych), dobrą ocenę zaawansowania pracy, zmianę konfiguracji początkowej i wykonanie oceny po tej zmianie itd.
Narzędzia dla modelu klient/serwer
Firma LBMS przygotowuje nowy zestaw narzędzi CASE o nazwie SSADM Engineer, przeznaczonych do przygotowania aplikacji zgodnych z modelem obsługi klient/serwer i wykorzystujących metodologię pracy SSADM, zatwierdzoną przez rząd brytyjski do stosowania we wszelkich projektach dla administracji publicznej. Produkt jest obecnie w fazie beta testów.