• Nie Znaleziono Wyników

2. UOGÓLNIENIE DOŚWIADCZEŃ METODYCZNYCH W ZAKRESIE OCENY SKALOWALNYCH SKŁADNIKÓW OPROGRAMOWANIA

2.3. Narzędzia informatyczne wspomagające budowę CBSD

Jak wskazano podrozdziale 1.1. założeniem CBSD jest możliwość utworzenia zestawu elastycznych wymagań wspomagających przeszukiwanie rynku produktów COTS228. Etap projektowania oprogramowania, w przypadku zastosowania tradycyjnej formy rozwoju oprogramowania, polega na dokonaniu szczegółowej analizy wymagań w celu utworzenia opisu wewnętrznej struktury i organizacji systemu, który dostarczyłby podstaw do jego konstrukcji229. Z kolei podejście oparte na CBSD wskazuje na możliwość połączenia produktów w taki system oprogramowania, który spełniałby założone przez użytkownika wymagania. Efektem tego jest możliwość wyboru odpowiednich składników oprogramowania COTS, spełniających indywidualne preferencje użytkownika. W przypadku CBSD, w przeciwieństwie do tradycyjnego podejścia w zakresie tworzenia wymagań systemu, w roli inżynierów występują użytkownicy oprogramowania230. Za pomocą łączenia poszczególnych komponentów systemu mają możliwość wskazania najbardziej preferowanych cech systemu dla potrzeb danego przedsiębiorstwa231.

2.3.1. Narzędzie IPSCom

Jedną z czynności krytycznych w CBSD jest wybór odpowiednich elementów spośród dostępnego oprogramowania COTS. Przykładem narzędzia informatycznego realizującego ten proces jest oparty na technologii Webowej system IPSCom (ang. Intelligent Portal for Searching Components). Podejście realizowane w nim stanowi realizację etapu projektowego, mające na celu rozwijanie otwartego portalu informacyjnego dla oprogramowania COTS oraz składników „non software”, w którym poszczególne istniejące repozytoria COTS mogą zostać zintegrowane wykorzystując rodzajową ontologię. Celem rodzajowej ontologii jest dostarczenie wytycznych do zdefiniowania składników, które unifikują różnice pomiędzy modelami jako standardowy interfejs do wyszukiwania komponentów. W rezultacie ontologia ta jest w stanie przechowywać informacje dla każdego ze składników odnośnie:

• ogólnych informacji (nazwa, wersja, język itp.),

• cech (właściwości, metody, przypadki),

• projektów (opisuje w jaki sposób zbudować złożony składnik łączący uprzednio już istniejące składniki)232.

Identyfikacja oraz interakcja kluczowych elementów została zaprezentowana na poniższym rysunku. Zostały one podzielone na trzy grupy obejmujące zarządzanie, rozwój oraz wspomaganie oparte na wiedzy233. Zarządzanie obejmuje sposób postępowania w przypadku korzystania z portalu, analizę czynników prawnych oraz zarządzanie wersjami COTS, ustawienia oprogramowania, sposób postępowania i ontologię oraz rozwój portalu. Z kolei etap rozwoju precyzuje zalecany system, specyfikację oprogramowania i ontologii. Natomiast wspomaganie oparte na wiedzy zawiera specyfikację dziedziny ontologii i taksonomii, ontologie składników COTS, ontologie zorientowane dziedzinowo oraz ontologie globalne (Rys. 2.13.).

228 Morisio M., Torchiano M., Definition and classification of COTS: a proposal, Accepted at ICCBSS, Orlando (FL) February 4-6, 2002.

229 Morisio M., Seaman C.B, Basili V.R., Parra A.T., Kraft S.E., Condon S.E., COTSbased Software Development: Processes and Open Issues, Journal of Systems and Software,Vol. 61(3), 2002, ss. 189-199.

230 Brownsword L., Oberndorf T., Sledge C.A., Developing New Processes for COTSBased Systems, IEEE Software, Vol. 17, No. 4; July-August 2000.

ss. 48-55.

231 Basili V.R., Boehm B., COTS-Based Systems Top 10 List, IEEE Computer, Vol. 34, No. 5, May 2001.

