• Nie Znaleziono Wyników

Zawartość merytoryczna

W dokumencie Rozbudowa systemu KTDA (Stron 8-0)

1. Wstęp

1.3.  Zawartość merytoryczna

Wstęp   stanowi   pierwszy   rodział   niniejszej   pracy.   Znajduje   się w nim krótka przedmowa, wprowadzenie do tematu oraz lapidarny opis zawartości merytorycznej dokumentu.

Rozdział drugi jest wprowadzeniem do dziedziny problemu. Zostały w nim   opisane   wyłaniające   wzorce   jako   narzędzie   eksploracji   danych umożliwiające   reprezentację   wieloatrybutowych   kontrastów   pomiędzy dwoma zbiorami obiektów. Ponadto zaprezentowany został proces jakim jest   analiza   wiarygodności   danych   oraz   przedstawiono   definicję współczynnika wiarygodności.

Rozdział   trzeci   w   zwięzły   sposób   przedstawia   możliwości istniejącego systemu. Wszystkie dostępne funkcje zostały podzielone na kategorie ze względu na część systemu, której dotyczą oraz zestawione w postaci listy.

Rozdział   czwarty   zawiera   specyfikację   wymagań.

Zademonstrowano   w   nim   wymagania   stawiane   rozbudowanemu systemowi. Zgodnie z metodyką inżynierii oprogramowania wymagania podzielono na funkcjonalne i niefunkcjonalne.

W   rozdziale   piątym   została   szczegółowo   opisana   architektura systemu   KTDA,   pierwotnie   zaproponowana   przez   twórcę.   Następnie zawarto   przekrojowy   zarys   architektury   trójwarstwowej   w   kontekście

zalet, które oferuje aplikacjom projektowanym zgodnie z tą koncepcją.

Rozdział   kończy   się   sprawozdaniem   obejmującym   swą   treścią   wykaz zmian   wprowadzonych   przez   autora,   w   celu   przybliżenia   wyjściowej struktury   programu   do   postulowanej   przez   powszechnie   stosowany wzorzec architektoniczny MVC.

Rozdział   szósty   w   całości   traktuje   o   wyzwaniach,   z   którymi zmierzył się autor podczas rozbudowy istniejącego systemu. Wymieniono w   nim   podjęte   decyzje   na   temat   sposobu   rozwiązania   problemów poruszanych   w   tej   pracy   oraz   szczegóły   implementacji   dodatkowych funkcji programu.

Rozdział   siódmy   został   poświęcony   ogólnemu   przeglądowi technologii   i   narzędzi   użytych   podczas   projektowania   i   implementacji zmodernizowanego   systemu.   Charakterystyki   poszczególnych   pozycji obejmują   również   motywację   towarzyszącą   autorowi   podczas   wyboru każdej z nich.

W   rozdziale   ósmym   zilustrowano   przykłady   użycia   systemu.

Niniejsza sekcja może posłużyć jako swoisty podręcznik użytkownika.

Rozdział   dziewiąty   stanowi   spójne   podsumowanie   zrealizowanej pracy.

W rozdziale tym znajduje się wprowadzenie do wiedzy dziedzinowej z zakresu   eksploracji   danych   oraz   procesu   analizy   wiarygodności danych. W kolejnych podrozdziałach znajdują się definicje i przykłady takich pojęć jak:

 wyłaniające wzorce;

 analiza wiarygodności danych;

 współczynnik wiarygodności.

Ponadto rozdział  został uzupełniony  o  opisy najpopularniejszych metod   wyznaczania   współczynników   wiarygodności,   popartych odpowiednimi i prostymi przykładami.

2.1. Wyłaniające wzorce

Pojęcie   wyłaniających   wzorców   (ang.   emerging   patterns)   zostało przedstawione   w   pracy   [6].   Za   jego   pomocą   można   określić   kontrast pomiędzy dwoma zbiorami obiektów. Te cechy, którymi odznaczają się obiekty   jednego   z   tych   zbiorów   znacznie   częściej   niż   drugiego,   są nazywane wyłaniającym wzorcem. 

