Analityczne i wykonywalne modele

Obserwuję wie­le nie­po­ro­zu­mień z two­rze­niem mode­li i samym mode­lo­wa­niem. Generalnie mode­le mogą być mode­la­mi abs­trak­cyj­ny­mi lub wyko­ny­wal­ny­mi. Te pierw­sze są tak­że nazy­wa­ne ana­li­tycz­ny­mi. Większość nota­cji ma dodat­ki (roz­sze­rze­nia) zaty­tu­ło­wa­ne Execution Semantics (lub podob­nie). Generalnie są to opi­sy warun­ków jakie musi speł­nić model by był wyko­ny­wal­ny (pozwa­la na reali­za­cje – uru­cho­mie­nie – tego co mode­lu­je). Zapewnienie wyko­ny­wal­no­ści wyma­ga poda­nia dodat­ko­wych ele­men­tów do mode­lu. Zbliża go to do mode­li PSM (MDA, Platform Specific Model). Np. dla nota­cji BPMN jest to roz­sze­rze­nie [[BPEL]].

W poprzed­nim arty­ku­le napi­sa­łem, że…

Modele wyko­ny­wal­ne, w tym te two­rzo­ne auto­ma­tycz­nie na bazie mode­li abs­trak­cyj­nych, to narzę­dzia do two­rze­nia wyko­ny­wal­ne­go kodu. Nie tyl­ko w moim mnie­ma­niu, jest to albo dale­ka przy­szłość (mam na myśli komer­cyj­ne zasto­so­wa­nia) albo wyłącz­nie aka­de­mic­kie bada­nia. Wiem, że są uda­ne pró­by gene­ro­wa­nia dzia­ła­ją­ce­go kodu z mode­li, jed­nak wyma­ga­nia na ilość deta­li, jakie trze­ba zade­kla­ro­wać w tych mode­lach, zbli­ża ich zło­żo­ność do zło­żo­no­ści kodu jaki powsta­je. Nie będzie­my się tu zaj­mo­wa­li mode­la­mi wyko­ny­wal­ny­mi. (Źródło: MDA ? Cztery pro­duk­ty czy­li dwa eta­py: wyma­ga­nia i pro­dukt | | Jarosław Żeliński IT-Consulting)

Modele ana­li­tycz­ne, jak sama nazwa wska­zu­je, to mode­le któ­rych celem jest stwo­rze­nie abs­trak­cji, mode­lu pozwa­la­ją­ce­go na pro­wa­dze­nie ana­liz a nie uru­cha­mia­nie czy nawet symu­la­cja mode­lo­wa­nych kon­struk­cji. Każda ana­li­za to pra­ca z uprosz­cze­nia­mi. Te uprosz­cze­nia mają na celu pozby­cie się zbęd­nych szcze­gó­łów, tych nie­istot­nych dla dane­go bada­ne­go zagad­nie­nia. W nauce krą­ży powie­dze­nie „[[all models are wrong but some are use­ful]]” (każ­dy model jest zły ale nie­któ­re są przy­dat­ne), rzecz w tym, że model z zasa­dy jest uprosz­cze­niem czy­li w jakimś sen­sie jest to zepsu­ta rze­czy­wi­stość”. Jednak mode­le słu­żą do ana­liz tyl­ko w okre­ślo­nych kon­tek­stach, np. do bada­nia współ­czyn­ni­ka opo­ru powie­trza model samo­cho­du nie musi mieć sil­ni­ka, nawet nie musi nada­wać się do jeż­dże­nia, zaś rysu­nek tech­nicz­ny stro­pu wystar­czy do ana­li­zy jego wytrzymałości.

Popatrzmy na mode­le pro­ce­sów biz­ne­so­wych. Abstrakcją pro­ce­su biz­ne­so­we­go jest aktyw­ność mają­ca wej­ście i wyj­ście, to trzy ele­men­ty. Reszta szcze­gó­łów jest zbęd­na”, jeże­li celem ana­li­zy jest zro­zu­mie­nie mecha­ni­zmu funk­cjo­no­wa­nia orga­ni­za­cji. Detale reali­za­cji pro­ce­su pomi­ja­my, pozo­sta­wia­my w sfe­rze umie­jęt­no­ści wyko­naw­cy i ewen­tu­al­nych spi­sa­nych pro­ce­dur. Liczy się fakt wyko­ny­wa­nia nazwa­nej pra­cy (aktyw­ność) i jej cel oraz to co ją zaini­cjo­wa­ło. Na dia­gra­mie BPMN wej­ście i wyj­ście pro­ce­su biz­ne­so­we­go repre­zen­tu­je abs­trak­cja jaką jest sym­bol kart­ki z zagię­tym rogiem, abs­trak­cją pra­cy: aktyw­no­ści w pro­ce­sie, jest pro­sto­kąt z zaokrą­glo­ny­mi roga­mi. Analogicznie uprasz­cza­my rze­czy­wi­stość z uży­ciem innych nota­cji. Każda nota­cja ma swo­je prze­zna­cze­nie, każ­da nota­cja to okre­ślo­ny, dedy­ko­wa­ny sys­tem pojęciowy.