232 Aguirre J., IPSComp: Intelligent Portal for Searching Components, Vrije Universiteit Brussel – Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes – France 2005.

233 [tamże]

53 Rys. 2.13. Architektura systemu IPSCom. Źródło: Opracowanie własne na podstawie: Aguirre J., IPSComp: Intelligent Portal for Searching Components; Vrije Universiteit Brussel – Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes – France 2005.

2.3.2. Pozostałe narzędzia

Wspomaganie w doborze składników oprogramowania realizowane jest przez wiele narzędzi informatycznych. Analiza literatury przedmiotu kolejny raz dostarczyła złożony zbiór metod i technik wspierających CBSD. Analizując podstawy formalne wskazanych technik wyodrębnić można tutaj klasyczne narzędzia wspomagane technologią Webową, techniki semantyczne, zastosowanie agentów, ontologie oraz podejścia zorientowane celowo.

W szczególności, zidentyfikowano następujące narzędzia: GAM (ang. Goal Argumentation Method), GQM (ang. Goal Question Metrics), GSN (ang. The Goal Structuring Notation), NFR, REMAP, Reasoning Loop Model, SDM (ang. Strategic Dependency Model), Cognitive Tasks Analysis, SIBYL, EKD, Agora, SCB (ang. Software Commerce Broker), IPSCom (ang.

Intelligent Portal for Searching Components), MoreCOTS, Sema-SC (ang. Semantic Component Selection), GBTCM (ang. Goal-Based Taxonomy Construction Method) , GBRAM (ang. Goal-Based Requirements Analysis Method), GOThIC (ang. Goal-Oriented Taxonomy and reuse Infrastructure Construction), KAOS, ISAC, Goal - Based Workflow System for Multiagent Task Coordination, Ontomanager, SymOntoX, HAC (ang. Hierarchical Agglomerative Clustering), PLIB, INSEAS, ADIPS Framework - Faceted – Browsing, Rascal, Model Driven Architecture – MDA, Semantic-Based Technique, CompoNex – Browsing. Na podstawie przeprowadzonej identyfikacji dostępnych narzędzi wspomagających ocenę i dobór składników COTS, została dokonana szczegółowa analiza ich użyteczności, wraz z próbą przydziału do odpowiedniej kategorii (Rys. 2.14.).

SYSTEM REKOMENDUJĄCY

54 Rys. 2.14. Ogólna klasyfikacja dostępnych narzędzi wspomagających COTS. Źródło: Opracowanie własne.

Analizując dostępne informacje odnośnie każdego z narzędzi, zostały wskazane ogólne kryteria klasyfikujące dane rozwiązanie do poszczególnych kategorii, obejmujące:

• zastosowanie agentów (INSEAS, RASCAL, ADIPS, Goal - Based Workflow System for Multiagent Task Coodrination),

• techniki semantyczne (Sema – SC, Semantic – Based Technique, Hierarchical Agglomerative Clustering – HAC),

• klasyczne narzędzia wspomagane technologią Webową (Agora, SCB, MoreCOTS, IPSCom, MDA),

• podejścia zorientowane celowo (GOThIC, Cognitive Task Analysis, ISAC, EKD, SYBIL, SDM, REMAP, KAOS, GQM, GAM, GBTCM, GBRAM, GSN, NFR, Reasoning Loop Model, CompoNex – Browsing),

• ontologie (ONTOMANAGER, PLIB, SymOntoX).

Niniejsze zestawienie zawiera krótką charakterystykę dostępnych i uprzednio zidentyfikowanych wybranych narzędzi informatycznych wspomagających dobór składników COTS z uwzględnieniem przydziału do danego kryterium klasyfikującego (Tabela 2.1).

Tabela 2.1. Narzędzia informatyczne wspomagające COTS.

Nazwa narzędzia Kryteria

klasyfikujące Cechy charakterystyczne (opis narzędzia)

GQM (Goal Question Metrics)

podejścia zorientowane celowo

Procedura GQM przebiega z góry na dół (top – down), rozpoczynając się od zdefiniowania istoty pomiaru. Na najniższym poziomie definiowane są bezpośrednie pomiary dostarczające danych niezbędnych do obliczenia metryk poszczególnych składników.

