• Nie Znaleziono Wyników

Index of /rozprawy2/10061

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/10061"

Copied!
177
0
0

Pełen tekst

(1)AKADEMIA GÓRNICZO–HUTNICZA I M. S T A N I S Ł A W A S T A S Z I C A W K R A K O W I E WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I ELEKTRONIKI Katedra AUTOMATYKI. ROZPRAWA DOKTORSKA System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych mgr inŜ. Wojciech Janicki. Promotor: Prof. zw. dr hab. inŜ. Ryszard Tadeusiewicz. KRAKÓW. 2008.

(2) 1. Cel Pracy .............................................................................................................................1-5 2. Krótka charakterystyka bankowych zastosowań informatyki...........................................2-10 3. Zarys genezy błędów w systemach bankowych................................................................3-17 3.1. OGÓLNA CHARAKTERYSTYKA GENEZY BŁĘDÓW .........................................................3-17 3.1.1. Błędy w jednostanowiskowych systemach komputerowych ..............................3-17 3.1.2. Błędy w prostych sieciowych systemach komputerowych .................................3-19 3.1.3. Błędy w nowoczesnych systemach centralnych..................................................3-21 3.2. KRÓTKIE PORÓWNANIE PRZYCZYN BŁĘDÓW NA POSZCZEGÓLNYCH ETAPACH ROZWOJU INFORMATYKI BANKOWEJ...................................................................................................3-24 4. Analiza błędów w badanym systemie centralnym ............................................................4-26 4.1. CHARAKTERYSTYKA SYSTEMU BĘDĄCEGO PODSTAWĄ PROWADZONYCH BADAŃ........4-26 4.1.1. Uwagi wstępne ....................................................................................................4-26 4.1.2. Ogólne parametry charakteryzujące system uŜyty w badaniach.........................4-27 4.2. PRÓBA CAŁOŚCIOWEJ ANALIZY BŁĘDÓW W SYSTEMIE CENTRALNYM ..........................4-29 4.2.1. Błędy SCAER .....................................................................................................4-29 4.2.2. Błędy i komunikaty od rutyn systemowych ........................................................4-32 4.2.3. Błędy integralności i spójności na kartotekach i rachunkach klientów ..............4-35 4.3. ANALIZA SZCZEGÓŁOWA BŁĘDÓW INTEGRALNOŚCI ....................................................4-42 4.3.1. Błędy w kartotekach klientów.............................................................................4-43 4.3.2. Błędy na rachunkach depozytowych...................................................................4-44 4.3.3. Błędy na rachunkach kredytowych .....................................................................4-50 4.3.4. Analiza standardowych komunikatów pochodzących od rutyn systemowych ...4-56 5. Krótka charakterystyka systemów ekspertowych .............................................................5-58 5.1. DEFINICJA SYSTEMU EKSPERTOWEGO..........................................................................5-58 5.2. CECHY CHARAKTERYSTYCZNE SYSTEMU EKSPERTOWEGO ..........................................5-59 5.3. RODZAJE SYSTEMÓW EKSPERTOWYCH ........................................................................5-60 5.3.1. Podział systemów ekspertowych z uwagi na realizowane funkcje .....................5-60 5.3.2. Podział systemów ekspertowych z uwagi na uzyskiwane wyniki ......................5-61 5.3.3. Podział systemów ekspertowych z uwagi na realizowane zadania.....................5-61 5.3.4. Podział systemów ekspertowych z uwagi na stan wiedzy ..................................5-62 5.3.5. Podział systemów ekspertowych z uwagi na zastosowaną logikę ......................5-62 5.4. ZASADY FUNKCJONOWANIA SYSTEMU EKSPERTOWEGO ..............................................5-63 5.4.1. Budowa................................................................................................................5-63 5.4.2. Realizowane zadania ...........................................................................................5-64 5.4.3. Baza wiedzy ........................................................................................................5-65 5.4.4. Mechanizm wnioskowania..................................................................................5-66 5.4.5. Pozostałe elementy systemu ekspertowego.........................................................5-69. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-2.

(3) 6. Dodatkowe technologie inŜynierii wiedzy wykorzystywane w systemach ekspertowych ...670 6.1. SIECI NEURONOWE.......................................................................................................6-70 6.1.1. Definicja sieci neuronowej..................................................................................6-70 6.1.2. Typy sieci neuronowych .....................................................................................6-72 6.1.3. Zadania realizowane przez sieci neuronowe .......................................................6-74 6.1.4. Rodzaje budowy sieci neuronowej......................................................................6-74 6.1.5. Uczenie sieci neuronowych.................................................................................6-77 6.2. ROZUMOWANIE ROZMYTE ...........................................................................................6-82 6.3. HYBRYDOWE SYSTEMY EKSPERTOWE..........................................................................6-83 7. Analiza moŜliwości zastosowania systemów ekspertowych i nowoczesnych technologii wiedzy do analizy błędów w duŜych informatycznych systemach bankowych ...................7-85 7.1. WPROWADZENIE .........................................................................................................7-85 7.2. CECHY SYSTEMU EKSPERTOWEGO PRZEZNACZONEGO DO ANALIZY BŁĘDÓW ..............7-87 7.2.1. Wybór metody reprezentowania wiedzy.............................................................7-88 7.2.2. Konkretne sposoby reprezentacji wiedzy w systemie.........................................7-89 7.2.3. Mechanizm wnioskowania..................................................................................7-90 7.2.4. Wybór strategii wnioskowania dla błędu MDT i dla innych podobnych błędów...791 7.2.5. Zapis formalny wybranych innych typów błędów..............................................7-92 7.2.6. Błędy i komunikaty od rutyn systemowych – reprezentacja w systemie ekspertowym ...............................................................................................................7-111 7.3. ZASTOSOWANIE SIECI NEURONOWYCH W SYSTEMIE EKSPERTOWYM DO ANALIZY BŁĘDÓW W DUśYCH SYSTEMACH INFORMATYCZNYCH ...................................................................7-114 7.3.1. Określenie klasy zadań, w których uŜycie sieci neuronowych jest celowe i korzystne .....................................................................................................................7-115 7.3.2. Wybór struktury sieci ........................................................................................7-115 7.3.3. Funkcje opisujące sieci neuronowe...................................................................7-116 7.3.4. Zagadnienia procesu uczenia ............................................................................7-118 7.4. UWAGI KOŃCOWE I WNIOSKI .....................................................................................7-119 7.4.1. Wykaz błędów integralności moŜliwych do usunięcia przy pomocy systemu ekspertowego...............................................................................................................7-120 7.4.2. Wykaz błędów integralności warunkowo moŜliwych do usunięcia przy pomocy systemu ekspertowego.................................................................................................7-121 7.4.3. Wykaz błędów integralności nie moŜliwych do usunięcia przy pomocy systemu ekspertowego...............................................................................................................7-121 7.4.4. Wykaz komunikatów od rutyn systemowych moŜliwych do usunięcia przy pomocy systemu ekspertowego...................................................................................7-122 7.4.5. Wykaz komunikatów od rutyn systemowych niemoŜliwych do usunięcia przy pomocy systemu ekspertowego...................................................................................7-123 7.4.6. Analizy syntetyczne, obrazujące moŜliwość wykorzystania systemów ekspertowych do wspomagania usuwania błędów......................................................7-123 8. Podsumowanie ................................................................................................................8-126 Spis ilustracji .......................................................................................................................8-129. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-3.

(4) Bibliografia..........................................................................................................................8-130 Dodatek A ...........................................................................................................................8-136 Błędy w kartotekach klientów.....................................................................................8-136 Błędy na rachunkach depozytowych...........................................................................8-141 Błędy na rachunkach kredytowych .............................................................................8-153 Komunikaty standardowe pochodzące od rutyn systemowych...................................8-169. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-4.

