Zasadę działania aplikacji w postaci poszczególnych elementów systemu i powiązań między nimi przedstawiono na rysunku poniżej:

 

Elementy systemu OLSA i ich powiązania

Moduł komunikacji z bazą danych

Moduł komunikacji z bazą danych wykorzystuje do tego celu darmową bibliotekę MySQL Connector/Java, udostępnioną przez twórców darmowej bazy danych MySQL. Dzięki temu istnieje możliwość wczytywania do OLSA System danych wejściowych umieszczonych przez system GoalProject w bazie danych: plików ze zdefiniowanymi problemami (ISF) i z regułami (RLS) do odpowiednich struktur w aplikacji. Należy zaznaczyć, że aplikacja i baza danych mogą znajdować się zarówno na jednym komputerze jak i w różnych częściach świata. Biorąc to pod uwagę, a także podobną zasadę, jeśli chodzi o GoalProject daje to możliwość bardzo dużego rozproszenia działania wszystkich elementów i dokonywanych obliczeń oraz analiz.

Schemat tabel w bazie danych zależny jest od systemu GoalProject, dlatego nie uległ zmianom, a dostosowany do niego został system OLSA. Aby ułatwić i uprościć zarządzanie danymi struktury do ich przechowywania w Javie swoim „wyglądem”, możliwościami i udostępnionymi funkcjami odpowiadają tym z GoalProject (funkcjonalność funkcji jest praktycznie identyczna łącznie z nazwami). Jedynie na potrzeby OLSA System struktury zostały dodatkowo rozszerzone o pewne nowe funkcje.

Moduły do prezentacji atrybutów i przykładów

Wczytywany problem (plik ISF) to zbiór przykładów – obiektów opisanych atrybutami, z których jeden stanowi atrybut decyzyjny. W aplikacji są dostępne moduły umożliwiające wyświetlenie tego problemu w przejrzystej i czytelnej postaci – tabelach z odpowiednimi danymi. Należy wspomnieć, że istnieje możliwość wgrania dwóch plików z przykładami: jeden z nich jest bazowy a drugi dodatkowy (może być ten sam), wykorzystywany/wymagany przez metodę badania oczekiwanej efektywności zastosowania strategii interwencji wywiedzionej z reguł. Jak wynika z powyższego rysunku dla obu przypadków są dostępne podobne opcje w programie.

Moduł do prezentacji atrybutów przedstawia ich charakterystykę: nazwę atrybutu, kierunek preferencji, typ i możliwe wartości jakie przyjmuje, czy jest opisowy oraz czy jest to atrybut decyzyjny. Dodatkowo w prosty sposób można wskazać, który z atrybutów ma być decyzyjnym.

Właściwe dane w obu przypadkach plików wyświetlane są w postaci prostej tablicy decyzyjnej, w której wiersze to przykłady, a kolumny to kryteria ocen (atrybuty). Wskazując konkretny przykład (dla pliku bazowego) można rozpocząć jego analizę metodą szukania strategii interwencji. Wykorzystanie bazy MySQL do przechowywania danych pozwoliło stworzyć dodatkowy mechanizm umożliwiający przedstawienie ich w praktycznie dowolnej postaci (ograniczonej tabelą dwuwymiarową). Mechanizm ten wykorzystuje język zapytań do bazy danych
SQL, dzięki któremu można sprecyzować dokładnie, jakie dane mają być zaprezentowane w tabeli – które z atrybutów i przykładów. Dokonuje się tego przez zapisanie prostego zapytania, w którym podaje się atrybuty oraz odpowiednie warunki filtracji dla przykładów. Takie zapytanie może mieć postać:

SELECT id, example_name, punktualnosc, wygoda, cena, klasa FROM pkp WHERE klasa > 2

Odpowiednie słowa kluczowe (pogrubione) określają, co wyświetlić (SELECT), skąd (FROM) i przy jakich ograniczeniach (WHERE). Aby w aplikacji była możliwość kontroli tego, co faktycznie jest wczytywane z bazy danych wprowadzono dwa obowiązkowe pola w zapytaniu identyfikujące w sposób jednoznaczny dany przykład: identyfikator (id) oraz jego nazwę (example_name). Należy wspomnieć, że symbol gwiazdki (*) w zapytaniu SQL oznacza, że pobiera się z bazy danych wszystkie kolumny. W wyniku tego zapytania w tabeli zostaną wyświetlone przykłady z ankiety PKP o przydziale do klasy co najmniej 2 i opisane tylko 4 atrybutami w tym jednym decyzyjnym plus pola je identyfikujące.

Aplikacja OLSA pozwala również wizualizować dane z plików w postaci dwóch wykresów: zwykłego liniowego XY oraz tak zwanego radarowego. Na pierwszym wykresie na osi X umieszczone są kryteria opisujące przykłady natomiast oś Y zawiera ich znormalizowane wartości od 0 do 100% na tych kryteriach. Drugi wykres różni się od pierwszego tym, że każde kryterium znajduje się na osobnej osi, a wszystkie zbiegają się centralnym punkcie odpowiadającemu 0%. Istnieje więc tyle osi ile jest kryteriów i gdy umieści się na wykresie przykłady to wszystko wyglądem przypomina właśnie radar. W obu wizualizacjach zastosowano darmowe komponenty napisane w JAVIE: JFreeChart dla liniowego oraz JCharts dla radarowego.

