CASE okiem menedżera

CASE (Computer Aided Software Engineering), czyli Inżynieria Oprogramowania Wspomagana Komputerem to termin używany wspólnie dla różnorakich metod, technik i narzędzi, służących do automatyzacji tworzenia systemów informatycznych. Tej tematyce poświęcona była konferencja CASE'91 (pisaliśmy o niej w numerze 3). Dziś przedstawiamy w skrócie materiały zaprezentowane na niej przez Alfa Col-linsa i Raya Bogusławskiego z firmy consultingowej Coopers & Lybrand, poświęcone użytkowym aspektom tych produktów.

CASE (Computer Aided Software Engineering), czyli Inżynieria Oprogramowania Wspomagana Komputerem to termin używany wspólnie dla różnorakich metod, technik i narzędzi, służących do automatyzacji tworzenia systemów informatycznych. Tej tematyce poświęcona była konferencja CASE'91 (pisaliśmy o niej w numerze 3). Dziś przedstawiamy w skrócie materiały zaprezentowane na niej przez Alfa Col-linsa i Raya Bogusławskiego z firmy consultingowej Coopers & Lybrand, poświęcone użytkowym aspektom tych produktów.

Przez 20 lat systemy informatyczne tworzono za wolno i w zbyt skomplikowany sposób. Języki programowania, którymi się posługiwano, wymagały specjalistów z dobrą znajomością komputerów. Powstające systemy były trudne do wdrożenia. Konsekwencją stałego nacisku na poprawę tego stanu rzeczy było stworzenie nowych, zautomatyzowanych narzędzi, pozwalających budować systemy informatyczne szybciej i przy mniejszym wkładzie fachowej wiedzy. Na marginesie warto dodać, że te szybciej tworzone systemy wcale nie muszą być lepsze z punktu widzenia użytkownika.

Równocześnie z uproszczeniem tworzenia systemów postępowała teoretyczna analiza podstawowych elementów systemu: danych, informacji, procesów i funkcji. Wspólny dorobek praktyki i teorii pozwala już dziś mówić o Technologii Informacji (Information Technology, w skrócie IT), w sensie podobnym do technologii w klasycznych dziedzinach inżynierii. Powstały metody strukturalne, obejmujące wszystkie etapy życia systemu informatycznego: planowanie, analiza, projektowanie, wykonanie, testowanie, wdrożenie, utrzymanie. Metody takie, jak: Yourdon, Information Engineering, SSADM są w pełni udokumentowane i można je kupić jako gotowe produkty.

Istnieje wiele strukturalnych technik wspomagania budowy systemów. Zwykle wprowadzają one graficzną reprezentację elementów. Na przykład Entity-Relation-ship Diagramming przedstawia obiekty jako prostokąty, a relacje pomiędzy nimi jako linie. Czyli wyrażenie „KLIENT SKŁADA ZAMÓWIENIE" będzie reprezentowane przez dwa prostokąty: „KLIENT" i „ZAMÓWIENIE" oraz łączącą je linię reprezentującą relację „SKŁADANIE". Z każdym z elementów związany jest opis zawierający wszystkie szczegóły, które mają być później uwzględnione w systemie informatycznym.

Oprogramowanie CASE pozwala opracowywać diagramy lub podobne graficzne modele wszystkich składników systemu. Może też ułatwiać przygotowanie prezentacji projektu, co na przykład pozwala projektantowi spotkać się przy terminalu komputera z przyszłym użytkownikiem i w ciągu kilku godzin przedyskutować specyfikację w języku zrozumiałym dla obu stron. Taka kilkugodzinna sesja może zastąpić kilka tygodni pracy tradycyjnymi metodami, oczywiście pod warunkiem rzeczywistego zaangażowania użytkownika i jego przygotowania.

Dane o składnikach mogą być następnie użyte do stworzenia pełnej bazy danych opisującej system informatyczny: jego przeznaczenie; warunki, które musi spełniać; składniki; specyfikacje programów, danych, formatów ekranów i wydruków. Taka baza danych może następnie zostać użyta do automatycznego generowania oprogramowania.

Powyższy przykład opisuje najczęściej dostrzegane elementy tworzenia Systemu: projekt i programowanie; (lub automatyczna generacja kodu). Jednak CASE to różne narzędzia, przeznaczone dla wszystkich składników systemu (programy, dokumentacja itd.) na wszystkich etapach jego życia. Z tymi etapami związane są

następujące kategorie zadań:

- Strategy and Planning (strategia i planowanie);

- Upper CASE (narzędzia wyższego poziomu - definiowanie wymagań, analiza i projektowanie systemów);

- Lower CASE (narzędzia niższego poziomu - budowa, testowanie i wdrażanie);

- Reverse Engineering (rekonstrukcja założeń i specyfikacji na podstawie analizy kodu działającego systemu - używane dla ułatwienia konserwacji istniejących systemów);

-Project Management (przygotowanie i przeprowadzenie zorganizowanego ciągu działań dla stworzenia systemu).

Często dla tak kompleksowego systemu wspomagania używa się określenia Integrated Project Sup-port Environment (zintegrowane środowisko wspomagające realizację systemu).

Wszystko to stanowi bardzo atrakcyjną ofertę - automatyczne tworzenie systemów. Jednak podejmując zasadnicze decyzje nie można kierować się sloganami reklamowymi, tylko rzetelną analizą własnych potrzeb. Zainwestowanie w CASE może dać korzyści w dłuższych okresach. Najczęstszymi przejawami tych korzyści są:

- zwiększenie wydajności systemów informatycznych

- zmniejszenie kosztów utrzymania

- poprawa jakości systemów

- oszczędności finansowe. Należy jednak pamiętać, że mimo omówionych możliwości dość często próby użycia narzędzi CASE napotykały trudności lub nawet kończyły się niepowodzeniem. Ich źródłem było na przykład niedostosowanie metod i organizacji pracy do wymagań nowej technologii. Inny powód to brak odpowiedniego przeszkolenia personelu. Zdarza się również, że zawodzi zaleta jednolitego, standardowego podejścia do wszystkich systemów - w dużej organizacji do różnych części trzeba stosować różne metody.

Bardzo ważne są działania poprzedzające wybór narzędzia. W szczególności należy sprecyzować, jakich korzyści oczekujemy, aby później móc oceniać postępy i rezultaty inwestycji.

Szczególnie ważny, choć jeszcze nie przez wszystkich doceniany, jest ten ostatni element -bo choć CASE bez wątpienia zdobywa sobie stałe miejsce, to inwestycje w tej dziedzinie muszą być traktowane tak, jak wszystkie inne inwestycje, to znaczy przynosić wymierne efekty ekonomiczne.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200