(5) 1. Cel Pracy Początek XXI wieku nacechowany jest dynamicznym rozwojem wszystkich dziedzin nauki. Jak się wydaje szczególnie szybko i intensywnie rozwija się m.in. ekonomia ze względu na przemiany społeczno-ekonomiczne dokonujące się w globalizującym się świecie i konieczność posiadania narzędzi naukowych, za pomocą których przemiany te da się przynajmniej przewidywać, skoro nie daje się ich do końca kontrolować. Z drugiej strony burzliwy rozwój przeŜywa teŜ technika, a w szczególności. teleinformatyka.. Doskonałość. techniczna. współczesnych. systemów. informatycznych i telekomunikacyjnych, połączona z ich bezprecedensowo szeroką dostępnością, prowadzą łącznie do tak przemoŜnej dominacji technik informacyjnych, Ŝe powszechnie mówi się dziś o społeczeństwie informacyjnym jako o społecznej konsekwencji rozwoju teleinformatyki. Pojawia się przy tym efekt synergicznego wzajemnego wzmacniania tych dwóch dziedzin, gdyŜ obecnie trudno mówić o rozdzieleniu ekonomii oraz teleinformatyki. Wynika to z faktu, Ŝe efektywna ekonomia wymaga (zwłaszcza w zastosowaniach, chociaŜ takŜe w badaniach podstawowych) sprawnego i szybkiego przetwarzania ogromnej ilości informacji, a to moŜna osiągnąć jedynie przy pomocy nowoczesnych rozwiązań informatycznych. Równocześnie wymagania dynamicznego rozwoju nowoczesnego biznesu (który albo będzie się szybko rozwijał, albo – skazany na stagnację – zostanie pochłonięty przez konkurencję) wymuszają takŜe szybką ewolucję narzędzi informatyki, które muszą sprostać tym wymaganiom, jeśli nie mają stracić waŜnego segmentu rynku informatyki ekonomicznej. Wymagania te, wsparte brutalną presją rynku, na którym tylko nowy produkt ma szanse na zdobycie dobrego klienta i intratnego zamówienie, w efekcie powodują, Ŝe przy tworzeniu nowych rozwiązań w zakresie metod i środków informatyki ekonomicznej – z reguły brak jest wystarczającego czasu na dogłębne przetestowanie nowych rozwiązań, które zostają wdroŜone do praktyki w stanie częściowo tylko zweryfikowanym. Wspomniany efekt wdraŜania do praktyki nie całkowicie sprawdzonych rozwiązań informatycznych ma teŜ jeszcze jedno podłoŜe i jeszcze jedną przyczynę. Po prostu przy tej złoŜoności i róŜnorodności funkcji, jakie spełnia współczesne informatyczne uzbrojenie biznesu (z reguły silnie interaktywne i nastawione na działania dostosowujące się do zmiennej sytuacji operacyjnej obsługiwanej instytucji ekonomicznej) – absolutnie niemoŜliwe jest przewidzenie wszystkich rzeczywistych sytuacji oraz wszystkich warunków, w jakich będzie pracowało określone rozwiązanie informatyczne, więc wszelkie sztuczne testy będą dostarczały informacji zdecydowanie niepełnej i mało wiarygodnej. Jak ogólnie wiadomo, marzenia o automatycznym formalnym dowodzeniu poprawności działania oprogramowania takŜe ciągle jeszcze nie przekładają się na codzienną praktykę tworzenia nowoczesnych systemów informatycznych. W związku z tym implementacja niemal kaŜdego nowego rozwiązania informatycznego, szczególnie w rozwaŜanych zastosowaniach tej pracy zastosowaniach. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-5.

(6) ekonomicznych, musi zakładać wystąpienie w trakcie jego eksploatacji pewnej ilości błędów, które są nieuniknioną konsekwencją wspomnianych wyŜej niedostatków metodologicznych procesu tworzenia odpowiednich programów. Błędy te naleŜy szybko zlokalizować celem przywrócenia prawidłowych warunków pracy systemu, który musi działać, bo od jego funkcjonowania zaleŜy prawidłowość realizacji załoŜonych celów gospodarczych instytucji ekonomicznej wykorzystującej rozwaŜane oprogramowanie. Po wykryciu i lokalizacji błędu trzeba dokonać (w warunkach presji czasowej!) dokładnej analizy sytuacji oraz zastosować odpowiednie rozwiązania, eliminujące w przyszłości tego typu błędy oraz oczywiście eliminujące doraźne skutki wystąpienia tego właśnie błędu. Wskazane zadania nie są łatwe, a potrzeby praktyki wskazują, Ŝe jest pilne i waŜne, by administrator systemu informatycznego był w stanie opanować skutki błędu i by system mógł działać w sposób ciągły mimo swoich niedoskonałości. W związku z ogromną ilością i róŜnorodnością przetwarzanych danych we współczesnych ekonomicznych systemach informatycznych (pomimo zastosowania najnowocześniejszych technik projektowania tych systemów oraz mimo szerokiego wykorzystania symulacji podczas ich tworzenia), ilość błędów pojawiających się i koniecznych do pilnego przeanalizowania jest ilością stosunkowo duŜą. Pojawia się, więc problem naukowy, dotyczący metod szybkiej lokalizacji i eliminacji błędów, a takŜe problem praktyczny, związany z ustaleniem metod postępowania, które będą pozwalały na skuteczną eksploatacje systemów oprogramowania ekonomicznego pomimo błędów popełnionych podczas ich implementacji. Oba te problemy zostaną podjęte w niniejszej rozprawie doktorskiej. W pracy zostaną przytoczone konkretne dane dotyczące błędów, jaki autor osobiście (lub wraz z. zespołem). przeanalizował. i. wyeliminował. w. momencie. wdraŜania. nowego. systemu. informatycznego w duŜym banku. Pokazane na tym konkretnym przykładzie problemy wydają się dosyć typowe dla szerokiej klasy zagadnień, stanowiących przykład problemów pojawiających się w praktyce podczas implementacji duŜych systemów informatycznych przeznaczonych dla potrzeb ekonomicznych, dlatego rozwiązania opisane w niniejszej rozprawie, po ich odpowiednim uogólnieniu, mogą stanowić propozycje godną rozwaŜenia w kontekście problemów, które mogą dotyczyć róŜnych przedsiębiorstw – stąd ich prezentacja w postaci rozprawy naukowej mającej ponadjednostkowy charakter. Wspomniane doświadczenie praktyczne autora, uzyskane w ciągu kilku lat pracy z ogromnym systemem bankowym, uświadomiło, jak bardzo niewystarczające są w praktyce znane obecnie zasoby metod i technik analizy stanu pracy systemów informatycznych, oferowane przez współczesne metody naukowe, a takŜe jak bardzo zawodne są opisywane w literaturze metody wykrywania (a takŜe eliminowania) źródeł błędów pojawiających się w trakcie „Ŝywej” eksploatacji systemów informatycznych. Zgromadziwszy w trakcie wspomnianych doświadczeń tysiące nowych, nigdzie do tej pory nie opisywanych obserwacji, autor pokusił się o ich zebranie, analizę i systematyzację, wychodząc z załoŜenia, Ŝe tak bogaty materiał empiryczny ma wartość naukową, przynajmniej jako źródłowy zasób wiadomości o tym, jak to rzeczywiście bywa z tym wykrywaniem i eliminowaniem. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-6.

(7) błędów w rzeczywistych duŜych systemach informatycznych stosowanych w ekonomii (a juŜ na pewno – w bankowości). Analiza zebranych danych przeprowadzona w tej pracy, powinna okazać się przydatna dla badaczy rozwijających nowe opracowania związane z metodologią tworzenia systemów testowania duŜych systemów informatycznych (w szczególności dla zastosowań ekonomicznych), co powinno wpłynąć na powstanie nowych naukowych metod analizy i eliminacji błędów w trakcie wdroŜeń systemów o cechach zbliŜonych do tego, na którym zbierano i systematyzowane opisane dalej informacje. Zapotrzebowanie na takie nowe metody naukowe jest bezdyskusyjne, zwłaszcza, jeśli rozwaŜymy stopień nieprzewidywalności sytuacji, jaka moŜe wystąpić podczas eksploatacji systemu, a takŜe jeśli weźmiemy pod uwagę okoliczności wymuszające konieczność szybkiej jej analizy. Wymienione czynniki oraz złoŜoność wprowadzanych do eksploatacji systemów ekonomicznych powodują, Ŝe tradycyjne metody analizy nie zawsze są wystarczające, a poszukując nowych metod trzeba mieć dokładny i usystematyzowany obraz realnej sytuacji. W niniejszej pracy podjęta zostanie próba zebrania moŜliwie jak najbogatszego zestawu spostrzeŜeń i przesłanek (pochodzących z praktyki), pozwalających na dokonanie pewnej systematyki napotykanych błędów pojawiających się w duŜych systemach informatycznych, a w ślad za tym – pozwalających na zdefiniowanie oczekiwań, jakie wiąŜą się z poszukiwaniem nowej (doskonalszej) naukowej metodologii, wspomagającej proces wykrywania, lokalizowania i eliminowania tych błędów. Autor pracy nie podejmuje próby stworzenia zrębów takiej nowej metodologii, dlatego praca tego wątku poruszać nie będzie, natomiast jej celem jest wykazania, Ŝe taka metodologia jest nieodzownie potrzebna, a takŜe, na jakich empirycznych przesłankach powinna być oparta. Praca o prezentowanej tu zwartości wydaje się bardzo aktualna i potrzebna, poniewaŜ obserwacja praktyki wdraŜania systemów informatycznych dla duŜych organizmów ekonomicznych zdaje się wskazywać na to, Ŝe w rozwaŜanym tu obszarze doszło do „rozejścia się” aktualnych moŜliwości nauki z aktualnymi potrzebami praktyki.. Aby jednak nie pozostawiać pracy wyłącznie w obszarze ewidencji potrzeb, bez moŜliwości nawet prowizorycznego ich zaspokojenia, w końcowej części rozprawy będziemy usiłowali wykazać, Ŝe moŜliwe jest zbudowanie praktycznego rozwiązania zaspokajającego potrzeby uŜytkowników, w postaci systemu ekspertowego, wyposaŜonego w wiedzę zgromadzoną w empirycznej części pracy, a takŜe w opisane w rozprawie techniki rozumowania. System taki, bazujący na bogatym doświadczeniu praktycznym autora rozprawy, moŜe pomóc uŜytkownikom innych duŜych systemów informatycznych, budowanych dla potrzeb ekonomii, w skuteczniejszym i mniej stresującym przechodzeniu okresu początkowej eksploatacji systemu, kiedy pojawiają się liczne błędy i kiedy trzeba duŜej wiedzy i duŜego doświadczenia, Ŝeby zapanować nad działaniem systemu zanim będzie on mógł być oddany do normalnej eksploatacji. Proponowany w rozprawie system ekspertowy jest zaprojektowany w taki sposób, by jego uŜytkownicy, nawet przy małym doświadczeniu osobistym,. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-7.