GAM (Goal Argumentation Method)

podejścia zorientowane celowo

Proces w modelu GAM przebiega z dołu do góry (bottom – up), a agregacja ocen odbywa się jak w modelu GQM. GAM łączy podejście

Narzędzie IPSCom stanowi prototyp projektowy, mający na celu budowę i rozwój otwartego portalu informacyjnego dla oprogramowania COTS oraz składników „non software”, w którym poszczególne istniejące repozytoria COTS mogą zostać zintegrowane wykorzystując rodzajową ontologię.

Agora klasyczne narzędzia wspomagane

Podejście to opiera się na badaniu prototypu rozbudowywanego przez SEI, który próbuje stworzyć opartą na współczynnikach bazę danych zawierającą

55

technologią Webową składniki oprogramowania używające agentów JavaBeans oraz CORBA w połączeniu z Webowymi technologiami wyszukiwania. Agora składa się z dwóch podstawowych procesów:

1. ustalenia położenia oraz oznaczenia składników, 2. wyszukiwania oraz odzyskiwania składników.

SCB (Software Commerce Broker)

klasyczne narzędzia wspomagane technologią Webową

SCB dostarcza mechanizmów, na podstawie których klienci mogą odtworzyć składniki poprzez sieć Web niezależnie od ich lokalizacji. Narzędzie to opiera się na badaniu prototypu i umożliwia zbieranie informacji odnośnie ogólnoświatowych składników oprogramowania poprzez Internet oraz dostarczenie zestawu elektronicznych katalogów zawierających składniki oprogramowania w częściowo uformowanych wymaganiach języka SCL (ang. Software Specification and Commerce Language).

ONTOMANAGER ontologie

OntoManager składa się z trzech komponentów (składników): Modułu Integracji Danych, Modułu Wizualizacji oraz Modułu Analizującego. Moduł Integracji Danych gromadzi dane z różnych serwerów (w przypadku systemów rozproszonych) oraz tworzy centralny dziennik ontologii. Moduł wizualizacji łączy zintegrowaną ontologię używanych danych z ontologią samą w sobie. Umożliwia przedstawienie tych samych informacji w różny sposób. Moduł Analizujący dostarcza wskazówek do menadżera ontologii w jaki sposób ulepszyć daną ontologię. Ulepszenie to powinno być

SymOntoX ma na celu identyfikację i kategoryzację możliwych przypadków biznesowych. Technika ta oferuje wiele opcji modelowania określanych mianem metaprzypadków (np. Business Process, Business Object i Business Actor). Model ontologii w SymOntoX jest przedstawiany jako OPAL (ang.

Object, Process and Actor Modelling Language).

Hierarchical Agglomerative Clustering (HAC)

techniki semantyczne

Stosowanie algorytmu HAC opiera się na grupowaniu hierarchicznych wileoatrybutowych danych. Algorytm metody zakłada łączenie w procesie iteracji najbardziej podobnych do siebie grup składników.

PLIB ontologie

Rezultatem tego projektu jest budowa menadżera ontologii, który dostarczałby użytkownikowi środków do zdefiniowania i rozwijania ontologii. Opiera się on na założeniach:

• W każdej z dziedzin jest szczegółowy słownik który należy do danej dziedziny.

• Ludzie ciągle rozwijają pojęcia i je praktykują, więc koniecznym staje się fakt posiadania takiego narzędzia, które pozwalałoby użytkownikowi budowanie jego własnej ontologii.

INSEAS (Intelligent Search Agent System)

zastosowanie agentów

System opiera się na technologii XML oraz Technologiach agentowych (Component Agent i User Agent). Przekształcają one dane wejściowe w dokumenty XML, które są gromadzone w repozytoriach w celu późniejszego wyszukiwania informacji. User Interface Agent odpowiada za dostarczenie dogodnego i skutecznego środowiska poszukiwań. Dostawcy składników wykorzystują Component Agent w celu gromadzenia składników w repozytorium INSEAS. Technologicznie repozytorium wspiera składniki:

CORBA, JavaBeans oraz COM/ActiveX.

ADIPS Framework Faceted - Browsing

zastosowanie agentów

