• Nie Znaleziono Wyników

Architektura systemu

W dokumencie Index of /rozprawy2/10165 (Stron 94-99)

Algorytm 4 – Algorytm systemu mrowiskowego

4 Znaleziono liczne przykłady (80%), Ŝe kandydat posiada daną kompetencję na wysokim poziomie lub jest to udokumentowane

4.6. Architektura systemu

Projektowanie architektury jest jedną z pierwszych faz inŜynierii oprogramowania, prowadzących do stworzenia w pełni funkcjonalnej aplikacji systemowej. Aby jednak moŜna było właściwie spojrzeć na projektowany system z ogólnej perspektywy, naleŜy najpierw odwzorować strukturę połączenia jego elementów składowych, a takŜe widoczne z zewnątrz cechy tych składników i związki, które między nimi zachodzą. Określając kształt i formę systemu zawsze moŜna w nim wyodrębnić warstwy obejmujące jeden lub kilka modułów odpowiadających pewnemu poziomowi abstrakcji realizowanych funkcji.

W przypadku systemu wspierającego decyzyjny proces doboru kadry po dokonaniu analizy dziedziny problemu i jej transformacji na algorytmy implementujące wszystkie atrybuty i operacje obiektów o zdefiniowanej strukturze danych oraz mechanizmy wymiany informacji między tymi obiektami dokonano podziału funkcji systemu na cztery główne warstwy. Są nimi:

• warstwa prezentacji, związana z interfejsem uŜytkownika,

• warstwa aplikacji, zapewniająca właściwe mechanizmy przetwarzania danych, • warstwa konfiguracji parametrów systemu oraz

Zadaniem warstwy prezentacji projektowanego systemu jest zapewnienie interakcji pomiędzy uŜytkownikiem a aplikacją, w sposób zgodny lub co najmniej zbliŜony do naturalnego trybu postrzegania problemu. Aby to osiągnąć w trakcie analizy danych zastosowano modelowanie przepływu danych oraz zaimplementowano standardy obejmujące zarówno mechanizmy dostępu do poszczególnych funkcji systemu jak i zarządzania elementami składowymi interfejsu programistycznego, w postaci zestawu odpowiednio dobranych obiektów parametrycznych. NajwaŜniejszą częścią zaprojektowanego systemu jest jednak warstwa aplikacji. Warstwa ta obejmuje zarówno struktury danych jak i mrowiskowe algorytmy heurystyczne, pozwalające na pozyskanie i przetwarzanie danych. Zaimplementowane tutaj mechanizmy spełniają wymagania załoŜonych i zdefiniowanych wcześniej operacji w zakresie:

− ekstrakcji danych z dostępnego repozytorium,

− znajdowania zadawalającego zbioru rozwiązań dla maksymalizowanej funkcji (wzór nr 46),

− monitorowania zachowania obiektów,

− oczekiwania na wystąpienie zdarzeń sterujących w systemie.

Identyfikacja i modyfikacja parametrów systemu, dotyczących dostrajanych współczynników algorytmów niedeterministycznych oraz dobór zbiorów danych jest moŜliwy dzięki warstwie zarządzania konfiguracją systemu. Jest to warstwa, pośrednicząca w komunikacji pomiędzy modułem logiki systemu a modułem zarządzania i integracji danych, w zakresie nie tylko jednorodnych rekordów, przechowywanych w postaci pojedynczych plików dokumentacji personalnej, ale równieŜ tych danych, których modele opracowane w trakcie projektowania ogólnego zostały przetransformowane na odpowiednią strukturę encyjną systemu bazodanowego7. System ten, tworząc ostatni poziom architektury warstwowej pozwala na gromadzenie i elastyczne zarządzanie danymi, związanymi z procesem rekrutacji i selekcji pracowników w firmie. Zarządzanie jest realizowane tutaj na poziomie:

− konceptualnym – odpowiadającym modelowi opracowanemu w trakcie analizy danych w procesie projektowania ogólnego,

7 w zaprojektowanym systemie zastosowano rozwiązanie polegające na zarządzaniu zbiorem plików tekstowych przy pomocy mechanizmów strumieniowych oraz na wykorzystanie rozwiązania opensource’owego w postaci Systemu Zarządzania Bazą Danych MySQL.

− zewnętrznym – uwzględniającym strukturę danych stosowanych w dokumentach aplikacyjnych,

− wewnętrznym – obejmującym definicję struktur danych, metod dostępu oraz ich sposobu indeksacji w repozytorium.