Podsumowując moduły odpowiedzialne za prezentację problemu pozwalają na:

  • wczytanie dwóch plików z problemem: bazowego i dodatkowego,

  • wyświetlanie atrybutów i ich charakterystyki oraz wybór atrybutu decyzyjnego,

  • wyświetlanie przykładów w postaci prostej tablicy decyzyjnej,

  • łatwe wskazanie danych do prezentacji przy pomocy języka zapytań SQL,

  • wizualizację przykładów w postaci wykresu liniowego i radarowego,

  • rozpoczęcie analizy danych metodą szukania strategii interwencji.

Moduł do prezentacji reguł

Reguły decyzyjne dla pliku bazowego, podobnie jak przykłady, są wczytywane z bazy danych (ich generacja odbywa się po stronie platformy GoalProject) i prezentowane z podziałem na część warunkową i decyzyjną. Dodatkowo z każdą regułą związana jest jej pewność oraz wsparcie, czyli liczba przykładów, które ona pokrywa – ich lista pojawia się po wskazaniu danej reguły. Istnieje możliwość stworzenia filtra dla reguł m.in. w celu ograniczenia ich liczby. Można ustawić maksymalną długość reguły, tzn. maksymalną liczbę warunków elementarnych oraz jej minimalne wsparcie. Wskazanie określonej reguły umożliwia: wizualizację przykładów ją wspierających na wykresach, rozpoczęcie analizy metodą testowania strategii interwencji lub szacowania efektywności strategii wywiedzionej z reguł. Dla drugiej metody wymagane jest wczytanie dodatkowego pliku z danymi.

Moduły prezentacji danych OLAP

Moduły prezentacji danych OLAP implementują sposób analizy danych będący połączeniem wielowymiarowych tabel OLAP oraz teorii zbiorów przybliżonych DRSA. W oknie ustawień definiuje się wymiary tabeli (kryteria opisujące przykłady), wartości dla wymiarów oraz analizowaną miarę (jest ich jedenaście). Ten sposób wizualizacji danych jest dostępny zarówno dla pliku bazowego jak i dodatkowego.

Wskazanie określonej komórki w tabeli OLAP dla pliku bazowego umożliwia wykonanie identycznych operacji jak w przypadku wybrania reguły. Ponieważ wymiary stanowią jakby część warunkową reguły, dlatego dodatkowo po wybraniu metod analizy koniecznym staje się podanie części decyzyjnej, dla wizualizacji wykresowej podanie tej części nie jest obowiązkowe (dla tak stworzonej reguły obliczany jest współczynnik wiarygodności). Dla przykładu dodatkowego nie ma analizy metodą szukania strategii, ponieważ do tego celu wymagane są reguły, a te dotyczą bazowego.

Moduły do analizy satysfakcji klienta

Moduły do analizy danych są dostępne z różnych miejsc w aplikacji, co zwiększa jej funkcjonalność i daje większą swobodę w pracy z programem. Umożliwiają one analizę satysfakcji klienta różnymi sposobami: metodą szukania lub testowania strategii interwencji oraz metodą badania oczekiwanej efektywności strategii interwencji wywiedzonych z reguł.

W module do analizy metodą szukania strategii dla danego przykładu wskazuje się decyzję, którą miałby on uzyskać. W wyniku obliczeń otrzymuje się proponowane strategie interwencji w postaci reguł decyzyjnych. Po wybraniu konkretnego sposobu działania (reguły) pojawia się informacja o dodatkowych wymogach, jakie muszą zostać dla niego spełnione, aby dany przykład zmienił decyzję w pożądany sposób.

Postępowanie w module dla metody testowania strategii interwencji jest bardzo podobne jak w metodzie wyżej, ale dotyczy oczywiście reguły. Tutaj zmienia się warunki elementarne w regule ustalając w ten sposób rodzaj i motyw strategii działania, a w rezultacie otrzymuje się zbiór nowych przykładów, dla których można ją ewentualnie zastosować. Po wskazaniu już konkretnego przykładu pojawia się dodatkowa informacja o wymogach, jakie należy spełnić, aby uzyskać zamierzony cel określony przez strategię.

Ostatni moduł analizy satysfakcji klienta umożliwia określenie reguły, na podstawie której będą tworzone strategie interwencji, a następnie obliczenie oczekiwanych efektywności w przypadku ich zastosowania. Pierwszy krok odbywa się przez wybranie warunków elementarnych na podstawie których będzie wywiedziona strategia. W drugim kroku następują odpowiednie obliczenia, w wyniku których otrzymuje się wartości współczynników charakteryzujących daną strategię. Istnieje również możliwość wybrania opcji, która umożliwi od razu wykonanie obliczeń dla wszystkich kombinacji warunków elementarnych, a tym samym dla kilku możliwych strategii interwencji jednocześnie. Końcowe wyniki prezentowane są w tabeli, a dokładniejszy przebieg obliczeń w formie tekstowej.