Posiada trzy główne składniki: Agent Virtual Machine, Repozytorium ADIPS i Design Support Environment. Składniki oprogramowania są gromadzone w repozytorium jako składniki agentowe określane mianem „agentów repozytorium”. Agent repozytorium działa w Agent Virtual Machine.

RASCAL - Users Web Mining

zastosowanie agentów

Jest to rekomendujący system agentowy (ang. Recommender Agent System).

Jego celem jest wskazanie rekomendowanych składników oprogramowania, których poszukuje użytkownik. System przyjmuje założenie, że użytkownik posiada określone wymagania, ale jest nieświadomy o istnieniu składników oprogramowania. Architektura systemu składa się z trzech, głównych elementów: repozytorium kodu, historii użycia oraz agenta rekomendującego.

Model Driven Architecture - MDA

klasyczne narzędzia wspomagane technologią Webową

MDA stanowi nowa technikę rozwoju aplikacji oraz tworzenia specyfikacji.

Oparta jest na niezależnej platformie (ang. Platform Independent Model – PIM) - aplikacji i specyfikacji postępowania oraz biznesowej funkcjonalności. Kompletna specyfikacja MDA składa się z określonego, opartego na niezależnej platformie modelu i dodatkowo z jednego lub więcej modeli szczegółowych platformy (ang. Platform-Specific Models - PSM) oraz kompletów definicji interfejsów.

MoReCOTS

klasyczne narzędzia wspomagane technologią Webową

Stanowi prototyp wyspecjalizowanego aparatu wyszukiwania dla COTS sprzedawanych w sieci. Opiera się na metawyszukiwaniu online wyspecjalizowanych baz danych utrzymywanych przez pięciu wydawców skatalogowanych COTS. MoReCOTS jest oparty na taksonomii składników dostępnych w skatalogowanych produktach COTS. Dostarcza on uszczegółowienia obejmującego listę kategorii COTS i wyspecjalizowany interfejs wyszukiwania wraz z określonymi zakresami wyszukiwania powiązanymi z charakterystykami COTS.

Sema-SC (Semantic techniki semantyczne Jest zautomatyzowaną metodą dla potrzeb identyfikacji składników oraz ich

56

Component Selection) klasyfikacji w oparciu o rodzajową dziedzinę taksonomii i wygenerowane semantyczne dane wejściowe użytkownika. Każde zapytanie jest semantycznie dopasowywane do tego, co ma być wyszukane, a osiągnięcie lepszych wyników jest możliwe wykorzystując dostępny zautomatyzowany system kategoryzacji. Uwzględnia on także informacje zawarte w dostępnych, powiązanych portalach COTS.

Semantic-Based

Technique techniki semantyczne

Aplikacja ta rozwijana jest w celu ulepszenia wyszukiwania oraz przechowywania składników oprogramowania w dużych repozytoriach i na stornach WWW. Działanie systemu opiera się na zasadzie zadawania pytań przez użytkownika w języku naturalnym. Technologia przetwarzania języka naturalnego analizuje które z pytań zadawanych przez użytkownika oparte są na powiązaniach semantycznych. Zapytanie kolejno przekształcane jest na grafy pojęciowe.

CompoNex – Browsing podejścia zorientowane celowo

Podejście to powstało w wyniku analizy dojrzałości rynku powielarnych składników oprogramowania. Wynik tych badań odzwierciedlał znaczenie uproszczenia wymiany składników pomiędzy sprzedającymi a kupującymi.

Istotę podejścia stanowi paradygmat, że zamiast określania cech i wymagań oraz wyboru składników powielarnych stosuje się proces ich wcześniejszego testowania. ponownego zastosowania w różnych procesach wyboru i integracji poszczególnych składników. Główne poziomy stanowią: Goal Analysis dotycząca wyszukiwania dostępnych źródeł informacji, po niej następuje rozmieszczenie i klasyfikacja celów, Goal Refinement (udoskonalanie celów) dotycząca rozwoju celów od momentu pierwszej ich identyfikacji, aż do momentu, w którym są one przekładane na wymagania. Wynikiem zastosowania GBTCM jest nie tylko systematyka COTS ale także zestaw informacji i wiedzy (repozytorium). GBTCM prowadzi do gromadzenia, zarządzania i uogólniania informacji powiązanych z dziedziną (np. istniejące systematyki, dostępne standardy na rynku i sprzedawcy).