Zważając   na   fakt,   że   w   większości   zbiorów   danych   liczba wyłaniających   wzorców   jest   ogromna,   w   pracy   [6]   skupiono   się   na odkrywaniu   tylko   tych,   których  współczynnik   wzrostu  jest   wyższy   od pewnego progu liczbowego.

2.1.1. Wsparcie wzorca

Wsparcie   (ang.   support)   wzorca     w  systemie   informacyjnym   definiuje się jako:

gdzie     oznacza   liczbę   obiektów   ze   zbioru     pasujących   do wzorca   ,  natomiast     to  liczność zbioru   .  Innymi słowy wsparcie wzorca   to częstość występowania pasujących do niego obiektów.

2.1.2. Współczynnik wzrostu wzorca

Niech     będzie   uporządkowaną   parą   systemów informacyjnych opisywanych za pomocą tego samego zbioru atrybutów.

Współczynnik wzrostu wzorca   z   do   definiuje się jako:

Przykład   2.1.  Poniżej   przedstawiono   dwa   wyłaniające   wzorce odkryte w zbiorze danych grzybów z repozytorium UCI [7] i opublikowane w pracy [6]:

X = {zapach=żaden, rozmiar blaszek=szerokie, liczba pierścieni=1}

Y = {sinieje=nie, rozmieszczenie blaszek=ścisłe, kolor osłony=biały}

wzorzec wsparcie w kat. wyłącznie wśród  grzybów  jadalnych, natomiast wzorzec     jest o wiele bardziej charakterystyczny dla grzybów trujących. Współczynnik wzrostu określa ile razy częściej wyłaniający wzorzec występuje w kategorii, do której należy.

2.2. Analiza wiarygodności danych

Analiza wiarygodności danych jest procesem, w którym szacuje się wiarygodność   poszczególnych   obiektów   badanego   zbioru   danych.   Jej celem jest wykrycie tych rekordów, których wiarygodność jest wątpliwa.

W  efekcie  zidentyfikowane  obiekty mogą  być  pozostawione  bez  zmian, poprawione bądź usunięte ze zbioru danych.

Do przeprowadzenia analizy wiarygodności danych wymagana jest znajomość   dziedziny   problemu.   Warunek   ten   spełnia   ekspert   z   danej dziedziny. Może on wykonać to zadanie samodzielnie, natomiast nie jest to   rozwiązanie   automatyczne.   Inną   możliwością   jest   implementacja systemu wykorzystującego uprzednio spisaną wiedzę eksperta. Niestety to rozwiązanie również nie jest doskonałe z uwagi na fakt, iż właściwa reprezentacja   wiedzy   eksperckiej   w   systemie   komputerowym   jest problemem samym w sobie.

Do   wykonania   w   pełni   automatycznej   analizy   wiarygodności potrzeba narzędzia, które "pozna" dziedzinę na podstawie dostarczonych przypadków, a w kolejnym kroku wskaże te elementy, które mogą być niepoprawne. Podejście to zakłada, że w analizowanym zbiorze danych przeważają   rekordy   poprawne.   Wynikiem   tej   metody   jest   ocena wiarygodności dla każdego obiektu z badanego systemu informacyjnego.

Niewątpliwą   zaletą   takiego   rozwiązania   jest   jego   uniwersalność, co pozwala na szerokie zastosowanie narzędzia, niezależnie od dziedziny.

W   pracy   [1]   autor   wyjaśnia,   że   niemożliwym   jest,   aby   ocena wiarygodności uzyskana w wyniku działania tak opisanego systemu (tj.

bez   wsparcia   wiedzy   eksperta),   była   oceną   bezwzględną.   W   tym   celu wprowadza   się   współczynnik   wiarygodności,   pozwalający   uszeregować obiekty zgodnie z rosnącą oszacowaną wiarygodnością.

