Tym razem artykuł adresowany do zaawansowanych analityków.
Ta specyfikacja (SPEM) jest datowana na 2008 rok. Stanowi sobą tło dla MDA oraz uzasadnia wzorce projektowane oparte na przypadkach użycia (mikroserwisy, Use Case 2.0, inne podobne). Podstawowa różnica między specyfikacją SPEM a specyfikacją UML polega na tym, że UML to profile MOF stanowiące opisy notacji i systemów pojęciowych. SPEM to metamodel procesu wytwórczego oprogramowania czyli generalne zasady budowania procesów wytwarzania i dostarczania oprogramowania.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Agile business analyst has the capability to keep the wheel rolling. They?re a transformative funnel through which a requirement passes down to the delivery path towards an expected outcome. This SDLC machine needs continuous fuel in the form of well-defined and informed information which is provided by an agile business analyst. As long as an agile business analyst does the job, this machine will remain on its course to deliver greater solutions.Coming to our original question, is an agile business analyst a myth or a reality? There is a clear answer. It is a reality if an organization realizes the value, but it is a myth for immature organizations whose processes are ill-defined and are nowhere on a path towards best practices. (Is Agile Business Analyst a Myth or a Reality? )
Tak więc (zwinny) analityk biznesowy to model pracy polegający na stałym dostarczaniu (na etapie implementacji) kolejnych informacji. Projekt tworzenia aplikacji zawsze trwa w czasie, więc w toku tworzenia oprogramowania zmienia się biznes.
Developerzy często mówią, że klient zmienia im wymagania, a tak na prawdę ktoś zbyt wcześnie zapisał zbyt wiele szczegółów. Implementacja dedykowanego oprogramowania to tak na prawde pętla iteracyjno-przyrostowa: zbieramy informacje potrzebne do wytworzenia jednej usługi aplikacyjnej i implementujemy ją, wszelkie szczegóły odkładamy na ostatni moment. Wymaga to jednak zmiany podejścia. Trzy lata temu pisałem na tym blogu:
Rynek zmienia się szybko, więc nie ma sensu szczegółowe projektowanie czegokolwiek z uwagi na czas jaki zajmie takie projektowanie i ryzyko, że taki projekt stanie się szybko nieaktualny. Nikt rozsądny nie namawia dzisiaj do czegoś o wdzięcznej nazwie ??waterfall?. Co więc zrobić? Dla dużych projektów tworzymy architekturę, opisujemy mechanizmy działania, politykę rozbudowy i opis cyklu życia. Czyli to co pozwoli rozwijać rozwiązanie metodą iteracyjno-przyrostową, w razie potrzeby pozwoli na przeprojektowanie, ale jako całość nadal będzie spójne, nie będzie wymagało wymiany całości gdy zmienią się warunki na rynku.Można w tym miejscu zaryzykować tezę, że nie ma czegoś takiego jak ??inżynieria wymagań? bo czym ona jest i co jest jej produktem? Uporządkowany spis życzeń? Mamy natomiast na pewno ??inżynierię systemów?.? systemami są organizacje a także narzędzia jakich używają np. oprogramowanie? (Wymagania umarły. Rozwiązaniem jest cykl życia produktu | | Jarosław Żeliński IT-Consulting)
Z czego należy więc od razu zrezygnować? Z opracowania relacyjnego modelu (bazy) danych dla całej aplikacji, i przestawić sie na idee mikro-serwisów, czyli uznania, że aplikacja nie jest monolitem a zestawem komponentów realizujących usługi aplikacyjne. Usługi aplikacyjne modelujemy jako Przypadki Użycia (notacja UML) i to stanowi kontakt z dostawcą. Jednak „czarna skrzynka” (opis nie zawierający mechanizmu działania) jest bardzo ryzykowny, dlatego skuteczne metody dokumentowania wymagań, to metody zorientowanie na modele (MDA) opisujące logikę działania systemu (model jako wymaganie), a zamiast tworzenia korporacyjnego relacyjnego modelu danych, zamykamy się w dokumentach jako elementarnych nośnikach danych (i nie boimy sie redundancji danych w całym systemie). Ogromne i szczegółowe dokumenty i modele są wyłącznie stratą czasu i pieniędzy:
(Designing Object Systems: Object-Oriented Modelling with Syntropy Textbook Binding ? November 18, 1994 by Steve Cook (Author), John Daniels (Author))
Dlatego od lat fascynuje mnie niekonsekwencja wielu developerów: najpierw wieszają psy na metodach nazywanych „waterfall”, a już chwilę potem zaczynają projektowanie jednego relacyjnego modelu danych dla całego projektu!
Zwinny Analityk Biznesowy utrzymuje pętlę iteracji przyrostu zakresu projektu: mając opracowaną architekturę całości i paradygmat (politykę) projektowania (np. obiektowy), dostarcza cyklicznie i zawsze na ostatni moment, kolejne szczegóły, bo wtedy ma największą wiedzę, i ryzyko zmiany zakresu jest najmniejsze. To się nazywa «nadzór autorski».
Tak więc kluczem do sukcesu, w dzisiejszych warunkach, jest model oparty na komponentowej architekturze i iteracyjnym dostarczaniu kolejnych usług aplikacyjnych . Jak? Analiza, projektowanie i implementacja:
Analiza biznesowa (procesy biznesowe) i systemu informacji w organizacji, i decyzja o ewentualnej standaryzacji dokumentów i procesów. (notacje BMM, SBVR, BPMN, UML)
Opracowanie modelu informacyjnego czyli szablonów dokumentów, ich wzajemnych powiązań i słownika pojęć. (notacja UML, SBVR)
Opracowaniu architektury całości i opisanie cyklu życia projektu (notacja UML).
Przejścia do fazy implementacji z nadzorem autorskim autora projektu (zarządzanie zmianą, stała aktualizacja dokumentacji systemu).
Pierwsze przy punkty, ich realizacja, nie powinny nigdy trwać dużej niż kwartał, a dokumentacja pierwotna raczej nie powinna przekroczyć nigdy 100 stron, bez względy na wielkość projektu! Im większy projekt tym bardziej dokumentacja początkowa powinna być abstrakcyjnym modelem. Innymi słowy: im większy i dłużej trwający projekt, tym bardziej jego opis powinien być strategią jego realizacji, a nie taktyką.
Czy zwinny analityk biznesowy jest mitem czy rzeczywistością? Istnieje jasna odpowiedź: to rzeczywistość, jeśli organizacja zdaje sobie sprawę z wartości takiej pracy, ale jest mitem dla niedojrzałych organizacji, których procesy są źle zdefiniowane.
Jenney, J. et al. (2010) Modern methods of systems engineering: with an introduction to pattern and model based methods. Erscheinungsort nicht ermittelbar: Joe Jenney.
Awaysheh, F.M. et al. (2019) ‘Next-Generation Big Data Federation Access Control: A Reference Model’, arXiv:1912.11588 [cs] [Preprint]. Available at: http://arxiv.org/abs/1912.11588 (Accessed: 4 January 2020).
Garland, J. and Anthony, R. (2003) Large-scale software architecture: a practical guide using UML. Chichester ; New York: J. Wiley.
Kumar, R.N.P. and Patil, S. (2019) ‘A System and Method for improving the Model Based Systems Engineering Environment capability’, INCOSE International Symposium, 29(S1), pp. 277 – 290. Available at: https://doi.org/10.1002/j.2334 – 5837.2019.00685.x.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Jako analityk i projektant, w projektach które nadzoruję to ja jestem autorem dokumentów, moje problemy to raczej tłumaczenie developerom treści tych dokumentów (mimo tego, że każdy(!) developer składając ofertę, oświadcza że zna i posługuje się notacjami BPMN ?(?Business Process Model and Notation,? 2014)? i UML ?(?Unified Modeling Language,? 2017)?, praktyka jednak pokazuje, że bardzo często kłamią).
Jako wykładowca akademicki, osoba prowadząca badania nad tworzeniem i stosowaniem modeli, a także jako osoba audytująca cudze dokumenty, lub udzielająca po prostu konsultacji studentom innych uczelni, mam poważny problem z argumentami „a tu (jakaś publikacja) jest tak napisane”. Przywykłem do tego, że tam faktycznie „jest tak napisane”. Problem pojawia się gdy okazuje się, że autorem „tego co tak jest napisane” jest utytułowany pracownik uczelni lub utytułowana firma doradcza.
Ten artykuł będzie o niskiej jakości niektórych dokumentów. W czym problem z kiepskiej jakości analizami i modelami? W tym, że ich autorzy podejmują próby dodawania nowych symboli do notacji, psując spójność i jednoznaczność diagramów, stosują symbole notacji niezgodnie z nadanymi im znaczeniami, czyli łamią zasady semantyki i syntaktyki notacji, albo łamią zasadę wyłączonego środka mówiącą w uproszczeniu, że jeżeli coś jest czymś to znaczy, że nie jest już niczym innym (np. jeżeli coś jest zdarzeniem to na pewno nie jest ani czynnością, ani danymi, ani regułą decyzyjną).?(Żeliński, 2011)?
W ciągu dosłownie dwóch dni, wpadły mi w ręce trzy, dostępne publicznie, opracowania:
doc.1. Analiza procesów biznesowych pewnego urzędu, wykonana przez dużą, znaną firmą doradczą, jest to załącznik do SIWZ (publikacja na BIP tego urzędu), opracowanie z 2012 roku,
doc.2. Wynik i opis mapowania procesów biznesowych, którego celem było przygotowanie do wdrożenia zintegrowanego systemu zarządzania w pewnej firmie, publikacja naukowa osoby z tytułem doktora inż. pewnej znanej politechniki, publikacja z 2018 r.
doc.3. Wynik i opis mapowania procesów biznesowych, którego celem było wsparcie analizy konkurencyjności i ryzyka, publikacja naukowa osoby z tytułem doktora inż. pewnej znanej politechniki, publikacja z 2016 r.
Nie jest tu moim celem recenzowanie tych prac, celem jest wskazanie dość powszechnie popełnianych błędów. Do celów tego artykułu zanonimizowałem te prace (choć cytaty są nie do uniknięcia).
Doc.1.
Słownik pojęć zawiera jedynie osiem pozycji, w tym: czym jest BPMN, czym jest IT, definicję procesu i procesu biznesowego, zbliżoną do definicji umieszczonej w Dodatku C specyfikacji notacji BPMN ?(?Business Process Model and Notation,? 2014)?, zdefiniowano pojęcia Wykonawca i Zamawiający.
Dokument zawiera listę procesów uznanych za kluczowe, pogrupowaną w obszary tematyczne, jednak nie podano ani źródła tej listy ani metody jej opracowania ani opisu metody grupowania i selekcji. Innymi słowy treść ta nie może podlegać żadnej ocenie poprawności, po prostu „jest dobra” z powodu, że ją podano. Jedyne podane uzasadnienie kształtu tej lisy jest „podjęta decyzja” (czyli dowód z autorytetu). Dokument ma 55 stron, powstał w 5 tygodni, modele i opisy procesów stanowią ok. połowę objętości. W części Metodyka nie opisano metod, podano własne definicje elementów notacji BPMN, niezgodne nie raz z oryginałem: pojęcie proces w BPMN oznacza poprawny diagram BPMN a nie „logiczny ciąg czynności niezbędnych do przekształcenia stanu wejściowego w wyjściowy”, to dodatek C zawiera definicję:
Business Process: A defined set of business activities that represent the steps required to achieve a business objective. It includes the flow and use of information and resources. (ang. Proces biznesowy: zdefiniowany zestaw aktywności biznesowych, które reprezentują kroki wymagane do osiągnięcia celu biznesowego. Obejmuje przepływy, wykorzystanie informacji i zasobów.)
Warto wiedzieć, że notacja BPMN nie zawiera symbolu definiowanego jako „proces biznesowy”. I dalej: dokument zawiera definicję:
Czynność (activity) ? jeden element diagramu procesu, reprezentujący jeden krok w procesie; łączy się z innymi czynnościami poprzez połączenia (connection lines) opisujące kierunek przepływu transakcji,
Oryginał w BPMN:
An Activity is a generic term for work that company performs (see page 151) in a Process. An Activity can be atomic or nonatomic (compound). The types of Activities that are a part of a Process Model are: Sub- Process and Task, which are rounded rectangles. (ang. Aktywność jest podstawowym prostym terminem określającym pracę jaką w firmie się wykonuje (patrz strona 151) w ramach procesu. Aktywność może być atomowa lub nieatomowa (złożona). Typy aktywności wchodzące w skład modelu procesu to: Sub-Proces (pod-proces) i zadanie, które są zobrazowane jako zaokrąglone prostokąty.
A Task is an atomic Activity that is included within a Process (see page 156). A Task is used when the work in the Process is not broken down to a finer level of Process detail. (ang. Zadanie jest atomową (elementarną, niepodzielną) aktywnością zawartą w procesie (patrz strona 156). Zadanie jest używane [w modelu] , gdy dana praca w [modelowanym] procesie nie jest już dzielona na kolejne pod poziomy procesu.)
Dla wyjaśnienia z dodatku C:
Atomic Activity: An activity not broken down to a finer level of Process Model detail. It is a leaf in the tree-structure hierarchy of Process activities. Graphically it will appear as a Task in BPMN. (ang. Aktywność atomowa: Aktywność niedzielona na kolejne poziomy szczegółów modelu procesu. Jest liściem w hierarchii struktury aktywności danego procesu. Graficznie jest to zadanie [task] w BPMN).
Warto wiedzieć, że pojęcie transakcja (autor tego dokumentu używa go zamiennie z pojęciem proces) w BPMN jest zastrzeżone (dla modeli wykonywalnych), i oznacza:
A transaction is a Sub-Process that is supported by a special protocol that insures that all parties involved have complete agreement that the activity should be completed or cancelled (see page 178). (ang. Transakcja to podproces obsługiwany przez specjalny protokół [w systemie BPMS, przyp. mój], który zapewnia, że ??wszystkie aktywności będą zakończone lub nie, i wtedy ich pośrednie efekty zostaną anulowane (patrz strona 178).
Definicja pojęcia zdarzenie w oryginale:
An Event is something that ?happens? during the course of a Process (ang. Wydarzenie to coś [fakt], co ?wydarzyło się? w trakcie procesu).
zaś autorzy dokumentu piszą: „Zdarzenie (event) ? stan jaki pojawia się podczas przebiegu procesu biznesowego. I w takim samym stylu „przedefijiowano” BPMN w pozostałej części opracowania. Stwierdzenie zaś, że „Czynnościami w modelu procesu mogą być: Proces, Podproces, Zadanie.” to już czysta herezja (w BPMN nie ma symbolu o nazwie proces). W dodatku C mamy:
Process: A sequence or flow of Activities in an organization with the objective of carrying out work. In BPMN, a Process is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flow that adhere to a finite execution semantics. (ang. Proces: sekwencja lub przepływ działań w organizacji mająca na celu dostarczenie efektu pracy. W BPMN proces jest przedstawiany jako diagram złożony z elementów przepływu, które są zestawem działań, zdarzeń, bramek i sekwencji przepływu, które są zgodne z [określoną] semantyką realizacji procesu.)
Innymi słowy proces w BPMN to poprawny diagram (schemat blokowy zgodny z semantyką i syntaktyką notacji).
Diagramy czyli ignorowane definicje. Najpierw jednak pewna uwaga, już w 2013 roku pisałem:
Procesy modelujemy więc po to, by zrozumieć jak działa organizacja oraz po to, by przewidzieć jak się ona zachowa, jeżeli jakiś proces zmienimy, bo może się nie raz okazać, że nie warto się pewnych projektów podejmować z uwagi na skutki. Modelowanie, jak widać, nie jest procesem obrazkowego zapisu tego co wiemy od pracowników tej czy innej firmy, bo to jest stenotypia. Modelowanie to trudny proces odkrywania prawdziwej logiki działania organizacji. ?(Żeliński, 2013)?
Co do zasady, zgodnie z przytoczonymi definicjami, mamy pewne wbudowane ograniczenie na poziom szczegółowości modeli. Te ograniczenia to definicje atomowej aktywności (zadanie) i procesu biznesowego (aktywność tworząca produkt). Innymi słowy model procesu powinien się składać z elementarnych aktywności, z których każda ma wskazany produkt (oczekiwany efekt). W BPMN jedynym elementem modelującym (służącym do zobrazowania) jakichkolwiek efektów zadań (produktów pracy) jest Data Object (Obiekt Danych, generalnie reprezentuje zestaw danych czyli dokument), który to – najważniejszy – element, autorzy pominęli przy opisie notacji. Rozbudowane diagramy w omawianym dokumencie, zawierają wiele różnych prostych aktywności i bardzo mało ich efektów. Na jednym z diagramów mamy np. Zadanie „Powzięcie informacji o błędnej deklaracji” nie mające żadnego wejścia ani produktu! (a jest tam takich sytuacji wiele). Takie elementy na diagramach, w literaturze przedmiotu (autorzy piszący o BPMN), są nazywane „śmieciowe czynności na diagramach”, są to elementy diagramu nie wnoszące żadnej wartości dodanej w łańcuchu procesu, stanowiące oczywiste stwierdzenia (jak np. „przekazanie dokumentu”). Więcej o tym pisałem w artykule Poziomy modelowania procesów ?(Żeliński, 2013)?. Wszystkie modele procesów w tej dokumentacji zawierają zadania w większości nie skojarzone z żadnym informacjami. Jeżeli tytuł opracowania zawiera „Analiza procesów biznesowych […] związanych z przetwarzaniem informacji […]” to nie wiem czego się dowie adresat tego dokumentu o tychże informacjach i ich przetwarzaniu.
Kwiatkiem na sam koniec, jest zastrzeżenie praw autorskich do dokumentu (beneficjent, który pokrył koszty tej analizy nie dostał praw majątkowych do jej efektu). Dokument nie zawiera imion i nazwisk autora (autorów).
Dok.2.
Zacznijmy od poprawności cytowania źródeł: autor podaje: Strona domowa firmy XXX, www.XXX.com.pl, dostęp 08.01.2018, rzecz w tym, że to strona tytułowa, dotarcie do miejsca skąd pobrano cytowaną treść graniczy z cudem. Po drugie autor piszący o notacjach, używający definicji notacyjnych, który to autor nie powołuje się na (i nie umieszcza w spisie leteratury!) ich oryginalnej specyfikacji wykazuje poważne braki metodologiczne.
Dokument zatytułowany jest Mapowanie procesów przygotowania oferty… a jego celem jest opisanie metod (metody?) modelowania procesów biznesowych. Z uwagi na anonimizację nie wkleję z oryginału, ale: przytoczenie jako przykładu dwóch diagramów UML bez podania ich nazwy (UML to trzynaście nazwanych typów diagramów, ?(?Unified Modeling Language,? 2017)?) jest poważnym uchybieniem. Publikacja traktuje o modelowaniu procesów, a autor jako przykłady podaje notację UML, a jako przykładowe modele UML podał akurat te, niemające z modelowaniem procesów nic wspólnego (maszyna stanowa i diagram komunikacji), warto też wiedzieć, że od 2015 jawnie w specyfikacji UML zostało napisane, że ta notacja służy wyłącznie do modeli systemów ?(?Meta Object Facility,? 2016)?, i nie należy jej używać do modeli biznesowych. Modele biznesowa CIM, (Computation Independent Model, ?(?MDA Foundation Model,? 2006)?) od tego są notacje BPMN ?(?Business Process Model and Notation,? 2014)? oraz SBVR ?(?Semantics Of Business Vocabulary and Rules,? 2017)?.
W tej pracy, na diagramach modeli procesów, popełniono wszystkie błędy opisany dla Doc.1., ale pojawił kolejny, wręcz kuriozalny: autor naniósł (rozciągnął) jedną aktywność na dwa tory (jedno zadanie ma dwoje odpowiedzialnych??) co jest niedopuszczalne w BPMN.
źr. publikacja naukowa, zanonimizowany autor.
Doc.3.
W tytule tej pracy mamy: „Mapowanie procesów biznesowych jako technika wspierająca… „. W rozdziale Metoda badawcza, nie ma ani słowa o metodzie mapowania procesów (?) a następny rozdział jest zatytułowany Mapowanie procesów biznesowych. Rozdział ten zawiera schematy blokowe pozbawione legendy a więc nieczytelne i raczej trudne do interpretacji. Jeżeli autor tworzy własną notacją, to tym bardzie należy ją zdefiniować przed użyciem. Schematy blokowe (bez opisu i legendy!) kształtem nawiązują do tak zwanej metody „swim lanes” modelowania przepływu pracy, gdzie tory reprezentują osoby odpowiedzialne lub fizycznych wykonawców, czasami komórki organizacyjne. ?(Rummler & Brache, 2000)?. Jednak i tu jedna aktywność rozciągnięta na twa tory co jest łamaniem zasad.
Poziom merytoryczny (stosowanie metod a raczej ich brak), brak cytowania kanonu literatury na temat procesów biznesowych i ich modelowania, zastosowanie, bez uzasadnienia, własnej i niezdefiniowanej notacji, w XXI wieku, w zestawieniu z tym, że jest to produkt doktora inżyniera znanej uczelni technicznej w roku 2015, stawia także tego autora w słabym świetle.
Podsumowanie
Jak już wspomniałem na początku, celem moim było pokazanie tego, że prace zaliczane do profesjonalnych produktów firm doradczych, czy też będące tak zwanymi publikacjami naukowymi, powinny cechować się tym samym wysokim poziomem merytorycznym, a naukowe także metodologicznym. Z przykrością muszę tu napisać, że recenzje jak powyższa, są moim stałym zajęciem zarówno jako biegłego jak i nauczyciela akademickiego. Bo nie ma dla mnie znaczenia to, czy dokumenty, takie jak powyżej, przywołuje mój dyplomant czy też robi strona skarżąca usługodawcę. Znaczenie ma to, że one powstają, a ich autorzy otrzymują za nie, nie raz sowite, wynagrodzenie.
Często słyszę od autorów: „bo klient chciał żeby tak narysować”. Wiem, klienci nie raz tak chcą, ale zadaniem profesjonalisty jest zagwarantować poziom merytoryczny swoich dokumentów i ich jakość, a przede wszystkim ich późniejszą przydatność, a ta w takich sytuacjach bywa bardzo wątpliwa.
Klient nasz Pan? Często to słyszę. Otóż nie. Klient zamawia produkt, jeżeli jest nim opracowanie eksperckie, to nie klient a expert, jest jego autorem i to ekspert decyduje o treści (pod którą prawdziwy ekspert podpisuje się imieniem i nazwiskiem!). Taksówkarze też dzielą się na dwie grupy: Ci którzy łamią przepisy ruchu drogowego jak klient prosi (bo się np. spieszy) i Ci, którzy tego nie robią. Warto pamiętać, że ewentualne mandaty płacą kierowcy a nie pasażerowie.
Rummler, G. A., & Brache, A. P. (2000). Podnoszenie efektywności organizacji. Jak zarządzać ?białymi plamami? w strukturze organizacyjnej? Warszawa: Polskie Wydawnictwo Ekonomiczne.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Od czasu do czasu jestem pytany o narzędzie Bizagi. Jest to kompletny system BPMS?*? składający się z narzędzi do modelowania procesów i serwera stanowiącego dla tych modeli środowisko wykonawcze ?(?Bizagi Overview,? n.d.)?. Narzędzie do modelowania, Bizagi Modeler, to bardzo popularne, darmowe, narzędzie do dokumentowania modeli procesów biznesowych z użyciem notacji BPMN???.
Często wyszukiwanym hasłem na moim blogu jest enigmatyczne: „bizagi”, od czasu do czasu jestem pytany: „Co sądzę o Bizagi, bo rozważamy jego wykorzystanie w naszej firmie do modelowania procesów biznesowych?” Ten artykuł nie będzie jednak rozbudowaną opinią czy analizą możliwości tego narzędzia, skupię się na opisie przydatności Bizagi do określonego celu jakim są analizy biznesowe.
Trzeba zacząć od tego, czym jest to narzędzie. Otóż jest to przede wszystkim narzędzie do tworzenia graficznej formy modeli procesów, których celem jest ich uruchamianie na platformie Bizagi Automation. Bizagi to rozbudowane platforma do modelowania i uruchamiania systemu wspomagania procesów biznesowych. Są to trzy narzędzia: Bizagi Modeler, Bizagi Studio i Bizagi Automation. Pierwsze to darmowe narzędzie do tworzenia graficznej wersji modeli procesów biznesowych. Pozostałe dwa to płatne narzędzia do tworzenia i uruchamiania aplikacji implementującej modelowane procesy.
Bizagi Modeler pozwala jedynie na opracowanie graficznych modeli procesów (schematów blokowych) z użyciem notacji BPMN. Wspiera tę notacje bardzo dobrze. Pozwala na tworzenie rozbudowanych diagramów, a także na ich współdzielenie w grupie (wspólny dysk lub w chmurze np. Dropbox). Pozwala generować ich dokumentację, jednak dokumentacja ta, to raport a nie samodzielny dokument korzystający z diagramów, dlatego wpływ na kształt tych dokumentów jest ograniczony. Narzędzie to przyda się, jeżeli jedynym celem projektu jest opracowanie dokumentacji procesów biznesowych w notacji BPMN i nic ponad to.
Czy Bizagi pomoże w analizie biznesowej? Jeżeli pod pojęciem Analiza Biznesowa rozumiemy pracę, której celem jest opracowanie wymagań na oprogramowanie to niestety, poza opracowaniem modeli procesów biznesowych, nie pomoże. Kluczowym problemem jest tu to, że do pozostałych prac (etapów pracy) w analizie biznesowej, analizie wymagań, i projektowaniu oprogramowania, trzeba korzystać z innych narzędzi. W efekcie zarządzanie całą dokumentacją staje się bardzo trudne.
Bizagi Modeler jest narzędziem darmowym i łatwym w nauczeniu się korzystania z niego, więc dobrze sprawdza się jako notatnik dla członków zespołu po stronie firmy analizowanej, o ile oczywiście dysponujemy po tej stronie osobami potrafiącymi używać notacji BPMN. W praktyce wygląda to tak, że po przeszkoleniu, zespół pracowników firmy analizowanej, wg. „najlepszej swojej wiedzy” opisuje określone procesy biznesowe, korzystając z Bizagi Modeler, i przekazuje efekty pracy analitykowi. Te modele, jako szkice procesów, analityk importuje do swojego narzędzia CASE (pliki Bizagi są łatwe w imporcie) i kontynuuje prace, tworząc już osobiście poprawne, profesjonale modele tych procesów.
Tu uwaga praktyczna: odradzam podejście, polegające na wysłaniu zespołu projektowego na kilkudniowe szkolenie i przekazaniu mu zadania „opracujcie modele procesów biznesowych” np. przed wdrożeniem systemu ERP, czy zamówieniem dedykowanego oprogramowani. Po takim kursie produkty pracy takiego zespołu mogą być dobrym punktem startu dla doświadczonego analityka, ale nie znam przypadku by stanowiły jakikolwiek wartościowy materiał końcowy.
Trzeba mieć świadomość, że analiza i modelowanie wymaga umiejętności, dużej wiedzy i doświadczenia, a planowane tak oszczędności (pójdziemy na szkolenie i sami zrobimy taniej) szybko się mszczą. Celem szkoleń jest zdobywanie wiedzy. Doświadczenie i umiejętności zdobywa się już samodzielnie w trakcie kolejnych projektów.
Na zakończenie. Bizagi jako narzędzie darmowe i wygodne na pewno pomoże wejść niskim kosztem w nowy obszar wiedzy i pracy, jest to narzędzie, które powstało tylko w jednym celu: dokumentowanie procesów na użytek określonej platformy BPMS. Owszem, tam gdzie celem jest jedynie udokumentowanie procesów, jego stosowanie nie jest pozbawione sensu. Jednak zakres dzisiejszych projektów analitycznych bardzo rzadko zamyka się w obszarze modelowania procesów. Warto pamiętać, że pełna dokumentacja procesów to także procedury (złożone listy i scenariusze) oraz struktury dokumentów biznesowych (tu XML, UML), tworzenia których Bizagi już nie wspiera.
Bizagi z zasady służy do tworzenia modeli wykonywalnych (BPMN rozdz.2: Common Execution Models), dlatego w projektach trzeba przyjąć określoną konwencję tworzenia modeli analitycznych, a tu walidator Bizagi (narzędzie pomagająca w utrzymaniu zgodności diagramów z zasadami notacji) nie raz raczej będzie przeszkadzał niż pomagał.
Artykuł jest krótki i na pewno nie wyczerpuje listy problemów i niejasności w wyborze narzędzia, dlatego zachęcam do zadawania pytań poniżej. Postaram się odpowiedzieć wedle najlepszej swojej wiedzy i doświadczenia.
?*?
BPMS – ang. Business Process Management System, czasami też rozszerzany jako Business Process Management Server
???
BPMN – Business Process Modeling and Notation, standard notacyjny (http://www.bpmn.org)
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Od czasu do czasu spotykam się z zaskoczeniem, gdy mówię, że pewne słowa kluczowe w specyfikacjach są „standaryzowane”. Otóż specyfikacje notacji na OMG.org mają narzucone pewne słownictwo. Przykładem niech będzie specyfikacja notacji BPMN v.2.0.2, zawiera ona taki oto rozdział :
3.2 Normative OMG UML ? OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 - (jest już UML 2.5.) OMG MOF ? Object Management Group – Meta Object Facility (MOF) Core Specification, V2.0 http://www.omg.org/spec/MOF/2.0 RFC-2119 ? Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF RFC 2119, March 1997 http://www.ietf.org/rfc/rfc2119.txt
Oznacza to, że do poprawnej interpretacji specyfikacji notacji należy znać specyfikacje: MOF, UML oraz także RFC-2119. O MOF i UML pisałem nie raz, dzisiaj kilka słów o tej ostatniej.
Jest to dokument opisujący rekomendowany sposób formułowania wymagań (np. w stosunku do elementów diagramu i ich użycia). Wymagania są tu rozumiane szeroko, jako sformułowania normatywne. „Słowa kluczowe do wykorzystania, w RFC do wskazania poziomów wymagań” to słowa i zwroty o tu ustalonym znaczeniu :
This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.?(?Key words for use in RFCs to Indicate Requirement Levels,? 1997)?
Wymienione słowa kluczowe odnoszą się do formułowania reguł (przy stosowaniu określonych zasad będących wymaganiami) i oznaczają:
MUSI (oryg. MUST) oznacza, że to zachowanie (określona reguła, wymaganie) jest absolutnym wymogiem, alternatywnie: WYMAGA SIĘ, NALEŻY
NIE MOŻE (oryg. MUST NOT) oznacza, że określone zachowanie jest absolutnie zakazane, alternatywnie: NIE NALEŻY
POWINIEN (oryg. SCHOULD) oznacza, że określone zachowanie jest rekomendowane, a więc jedynie w ściśle określonych okolicznościach, jeżeli istnieją określone powody, określone zachowanie może być pominięte, alternatywnie: REKOMENDUJE SIĘ,
NIE POWINIEN (oryg. SHOULD NOT) oznacza, że pewne zachowania odradza się (rekomenduje się nie wykonywać określonego zachowania), a więc zachowanie to jest dopuszczalne jedynie w określonych okolicznościach, alternatywnie: ODRADZA SIĘ, NIE REKOMENDUJE SIĘ,
MOŻE (oryg. MAY) oznacza, że określone zachowanie jest opcjonalne, a więc skutki tego realizacji lub pomięcia określonego zachowania są całkowicie neutralne, alternatywnie: OPCJONALNIE
Powyższe odnosi się do wszelkich wymagań, do decyzji o zastosowaniu czegoś (np. określonej konstrukcji w danej notacji). Pod pojęciem „zachowania (się)” rozumiemy interpretację zapisów np. o stosowaniu lub wymaganiu czegoś lub nie.
Biorąc pod uwagę fakt, że definicje pojęć to klasyfikatory i stanowią one sobą reguły (coś jest lub nie jest czymś) słowa te stanowią także bazowy element składni treści reguł biznesowych (elementy predykatów), np. „kierowca NIE MOŻE przekraczać dozwolonej prędkości”, „kierowca POWINIEN zachować bezpieczną odległość od poprzedzającego go pojazdu”, „kierowca MOŻE przewozić pasażerów”, a ogólnie rzecz biorąc „kierowca MUSI przestrzegać zasad Kodeksu Drogowego”, a ten to nic innego jak właśnie zbiór reguł.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Ostatnio pojawiła się w prasie i mediach internetowych dyskusja na temat tego czym jest faktura, niestety bardzo wiele z tych opinii jest pozbawiona podstaw merytorycznych i prawnych, są niejednokrotnie po prostu nieprawdziwe. Biorąc pod uwagę fakt, że wiele tych opinii to opinie wygłaszane przez przedsiębiorców, wyłania się smutny obraz jakości informacji zbieranej metodą wywiadów w toku analiz biznesowych. Studiowanie literatury, cudzych opracowań w roli audytora, analiza pytań i uwag moich klientów to ogromne doświadczenie. Rok temu w artykule Mit o notacji BPMN pisałem o szkodliwości nadmiaru szczegółów na modelach. To wszystko razem skłoniło mnie tym razem do opracowania przykładu diagramu obrazującego proces biznesowy wykonany w notacji BPMN1.
Celem tego artykułu jest pokazanie jak opracować model procesu biznesowego bazując wyłącznie na prawie i tego jak to zrobić zgodnie z notacją BPMN. Pokazano także, że notacja BPMN nie jest narzędziem dokumentowania „wszystkiego co wiemy o procesie”. Istotne jest także to, że notacja BPMN to język wyrazu – narzędzie – a nie metodyka, oraz to że specyfikacja BPMN to nie podręcznik modelowania a jedynie opis pojęć i ich znaczeń oraz przykłady konstrukcji (semantyka i syntaktyka notacji) co nie znaczy, że są to wzorce projektowe. Uważam, że wzorców takich nie ma takich w biznesie, procesów „referencyjnych” też nie ma. Biznes to prawo oraz indywidualne wewnętrzne regulacje.
W ramach wprowadzenia opisano najpierw zasady tworzenia modeli analitycznych z użyciem notacji BPMN.
Notacja BPMN a MDA i UML
Kilka uwag na temat notacji BPMN i kluczowych jej cech. Celem stworzenia tej notacji była komunikacja:
The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.[BPMN c.1.1. 1]
Generalnie rzecz biorąc (patrz moje wytłuszczenie): diagramy te powinny być zrozumiałe dla tak zwanych ludzi biznesu (bo jeżeli nie są, to są bezużyteczne), stanowią (sformalizowany) szkic dla ludzi odpowiedzialnych za ich implementację. Modele procesów biznesowych stanowią element modeli CIM (Computational Independent Model, model niezależny od technologii IT2).
Poniżej cytuję akapit opisujący istotę podziału modeli na poziomy abstrakcji (dokładności).
As an alternative to full Process Modeling Conformance, there are three conformance sub-classes defined:
Descriptive
Analytic
Common Executable
Descriptive is concerned with visible elements and attributes used in high-level modeling. It should be comfortable for analysts who have used BPA flowcharting tools.
Analytic contains all of Descriptive and in total about half of the constructs in the full Process Modeling Conformance Class. It is based on experience gathered in BPMN training and an analysis of user-patterns in the Department of Defense Architecture Framework and planned standardization for that framework.
Both Descriptive and Analytic focus on visible elements and a minimal subset of supporting attributes/elements.
Common Executable focuses on what is needed for executable process models.
Elements and attributes not in these sub-classes are contained in the full Process Modeling Conformance class. The elements for each sub-class are defined in the next sub clause. [BPMN c.2.2.1.1]
Istotą modelowania procesów z użyciem BPMN jest więc właściwy dobór poziomu szczegółowości. Powyższe ma znaczenie w kontekście umieszczenia tych typów modeli na tle MDA (Model Driven Architecture2) i skorelowania z modelami UML.
Na poziomie CIM powstają modele opisujące mechanizm działania organizacji w całkowitym oderwaniu od technologii IT wspierających tę organizację. Notacja BPMN jest tu wspierana specyfikacją SBVR3 (biznesowy słownik pojęć i reguły biznesowe). Są to wyłącznie modele poglądowe i analityczne.
Kolejny krok to opracowanie modeli wykonywalnych czyli modeli implementacji procesów (wyrażonych w BPMN) z użyciem systemów BPMS (Business Process Management Systems, są to środowiska wykonawcze modeli BPMN common executable). W praktyce te modele mają wersję PIM (wykonane na bazie standardu BPMN/BPEL/XPDL) i PSM czyli dostosowane do środowiska BPMS konkretnego producenta platformy. Jest to ścieżka bazująca całkowicie na notacji BPMN i platformach wykonawczych BPMS.
Proces „tradycyjny” inżynierii oprogramowania oparty na MDA także zaczyna się powstania modelu CIM. Kolejny etap (model) to zawarcie umowy na zakres projektu czyli określenie wymagań. Do tego służy model przypadków użycia (w UML od wersji 2.5 jest jawnie określany jako „dodatkowy”, patrz Figure 6.1 Semantic Areas of UML4):
Rys. Semantic areas of UML 2.5.1
Biorąc pod uwagę zmiany jakie wprowadzono do UML w v.2.5. w zasadzie książki i podręczniki UML napisane przed 2015 rokiem (wejście 2.5. UML), można wyrzucić do kosza.
Po określeniu zakresu produktu, powstaje model PIM stanowiący model mechanizmu działania oprogramowania. Ten model to specyfikacja logiki działania (często stanowi know-how zamawiającego). Po dokonaniu wyboru dostawcy, ten – mając na uwadze technologię której użyje, tworzy model PSM i realizuje implementację (w praktyce, pomija się model PSM, najczęściej powstaje od razu kod na bazie architektury opisanej w modelu PIM).
Zostało to zobrazowane na diagramie poniżej:
Rys. Struktura modeli zgodnie z MDA.
Proces realizacji potrzeb przedsiębiorstwa
Proces realizacji potrzeb przedsiębiorstwa (organizacji) jest inicjowany stwierdzeniem owej potrzeby (wymagana usługa, przedmiot, inne) a kończy się rozliczeniem jej realizacji (dostarczenia). Standardowy proces świadczenia usługi lub dostarczenia produktu jest opisany w Kodeksie Cywilnym5 (zlecenie lub dzieło). Co do zasady więc, na pewnym określonym poziomie szczegółowości, proces ten jest możliwy do opisania bez jakichkolwiek konsultacji z kimkolwiek, treść ustawy wystarczy.
Opis procesu: Pojawianie się potrzeby skutkuje opracowaniem zapytania ofertowego (opis przedmiotu zamówienia jakim może być usługa lub produkt). Z reguły przybiera formę Zapytania ofertowego. Zapytanie takie przekazywane jest potencjalnemu dostawcy, który opracowuje ofertę na realizację tego co opisano w Zapytaniu. Oferta taka jest analizowana, jeżeli zostanie przyjęta, staje się umową pomiędzy Nabywcą a Dostawcą. Umowa ta stanowi podstawę Realizacji zamówienia (jakim jest zaakceptowana oferta). Po zrealizowaniu Zamówienia Dostawca zgłasza gotowość przekazana przedmiotu zamówienia, następuje odbiór. Po odbiorze jest wystawiana faktura na kwotę wskazaną w Ofercie, w określonym terminie ma miejsce płatność. Zamówienie jest zrealizowane i rozliczone.
Opisane aktywności są uzależnione od określonych terminów. Biorąc pod uwagę fakt, że udział biorą w tym procesie dwa podmioty, a całość jest synchronizowana terminami (muszą one być ustalane) proces ten można opisać takim modelem:
Rys. Proces realizacji potrzeby w organizacji. Notacja BPMN.
Powyższy diagram to model analityczny. Model poglądowy byłyby uproszczony do aktywności i dokumentów, zapewne były by to dwa odrębne proste modele (dla Dostawcy i dla Zamawiającego).
Jak widać uwzględniono na tym modelu (model analityczny) kluczowe fakty jakimi są terminy i momenty doręczenia. Wszelkie detale poszczególnych aktywności stanowią najczęściej specyfikę konkretnych podmiotów i są opisane procedurami (np. procedurami ISO z godnie ze stosowną normą). Dokumentowanie tych detali z użyciem kolejnych, szczegółowych diagramów w notacji BPMN z reguły nie ma sensu, gdyż ich adresatami (recenzentami) byli by (są) wykonawcy tych prac, a Ci raczej bez problemu posługują się procedurami w typowej postaci znanej z norm (testy), a nie diagramami BPMN. Umieszczanie dodatkowych detali wprost na tym diagramie doprowadzi do powstania monstrualnego arkusza, trudnego w użyciu.
Na modelach analitycznych posługujemy dwoma kluczowymi pojęciami (BPMN, Annex C Glossary1):
Atomic Activity – An activity not broken down to a finer level of Process Model detail. It is a leaf in the tree-structure hierarchy of Process activities. Graphically it will appear as a Task in BPMN.
Business Process – A defined set of business activities that represent the steps required to achieve a business objective. It includes the flow and use of information and resources.
Atomowym zadaniem, stanowiącym abstrakcję całej aktywności biznesowej prowadzącej do osiągnięcia celu tej pracy, jest aktywność tworząca określony produkt, modelowany w BPMN jako DataObject (notacja BPMN jest oparta na założeniu, że wszelkie efekty pracy są dokumentowane). Innymi słowy nie umieszczamy na modelach procesów detalicznych składowych zadań stanowiących elementy procedury danej aktywności. Procedury modelujemy na osobnych diagramach lub po prostu opisujemy tekstem w odrębnej dokumentacji i powołujemy się na nie.
Co do zasady na modelach analitycznych stosujemy podstawowy, minimalny zestaw symboli opisany w specyfikacji, co gwarantuje ich czytelność i zrozumiałość przez typowego adresata jakim jest osoba, której pracę opisano. Korzystanie z rozszerzonego zestawu symboli (np. symbole detalicznych zadań z ikonami w lewym górnym roku, dodatkowe zdarzenia itp.) nie ma sensu na poziomie modeli analitycznych, gdyż symbole te powstały dla modeli wykonywalnych, przeciętny adresat dokumentacji analitycznej nie poradzi sobie z ich interpretacją. W efekcie po prostu utracimy komunikację w projekcie, co jest niestety bardzo częstym zjawiskiem i przyczyną większości problemów w projektach.
Podsumowanie
Na początkowym, biznesowym, etapie projektów analitycznych celem dokumentacji procesów biznesowych jest opisanie mechanizmu działania organizacji bez zbędnych detali (te zmieniają się dość często). Jeżeli dokumentacja procesów biznesowych wymaga aktualizacji częściej niż raz w roku (a lepiej raz na pięć lat) jest to sygnał, że jest to zła, zbyt szczegółowa dokumentacja.
Literatura naukowa jest pełna opracowań wskazujących, że procesy biznesowe i logika biznesowa to odrębne obszary opisu i modelowania. Notacja BPMN służy do modelowania procesów. Logikę biznesową opisujemy z użyciem reguł biznesowych3, tablic decyzyjnych (patrz artykuł SBVR…), tu jeden z wielu przykładów takich komentarzy:6.
Model procesów biznesowych jest często, w literaturze przedmiotu, nazywany modelem wewnętrznego łańcucha wartości, a nie raz po prostu wewnętrzną strategią realizacji celów rynkowych. Skoro jest to strategia, to nie powinna się ona często zmieniać. W powyższym modelu, uszczegółowienia może wymagań aktywność realizacji zamówienia, gdyż w zależności od podmiotu, może to być realizacja nietrywialnej usługi lub wytworzenia produktu. Była by to tak zwana dekompozycja i powstanie drugi poziom szczegółowości. Pozostałe aktywności to tworzenie określonych dokumentów, a sposób ich powstawania jest określony procedurą i tym jakie pola zawiera dana formatka DataObject. Ten poziom szczegółów opisujemy słownikiem i regułami biznesowymi (SBVR3).
Biorąc pod uwagę fakt, że serwery BPMS są bardzo rzadko wykorzystywane, diagramy BPMN na poziomie common executable praktycznie nie są tworzone. Jeżeli celem tworzenia modeli procesów biznesowych jest analiza przedwdrożeniowa, po modelu analitycznym powstaje umowa w postaci diagramu Przypadków Użycia. Przypadek użycia (patrz artykuł Transformacja…) to odpowiednik atomowej aktywności. Innymi słowy Przypadki Użycia (UML), jako usługi aplikacyjne, wspierają określone aktywności (a konkretnie powstawanie lub przetwarzanie konkretnych dokumentów modelowanych w BPMN jako obiekty DataObject), co opisano na pierwszym diagramie.
Faktura. Diagram procesu biznesowego pokazuje także, że faktura jako dokument, nie jest zobowiązaniem. Zobowiązaniem Dostawcy jest zawarta umowa na dostawę a zobowiązaniem Nabywcy jest płatność po otrzymaniu przedmiotu zamówienia. Zobowiązanie Nabywcy powstaje dopiero po (z reguły pisemnym) odebraniu przedmiotu zamówienia, faktura jest wyłącznie tak zwanym dowodem księgowym, czyli dokumentem stwierdzający jakie kwoty zaksięgować.
________________________________
1.
About the Business Process Model And Notation Specification Version 2.0.2. OMG.org. https://www.omg.org/spec/BPMN/. Published January 13, 2014. Accessed February 10, 2019.
About the Semantics Of Business Vocabulary and Rules Specification Version 1.4. OMG.org. https://www.omg.org/spec/SBVR/. Published May 1, 2017. Accessed February 11, 2019.
4.
About the Unified Modeling Language Specification Version 2.5.1. OMG.org. https://www.omg.org/spec/UML/. Published December 1, 2017. Accessed February 11, 2019.
Domain-Specific Conceptual Modeling Concepts, Methods and Tools, Herausgeber: Karagiannis, Dimitris, Mayr, Heinrich C., Mylopoulos, John (Eds.), ISBN 978 – 3‑319 – 39417‑6, str. 405.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę 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.
Strona używa plików cookie, aby zapewnić Ci wygodę przeglądania poprzez zapamiętywanie Twoich preferencji i powtarzających się wizyt. Klikając "Akceptuj wszystko", wyrażasz zgodę na użycie WSZYSTKICH plików cookie. Jednakże, możesz odwiedzić "Ustawienia plików cookie", aby zapewnić kontrolowaną zgodę.
Ta strona korzysta z plików cookie, aby poprawić wygodę podczas podczas przeglądania witryny. Pliko cookie, które są sklasyfikowane jako niezbędne, są przechowywane w przeglądarce, ponieważ są niezbędne do działania podstawowych funkcji witryny. Używamy również plików cookie stron trzecich, które pomagają nam analizować i zrozumieć, w jaki sposób korzystasz z tej witryny. Te pliki cookie będą przechowywane w przeglądarce tylko za Twoją zgodą. Możesz również zrezygnować z tych plików cookie. Ale rezygnacja z niektórych z tych plików cookie może mieć wpływ na wygodę przeglądania.
Niezbędne pliki cookie są absolutnie niezbędne do prawidłowego funkcjonowania witryny. Ta kategoria obejmuje tylko pliki cookie, które zapewniają podstawowe funkcje i zabezpieczenia strony. Te pliki cookie nie przechowują żadnych danych osobowych.
Wszelkie pliki cookie, które mogą nie być szczególnie potrzebne do działania witryny i są wykorzystywane w szczególności do gromadzenia danych osobowych użytkowników za pośrednictwem analiz, reklam i innych treści osadzonych, są określane jako niepotrzebne pliki cookie. Wymagane jest uzyskanie zgody użytkownika przed uruchomieniem tych plików cookie w witrynie.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__atuvc
1 year 1 month
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
__atuvs
30 minutes
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
bcookie
2 years
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
bscookie
2 years
LinkedIn sets this cookie to store performed actions on the website.
language
session
This cookie is used to store the language preference of the user.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
na_id
1 year 24 days
The na_id is set by AddThis to enable sharing of links on social media platforms like Facebook and Twitter.
ouid
1 year 24 days
Associated with the AddThis widget, this cookie helps users to share content across various networking and sharing forums.
vc
1 year 24 days
The vc cookie is set by addthis.com on sites that allow sharing on social media.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
at-rand
never
AddThis sets this cookie to track page visits, sources of traffic and share counts.
browser_id
5 years
This cookie is used for identifying the visitor browser on re-visit to the website.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
uid
1 year 24 days
This is a Google UserID cookie that tracks users across various website segments.
uvc
1 year 1 month
Set by addthis.com to determine the usage of addthis.com service.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
di2
1 year 24 days
AddThis sets this cookie on sites that allow sharing on social media. It is used to track user behaviour anonymously, to create usage trends that will improve relevance to their services and advertising.
loc
1 year 1 month
AddThis sets this geolocation cookie to help understand the location of users who share the information.
um
1 year 24 days
Set by AddThis for registering the user's sharing of content through social media.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.