Wprowadzenie

Niedawno jeden z artykułów zakończyłem akapitem:

Pierwszy etap analizy biznesowej to między innymi opracowanie biznesowego słownika pojęć (model pojęciowy)… (Słownik pojęć biznesowych: najbardziej podstawowe wymaganie).

Nie każda jednak analiza to analiza, której celem jest opisanie wymagań i projektowanie oprogramowania. Jednak każda analiza problemu, prowadzona jako analiza systemowa, ma ustalone etapy postępowania:

  1. formułowanie problemu,
  2. opracowanie modelu analizowanego zjawiska (w tym dowód jego poprawności!),
  3. wykrycie i testowanie wariantów,
  4. analiza wyników i rekomendacje,
  5. projektowanie rozwiązania.

Powyższe to, oparte na klasycznej analizie systemowej, postępowanie. Dzisiaj skupię się głównie na punkcie “opracowanie modelu” gdyż bazą do jego tworzenia jest właśnie słownik pojęć. 

Jak nie raz tu pisałem, modele tworzone są z użyciem notacji. Notacja to system pojęciowy, pewna przestrzeń nazw (ang. namespace). Notacje mogą być graficzne, wtedy każde pojęcie ma przyporządkowany określony unikalny symbol, tworzone z nich konstrukcje to diagramy, będące odpowiednikiem zdań (poprawny diagram “coś mówi”). Tak więc tyle krótkiego wprowadzenia.

Gdzie te słowniki?

Pierwszym etapem analizy systemowej jest zdefiniowanie problemu, ten jest związany zawsze z określonym przedmiotem. Przedmiot analizowany – system –  musi mieć ściśle określone granice oraz jednoznaczny opis będący modelem tego systemu. Aby taki opis mógł powstać, jak się zapewne już domyślamy, musimy dysponować zbiorem jednoznacznych pojęć go opisujących – musimy mieć adekwatną do problemu i jego dziedziny przestrzeń nazw. Model systemu to jednoznaczna definicja tego czym jest i jak się zachowuje (jak reaguje na bodźce). Opis taki wykonany językiem naturalnym, nie nadaje się do analizy, język naturalny nie jest formalną przestrzenią nazw, i z reguły nie pozwala na jednoznaczne opisanie czegoś (w złym modelu pojęciowym znaczenia pojęć nie pokrywają całej przestrzeni, nakładają się).

przestrzen nazw

Tak więc do opracowania modelu wymagana jest notacja. Skąd ja wziąć? Jak ją wybrać? Jak widać, notacja musi być dostosowana do dziedziny problemu. Notacje standardowe, z reguły, są dość ogólne gdyż muszą zachowywać pewną uniwersalność. Notacje standardowe są dziedzinowe i tu dziedziną tą jest określony paradygmat. Najbardziej znanymi notacjami  stosowanymi w analizie systemowej z obszaru zarządzania i systemów informacyjnych są UML i BPMN. UML reprezentuje paradygmat obiektowy mówiący, że świat składa się ze współpracujących obiektów mających określone cechy i możliwości (umiejętności). BPMN reprezentuje paradygmat procesowy mówiący, że świat to zachodzące w czasie procesy tworzenia lub przekształcania rzeczywistości (należy jednak dodać, że UML to także diagramy dynamiki systemu, mające związek z paradygmatem procesowym, nie należy jednak mylić tego z pojęciem “proces biznesowy”).

Poza tymi dwoma notacjami (moim zdaniem głównymi) mamy wiele innych, specyficznych dla określonych dziedzin i paradygmatów, systemów pojęciowych (np. BMM czy SBVR).

Tak więc każda analiza, powinna być poprzedzona wyborem notacji, które zostaną w niej użyte. Na pewnym określonym poziomie abstrakcji wystarczą pojęcia dostępne w notacjach standardowych. Nie raz może się jednak zdarzyć, że analiza problemu dotyka szczegółów, których rozróżnianie nie jest możliwe z pomocą standardowej notacji. Każdy konkretny problem ma swoje konkretne środowisko dziedzinowe, może się zdarzyć, że bardziej szczegółowe niż uniwersalne notacje. Wtedy należy rozszerzyć zastosowaną notację (przestrzeń pojęciową). Rozszerzanie to jednak wymaga przestrzegania pewnej zasady: rozszerzenie to może polegać wyłącznie na zastępowaniu “starych” pojęć zestawem ich specjalizacji (“stare” pojęcie staje się abstrakcją) oraz zestaw takich specjalizacji także musi stanowić lokalną przestrzeń nazw. Taka dodatkowa przestrzeń nazw nazywa się profilem notacji. Tworzenie profili jest dość trudnym zajęciem z uwagi na wymóg zachowania opisanych formalizmów przestrzeni pojęciowych (profil także musi mieć określona semantykę i syntaktykę, która to nie może kolidować z tą w notacji bazowej).

I tu dochodzimy do sedna: aby stworzyć profil notacji – co czasami bywa niezbędne dla jakości analizy – należy najpierw zbudować słownik pojęć z dziedziny analizowanego problemu, sprawdzić czy zastosowana notacja pozwala na rozwiązanie postawionego problemu  z użyciem standardowej wersji notacji. Bez takiego słownika analiza może być niewykonywalna, albo jej jakość będzie bardzo niska – czytaj: użycie jej wyników będzie bardzo ryzykowne.

Takie profile ma np. notacja BPMN w celu przechodzenia z modeli abstrakcyjnych na wykonywalne, standardowo operuje się np. jednym pojęciem czynność, jeżeli potrzebne jest ich rozróżnianie, przechodzimy na stosowanie symboli oznaczonych jako czynność odebrania komunikatu, czynność wysłania komunikatu, czynność manualna,  itp.. Dla notacji UML powstało wiele profili np. dla konkretnych języków programowania i ich środowisk.

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.) Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony).

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.