2.3. Współczynnik wiarygodności

Współczynnik   wiarygodności   (ang.   credibility   coefficient)   określa się   jako   liczbę   rzeczywistą   z   przedziału   [0,   1],   gdzie   0   oznacza najmniejszą,   natomiast   1   największą   możliwą   do   uzyskania   ocenę wiarygodności.   Tym   samym   im   bliższa   jedności   jest   wartość współczynnika wiarygodności dla danego obiektu, tym wyżej ocenia się jego   wiarygodność.   Jest   to   ocena   względna,   związana   z   kontekstem całego   zbioru   danych.   Dowolna   modyfikacja   tego   zbioru,   z   wysokim prawdopodobieństwem   doprowadzi  do   zmiany   wartości   współczynnika.

Istnieje   szereg   metod   wyznaczania   współczynników   wiarygodności.

Należy   przy   tym   pamiętać,   że   współczynniki   wyznaczane   różnymi metodami   są   między   sobą   nieporównywalne.   Nie   istnieje   ogólna interpretacja   współczynnika,   tj.   nie   można   traktować   wartości współczynnika   jako   prawdopodobieństwa   tego,   czy   dany   obiekt   jest wiarygodny   czy   też   nie.   Poza   zakresem   wartości   na   współczynnik wiarygodności nie nakłada się żadnych warunków.

Poniżej   zaprezentowano   podstawowe   metody   wykorzystywane podczas   wyznaczania   współczynników   wiarygodności.   Do   tego   celu posłużono   się   przykładowym   systemem   decyzyjnym   z   atrybutem decyzyjnym Grypa zaczerpniętym z pracy [2]:

Pacjent Ból głowy Ból mięśni Temperatura Grypa (kat.)

1 nie tak wysoka tak

2 tak nie wysoka tak

3 tak tak b. wysoka tak

4 nie tak b. wysoka tak

5 tak nie wysoka nie

6 nie tak normalna nie

Tabela 2.2. Przykładowy system decyzyjny.

2.3.1. Metoda statystyczno-częstotliwościowa

W   metodzie   statystyczno­częstotliwościowej   zaproponowanej w pracy   [2]   wyznaczenie   współczynnika   wiarygodności   polega   na zliczeniu obiektów należących do tej samej klasy decyzyjnej co badany obiekt. Współczynnik jest tym większy, im więcej obiektów posiada te same   wartości   poszczególnych   atrybutów,   co   aktualnie   rozpatrywany obiekt.

Przykład 2.2. Wyznaczmy współczynnik wiarygodności dla obiektu 1 z tabeli 2.2:

Należy uwzględnić obiekty należące do tej samej kategorii (”Grypa

= tak”), co obiekt 1. Są 3 takie obiekty: 2, 3 i 4.

W   następnym   kroku   procedury   rozważamy   po   kolei   wszystkie pozostałe   atrybuty   znalezionych   rekordów,   porównując   ich   wartości z obiektem, dla którego chcemy wyznaczyć współczynnik wiarygodności.

W ten sposób:

1. Dla atrybutu ”Ból głowy”:

1 spośród 3 rozważanych obiektów ma wartość atrybutu zgodną z obiektem 1. Licznik zwiększamy o   .

2. Dla atrybutu ”Ból mięśni”:

2 spośród 3 rozważanych obiektów mają wartość atrybutu zgodną z obiektem 1. Licznik zwiększamy o   .

3. Dla atrybutu ”Temperatura”:

1 spośród 3 rozważanych obiektów ma wartość atrybutu zgodną z obiektem 1. Licznik zwiększamy o   .

Ostatecznie wartość licznika należy podzielić przez ilość atrybutów:

Wartość   współczynnika   wiarygodności   dla   obiektu   1   z   systemu decyzyjnego   z   tabeli   2.2   wyznaczonego   metodą   statystyczno­

