{"id":242,"date":"2013-04-11T21:55:24","date_gmt":"2013-04-11T20:55:24","guid":{"rendered":"http:\/\/jaceksalacki.pl\/?p=242"},"modified":"2016-02-18T14:30:27","modified_gmt":"2016-02-18T13:30:27","slug":"wegierski-diagram","status":"publish","type":"post","link":"https:\/\/jaceksalacki.pl\/index.php\/2013\/04\/11\/wegierski-diagram\/","title":{"rendered":"W\u0119gierski diagram"},"content":{"rendered":"<p>Zdarzy\u0142o mi si\u0119 uczestniczy\u0107 ostatnio w dyskusji o kierunkach rozwoju zawodowego analityka. Dyskusja, jak to dyskusja na forum internetowym, nie doprowadzi\u0142a do \u017cadnych sensownych wniosk\u00f3w, tylko swobodnie odp\u0142yn\u0119\u0142a. Jednym z kierunk\u00f3w, kt\u00f3rym pod\u0105\u017cyli dyskutanci, by\u0142y rozwa\u017cania o wy\u017cszo\u015bci BPMNa nad UML (a w\u0142a\u015bciwie nad czymkolwiek innym). BPMN jest ostatnio w modzie, wi\u0119c szybko ujawni\u0142a si\u0119 grupa wiernych fan\u00f3w i kibic\u00f3w, rzucaj\u0105ca ca\u0142\u0105 litani\u0105 zalet tego j\u0119zyka. Dziwnym trafiem prawie wszystkie brzmia\u0142y bardzo podobnie do marketingowych hase\u0142, reklamuj\u0105cych BPMNa w r\u00f3\u017cnego rodzaju whitepaperach. W szczeg\u00f3lno\u015bci spodoba\u0142a mi si\u0119 takie has\u0142o:<\/p>\n<blockquote><p>BPMN jest \u0142atwy, prosty i intuicyjny. Ka\u017cdy go rozumie.<\/p><\/blockquote>\n<p>Czyli bierzemy pierwszego lepszego cz\u0142owieka z ulicy (dobra, niech b\u0119dzie &#8211; dowolnego klienta dla kt\u00f3rego robimy system informatyczny), rzucamy mu dowolny diagram BPMNa z procesami, a on na to: &#8222;Aha &#8211; tak o to chodzi, ten proces idealnie obrazuje wszystkie niuanse naszego sposobu pracy&#8221;. BPMN odwali\u0142 za nas ca\u0142\u0105 robot\u0119 &#8211; narysowali\u015bmy diagramik i wszystko ju\u017c dla ka\u017cdego jest jasne i oczywiste: doskona\u0142e zrozumienie wymaga\u0144 i oczekiwa\u0144 klienta, doskona\u0142e i pe\u0142ne zrozumienie produktu kt\u00f3ry wykonawca dostarczy. Analityczna nirvana.<\/p>\n<p><!--more--><\/p>\n<p>Na pierwszy rzut oka, wszystko si\u0119 niby zgadza &#8211; diagramy BPMN sk\u0142adaj\u0105 si\u0119 z banalnych prostok\u0105t\u00f3w, romb\u00f3w, k\u00f3\u0142ek i strza\u0142ek. Strza\u0142ka wychodzi st\u0105d a wchodzi tam,\u00a0 prostok\u0105ty maj\u0105 s\u0142owne opisy. To w zasadzie ca\u0142o\u015b\u0107 BPMNa &#8211;\u00a0 wygl\u0105da na to, \u017ce jest faktycznie pi\u0119knie, prosto i zrozumiale. Tyle \u017ce, gdy przyjrzymy si\u0119 bardziej dok\u0142adnie i spr\u00f3bujemy na powa\u017cnie u\u017cywa\u0107 tej notacji to zauwa\u017cymy niuanse, kt\u00f3re decyduj\u0105 o sile BPMNa- strza\u0142ki reprezentuj\u0105 dwa (w zasadzie trzy) rodzaje przep\u0142yw\u00f3w,\u00a0 k\u00f3\u0142ka reprezentuj\u0105 kilkana\u015bcie mo\u017cliwych rodzaj\u00f3w zdarze\u0144, prostok\u0105t\u00f3w te\u017c jest kilka typ\u00f3w, podobnie. \u0141\u0105cznie &#8211; ponad sto symboli. I tu tkwi problem z powy\u017cszym twierdzeniem &#8211; zrozumienie znaczenia poszczeg\u00f3lnych symboli, ale przede wszystkim zrozumienie co oznaczaj\u0105 u\u017cyte razem.<\/p>\n<p>BPMN. jak ka\u017cdy inny j\u0119zyk, jest zbudowany z dw\u00f3ch element\u00f3w &#8211; gramatyki i semantyki. Gramatyka okre\u015bla, og\u00f3lnie rzecz bior\u0105c, spos\u00f3b powi\u0105zania sk\u0142adnik\u00f3w j\u0119zyka ze sob\u0105, czyli to jak mog\u0105 zosta\u0107 u\u017cyte w konstrukcjach j\u0119zykowych. W przypadku BPMNa gramatyka jest w miar\u0119 prosta &#8211; sprowadza si\u0119 do zdefiniowania rodzaj\u00f3w symboli graficznych oraz okre\u015blenia mo\u017cliwych powi\u0105za\u0144 mi\u0119dzy nimi &#8211; czyli jakie symbole s\u0105 dost\u0119pne, w jaki spos\u00f3b mo\u017cna je \u0142\u0105czy\u0107 ze sob\u0105 oraz w jakim kontek\u015bcie mog\u0105 zosta\u0107 u\u017cyte. Ta cz\u0119\u015b\u0107 jest faktycznie prosta i intuicyjna, cho\u0107 ju\u017c na tym poziomie pojawia si\u0119 kilka niuans\u00f3w, na przyk\u0142ad u\u017cycie Sequence Flow w kontek\u015bcie Line oraz Pool. Jednak, w zasadzie ka\u017cdy kto mia\u0142 ju\u017c wcze\u015bniej styczno\u015b\u0107 z jak\u0105kolwiek notacj\u0105 opisu sekwencji czynno\u015bci\/algorytm\u00f3w, b\u0119dzie w stanie odczyta\u0107 konstrukcje w BPMN. Inn\u0105 spraw\u0105 jest jednak zrozumienie takiej konstrukcji. Tu wkracza semantyka. Semantyka definiuje znaczenie poszczeg\u00f3lnych symboli, okre\u015bla jak b\u0119d\u0105 interpretowane lub jakim poj\u0119ciom, obiektom rzeczywistym odpowiadaj\u0105. W skr\u00f3cie m\u00f3wi\u0105c &#8211; pozwala na zinterpretowanie konstrukcji gramatycznej (diagramu w tym wypadku). I tu le\u017cy podstawowy problem dotycz\u0105cy stwierdzenia z pocz\u0105tku tekstu. W mojej opinii reklamowy tekst o &#8222;intuicyjno\u015bci&#8221; BPMNa rozbija si\u0119 o z\u0142o\u017cono\u015b\u0107 semantyki tego j\u0119zyka. Nikt, kto nie zna szczeg\u00f3\u0142\u00f3w interpretacji poszczeg\u00f3lnych symboli nie zrozumie szczeg\u00f3\u0142\u00f3w proces\u00f3w. Nie b\u0119dzie w stanie dostrzec r\u00f3\u017cnicy mi\u0119dzy rombem z X a rombem z + w \u015brodku, a r\u00f3\u017cnica mi\u0119dzy nimi jest znacz\u0105ca.<\/p>\n<p>Wszystkie sk\u0142adniki diagram\u00f3w BPMN a tak\u017ce ich wzajemne powi\u0105zania maj\u0105 swoje znaczenie i tylko odpowiednie ich zastosowanie ma sens. Nie da rady ich wrzuci\u0107 ot tak sobie dowolnie<sup class='footnote'><a href='#fn-242-1' id='fnref-242-1' onclick='return fdfootnote_show(242)'>1<\/a><\/sup>. Mo\u017cna oczywi\u015bcie poluzowa\u0107 regu\u0142y stosowania BPMNa, nie przywi\u0105zywa\u0107 wagi do specyfiki jego symboli, albo po prostu przesta\u0107 u\u017cywa\u0107 innych rodzaj\u00f3w symboli poza kilkoma podstawowymi (zdaje si\u0119 siedmioma) i najprostszych konstrukcji. Jednak &#8211; po co w\u0142a\u015bciwie wtedy u\u017cywa\u0107 takiego j\u0119zyka? Wszystkie zalety zostaj\u0105 wtedy w\u0142a\u015bciwie zignorowane. Wtedy faktycznie twierdzenie o &#8222;intuicyjno\u015bci&#8221; BPMNa b\u0119dzie prawdziwe, tyle \u017ce sprawdzi si\u0119 tylko w trwialnych zastosowaniach.<\/p>\n<p>Na koniec &#8211; sk\u0105d taki w\u0142a\u015bnie tytu\u0142? Pythoni mieli bardzo dobry przyk\u0142ad: <a title=\"Rozm\u00f3wki w\u0119gierskie\" href=\"http:\/\/www.youtube.com\/watch?v=lwnJ2AaIhk4\" target=\"_blank\">Rozm\u00f3wki w\u0119gierskie<\/a>.<\/p>\n<div class='footnotes' id='footnotes-242'>\n<div class='footnotedivider'><\/div>\n<ol>\n<li id='fn-242-1'> tzn da rad\u0119, narz\u0119dzie do modelowania pozwoli na wszystko, ale je\u017celi ma jeszcze wbudowany walidator, to ju\u017c nie b\u0119dzie tak pi\u0119knie i ten\u017ce b\u0119dzie si\u0119 burzy\u0142 <span class='footnotereverse'><a href='#fnref-242-1'>&#8617;<\/a><\/span><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zdarzy\u0142o mi si\u0119 uczestniczy\u0107 ostatnio w dyskusji o kierunkach rozwoju zawodowego analityka. Dyskusja, jak to dyskusja na forum internetowym, nie doprowadzi\u0142a do \u017cadnych sensownych wniosk\u00f3w, tylko swobodnie odp\u0142yn\u0119\u0142a. Jednym z kierunk\u00f3w, kt\u00f3rym pod\u0105\u017cyli dyskutanci, by\u0142y rozwa\u017cania o wy\u017cszo\u015bci BPMNa nad UML (a w\u0142a\u015bciwie nad czymkolwiek innym). BPMN jest ostatnio w modzie, wi\u0119c szybko ujawni\u0142a si\u0119 grupa wiernych fan\u00f3w i kibic\u00f3w, rzucaj\u0105ca ca\u0142\u0105 litani\u0105 zalet tego j\u0119zyka. Dziwnym trafiem prawie wszystkie brzmia\u0142y bardzo podobnie do marketingowych hase\u0142<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,24,13],"tags":[21,25,32],"class_list":["post-242","post","type-post","status-publish","format-standard","hentry","category-analiza","category-bpmn","category-metodyki","tag-analiza-biznesowa","tag-dokumentacja","tag-swiatek-it"],"_links":{"self":[{"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/posts\/242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/comments?post=242"}],"version-history":[{"count":20,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/posts\/242\/revisions"}],"predecessor-version":[{"id":438,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/posts\/242\/revisions\/438"}],"wp:attachment":[{"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/media?parent=242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/categories?post=242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jaceksalacki.pl\/index.php\/wp-json\/wp\/v2\/tags?post=242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}