(8) mogli realizować w miarę sprawnie proces analizy błędów występujących podczas wdraŜania i eksploatacji wybranego typu oprogramowania ekonomicznego, szczególnie bankowego. Aby to osiągnąć w końcowej części pracy zostanie przedstawiona próba syntezy stanu praktycznej wiedzy autora na temat oprogramowania bankowego i błędów występujących podczas prób jego wdraŜania i eksploatacji. Ze względu na złoŜoność poruszanych problemów nie poprzestaniemy przy tym na samym tylko zarysie struktury systemu typu regułowego, który mógłby wspomagać w zadaniach analizy błędów mniej doświadczonych informatyków, ale dodatkowo przeanalizowane zostaną moŜliwości zastosowania w rozwaŜanym zadaniu nowoczesnych technik sztucznej inteligencji, takich jak na przykład sieci neuronowe lub rozumowanie rozmyte. Oczywiście objętość jednej rozprawy doktorskiej jest zbyt mała, Ŝeby moŜna było wszystkie wskazane zagadnienia przeanalizować do końca, rozwiązując wszystkie nasuwające się tu problemy. Stąd pewne kwestie będą w pracy podjęte i przebadane do końca, inne będą tylko zarysowane w sferze koncepcji, a jeszcze inne będą w gruncie rzeczy tylko zasygnalizowane. Jednak właściwe postawienie pewnych problemów, nawet przy braku ich rozwiązania, ma teŜ samo z siebie sporą wartość naukową, więc uznano za celowe, by wspomniane wątki takŜe włączyć do dyskutowanej rozprawy.. Główną tezą tej pracy jest stwierdzenie, iŜ przy uŜyciu nowoczesnych metod sztucznej inteligenci oraz wykorzystując wiedzę praktyczną, jaką autor zgromadził podczas analizy i usuwania błędów przy wdraŜaniu duŜego systemu bakowego moŜna stworzyć mechanizmy i systemy wspomagające pracę zespołu wdroŜeniowego przynajmniej w zakresie tych błędów, których liczba jest bardzo duŜa, a obsługa w jakimś stopniu rutynowa. Zadanie to moŜe wykonywać system ekspertowy. wspomagający. automatyzujący. analizę. pracę. błędów. zespołu w. duŜych. wdroŜeniowego systemach. i. częściowo. informatycznych,. w szczególności w centralnych systemach bankowych.. W związku z powyŜszą tezą oraz opisanym wyŜej zadaniem badawczym jako główne cele prezentowanej pracy moŜna wyodrębnić dwa zagadnienia naukowe: • analizę i systematyzację błędów spotykanych w oprogramowaniu bankowym, wraz z analizą ich przyczyn i sposobów przeciwdziałania; • zbadanie moŜliwości automatyzacji procesu analizy błędów w wybranym systemie informatyki bankowej;. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-8.

(9) Natomiast jako cele poboczne, potraktowane w rozprawie skrótowo i w wielu miejscach jedynie zdefiniowane w kategoriach postulatów czy koncepcji, a nie finalnych rozwiązań, moŜna wskazać na następujące zagadnienia: • wskazanie i przebadanie mechanizmów sztucznej inteligencji, o które wzbogacić naleŜy tradycyjne techniki systemów ekspertowych, Ŝeby uzyskać ich skuteczne działanie w kontekście rozwiązywanych problemów (wykrywania błędów w wybranym systemie informatyki bankowej); • określenie wymagań, jakimi muszą odpowiadać elementy hybrydyzujące system ekspertowy, aby mógł on spełniać zadania związane z analizą błędów w wybranym systemie informatyki bankowej; • próba wstępnej oceny przydatności i określenia uŜyteczności hybrydowego systemu ekspertowego w zastosowaniu do analizy błędów w wybranym systemie informatyki bankowej; Z podanych celów wyŜej pracy wynika w duŜej mierze jej struktura. W rozdziale 2 zostanie pokrótce wykazana teza istnienia informatyki bankowej jako odrębnej dyscypliny wiedzy a w rozdziale 3 zostanie w skrócie przedstawiona krótka dyskusja na temat przyczyn i genezy błędów w systemach informatycznych. Analiza błędów pojawiających się podczas wdraŜania duŜych wielodostępnych systemów stosowanych w bankach i w innych instytucjach sektora finansowego, oraz próba systematyzacji przyczyn ich powstawania przedstawiona będzie w rozdziale 4. Analiza ta została przeprowadzona na podstawie danych uzyskanych przez autora podczas wdraŜania i próbnej (a potem roboczej) eksploatacji prawdziwie wielkiego systemu informatycznego, mianowicie systemu centralnego jednego z duŜych polskich banków. We wstępie rozdziału 4 zostanie teŜ scharakteryzowany system uŜyty w badaniach. W kolejnych rozdziałach zostaną przedstawione cechy charakterystyczne systemów ekspertowych (rozdział 5) oraz nowoczesnych technologii wiedzy wykorzystywanych w systemach ekspertowych (rozdział 6). Aby nie poprzestać jedynie na zinwentaryzowaniu i omówieniu przeanalizowanych przez autora błędów, w rozdziale 7 zostanie podjęta próba zdefiniowania cech i wymagań systemu ekspertowego, przydatnego dla innych uŜytkowników podobnych systemów jako narzędzie do badania tychŜe błędów. W rozdziale tym podjęta będzie równieŜ próba odpowiedzi na pytanie, czy moŜliwe jest wykorzystanie systemu ekspertowego, do badania błędów w duŜych systemach bankowych, a jeśli tak, to jaka powinna być struktura i zawartość takiego systemu ekspertowego, by mógł on skutecznie wspomagać potencjalnych uŜytkowników.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 1-9.

(10) 2. Krótka charakterystyka bankowych zastosowań informatyki W ostatnich latach nastąpił dynamiczny rozwój informatyki, w związku, z czym obecnie praktycznie trudno znaleźć dziedzinę, w której nie wykorzystywane były by rozwiązania informatyczne. Równolegle z rozwojem technik informatycznych następował szybki rozwój usług finansowych. Oprócz banków, oferujących od lat swoje usługi, zaczęły powstawać nowe instytucje finansowe, takie jak towarzystwa ubezpieczeniowe, fundusze powiernicze czy firmy leasingowe. Instytucje te zaczęły rywalizować między sobą, propagować wśród społeczeństwa usługi sektora finansowego oraz zachęcać do korzystania z ich ofert. Początkowo społeczeństwo nie było przyzwyczajone do szerokiego korzystania z usług bankowych. Banki oferujące pierwotnie jedynie proste usługi, takie jak rachunki bieŜące (dla klientów indywidualnych oraz firm czy instytucji), lokaty złotowe oraz kilka zaledwie rodzajów kredytów dostrzegły jednak pojawiającą się szansę i zaczęły dynamicznie poszerzać swoją ofertę. Obecnie większość z banków posiada obecnie po kilkadziesiąt rodzajów kredytów, kilkanaście lub kilkadziesiąt rodzajów lokat, szereg róŜnego rodzaju rachunków bieŜących, karty kredytowe, oraz coraz powszechniej oferuje usługi elektroniczne typu home-banking czy obsługa kont przy pomocy sieci internet. Tak duŜe zwiększenie zakresu usług, jak równieŜ spopularyzowanie usług bankowych spowodowało lawinowe zwiększenie pracy wykonywanej przez pracowników banków. W celu umoŜliwienia sprawnej obsługi Klientów czy w ogóle działalność instytucje finansowe od lat podejmowały próby wykorzystania komputerów do przetwarzania danych związanych z rachunkami Klientów oraz własnymi rachunkami zawierającymi dane syntetyczne dotyczące Klientów. Początkowo dane bankowe przetwarzane były w specjalistycznych ośrodkach obliczeniowych, gdzie do obsługi maszyn liczących konieczne było zatrudnianie specjalizowanego personelu. W kolejnych latach, wraz z rozpowszechnieniem komputerów typu PC, zaczęto coraz częściej tworzyć oprogramowanie dla komputerów z kolejnymi generacjami procesorów firmy Intel. Kolejnym krokiem w rozwoju informatyki bankowej było wykorzystanie sieci i serwerów LAN i WAN (Novell, Unix) jak równieŜ serwerów opartych na innych technologiach (RISC, ALPHA). Równolegle z poszerzaniem moŜliwości technicznych poszerzane były takŜe moŜliwości funkcjonalne. Oprócz obsługi pojedynczych rachunków i kont bankowych pojawiła się równieŜ konieczność stosowania komputerów do sporządzania róŜnego rodzaju bilansów i sprawozdań, które ze względu na ilość koniecznej do przetworzenia informacji nie były moŜliwe do uzyskania w tradycyjny sposób. Bardzo szybko stwierdzono, Ŝe problem szybkiego i sprawnego otrzymywania bilansów danej instytucji to nie tylko wymogi centralnych instytucji finansowej, nakładającej na firmy konieczność terminowego przedstawiania sytuacji finansowej. Szybkie i częste uzyskiwanie. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-10.