częstotliwościową wynosi 0,44.

Zaprezentowana  metoda  cechuje   się   prostotą,   a  co   za  tym  idzie niską   złożonością   obliczeniową.   Znajduje   zastosowanie   jedynie   dla atrybutów   dyskretnych,   natomiast   nie   stawia   wymogu   na  wyróżnienie kategorii w badanym zbiorze danych.

2.3.2. Metoda oparta na przybliżeniach klas decyzyjnych

Metoda oparta na przybliżeniach klas decyzyjnych bazuje na teorii zbiorów   przybliżonych.   Dokładny   opis   pojęć   wykorzystywanych   w   tej teorii   znajduje   się   w   pracach   [4]   i   [5].   W   szczególności   użyte   zostaną pojęcia obiektu konfliktowego i obiektu niekonfliktowego względem danej kategorii   oraz  obszaru   pozytywnego  i  obszaru   negatywnego  zbioru przybliżonego obiektów tej kategorii.

Algorytm   opiera   się   na   założeniu,   że   obiekty   niekonfliktowe powinny   wyróżniać   się   wyższymi   wartościami   współczynnika

wiarygodności   niż   obiekty   konfliktowe.   Należy   rozważyć   wszystkie wyróżnione   kategorie   w   kontekście   analizowanego   obiektu.   Kategoria, względem   której   obiekt   jest   niekonfliktowy,   zwiększa   licznik   dla   tego obiektu   o   1.   W   przeciwnym   wypadku   licznik   zostaje   zwiększony o wartość   wyliczoną   w   podobny   sposób   jak   w   metodzie   statystyczno­

częstotliwościowej,   jednak   uwzględniając   przy   tym   obszary   pozytywne i negatywne   danej   klasy   decyzyjnej,   w   odróżnieniu   od   przynależności obiektów do tej samej kategorii co badany obiekt.

Przykład 2.3.  Zbiór przybliżony kategorii  (”Grypa = tak”)  tworzą obiekty {1, 2, 3, 4}.  Brzegiem  tego zbioru są obiekty 2, 5, ponieważ są między sobą nierozróżnialne względem dostępnych atrybutów warunków oraz należą do innych klas decyzyjnych.

Wyznaczmy współczynnik wiarygodności dla obiektu 2 z tabeli 2.2:

1. Dla kategorii (”Grypa = tak”):

Obiekt   2   jest   konfliktowy   i   należy   do   kategorii,   wobec   tego   do obliczeń   wykorzystujemy  obszar   pozytywny  (obiekty   {1,   3,   4}) analizowanej kategorii. Licznik zwiększamy o:

2. Dla kategorii (”Grypa = nie”):

Obiekt 2 jest konfliktowy i nie należy do kategorii, wobec tego do obliczeń   wykorzystujemy  obszar   negatywny  (obiekty   {1,   3,   4}) analizowanej kategorii. Licznik zwiększamy o:

Ostatecznie   należy   dokonać   normalizacji,   tj.   podzielić   wartość tymczasowego licznika przez ilość rozróżnianych kategorii:

Wartość   współczynnika   wiarygodności   dla   obiektu   2   z   systemu decyzyjnego z tabeli 2.2 wyznaczonego metodą opartą na przybliżeniach klas decyzyjnych wynosi 0,22.

Łatwo   zauważyć,   że   przedstawiona   metoda   ma   sens   jedynie w przypadku analizy zbioru danych, w którym występuje więcej niż jedna kategoria.   W   przeciwnym   razie   wyznaczenie   współczynników wiarygodności nie prowadzi do uzyskania  żadnej wiedzy. Podobnie jak poprzednio,   metoda   daje   się   zastosować   wyłącznie   do   atrybutów dyskretnych.

2.3.3. Metoda zbiorów częstych