GBRAM (Goal-Based Requirements Analysis

Method)

podejścia zorientowane celowo

GBRAM ma za zadanie ułatwienie procesu budowy systematyki składników COTS. Metoda ta dostarcza framework do analizowania źródeł informacji i modelowania wymagań, analizuje rozmieszczenie wiedzy w każdym z segmentów rynku COTS.

GOThIC stanowi samodzielną systematykę umożliwiającą współdziałanie z oprogramowaniem COTS. Podejście to umożliwia także reusing infrastruktury dla poszukiwania i wyboru składników oprogramowania.

EKD podejścia

zorientowane celowo

Zadaniem EKD jest dostarczenie możliwości zarządzania zmianami w organizacji. EKD może być zastosowane w wielu przypadkach. Metoda ta jest zbudowana na bazie grafów oznaczonych (zamiarów i strategii - określanych jako mapa drogi).

SIBYL podejścia

zorientowane celowo

SIBYL stanowi system oparty na wiedzy i składa się z trzech elementów:

języka DRL, zestawu usług dostarczających jakościowe wspomaganie decyzji oraz interfejsu użytkownika ułatwiającego korzystanie z DRL. System ten wspomaga grupowe podejmowanie decyzji przez przedstawienie i zarządzanie jakościowymi aspektami procesu podejmowania decyzji (np.

wybór możliwości, zadowalające cele, argumenty oceniające wybór możliwości z uwzględnieniem tych celów). Język DRL (ang. Decision Representation Language) wykorzystywany przez SIBYL służy do reprezentowania wskazanych jakościowych aspektów procesu.

Cognitive Tasks Analysis podejścia zorientowane celowo

CTA jest rozszerzeniem tradycyjnych technik analizy zadań. Jego zadaniem jest dostarczanie informacji dotyczących wiedzy, procesów i celu. CTA używa wywiadów i strategii obserwacji, aby uchwycić opis wiedzy, którą używają eksperci do przekształcenia złożonych zadań.

Strategic Dependency Model (SDM)

podejścia zorientowane celowo

Zadaniem modelu SDM jest wydobycie struktury procesu. W szczególności w SDM dostarczany jest opis procesu pod względem sieci zależnych powiązań występujących pomiędzy aktorami. Model taki może pomóc w identyfikacji współudziałowców, analizie możliwości oraz wrażliwości oraz także rozpoznać wzorce powiązań. W modelu SDM zależne wewnętrzne cele oraz oczekiwania nie są bezpośrednio modelowane.

Źródło: Opracowanie własne na podstawie234.

234 Aguirre J., IPSComp: Intelligent Portal for Searching Components; Vrije Universiteit Brussel – Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes – France 2005; Ayala C., Franch X., A Goal-Oriented Strategy for Supporting Commercial Off-The- Shelf Components Selection, In Proceedings of the 9th International Conference on Software Reuse (ICSR), Torino, Italy, Lecture Notes in Computer Science, Vol. 4039 (2006), June 2006, ss. 1-15; Morera D., COTS Evaluation Using Desmet Methodology & Analytic Hierarchy Process, PROFES 2002; Bourlard H., Konig Y., and Morgan N., REMAP: Recursive Estimation and Maximization of a Posteriori Probabilities Application to Transition-Based Connectionist Speech Recognition, International Computer Science Institute (ICSI), Berkeley, California EECS Department, University of California, Berkeley, California TR-94-064, March 1995; Briand L. C., Differing C., Rombach H. D., Practical Guidelines for Measurement-Based Process Improvement, Software Process, Improvement and Practice, Nr 4, 1996; Canfora G. and Troiano L., The Importance of Dealing with Uncertainty in the

57 Przeprowadzone studia literaturowe potwierdzają ważność problematyki doboru powielarnych składników oprogramowania. Dokonana identyfikacja i analiza dostępnych narzędzi, jak również ich klasyfikacja, pozwoliła wskazać podstawy metodyczne i podłoże technologiczne poszczególnych rozwiązań, czym jednocześnie zdeterminowano obszary ich praktycznego wykorzystania.