(11) informacji o stanie instytucji umoŜliwia takŜe sprawne zarządzanie instytucją finansową, a więc dynamiczne reagowanie na sytuację gospodarczą i społeczną danego regionu. Pierwsze oprogramowania do wspomagania obsługi instytucji finansowych powstawała przy uŜyciu narzędzi najpopularniejszych wówczas takich jak np. bazy Dbase lub bazy tekstowe, oraz narzędzi programistycznych takich jak języki programowania Pascal, C czy Clipper. Jako platforma wykorzystywany był często system operacyjny DOS w połączeniu z sieciami Novell Netware, ale równie często stosowane były rozwiązania oparte na systemie Unix. Zaletą stosowania systemu DOS\Netware była wzrastająca popularność systemu DOS i komputerów PC. Dzisiaj do tworzenia współczesnych systemów dla instytucji finansowych uŜywa się zaawansowanych technologii, z zastosowaniem metodologii i narzędzi CASE oraz wykorzystywaniem rozbudowanego systemu zapewnienia jakości.. Spopularyzowanie usług bankowych spowodowało, Ŝe wymagana jest obecnie większa wydajność stosowanych w bankach systemów informatycznych. Zwiększył się, bowiem wolumen usług finansowych obsługiwanych informatycznie, a ponadto nowoczesne banki, aby przyciągnąć nowych Klientów, rozszerzały zakres usług oraz dąŜyły do skrócenia czasu obsługi Klienta. Pierwsze rozwiązania systemów bankowych oparte na sieciach z wykorzystaniem serwera plików były z dzisiejszej perspektywy bardzo niedoskonałe. Co prawda umoŜliwiały one dostęp do danych z wielu stanowisk pracy, jednak konieczność przetwarzania danych na stacjach lokalnych wiązała się z przesyłaniem duŜej ilości danych poprzez sieć komputerową oraz wymagała wykorzystania wysokowydajnych stacji roboczych. W związku z powyŜszym zaczęto w bankach stosować aplikacje oparte na architekturze Klient-Serwer. Komputer na stanowisku obsługi pracował jako Klient aplikacji pracującej na serwerze. Przykładem takiego środowiska są aplikacje wykorzystujące bazy betrieve. W tej architekturze dane nie są kopiowane do komputera na stanowisku obsługi, a jedynie z komputera tego są wydawane polecenia dla aplikacji pracującej jako serwer. Polecenia te zawierają operacje jakie naleŜy wykonać na danych.. Efektem stosowania róŜnych powyŜszych rozwiązań jest często róŜnorodność aplikacji stosowanych równolegle w jednym banku, co powoduje problemy ze współdziałaniem poszczególnych aplikacji oraz z wymianą danych pomiędzy nimi. Sprawia to równieŜ trudności z szybkim uzyskaniem danych sprawozdawczych a kierownictwo banku posiada informacje o kondycji firmy np. z przed miesiąca czy dwóch. Sytuację często pogarsza fakt, iŜ bank składa się z kilkunastu czy kilkudziesięciu oddziałów, z których kaŜdy posiada odrębne bazy danych.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-11.

(12) Uproszczoną strukturę podziału informacji w pojedynczym oddziale przedstawia poniŜszy rysunek:. System Depozytowy Złotowy. System Rozliczeń Międzybankowych. (Rachunki bieŜące, Lokaty) System Depozytowy Walutowy. System Księgowy. (Rachunki bieŜące, Lokaty). System Kredytowy. Księga Główna System Kasowy + System Obsługi Skarbca. System Sprawozdawczy. Rysunek 2-1 Informatyczny system bankowy Jak wynika z powyŜszego schematu zanim dane mogą być wysłane do centralnego systemu sprawozdawczego muszą być przetworzone przez kilka podsystemów. Często poszczególne systemy pochodzą z róŜnych firm software’owych i wykorzystują róŜne rozwiązania technologiczne. Powoduje to konieczność tworzenia róŜnego rodzaju interfejsów i konwerterów danych, jak równieŜ niebezpieczeństwo przekłamania danych. Rozwiązaniem tych problemów jest centralny system bankowy lub, chociaŜ stosowanie (o ile to moŜliwe) rozwiązań dostarczonych przez jednego producenta i wykorzystujących jedną technologię, Konwertowanie danych pomiędzy poszczególnymi systemami związane jest nie tylko z generacją sprawozdań i zestawień. W księdze głównej banku przechowywane są syntetyczne stany dla poszczególnych produktów bankowych. Dane wprowadzane analitycznie np. do systemu kredytowego muszą w postaci zbiorczej zostać równieŜ zaksięgowane w księdze głównej. Podobnie dane dotyczące operacji w systemie depozytowym muszą być wprowadzone do księgi głównej. Ma to na celu m.in. zbilansowania przeprowadzonych operacji z operacjami przeprowadzonymi w kasie czy przesłanymi pomiędzy bankami. MoŜna dane wprowadzać do poszczególnych systemów i księgi głównej oddzielnie, ale po pierwsze nie zostanie wyeliminowane niebezpieczeństwa pomyłek, jak równieŜ będzie musiała być wykonana niepotrzebnie dodatkowa praca. Zastosowanie konwerterów danych eliminuje te niedogodności, jednak wiąŜe się z koniecznością znalezienia metody. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-12.

(13) ujednolicenia przekazywanych danych, co nie jest sprawą prostą przy korzystaniu z oprogramowania pochodzącego od róŜnych producentów. Ogólnie w instytucjach finansowych, a w szczególności w sektorze bankowym moŜna wyróŜnić 3 podstawowe struktury informatyczne: • system zdecentralizowany • system regionalny • system centralny System zdecentralizowany (niezaleŜnie czy oprogramowanie w danym oddziale jest jednorodne czy pochodzi od róŜnych producentów). Oddział 3. Oddział 1. Centrala Banku. Oddział 2. Oddział 4. Rysunek 2-2 Bankowy system zdecentralizowany. System regionalny. Oddział 1. Oddział Regionalny 1. Oddział 4. Oddział 2. Centrala Banku. Oddział 5. Oddział 3. Oddział Regionalny 2. Oddział 6. Rysunek 2-3 Bankowy system regionalny. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-13.

(14) System Centralny. Oddział 1. Oddział 2. Oddział 3. Oddział 4. Centrala Banku. Oddział 5. Oddział 6. Rysunek 2-4 Bankowy system centralny. Ze względu na ciągły proces dostosowywania oferty usług do wymagań rynku usług finansowych następuje ciągła ewolucja systemów bankowych. Ewolucja ta prowadzi w kierunku systemów centralnych. Problem w przypadku przejścia na system centralny, regionalny bądź jednorodny stanowi przystosowanie tego systemu do potrzeb danego banku (jego specyficznej oferty) oraz konwersja danych ze „starych” systemów. Po dostosowaniu nowego systemu do specyfiki banku musi nastąpić jego testowanie, najpierw na danych fikcyjnych a następnie na danych rzeczywistych w celu sprawdzenia poprawności pracy systemu i zastosowanych metod obliczeniowych. Problem konwersji danych jest problemem złoŜonym tym bardziej im bardziej róŜnorodne systemy były dotychczas stosowane. Raczej nie naleŜy oczekiwać, aby nowy system mógł bez przeszkód bezpośrednio zaimportować dotychczasowe dane. Najczęściej w takim przypadku wybierany jest format pośredni danych (np. zbiór tekstowy), jednak to równieŜ nie gwarantuje przeprowadzenia konwersji w sposób całkowicie automatyczny. Często w systemach znajdują się rachunki Klientów, które trudno zakwalifikować do jakiejkolwiek sytuacji typowej (kredyty przeterminowane, rachunki w windykacji, itp.). Tak, więc pewna cześć danych musi być przekonwertowana w sposób „ręczny”. RównieŜ po przeprowadzonej konwersji poprawność danych nie moŜe być sprawdzona w sposób automatyczny, gdyŜ wydaje się niemoŜliwe stworzenie odpowiedniej metody sprawdzania poprawności konwersji. W wyniku kaŜdej konwersji danych powstają róŜnego rodzaju błędy i niezgodności, analiza, których moŜe być bardziej efektywna, jeŜeli spróbować wykorzystać nowoczesne systemy ekspertowe.. W kaŜdym z systemów, niezaleŜnie od struktury bazy danych (centralna, regionalna, rozproszona), środowiska systemu operacyjnego czy producenta, moŜna spotkać sytuację nieprawidłowego działania. Często jest to związane z niewłaściwą obsługą przez uŜytkowników,. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-14.