Metoda   zbiorów   częstych   jest   pierwszą   metodą   wyznaczania współczynników  wiarygodności   wykorzystującą   w  pełni  takie  dziedziny wiedzy   jak   eksploracja   danych   i   odkrywanie   wiedzy.   Została   ona dokładnie opisana w pracy [3].

Wartość   wyznaczonego   tą   metodą   współczynnika   wiarygodności jest powiększana przez każdy wzorzec, do którego pasuje dany obiekt.

Czynnik   przynależności   podzielony   przez   jego   długość   wynosi   .

Zwiększamy współczynnik badanego obiektu o tę wartość.

2. Dla wzorca "Temperatura = wysoka":

Czynnik   przynależności   podzielony   przez   jego   długość   wynosi   . Zwiększamy współczynnik badanego obiektu o tę wartość.

Następnie   należy   przeskalować   wartość   współczynnika wiarygodności   przez   liczbę   wszystkich   pasujących   wzorców   do   danego obiektu: 

Ostatnim   krokiem   procedury   jest   podzielenie   wartości współczynnika przez wartość największego wyznaczonego współczynnika wiarygodności,  dla  któregoś   z  obiektów  z  rozważanego   zbioru  danych.

Załóżmy, że ta wartość to 0,9: 

Ostatecznie,   przy   przyjętych   założeniach,   wartość   współczynnika wiarygodności   dla   obiektu   2   z   systemu   decyzyjnego   z   tabeli   2.2 wyznaczonego metodą zbiorów częstych wynosi 0,79.

Opisana   metoda   zbiorów   częstych   bezpośrednio   nie   nakłada ograniczeń na typ atrybutów. Warto jednak zwrócić uwagę na fakt, iż wartości wyznaczonych współczynników ściśle zależą od postaci kolekcji zbiorów częstych, którą to trzeba określić przed zastosowaniem metody.

2.3.4. Metoda reguł decyzyjnych

W metodzie reguł decyzyjnych również wykorzystuje się wcześniej zdobytą wiedzę na temat analizowanego zbioru danych. Reprezentacją tej wiedzy jest kolekcja tzw. reguł decyzyjnych. Reguła decyzyjna składa się z poprzednika (wzorca) oraz następnika (decyzji) reguły.

Przykład 2.5. Przeanalizujmy przykładową regułę decyzyjną:

”Temperatura = b. wysoka”   ”Grypa = tak”⇒

Takie stwierdzenie można interpretować jako przekonanie, że jeśli dany   obiekt   pasuje   do   wzorca   występującego   w   poprzedniku   (tutaj:

obecność bardzo wysokiej temperatury) to również słuszna jest dla niego obiektu   obniżać   współczynnik   wiarygodności   o   wartość   średniego zaufania niezgodnych z nim reguł. Wartość współczynnika dla obiektów

a)   ”Temperatura = b. wysoka”   ”Grypa = tak”⇒ 100%

b)   ”Ból mięśni = tak”   ”Grypa = tak”⇒ 75%

c)   ”Ból głowy = nie”   ”Grypa = nie”⇒ 33%

Tabela 2.3. Przykładowe reguły decyzyjne.

Algorytm   rozpoczynamy   od   poszukiwania   reguł   takich,   że poprzednik   pasuje   do   badanego   obiektu,   natomiast   jej   następnik   jest z nim niezgodny:

1. Reguła a):

Poprzednik   reguły   nie   pasuje   do   analizowanego   obiektu

­ pomijamy.

2. Reguła b):

Poprzednik   reguły   pasuje   do   analizowanego   obiektu,   ale   jej następnik jest zgodny z obiektem ­ pomijamy.

3. Reguła c):

Poprzednik reguły pasuje do analizowanego obiektu i jej następnik jest zgodny z obiektem. Zwiększamy licznik reguł o 1, a do sumatora dodajemy zaufanie znalezionej reguły  .