Rysunek 9 – Warstwowa architektura modelu systemu, uwzględniającego tylko najwaŜniejsze jego składowe.

Projektując skalowalny system wsparcia decyzyjnego, zapewniający integrację danych oraz posiadający mechanizmy umoŜliwiające dostosowanie go nie tylko do indywidualnych potrzeb podmiotu gospodarczego, ale równieŜ do zmian, towarzyszących nieustannym transformacjom gospodarki industrialnej zarówno w wymiarze regionalnym, jak i globalnym naleŜy po zidentyfikowaniu wszystkich struktur danych i wykonywanych na nich operacjach zastosować modularny schemat architektury systemu. W procesie tym powinno dąŜyć się jednak do uzyskania jak najmniejszej liczby modułów oraz jak najprostszych struktur danych, spełniających wymagania stawiane systemowi, pamiętając przy tym, Ŝe kaŜdy z modułów wchodzących w skład takiej architektury powinien być jednoznaczną reprezentacją metod przetwarzania danych oraz uwzględniać wszelkie ograniczenia ilościowe. Jak wykazuje bowiem praktyka autora pracy takie podejście

Protokół prezentacji – interfejs uŜytkownika

Mechanizmy przetwarzania danych

Mechanizmy zarządzania konfiguracją systemu

Baza danych

pozwala na znaczne zmniejszenie liczby błędów powstających w wyniku dokonywania niewłaściwych załoŜeń w zakresie szczegółowej funkcjonalności systemu. Dlatego teŜ mając na uwadze zarówno powyŜsze załoŜenia jak i właściwości (obejmujące równieŜ ograniczenia) scharakteryzowanej w rozdziale 3-cim dziedziny rozwaŜanego zadania optymalizacyjnego, moŜna zaproponować realizację systemu wspomagania decyzyjnego, którego architektura będzie oparta na:

− module pozyskiwania wiedzy – sprzęŜonym z repozytorium danych, będącym

źródłem wiedzy. Moduł ten obejmując mrowiskowe mechanizmy analizy danych rozproszonych w wielu plikach powinien umoŜliwić ich porównanie z dostępnymi wzorcami, dostarczając w ten sposób informacji o poziomie posiadanych kompetencji, wymaganych do objęcia jednego z dostępnych stanowisk w firmie. − module odwzorowywania relacji encyjnych – identyfikującym relacyjne

powiązania pomiędzy wymaganiami przedsiębiorstwa na poziomie kaŜdego z proponowanych do obsady stanowisk oraz kolekcji uwzględniającej wiedzę na temat jakości posiadanych cech przez kaŜdego z kandydatów.

− module poszukiwania zbiorów rozwiązań – zawierającym zaimplementowane algorytmy mrowiskowe poszukiwania zadawalających zbiorów rozwiązań, po uwzględnieniu zadanych wartości kryterialnych.

− module konfiguracji systemu – pozwalającym zarówno na wybór źródła związanego ze zbiorami danych, jak i na modyfikację parametrów zaimplementowanych algorytmów mrowiskowych.

− module oceny rozwiązań – umoŜliwiającym konfrontację osiągniętych rozwiązań z postawionymi celami.

− module generowania raportów – dającym moŜliwość przygotowania zestawień wybranych podzbiorów danych na potrzeby dokumentacji nadzorczej procesu rekrutacji i selekcji pracowników w przedsiębiorstwie.

Rysunek 10– Architektura modułowa systemu rekrutacji i selekcji pracowników.

Przyjęta architektura systemu powinna umoŜliwiać nie tylko realizację przyjmowania danych wejściowych, przetwarzania danych i udostępniania danych wyjściowych, a więc fundamentalnych składowych kaŜdego oprogramowania systemowego, ale równieŜ powinna:

− ułatwiać testowanie i pielęgnację stworzonego oprogramowania, − zmniejszać negatywne skutki uboczne pojawiających się błędów, − pozwalać na modyfikację i skalowalność powstałego oprogramowania.

Moduł pozyskiwania wiedzy Moduł odwzorowywania relacji encyjnych Moduł poszukiwania zbiorów rozwiązań Moduł oceny rozwiązań Moduł generowania raportów Moduł konfiguracji systemu Repozytorium danych

4.7. Ogólna koncepcja i szczegółowy opis implementowanych algorytmów

W dokumencie Index of /rozprawy2/10165 (Stron 94-99)