Poniżej dia­gram poka­zu­ją­cy, któ­re nota­cje mają roz­sze­rze­nia do budo­wa­nia wyko­ny­wal­no­ści oraz do cze­go i kie­dy są sto­so­wa­ne (i przeznaczone).

modele-analityczne-vs-wykonywalne

Na dia­gra­mie po pra­wej stro­nie umie­ści­łem dość popu­lar­ny obraz trzech pozio­mów mode­lo­wa­nia orga­ni­za­cji, ten pocho­dzi ze stro­ny (http://​www​.bptrend​sas​so​cia​tes​.com/). Wszystkie trzy pozio­my to abs­trak­cyj­ne mode­le budo­wa­ne z uży­ciem nota­cji wska­za­nych strzałkami.

Notacje zobra­zo­wa­ne na dia­gra­mie pozwa­la­ją na budo­wę mode­li ana­li­tycz­nych, koniecz­nych i wystar­cza­ją­cych zara­zem, do ana­liz o jakich tu pisze­my. Modele poję­cio­we i regu­ły biz­ne­so­we (SBVR) to szkie­let każ­de­go mode­lu ana­li­tycz­ne­go, ta nota­cja nie ma roz­sze­rzeń do budo­wy mode­li wyko­ny­wal­nych. Podobnie nota­cja BMM, któ­ra sta­no­wi model poję­cio­wy do opi­su stra­te­gii firm. BPMN na pozio­mie ana­li­zy biz­ne­so­wej, to model prze­pły­wu pra­cy a nie deta­licz­ny opis każ­dej czyn­no­ści. Celem mode­lo­wa­nia pro­ce­sów biz­ne­so­wych w ana­li­zie orga­ni­za­cji, jest ziden­ty­fi­ko­wa­nie prze­pły­wów pra­cy, ich pro­duk­tów i miejsc podej­mo­wa­nia decy­zji. CMMN (będzie o tej nota­cji za nie­dłu­go arty­kuł) to narzę­dzie doku­men­to­wa­nia warian­to­wych deta­li wybra­nych aktyw­no­ści w pro­ce­sach biz­ne­so­wych. UML to uni­wer­sal­na nota­cja (przy­po­mi­nam, że to to 13 typów dia­gra­mów), na eta­pie ana­liz i pro­jek­to­wa­nia sto­so­wa­na jest do two­rze­nia struk­tu­ral­nych mode­li sys­te­mów i mode­lo­wa­nia ich dynamiki.

Ten arty­kuł miał za zada­nie jedy­nie zwró­ce­nie uwa­gi na to, że wyko­ny­wa­nie zbyt szcze­gó­ło­wych mode­li w ana­li­zach i pro­jek­to­wa­niu nie jest koniecz­ne, a naj­czę­ściej bywa wręcz szko­dli­we. Stosowanie w mode­lach ana­li­tycz­nych, kon­struk­cji i ele­men­tów prze­zna­czo­nych do two­rze­nia mode­li wyko­ny­wal­nych, w zasa­dzie nale­ży uznać za błąd w uży­ciu nota­cji. Znanym z lite­ra­tu­ry przed­mio­tu powo­dem wie­lu pora­żek pro­jek­tów ana­li­tycz­nych jest mię­dzy inny­mi utra­ta pano­wa­nia nad szcze­gó­ło­wo­ścią pro­jek­tu. Warto o tym pamiętać…

Na koniec pole­cam wpis na blo­gu Martina Fowlera UML Mode

Dodaj komentarz

Twój adres email nie zostanie opublikowany

Komentuj i zadawaj pytania autorowi.

Identyfikator *
E-mail *
Witryna internetowa

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