W   momencie,   gdy   wyczerpaliśmy   zbiór   reguł   obliczamy   średnie zaufanie reguł, dla których obiekt pasuje do wzorca, ale jest niezgodny z decyzją     Ostatecznie   wartość   współczynnika   wiarygodności   dla obiektu 1 z systemu decyzyjnego z tabeli 2.2 wyznaczamy jako:

System   KTDA   jest   narzędziem   do   przeprowadzania   analizy wiarygodności   danych   opartej   na   wyłaniających   wzorcach.   Przy   jego pomocy możliwym staje się wygenerowanie syntetycznego zbioru danych, a   następnie   odkrywanie   wyłaniających   wzorców.   Tak   wykreowane wyłaniające   wzorce   mogą   w   dalszym   ciągu   posłużyć   do   klasyfikacji danych na ich podstawie.

W   bieżącym   rodziale   przedstawiono   kompleksowy   spis   funkcji programu,   zaimplementowanych   przez   pierwszego   autora   systemu.

Kolejne   podrozdziały   dzielą   dostępne   funkcje   na   spójne   jednostki tematyczne.

3.1. Zbiór danych

W podrozdziale znajduje się lista dostępnych operacji dotyczących zbioru danych:

 wygenerowanie syntetycznego zbioru danych;

 wczytanie zbioru danych z pliku. Dostępne formaty tekstowe:

 ARFF,

 DATA,

 CSV (ang. comma separated value),

 TAB;

 przeglądanie   zbioru   danych   wraz   z   histogramami ilustrującymi rozkład wartości poszczególnych atrybutów;

 zapis zbioru danych do pliku w formacie ARFF.

3.2. System decyzyjny

W podrozdziale znajduje się lista dostępnych operacji dotyczących systemu decyzyjnego:

 definiowanie   systemu   decyzyjnego   poprzez   wskazanie atrybutu decyzyjnego z wybranego zbioru danych;

 dodanie   do   wskazanego   systemu   decyzyjnego wygenerowanych w sposób pseudolosowy fałszywych obiektów o zadanych parametrach;

 przeprowadzenie   doświadczenia   z   wykrywaniem   dodanych, fałszywych obiektów;

 zapis zbioru danych do pliku w formacie ARFF.

3.3. Wyłaniające wzorce

W podrozdziale znajduje się lista dostępnych operacji dotyczących wyłaniających wzorców:

 odkrywanie   wyłaniających   wzorców   z   wybranego   systemu decyzyjnego jedną z dwóch dostępnych metod:

 metoda z użyciem maksymalnych częstych zbiorów,

 metoda z użyciem drzewa decyzyjnego;

 przeglądanie   odkrytych   wyłaniających   wzorców   wraz   z   ich parametrami;

 przeprowadzenie klasyfikacji za pomocą algorytmu CAEP;

 przeglądanie wyniku klasyfikacji.

3.5. Współczynniki wiarygodności

W podrozdziale znajduje się lista dostępnych operacji dotyczących współczynników wiarygodności:

 wyznaczenie współczynników wiarygodności;

 przeglądanie   wyznaczonych   współczynników   wiarygodności w jednym z dwóch trybów:

 z   zaznaczonymi   obiektami,   których   współczynnik wiarygodności jest mniejszy lub równy od pewnej zadanej wartości,

 z   zaznaczonymi   obiektami   o   najmniejszych współczynnikach wiarygodności.

Niniejszy   rozdział   przedstawia   wymagania   stawiane rozbudowanemu  systemowi.   Zostały  one   podzielone   na  dwie   kategorie (wymagania funkcjonalne i niefunkcjonalne), tj. w sposób standardowy w przypadku realizacji projektów informatycznych.

4.1. Aktorzy systemu.

W rolę aktora systemu może wcielić się pracownik naukowy bądź student   chcący   przeprowadzić   badania   z   zakresu   eksploracji   danych i analizy   wiarygodności   danych.   Oprogramowanie   dostarcza użytkownikowi   szereg   przydatnych   funkcji   umożliwiających wygenerowanie zbioru danych, a następnie wykonanie na nim licznych eksperymentów i symulacji.

