Analiza - czas na myślenie

Przede wszystkim, niezależnie od tego skąd pojawiła się zmiana, powinna być sformułowana tzw. grupa sterująca zmianą (Configuration Change Board). Rolą tej grupy, przy aktywnym udziale analityka, powinno być zidentyfikowanie wszystkich konsekwencji zmiany dla całej konfiguracji produktu. Powróćmy na chwilę do naszego przykładu z czynszami i wyobraźmy sobie, że w ramach polityki prorodzinnej rząd postanowił, że opłata za windę i wywóz śmieci będzie wynosiła pełną stawkę dla osoby dorosłej, połowę stawki dla młodzieży od lat 12, a dla dzieci do 12 lat - zero. W tej sytuacji analityk przede wszystkim dokładnie opisuje zmianę, a potem inicjuje - w uzgodnieniu z resztą grupy sterującej - tzw. procedurę kontroli zmiany. W rozważanym przypadku pojawi się konieczność włączenia do informacji o lokalu dat urodzenia jego mieszkańców, zmodyfikowania algorytmów naliczających nową stawkę, zmodyfikowania formatek ekranowych, wydruków i zestawień, a nade wszystko budowy nowych procedur testowych i modyfikacji dokumentacji. Wszystkie te zmiany - w różnych miejscach systemu i dokonywane przez różne osoby w zespole - powinny być zaplanowane i przeprowadzone świadomie. Po zmianie musi także pozostać ślad w dokumentacji, a gotowy produkt powinien być oznaczony nowym numerem wersji, aby uniknąć nieporozumień i kosztów, które one generują. Obok lidera zespołu, najbardziej za to odpowiedzialny jest analityk.

Wiedza w głowie, narzędzie w rękach

Nie da się ukryć, że zasadniczą część pracy analityk wykonuje w swojej głowie. Nie ma narzędzia informatycznego, które za niego przeczyta dokumenty, przeprowadzi rozmowy z ekspertami, przeanalizuje prawo itd. Nie ma też sposobu, żeby w analizie wspomóc komputerowo najważniejsze decyzje - o architekturze systemu, komponentach, klasach, zależnościach między nimi.

Natomiast znaczna część operacyjnej pracy analityka to zapisywanie decyzji i przekazywanie ich innym członkom grupy. I tutaj narzędzia informatyczne są jak najbardziej na miejscu. A jeszcze bardziej niż narzędzia przydaje się zorganizowany proces.

Firma Rational oferuje Rational Unified Process, czyli zintegrowaną metodykę, wzbogaconą w narzędzia software'owe, oraz zestaw tzw. najlepszych praktyk (best practices) z biznesu. Zasadnicza część wysiłku analityka to budowa i weryfikacja odpowiednich diagramów UML. "Przede wszystkim korzystamy z przypadków użycia, diagramów aktywności i oczywiście diagramów klas. W niektórych miejscach pomagają nam także diagramy sekwencji i stanów, aby opisać zachowanie niektórych obiektów" - mówi Miłosz Rokita. Warto dodać, że proces analizy jest audytowany: "Każdy z takich artefaktów, jak nazywamy tu diagramy czy dokumenty, jest przeglądany i weryfikowany przez niezależnych ekspertów. Czasami więc dostajemy nasze produkty z powrotem z prośbą o doprecyzowanie czy poprawki".

Rational, oprócz procesu, dostarcza zestaw narzędzi software'owych. Jego częścią jest Rational AnalystStudio, które koncentruje się przede wszystkim na zarządzaniu wymaganiami i zmianami wymagań. RequisitePro pozwala na opisanie wymagań, ich źródeł, zależności między nimi itd. ClearQuest to narzędzie zarządzania zmianą. "Od dołu" AnalystStudio integruje się przede wszystkim z produktem Rational Rose, służącym do budowy diagramów UML. Rational Rose to zdecydowany lider w sektorze narzędzi, które niegdyś nazywano narzędziami CASE, a dziś chętniej określa się je mianem zintegrowanych pakietów do inżynierii systemów. Umożliwia ono analitykowi i innym uczestnikom odzwierciedlenie decyzji w standardowym języku opisu, za pomocą wybranych diagramów UML.

Takie diagramy posłużą projektantom do podjęcia konkretnych decyzji w zakresie struktury systemu oraz modelu danych. Programistom zaś pomogą prawidłowo zakodować w wybranym języku programowania to, co wymyślili i opisali analityk wraz z projektantem.

W projekcie IACS podstawowym narzędziem pracy analityka jest TogetherSoft Control Center firmy TogetherSoftware, niedawno przejętej przez Borlanda. Zaletą tego systemu jest prostota obsługi, co w połączeniu z bogactwem możliwości daje analitykowi potężne narzędzie do wyrażania swoich decyzji na takim poziomie szczegółowości, na jakim jest to przyjęte w jego projekcie. TogetherSoft CC integruje się z narzędziami zarówno "wyższego rzędu" (np. służącymi do zarządzania wymaganiami), takimi jak DOORs, jak i "niższego" (tj. środowiskami programistycznymi). Pozwala generować schematy baz danych, prototypy klas we wszystkich popularnych językach programowania (C++, Java, Visual Basic itd.). Ma wsparcie dla budowy komponentów z wykorzystaniem J2EE i usług web zgodnie ze standardami UDDI, SOAP, WSDL itp. Warto też dodać, że TogetherSoft CC posiada bogatą bibliotekę wzorców (patterns), pozwalającą każdemu analitykowi i projektantowi na korzystanie z pewnych szablonowych, "prefabrykowanych" rozwiązań.

Każde z opisanych narzędzi wspiera też pracę grupową - wspomaga dzielenie zadań i integrowanie rozwiązań w spójną całość.


TOP 200