(15) brakiem stabilności systemów operacyjnych czy problemami z łącznością. Nie naleŜy równieŜ zapominać, iŜ systemy komputerowe tworzą pracownicy firm komputerowych, którzy jeŜeli nawet mają doświadczenie związane z pracą w bankowości, rzadko są wstanie przewidzieć moŜliwe do zaistnienia sytuacje rzeczywiste. Testowanie oprogramowania w warunkach laboratoryjnych nie daje 100% pewności poprawnego zachowania się oprogramowania podczas eksploatacji. Podobnie trudno zweryfikować przyjętą metodę obliczeń. Aby zminimalizować niebezpieczeństwo wynikających stąd błędów naleŜałoby przez wiele tygodni pracować równolegle na dotychczasowej wersji oprogramowania oraz nowej bezpośrednio podczas obsługi Klientów. Wymagałoby to nie tylko duŜych nakładów finansowych, ale równieŜ długiego okresu czasu. Po długotrwałej weryfikacji oprogramowania mogłoby, więc okazać się iŜ wdraŜane oprogramowanie jest juŜ zdezaktualizowane. Tworzeniem oprogramowania zajmują się grupy programistów, z których kaŜdy odpowiada za określony moduł. Pomimo zdefiniowania poprawnych załoŜeń oprogramowania, kaŜdy z programistów rozwiązuje drobne problemy w sposób indywidualny, co po zintegrowaniu poszczególnych modułów moŜe powodować nieoczekiwane zachowanie systemu. Przykładowo wybranie przez poszczególnych programistów róŜnego rozwiązania wspominanego problemu zaokrągleń moŜe po zintegrowaniu powodować utratę spójności przez dane. Problematyka pojawiania się błędów związana jest równieŜ z ilością przetwarzanych informacji. Początkowo wykorzystywane systemy słuŜyły do przechowywania i przetwarzania informacji dla kilkuset czy kilku tysięcy rachunków. Dla takich systemów moŜliwe było sprawdzenie zachowania się systemu nawet dla rzeczywistej ilości danych. Obecnie stosowane systemy centralne obsługuję często kilka milionów rachunków, tak, więc niemoŜliwe staje się w sytuacjach awaryjnych sprawdzenie takiej ilości danych w sposób tradycyjny. NaleŜy, więc opracować i zaimplmetować w systemie odpowiednie metody słuŜące do weryfikacji poprawności danych jak równieŜ ewentualnej modyfikacji błędnych danych. Stworzenie takich metod równieŜ obarczone jest błędem ilości danych ze względu na trudne do przewidzenia sytuacje, jakie mogą pojawić się w bazie danych. Do przetwarzania bardzo duŜych ilości informacji znajdujących się w duŜych bazach danych tworzone są obecnie aplikacje nazywane Data Warehouse, czyli hurtownie danych. Tego typu aplikacje szczególnie nadają się do celów sprawozdawczych, gdyŜ moŜliwe jest przechowywanie informacji z przeciągu długiego okresu czasu.. Od początku stosowania systemów informatycznych w dziedzinie finansów problemem było odpowiednie bezpieczeństwo danych oraz stabilność (rozumiana jako odporność na błędy i zakłócenia) wykorzystywanych systemów informatycznych. W tym celu wykorzystywane są róŜnego rodzaju zabezpieczenia takie jak zwielokrotnienie zapis na macierzach dyskowych typu RAID czy wykonywanie częstych backupów. Niemniej jednak nawet obecnie stosowane zaawansowane technologie zabezpieczeń (jak np. miroring, duplexing, bazy transakcyjne, itd.) mimo ich bardzo wysokiej niezawodności nie dają 100% pewności ochrony przed niespodziewaną awarią. W wyniku kaŜdej awarii naleŜy spodziewać ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-15.

(16) się, iŜ baza danych została uszkodzona w mniejszym lub większym stopniu, co objawia się wykazywaniem róŜnego rodzaju błędów. W przypadku rozbudowanych systemów obsługujących duŜe bazy danych, analiza tych błędów jest niezwykle pracochłonna, a często wręcz niemoŜliwa przy uŜyciu tradycyjnych metod. Niniejsza praca ma na celu próbę wykazania, Ŝe do analizy błędów wynikłych na skutek awarii czy choćby błędnej obsługi przez uŜytkowników moŜna zastosować nowoczesne technologie inŜynierii oprogramowania takie jak rozumowanie rozmyte czy sieci neuronowe. W kolejnych rozdziałach zostanie przedstawiona synteza błędów oraz propozycja systemu wspomagającego analizę błędów.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 2-16.

(17) 3. Zarys genezy błędów w systemach bankowych Przedmiotem rozwaŜań i badań naukowych w tej pracy będą oczywiście najnowsze systemy informatyczne (w szczególności systemy informatyki bankowej), a obiektem głównej troski będą te błędy, które nękają aktualnie uŜytkowników i administratorów współczesnych systemów bankowych. Jednak prawidłowa ocena i diagnoza stanu aktualnego jest łatwiejsza i moŜe być lepiej osadzona w związkach przyczynowo-skutkowych, gdy spojrzy się na problem z punktu widzenia jego genezy i historii rozwoju. Dlatego ten rozdział pracy sięga wstecz, pokazując, jak w kolejnych generacjach systemów informatyki bankowej pojawiały się błędy i nieprawidłowości działania – i jak z nimi walczono. Rozdział ten moŜe być pomijany w pierwszym pospiesznym czytaniu pracy, gdyŜ nie jest niezbędnie potrzebny dla zrozumienia problemów, jakich zwalczanie ma na celu proponowany w tej rozprawie system ekspertowy i podejście oparte na wiedzy. Jednak obserwacja praktyczna, wskazująca na to, Ŝe najlepiej diagnozują błędy współczesnych systemów specjaliści znający dogłębnie źródła i przyczyny błędów powstających w dawniej uŜywanych systemach informatyki bankowej – skłoniły autora do zaprezentowania w tym rozdziale problem błędów takŜe w projekcji retrospektywnej.. 3.1. Ogólna charakterystyka genezy błędów 3.1.1. Błędy w jednostanowiskowych systemach komputerowych Jak juŜ wspomniano w poprzednim rozdziale pierwsze systemy bankowe tworzone były dla jednostanowiskowych. punktów. obsługi. Klientów. przy. uŜyciu. prostych. narzędzi. programistycznych. Błędy, jakie występowały w tych systemach moŜna podzielić na: 1. Ograniczenia bazy sprzętowo-programistycznej (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu A-1) 2. Błędy powstałe przy tworzeniu aplikacji (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu A-2) 3. Błędy wynikłe z niewłaściwej obsługi uŜytkownika (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu A-3) Do pierwszej grupy błędów (grupa A-1) naleŜy zaliczyć szereg błędów wynikłych z niewielkiej mocy obliczeniowej ówczesnych komputerów oraz problemów spowodowanych. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-17.

(18) ograniczeniami stosowanych narzędzi programistycznych. W celu przetworzenia stosunkowo duŜej ilości danych (w stosunku do mocy komputerów) programiści byli zmuszeni poszukiwać niekonwencjonalnych rozwiązań, aby wykonać powierzone im zadanie. W ten sposób komplikowali kody aplikacji, co często skutkowało pojawianiem się błędów. Błędy te moŜna równieŜ zakwalifikować do drugiej grupy, jednak ze względu na swoją pierwotną genezę zostały one zakwalifikowane odrębnie. Zawodność pierwszych komputerów równieŜ często była przyczyną błędów naleŜących do pierwszej grupy. KaŜda awaria komputera w trakcie obsługi systemu groziła uszkodzeniem bazy danych, co w konsekwencji stwarzało problemy obsługi Klientów. Do tej grupy błędów zaliczyć naleŜy równieŜ błędy spowodowane na przykład zanikami napięcia energetycznego, gdyŜ pierwotnie systemu podtrzymywania napięcia nie były powszechnie stosowane ze względu na małą wydajność i duŜy koszt. W tej grupie błędów znajdują się takŜe błędy oprogramowania w systemach operacyjnych jak i w samych aplikacjach, które są wynikiem ograniczeń nakładanych na programistów. Błędy z drugiej grupy (grupa A-2) spowodowane były najczęściej pomyłkami programistów podczas tworzenia aplikacji. Pomyłki te czasami były wynikiem niejasności opracowywanego tematu bądź niezrozumienia pomiędzy zamawiającym oprogramowanie a twórcą. PoniewaŜ pierwsze systemy komputerowe powstawały w małych, najwyŜej kilkuosobowych zespołach programistów, brak było u tych wykonawców wyodrębnionych sekcji pracowników, którzy by testowali oprogramowanie przed wdroŜeniem u Klienta. Często równieŜ korekty oprogramowania wykonywane były bezpośrednio u Klienta, co powodowało, iŜ autor określonego modułu nie do końca był zaznajomiony z produktem finalnym. Oczywiście do tej grupy błędów naleŜą takŜe błędy powstałe przez zwykłe ludzkie przeoczenia i pomyłki, których nie da się uniknąć przy zastosowaniu nawet najbardziej wyrafinowanych narzędzi i metod kontroli. Błędy naleŜące do grupy trzeciej (grupa A-3) wynikają z nieprawidłowej obsługi oprogramowania przez uŜytkowników końcowych. Przyczyną tych błędów najczęściej był brak odpowiedniej wiedzy merytorycznej dotyczącej zagadnień obsługiwanego systemu. Często równieŜ szkolenia uŜytkowników prowadzone były w sposób szczątkowy, gdyŜ firmy oferujące oprogramowanie nie posiadały odpowiedniego grona fachowców szkoleniowych, a często osoba tworząca oprogramowanie pomimo dobrej znajomości tematu nie umiała przekazać swojej wiedzy merytorycznej uŜytkownikom. Problemy naleŜące do omawianej grupy wynikały teŜ z braku znajomości obsługi komputera, gdyŜ był to okres, kiedy informatyka zaczęła dopiero być popularyzowana pośród osób nie naleŜących do ścisłego grona fachowców. W grupie tej nie moŜna oczywiście pominąć pomyłek podczas obsługi systemów wynikających z nieuwagi operatorów.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-18.