4.2. Wymagania funkcjonalne

Podrozdział   ten   zawiera   zbiór   wymagań   funkcjonalnych,   które powinien spełniać rozbudowany system KTDA. Każda z pozycji została opatrzona zwięzłym opisem i odpowiadającym jej przypadkiem użycia.

1. Zapis odkrytych wyłaniających wzorców.

System   umożliwia   zapis   odkrytych   wyłaniających   wzorców w formacie   ARFF.   Poprzednia   wersja   programu   udostępniała   jedynie zapis w formie raportu tekstowego, lecz była to postać nie nadająca się do wtórnego przetwarzania.

Przypadek użycia 4.1.  Zapis odkrytych wyłaniających wzorców.

6. System   wyświetla   okno   dialogowe   "Konfiguracja   algorytmu"

w zależności od wybranej metody.

Przypadek   użycia   4.2.  Wczytanie   uprzednio   odkrytych wyłaniających wzorców. Zakładamy, że system decyzyjny jest dany.

Scenariusz alternatywny:

1­3. Jak w scenariuszu głównym.

4. Jeżeli format pliku jest niepoprawny to system wyświetla stosowny  komunikat.

5. Powrót do głównego okna programu.

3. Możliwość   manualnego   wyboru   wyłaniających   wzorców użytych w dalszym procesie analizy.

Po   etapie   odkrywania   wyłaniających   wzorców   użytkownik   ma możliwość   wyboru,   które   spośród   nich   zostaną   użyte   w   kolejnej   fazie analizy   wiarygodności   danych.   Interakcja   z   systemem   odbywa   się poprzez   okno   dialogowe,   wypełnione   polami   wyboru   reprezentującymi odkryte   wzorce.   Poprzednia   wersja   programu   nie   przewidywała   takiej elastyczności. Domyślnie wszystkie pola są zaznaczone.

Przypadek   użycia   4.3.  Wybór   wyłaniających   wzorców   użytych w dalszym procesie analizy. Zakładamy, że system decyzyjny jest dany.

Scenariusz główny:

1. Użytkownik wybiera opcję "Odkryj wyłaniające wzorce".

2. System   wyświetla   okno   dialogowe   "Konfiguracja   algorytmu"

w zależności od wybranej metody.

3. Użytkownik wprowadza parametry metody.

4. System tworzy obiekt "Wyłaniające wzorce".

5. Użytkownik wybiera opcję "Utwórz klasyfikator CAEP opierając się na wybranych wzorcach".

6. System   wyświetla   okno   dialogowe   "Wybór   wyłaniających   wzorców użytych do utworzenia klasyfikatora CAEP".

7. Użytkownik   wybiera   wyłaniające   wzorce   poprzez   zaznaczenie korespondujących im pól wyboru.

8. Klasyfikator CAEP zostaje utworzony.

4.3. Wymagania niefunkcjonalne

W   podrozdziale   wyszczególniono   wymagania   niefunkcjonalne sformułowane dla opracowywanego oprogramowania.

1. Kompatybilność.

Konwencje   architektoniczne,   nazewnicze   oraz   sposób formatowania   kodu   źródłowego   powinny   być   zachowane   w   zgodzie z regułami przyjętymi podczas powstawania systemu.

2. Przenośność.

Program   powinien   dać   się   skompilować   na   większości współczesnych platform sprzętowo­systemowych. Wymaganym minimum są komputery działające pod kontrolą systemów operacyjnych Linux oraz Windows.

3. Łatwość użycia.

Aplikacja   powinna   udostępniać   prosty   i   intuicyjny   interfejs użytkownika,   umożliwiający   szybkie   i   wygodne   korzystanie   z   funkcji programu.

4. Technologia.

