Koncepcja systemu wspomagania zarządzania środowiska
Transkrypt
Koncepcja systemu wspomagania zarządzania środowiska
Koncepcja systemu wspomagania zarządzania środowiska rozwojowego opartego na inżynierii wiedzy Wojciech Górka, Michał Socha Prezentacja dotyczy koncepcji systemu wspomagającego środowisko rozwojowe, który jest częścią prac realizowanych w ramach projektu CCMODE. Na wstępie przedstawione zostało zagadnienie inżynierii wiedzy. Zastosowanie inżynierii wiedzy podczas realizacji systemu wspomagania zarządzanie środowiskiem rozwojowym pozwoli na realizację wszelkiego rodzaju ułatwień dla użytkownika: podpowiedzi kontekstowych, możliwości zastosowania gotowych szablonów, wnioskowania, odpowiedniej interpretacji danych dynamicznych i statycznych- katalogowych, książkowych. Następnie w ramach prezentacji przedstawione zostały założenia realizowanego systemu. Zwrócono uwagę na następujące kwestie: wspomaganie stosowania normy w realizowanym systemie – konieczność przeniesienia do systemu nie tylko wymaganych struktur danych ale również logiki i organizacji pracy zgodnego z normą CC, konieczność dostosowanie się do iteracyjnego modelu realizacji projektów informatycznych; model iteracyjny powinien również obejmować materiał dowodowy i dokument ST, wsparcie generowania wymaganej dokumentacji zgodnej z zaproponowanymi szablonami, wsparcie analizy problemu bezpieczeństwa i projektowania zabezpieczeń, zastosowanie istniejących na rynku systemów – takie podejście pozwoli na dostosowanie się do istniejących u przedsiębiorców warunków (już zainstalowanych i używanych systemów), wsparcie użytkownika kontekstową informacją pochodzącą nie tylko z normy CC ale również z jej interpretacji i wyjaśnień. Omówiona została również wizja systemu. Na początku przedstawione zostały poszczególne elementy systemu: Systemy wspomagające – zestaw narzędzi podzielony na pewne kategorie: narzędzie projektowe, śledzenie błędów, modelowanie przypadków testowych, wersjonowanie. Stanowią one rodzaj infrastruktury każdego projektu. Z drugiej strony są cennymi źródłami danych do dokumentacji wymaganej przez normę CC. W ramach realizacji prac, na podstawie przeprowadzonych analiz, wybrane zostały następujące systemy: Enterprise Architect uzupełniony o dodatkowe rozszerzenia (realizowane w ramach prac CCMODE) jako narzędzie projektowe, Redmine jako narzędzie do śledzenia błędów, Testlink jako narzędzie do modelowania przypadków testowych i SVN do wersjonowania. Szczególne znaczenie ma narzędzie projektowe. Jego rolą ma być zarówno wsparcie projektowania produktu ale również analiza i projektowanie zabezpieczeń. Równie ważną rolę pełni narzędzie do wersjonowania. Jego rolą jest zapisywanie stanu kodów źródłowych produktu, ale również stanu realizacji projektu w momentach szczególnych, wymaganych przez normę CC. Przykładowo mogą być to stany projektu poddane certyfikacji (ostatecznej lub wstępnej w ramach weryfikacji). Pokrycie wymaganej funkcjonalności gotowymi systemami daje możliwość dostosowania się do istniejącej w danej firmie infrastruktury i zwyczajów. Daje również to możliwość łatwej wymiany zaproponowanych systemów na inne. Narzędzie do zarządzania konfiguracją – stanowi punkt centralny – punkt wejścia do środowiska z punktu widzenia użytkownika (konstruktora lub administratora projektu). W tym miejscu zaczyna się całe zarządzanie zgodne z normą. Ten element jest implementowany w ramach projektu CCMODE – jest to system zarządzania konfiguracją nazwany EMT (Environment Management Tool). Jego rolą jest koordynacja pracy pozostałych elementów środowiska rozwojowego – odpowiednie zakładanie kont użytkowników, projektów tak, by było to spójne. Jego rolą jest też przechowywanie i zarządzanie danymi specyficznymi dla normy CC np. poziom EAL, listy konfiguracji itp. Baza wiedzy – jest zbiorem wszystkich danych stanowiących wiedzę – szablony dokumentów, fragmenty z normy, struktury danych pobrane na bazie normy, dane wspomagające wybór opcji (np. SFR-ów itp.). W pierwszym kroku umieszczona została w niej treść normy. Baza wiedzy jest połączona ze środowiskiem rozwojowym przez Brokera i na bazie silnika D2RQ pojawia się jako serwis udostępniający dane semantyczne. Jest to punkt z którego różne części środowiska mogą czerpać wiedzę związaną z normą CC. Informacje mogą być prezentowane użytkownikowi bądź jako podpowiedzi, jako gotowe fragmenty szablonów do zastosowania, bądź bardziej tradycyjnie w formie okienka pomocy. Generator dokumentacji – Na podstawie danych rozsianych po elementach środowiska i szablonów dokumentów „produkuje” finalne wersje dokumentacji wymaganej przez normę CC. Realizowany w oparciu o gotowy edytor tekstowy. Pozwala by rozwój dokumentacji przebiegał w parze z rozwojem projektu. Broker – pełni rolę integratora danych. Połączenie danych realizowane jest w oparciu o narzędzie D2RQ pozwalające na integrację wielu baz danych jako jednej przestrzeni danych. Dzięki temu otrzymujemy spójną przestrzeń danych opisujących dane dot. realizowanego projektu. Dla zilustrowania działania systemu przedstawione zostały wybrane stany projektu oraz sposób wykorzystania poszczególnych elementów systemu i ich wzajemne interakcje w ramach poszczególnych stanów. Opisane zostały stany: inicjalizacja projektu (wprowadzenie podstawowych informacji o projekcie, ustawienie systemów wspomagających), praca z projektem (zasadnicza praca nad produktem obejmująca również iteracyjny proces uzupełniania dokumentacji), certyfikacja produktu (ostateczne wygenerowanie dokumentacji końcowej, zapisanie stanu projektu, udostępnienie informacji o certyfikowanym produkcie oraz w zależności od funkcjonalności systemów zewnętrznych wsparcie jego utrzymania). Zaproponowana architektura, częściowo zaimplementowana i uruchomiona pokazała, że założenia się spełniły i daje możliwość spełnienia ich do końca w toku dalszych prac.