(19) 3.1.2. Błędy w prostych sieciowych systemach komputerowych Wraz z rozwojem informatyki następował równieŜ rozwój bankowych systemów komputerowych. Na tym etapie zaczęto powszechnie stosować sieci komputerowe i rozwiązania oparte. na. serwerach. sieciowych,. co. spowodowało. powstanie. nowego. rodzaju. błędów.. Oprogramowania tworzone były początkowo w oparciu o rozwiązania z zastosowaniem komputera „centralnego” jako serwera plików, gdzie dane przetwarzane były na stacjach uŜytkowników, a następnie zapisywane na dysku serwera. W drodze kolejnej ewolucji zaczęto stosować rozwiązania oparte o architekturę klient-serwer. W tym rozwiązaniu dane przechowywane są na serwerze, ale równieŜ tam są przetwarzane. Komputery uŜytkowników słuŜą jedynie do komunikacji z serwerem. Na tym etapie rozwoju bankowych systemów komputerowych moŜna wydzielić następujące grupy błędów: 1. Ograniczenia bazy sprzętowo-programistycznej (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu B-1) 2. Błędy powstałe przy tworzeniu aplikacji (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu B-2) 3. Błędy wynikłe z niewłaściwej obsługi uŜytkownika (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu B-3) 4. Błędy związane z pracą sieciową oprogramowania (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu B-4) 5. Błędy związane z urządzeniami sieciowymi (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu B-5) Pierwsze 3 grupy (B-1, B-2 i B-3) są analogią do grup błędów występujących w pierwszych jednostanowiskowych systemach komputerowych. W grupie pierwszej (grupa B-1) brak jest juŜ co prawda błędów wynikłych z niewielkiej mocy obliczeniowej pojedynczych stanowisk, ale zwiększenie zakresu usług wymusiło przetwarzanie znacznie większej ilości danych przez serwer. Dodatkowo obsługa usług sieciowych obciąŜała procesor serwera w stopniu przerastającym niekiedy jego moŜliwości. Tak więc i na tym etapie występuje problem z duŜą ilością danych koniecznych do przetworzenia co moŜe być przyczyną błędów. Na tym etapie nie występuje juŜ tak powaŜnie problem zawodności sprzętu, jak równieŜ szerokie zastosowanie znajdują układy podtrzymywania napięcia, z których budowane są całe sieci zasilające. Na tym etapie rozwoju systemów komputerowych zaczynają pojawiać się nowe rodzaje błędów związane z sieciowym wykorzystaniem oprogramowania i danych. Jednak ze względu na specyficzną charakter zostały one wyodrębnione w oddzielnej grupie.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-19.

(20) Błędy z drugiej grupy (grupa B-2) nadal spowodowane są najczęściej pomyłkami programistów podczas tworzenia aplikacji. Generalnie przyczyny błędów naleŜących do tej grupy są analogiczne jak dla grupy błędów występujących w jednostanowiskowych systemach komputerowych. Ze względu jednak na znacznie większą złoŜoność oprogramowanie oraz zastosowanie rozwiązań sieciowych potencjalne zagroŜenie wystąpienia błędu w oprogramowaniu zwiększa się. Równocześnie zwiększają się nakłady na testowanie produktów przed wdroŜeniem ich u Klienta. W grupie trzeciej (grupa B-3) na etapie wykorzystywania rozwiązań sieciowych zmniejsza się ilość błędów wynikłych z nieznajomości obsługi urządzeń komputerowych dzięki masowej popularyzacji informatyki. Równocześnie jednak znaczna złoŜoność oprogramowania komplikuje obsługę systemów, co niekorzystnie wpływa na ilość pojawiających się błędów. DuŜe firmy programistyczne posiadają juŜ jednak specjalistyczne zespoły szkoleniowe, które przekazują swą wiedzę uŜytkownikom końcowym. Pozostałe przyczyny błędów są analogiczne jak dla grupy błędów występujących w jednostanowiskowych systemach komputerowych (grupa A-3). Do grupy czwartej (grupa B-4) zostały zaliczone nowe typy błędów związanych z zastosowaniem rozwiązań sieciowych. Rozwiązania polegające na przechowywaniu danych na serwerze oraz przetwarzaniu ich na stacjach roboczych umoŜliwia korzystanie z jednej bazy danych przez wielu uŜytkowników, jednak wymaga to zastosowania dedykowanego serwera o podwyŜszonej wydajności oraz specjalnego dostosowania oprogramowania komputerowego. Błędy, jakie wynikają z zastosowania technologii sieciowych w aplikacjach są związane ze znacznego skomplikowania oprogramowania. Oprogramowanie pracujące w sieci komputerowej musi zapewniać dostęp do danych z określonych stanowisk komputerowych, niezwykle waŜne jest równieŜ zapewnienie odpowiedniej ochrony danych przed niepowołanym dostępem. Problemem, będący osobliwym typem błędów jest zabezpieczenie przed równoczesnym wykonywanie operacji na tych samych danych. Jest to tak zwany problem wielodostępu do danych. W przypadku wykorzystywania serwera jedynie jako miejsce składowania plików konieczne jest równieŜ programowe zapewnienie przesyłania danych pomiędzy serwerem a stacją roboczą. Nieodpowiednio opracowane oprogramowanie moŜe powodować przesyłanie niekompletnych danych lub umoŜliwić fałszowanie danych podczas ich przesyłania. Przeprowadzenie operacji na takich danych spowoduje zafałszowanie zapisów w bazie danych. Zastosowanie rozwiązania klient-serwer polega na przetwarzaniu danych bezpośrednio na serwerze nazywanym serwerem aplikacji. W tym przypadku mogą pojawić się analogiczne błędy jak w przypadku serwera plików, z tą tylko róŜnicą, iŜ brak jest przesyłania danych, ale przesyłane są polecenia aplikacji, które przy błędnie działającej aplikacji sieciowej mogą zostać błędnie zinterpretowane, w wyniku, czego równieŜ i w tym przypadku moŜe nastąpić zafałszowanie zapisów w bazie danych. Grupa piąta błędów w dedykowanych systemach sieciowych (grupa B-5) związana jest z warstwą sprzętową systemów sieciowych. W przypadku aplikacji sieciowych pomimo prawidłowo zaimplementowanej aplikacji oraz sieciowego systemu operacyjnego mogą pojawić się błędy. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-20.