Rozszerzenia   programu   powinny   być   przygotowane z wykorzystaniem   dostępnych,   darmowych   rozwiązań   informatycznych.

Ponadto zaleca się użycie jak największej liczby technologii wybranych podczas implementacji pierwotnej wersji systemu.

W   tej   części   pracy   scharakteryzowana   została   architektura systemu KTDA. Znajduje się tutaj opis pierwotnego sposobu organizacji kodu   źródłowego   oraz   analiza   przyjętego   rozwiązania.   Następnie w rozdziale   zawarto   esencjonalny   portret   architektury   trójwarstwowej, skupiający się na zaletach takiej kompozycji. Ostatni fragment rozdziału stanowi raport z przeprowadzonej reorganizacji struktury programu.

5.1. Początkowa struktura programu

System KTDA w założeniu został skonstruowany z dwóch warstw:

algorytmicznej   oraz   warstwy   składającej   się   na   interfejs   użytkownika.

Interfejs korzysta z warstwy algorytmicznej udostępniając w ten sposób użytkownikowi zaimplementowane funkcje.

Sama   wartswa   algorytmiczna   została   podzielona   na   pakiety zawierające   moduły   programu   o   zbieżnym   zastosowaniu.   Wspomniane pakiety aplikacji to: jak   i   rzeczywiste   wartości   atrybutów.   Opisywany   moduł   jest   także odpowiedzialny za obsługę odczytu i zapisu plików różnych formatów.

2. Pakiet "ep".

Pakiet  ep  został skonstruowany w celu przechowywania  modelu wyłaniających wzorców oraz metod ich przetwarzania. Znajdują się tutaj implementacje   algorytmów   odkrywania   wyłaniających   wzorców   oraz klasyfikacji za ich pomocą.

3. Pakiet "cred".

Kolejnym   pakietem   jest   pakiet  cred.   Mieści   się   w   nim   moduł związany   z   analizą   wiarygodności.   Umieszczono   tu   algorytmy wyznaczania   współczynników   wiarygodności.   Ponadto zaimplementowano tu również generatory syntetycznych zbiorów danych używanych podczas doświadczeń z analizą wiarygodności danych.

4. Pakiet "other".

Ostatnim   z   pakietów   jest   pakiet  other.   Znalazły   w   nim   swoje miejsce   moduły   niezwiązane   bezpośrednio   z   wcześniej   wymienionymi pojęciami. Występują tu natomiast deklaracje metod wykorzystywanych przez   pozostałe   pakiety.   Do   opracowanych   modułów   m.in.   należą:

generator   punktów   o   wielowymiarowym   rozkładzie   normalnym, dodatkowe   funkcje   obsługi   macierzy   czy   moduł   zaawansowanego zarządzania pamięcią.

O   ile   taka   organizacja   kodu   źródłowego   wydaje   się   przejrzysta i zrozumiała,   to   po   głębszej   analizie   udaje   się   dostrzec   jej niedoskonałości.   Przede   wszystkim   brak   wyraźnej   separacji   pomiędzy składowaniem   danych,   a   ich   przetwarzaniem.   Dodatkowo,   wyżej wspomniana warstwa interfejsu użytkownika również nie jest niezależną całością i w wielu miejscach przenika się z innymi wartstwami systemu.

Ostatnim   niedociągnięciem   jest   występowanie   w   kodzie   źródłowym plików niepowiązanych z żadnym z zaprojektowanych pakietów.

W   dalszej   części   rozdziału   ukazano,   jakimi   środkami   poradzono sobie ze wspomnianymi trudnościami oraz co było istotą refaktoryzacji.

5.2. Architektura trójwarstwowa

Architektura trójwarstwowa jest wzorcem architektonicznym typu

Architektura trójwarstwowa jest wzorcem architektonicznym typu

W dokumencie Rozbudowa systemu KTDA (Stron 8-0)

Powiązane dokumenty