(21) związane z pracą w sieci komputerowej. Sieć komputerowa poza serwerem oraz stanowiskami roboczymi składa się z szeregu innych urządzeń takich jak koncentratory, switch’e, oraz duŜej ilości kabli łączących urządzenia. Błędy, jakie mogą pojawić się przy przetwarzaniu danych mogą, więc być wynikiem zakłóceń wywołanych na połączeniach urządzeń czy fal elektromagnetycznych oddziaływujących na kable. Problem zakłóceń powstających w kablach sieci komputerowej, co było jedną z przyczyn błędów zaliczanych do omawianej grupy, szczególnie był uwidaczniany przy wykorzystywaniu sieci opartych o technologię BNC (kabel koncentryczny). Dodatkowo często w takich sieciach stosowano połączoną topologię gwiazdy i linii, która polegała na rozprowadzeniu od koncentratora kilku linii, do których podpięte było po kilkanaście komputerów. Przy zastosowaniu takiej topologii sieci przyczyną błędów mogło być dodatkowo wzajemne zakłócanie poszczególnych stanowisk, oraz niebezpieczeństwo przerwania łączności pomiędzy serwerem i stacją podczas wykonywania prac technicznych przy innej stacji. Obecnie powszechnie stosowana jest sieć komputerowa oparta o technologię przewodów dwuŜyłowych (tzw. „skrętka komputerowa”) oraz topologię gwiazdy. Zastosowanie tego typu rozwiązań znacznie redukuje błędy zaliczane do tej grupy. 3.1.3. Błędy w nowoczesnych systemach centralnych Kolejnym krokiem przy rozwoju informatyki bankowej było zastosowanie nowoczesnych, wydajnych komputerów, pracujących jako centralne serwery plików i aplikacji. Serwery te wykorzystują nowoczesne sieciowe systemy operacyjne oraz aplikacje stworzone przy wykorzystaniu najbardziej zaawansowanych technologii projektowania. Niestety systemy te równieŜ nie są wolne od błędów. Do przyczyn błędów, jakie występowały w poprzednich rozwiązaniach dodatkowo dołączyły problemy związane z konfiguracją i optymalizacją wysokowydajnych serwerów, często problemem jest równieŜ przesyłanie danych na znaczne odległości - systemy rozległe obejmują nieraz terytorium całego kraju w przeciwieństwie do prostych systemów sieciowych wykorzystywanych w obrębie jednej instytucji. Ujmując temat syntetycznie w nowoczesnych zcentralizowanych systemach komputerowych moŜna pojawiające się błędy podzielić na następujące grupy: 1. Ograniczenia bazy sprzętowo-programistycznej (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu C-1) 2. Błędy powstałe przy tworzeniu systemów komputerowych (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu C-2) • błędy systemów operacyjnych • błędy oprogramowania sieciowego • błędy narzędzi programistycznych i środowiska pracy aplikacji • błędy aplikacji 3. Błędy związane z nieprawidłową pracą sprzętu teleinformatycznego (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu C-3). ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-21.

(22) • błędy serwera centralnego • błędy urządzeń sieciowych i pośredniczących • błędy stacji roboczych na stanowiskach uŜytkowników 4. Błędy wynikłe z niewłaściwej obsługi (w tej pracy przyjmiemy oznaczenie dla tej grupy błędów przy uŜyciu symbolu C-4) • błędy wynikłe z niewłaściwej obsługi aplikacji • błędy wynikłe z nieprawidłowych uprawnień do korzystania z serwera Zmodyfikowany podział na grupy błędów w powyŜszym przypadku związany jest z zastosowania innych rozwiązań technologicznych zarówno w przypadku oprogramowania jak i sprzętu. Konieczne stało się równieŜ wydzielenie dodatkowych podgrup w celu lepszego sklasyfikowania występujących błędów. Pierwsza grupa (grupa C-1) związana jest przede wszystkim z koniecznością odpowiedniego zoptymalizowania procesów przeliczeniowych, gdyŜ w przypadku zastosowania nowoczesnych maszynach opartych na technologiach RISC czy ALPHA ich wydajność nie stanowi juŜ tak znaczącego ograniczenia. Problemem jest jednak odpowiednie wykorzystanie oferowanej mocy obliczeniowej. W przypadku braku optymalizacji lub zastosowania nieodpowiednich narzędzi słuŜących optymalizacji mogą pojawiać się problemy (a w związku z tym i błędy) wynikłe z pozornie „za małej” mocy obliczeniowej. Grupa druga błędów (grupa C-2) zawiera - analogicznie jak w poprzednio opisywanych systemach - błędy związane z niedopracowaniem lub pomyłki podczas tworzenia aplikacji. Przy tak duŜych systemach, jak współczesne scentralizowane systemy bankowe, zdroworozsądkowe sposoby wykrywania i usuwania błędów są niewystarczające. Dlatego juŜ na etapie ich projektowania i implementacji stosowane są skomplikowane procedury testowania, które w teorii powinny wykryć większość wyeliminować większość błędów. Tak jest w teorii, jednak w praktyce barierą w tym przypadku okazuje się czas potrzebny do dogłębnego sprawdzenia wdraŜanych rozwiązań. Wielokrotne testowanie, jakie konieczne byłoby do wykrycia wszystkich błędów w oprogramowaniu prawdopodobnie spowodowałoby dezaktualizację oprogramowania i eliminację formy tworzącej przesadnie perfekcyjny system z niezwykle dynamicznego rynku oprogramowania bankowego. Z tego względu przez producentów oprogramowania stosowane są róŜnego rodzaju symulacje, które jednak czasami nie oddają w pełni warunków rzeczywistych. ZłoŜoność współczesnego oprogramowania powoduje, iŜ jest ono wynikiem pracy całego zespołu programistów, z których kaŜdy ma do opracowania określony moduł. W związku z tym przyjęte indywidualnie rozwiązania mogą nie współpracować ze sobą a więc być przyczyną błędów. Nadal pozostaje jako czynnik błędów problem porozumienia w sprawach merytorycznych pomiędzy zamawiającym i twórcą oprogramowania. PowyŜsze uwagi dotyczą zarówno stosowanych systemów. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-22.

(23) operacyjnych, oprogramowania sieciowego, środowiska baz danych jak i przede wszystkim tworzonych na ich bazie aplikacji uŜytkowych. Grupa trzecia przyczyn błędów (grupa C-3) jest wynikiem wadliwego działania róŜnego rodzaju wykorzystywanego sprzętu komputerowego. Serwer centralny w przypadku awarii moŜe być przyczyną błędu w obliczeniach, podobnie jak stacje końcowe mogą powodować uszkodzenie baz danych. Analogicznie jak w przypadku poprzednio opisywanych systemów wadliwie działające urządzenia pośredniczące mogą powodować zafałszowanie danych lub uniemoŜliwiać dostęp i operacje na danych. Poza sytuacjami opisywanymi w grupie B-5 dodatkowo w przypadku systemów centralnych dochodzi problem przesyłania danych (komend oraz informacji o wynikach obliczeń) na znaczne odległości (nieraz jest to kilkaset a nawet kilka tysięcy kilometrów). W takich sytuacjach potencjalne wystąpienie błędu znacznie się zwiększa pomimo zastosowania nowoczesnych technik przesyłu informacji takich jak łącza cyfrowe, optyczne czy satelitarne. Wystąpienie błędu wynika czasem z nieprzystosowania dostawcy medium komunikacyjnego do potrzeb przesyłania określonego typu danych, a często brak jest moŜliwości wyboru dostawcy medium. Czwartą grupę błędów stanowią błędy związane z nieprawidłową obsługą aplikacji. Pomimo przeprowadzania przez specjalistyczne firmy szkoleń uŜytkowników końcowych, złoŜoność obsługi nowoczesnych systemów komputerowych często jest przyczyną błędów. Systemy komputerów powinny być odpowiednio zabezpieczone przed nieprawidłową obsługą, jednak przewidzenie róŜnego rodzaju reakcji uŜytkowników na nietypowe sytuacje przez programistów opracowującym aplikację wydaje się być niemoŜliwe. Obecnie znajomość obsługi komputera jako takiego jest coraz powszechniejsza. W związku, z czym zmniejszyła się ilość błędów związana z nieprawidłową obsługą samego stanowiska komputerowego. Nowym czynnikiem wpływającym na powstawanie błędów jest natomiast konieczność pracy operatora w systemie sieciowym. Dla zabezpieczenia danych stosuje się obecnie szereg haseł i identyfikatorów uŜytkowników, co dodatkowo komplikuje pracę i moŜe być przyczyną błędów. Przyczyną błędów moŜe być równieŜ nieprawidłowe korzystanie z przyznanych uprawnień danemu uŜytkownikowi. Nadal równieŜ jako przyczyna występuje nieprawidłowa obsługa spowodowana nieuwagą lub znacznym nagromadzeniem obowiązków, co wymaga bardzo szybkiej obsługi systemu.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-23.

(24) 3.2. Krótkie porównanie przyczyn błędów na poszczególnych etapach rozwoju informatyki bankowej W poprzednim rozdziale została przedstawiona geneza podstawowych grup błędów jakie występowały lub występują w komputerowych systemach bankowych. Z analizy przyczyn opisanych grup moŜna wnioskować, iŜ niezaleŜnie od zastosowanych narzędzi i rozwiązań informatycznych jako podstawowe grupy błędów moŜna wyróŜnić: 1. Błędy wynikłe z ograniczeń sprzętowo-programistycznych 2. Błędy programistyczne powstałe przy tworzeniu oprogramowania • błędy związane z systemami operacyjnymi • błędy związane z oprogramowaniem uŜytkowym (m.in. usługi sieciowe) • błędy związane ze środowiskiem bazy danych • błędy związanie ze specjalizowaną aplikacją 3. Błędy wynikłe z niewłaściwej obsługi przez uŜytkownika • błędy wynikłe z niewłaściwej znajomości zasad obsługi urządzeń komputerowych • błędy wynikłe z nieznajomości pracy z systemami sieciowymi przez uŜytkowników • błędy wynikłe z niedostatecznego przeszkolenia uŜytkowników systemu • błędy wynikłe z niestarannej obsługi systemu 4. Błędy wynikające z awarii bądź wadliwego działania sprzętu teleinformatycznego • błędy związane z nieprawidłową pracą sprzętu komputerowego przechowującego i przetwarzającego dane • błędy związane z nieprawidłową pracą sprzętu terminalowego • błędy związane z nieprawidłową pracą urządzeń sieciowych • błędy związane z zakłóceniami sieci komputerowych PowyŜsze zestawienie w większości pokrywa się z zestawieniem grup błędów dla rozwaŜanego w tej pracy bankowego systemu centralnego. Równocześnie grupy zdefiniowane dla poprzednich generacji błędów zawierają się w przedstawionym zestawieniu. NaleŜy zauwaŜyć, iŜ obecnie wykorzystywane specjalizowane systemy centralne są wynikiem ewolucji systemów jednostanowiskowych poprzez proste systemy sieciowe aŜ do systemów centralnych. MoŜna więc powiedzieć, iŜ „odziedziczyły” one niektóre wcześniej występujące przyczyny i rodzaje błędów, zaś postęp przejawił się między innymi w tym, Ŝe do błędów jakie występowały w pierwszych jednostanowiskowych systemach zostały dołączone kolejne grupy związane z uzupełnianiem systemów o nowe funkcje, na przykład sieciowe.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-24.

(25) W. pierwszej. grupie. przyczyn. błędów,. określanej. jako. ograniczenia. sprzętowo-. programistyczne, zmienił się charakter występujących błędów. Obecnie nie występuje problem braku mocy obliczeniowej komputerów, a raczej powstaje problem jak efektywnie wykorzystać oferowaną moc obliczeniową. Grupa druga związana jest z błędami popełnionymi przez programistów w trakcie tworzenia oprogramowania. Obecnie wykorzystywane oprogramowanie jest znacznie bardziej złoŜone niŜ oprogramowanie pracujące kilka czy kilkanaście lat temu. Tak, więc występuje potencjalnie znacznie większa moŜliwość popełnienia błędu przez autora oprogramowania. Z drugiej jednak strony wcześniej rozpoznane błędy, jak równieŜ rozbudowane narzędzia programistyczne pomagają w znacznym stopniu niebezpieczeństwo to zredukować. KaŜde oprogramowanie powstaje na bazie innego. narzędzia. programistycznego.. W. wyniku. obserwacji. błędów. ujawniających. się. w oprogramowaniu uŜytkowym moŜna wnioskować, iŜ rodzaj tak powstałych błędów nie zaleŜy od uŜytego narzędzia. Teza te dotyczy zarówno systemów operacyjnych, oprogramowania uŜytkowonarzędziowego, oprogramowania baz danych jak równieŜ specjalistycznych aplikacji. W. trakcie. ewolucji. oprogramowania. zauwaŜone. zostały. potrzeby. szkoleniowe,. co spowodowało powstanie specjalistycznych jednostek uczących korzystania z określonego systemu. Dzięki temu zmniejszyła się ilości błędów spowodowanych niewłaściwą obsługą. Równocześnie szerokie. rozpowszechnienie. komputerów. osobistych. spowodowało. podniesienie. „kultury. informatycznej” społeczeństwa, co równieŜ korzystnie wpłynęło na zmniejszenie tego typu ilości błędów. Nadal występują błędy związane z niestaranną obsługą, które są trudne do wyeliminowania, bo ich przyczyna leŜy po stronie ludzi i ich właściwości, a nie po stronie techniki. Kolejna grupa błędów, jakie występują na wszystkich etapach ewolucji oprogramowania bankowego to błędy związane z warstwą sprzętową. Jakkolwiek niezawodność komputerów została znacznie podniesiona, zaczęto stosować szereg zabezpieczeń to jednak niemoŜliwe wydaje się skonstruowanie w pełni niezawodnego urządzenia. Dotyczy to wszystkich kategorii sprzętu teleinformatycznego. Tak, więc ta grupa błędów, podobnie jak błędy aplikacji nie zaleŜą od wykorzystywanych do ich stworzenia narzędzi. Opracowanie bardziej niezawodnych urządzeń komputerowych następuje równocześnie z wdraŜaniem nowych technologii i oferowaniem nowych moŜliwości przez te urządzenia. Osobnym problemem są błędy związane z przesłaniem prawidłowych danych. W pierwszym etapie wykorzystywania sprzętu komputerowego problem tego typu nie istniał. Być moŜe w minimalnym stopniu mogły być zakłócane prace elementów samego komputera, jednak trudno to oddzielić od wadliwej pracy urządzenia. W związku z tym błędy związane z przesyłaniem danych stanowią nową kategorie błędów i nie mogą być poddawane porównaniom.. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 3-25.

(26) 4. Analiza błędów w badanym systemie centralnym RozwaŜania zawarte w poprzednim rozdziale miały charakter ogólny i chociaŜ były wynikiem własnych analiz i rozwaŜań autora pracy – trudno je było zaliczyć do elementów całkowicie oryginalnych. Natomiast informacje przedstawione w tym rozdziale są oparte wyłącznie na wieloletnich doświadczeniach praktycznych autora i moŜna je uznać za całkowicie oryginalne, gdyŜ nikt nigdzie takiego zestawienia wcześniej nie sporządził i nie zaprezentował.. 4.1. Charakterystyka systemu będącego podstawą prowadzonych badań 4.1.1. Uwagi wstępne Na podstawie argumentów przytoczonych w poprzednich rozdziałach moŜna sformułować stwierdzenie, iŜ w ujęciu syntetycznym geneza błędów w systemach komputerowych nie zaleŜy od narzędzi uŜytych do ich stworzenia. W tej pracy będziemy tego dowodzili w odniesieniu do systemów komputerowych wspomagających pracę instytucji finansowych, moŜna jednak postawić hipotezę, iŜ podobne stwierdzenie jest równieŜ prawdziwe w większości dziedzin, w których wykorzystywana jest informatyka. Hipoteza taka oparta została na fakcie, iŜ narzędzia słuŜące do tworzenia bankowych systemów informatycznych, są w takim samym stopniu wykorzystywane takŜe w innych dziedzinach i innych zastosowaniach informatyki. Specjalistyczne oprogramowanie bankowe, będące przedmiotem szczegółowych rozwaŜań w tej pracy, powstaje przy uŜyciu tej samej metodologii (obiektowej lub strukturalnej), korzysta z tych samych systemów operacyjnych, z takiego samego oprogramowania sieciowego jak równieŜ wykorzystuje analogiczny sprzęt komputerowy, jak kaŜdy inny system komputerowy. Co więcej, rozwaŜając systemy informatyczne o róŜnym przeznaczeniu moŜemy stwierdzić, Ŝe obsługują te systemy podobni ludzie, mający podobne słabostki i popełniający podobne błędy. PoniŜej zostanie przedstawiona próba analizy syntetycznej błędów występujących w systemie informatycznym na przykładzie centralnego systemu bankowego. Ze względu jednak na argumenty przytoczone wyŜej moŜna przyjąć, Ŝe spostrzeŜenia i wnioski, jakie zaprezentujemy w pracy na temat tego właśnie konkretnego systemu, będą mogły w prawie niezmienionej postaci znaleźć zastosowanie przy analizie dowolnego innego duŜego systemu informatycznego. Jak wspomniano, analiza przedstawiona w tej pracy zostanie oparta na podstawie wieloletnich badań, przeprowadzonych przez autora podczas uruchamiania jednego z największych bankowych. ___________________________________________________________________________ System ekspertowy jako narzędzie do usuwania błędów w duŜych informatycznych systemach bankowych. 4-26.

Cytaty

Powiązane dokumenty

1. Zapis taki powinien się składać z następujących elementów ujętych w nawiasie kwadratowym: nazwisko autora cytowanej pracy, rok wydania publikacji i strona / strony, np.

W poniższej tabeli przedstawiono rozkład procentowy ich odpowiedzi (gwiazdką oznaczono od- powiedź poprawną). Naj- częściej wybieranym dystraktorem była odpowiedź A –

Uczestnicy przedsięwzięcia – dzieci, młodzież i ich ro- dzice i opiekunowie – będą mogli wziąć udział w krót- kich wykładach, warsztatach praktycznych, zajęciach

Ufam, że wyniki naszych badań choć w niewielkim stopniu przyczynią się do poznania wspaniałego daru języka, który dany jest człowiekowi i wspólnocie dla realizacji

Dysfunctions of the mitochondrial proteins lead to the mitochondrial diseases, which can be caused by muta- tions in mtDNA as well as in the nuclear genes.. Clinical features of

Obawy przed marginalizacją języka, jak i próby wyjaśniania, że będzie on jednym z języków urzędowych w Unii, to najczęściej pojawiające się tematy, które można odnaleźć

Only those countries whose average were significantly lower than the OECD average (Kazakhstan, Turkey, Qatar and the United Arab Emir- ates) showed a higher rate of change then

The aim of this research was to examine how critical thinking at junior high school level can be developed using the Internet as a source of information.. A group of second