Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Przedstaw poniższy scenariusz w postaci jednego z diagramów BPMN 2.0
---------------------------------------------------------------------------------------------
Opis:
Proces "Przemieszczenie towarów” umożliwia przemieszczenie towarów akcyzowych w sposób podstawowy.

Warunki wstępne:
W systemie zarejestrowane są podmioty biorące udział w przemieszczeniu. Nadawca jest Podmiotem uprawnionym do wysyłania dokumentów e-AD, Odbiorca jest podmiotem uprawnionym do odbioru towarów akcyzowych.

Zdarzenie inicjujące proces:
Proces inicjowany jest w wyniku wysłania projektu e-AD przez Wysyłającego do systemu EMCS PL, bądź w wyniku powiadomienia systemu EMCS PL o projekcie e-AD, w którym Odbierającym jest podmiot w kraju.

Wynik realizacji:
Brak, bądź obiekt e-AD w stanie [Delivered], bądź obiekt e-AD w stanie [Cancelled]

Aktorzy:
Wysyłający, Odbierający, EMCS PL.

Scenariusze:

Przemieszczenie w kraju
1. Wysyłający wysyła projekt e-AD do Emcs (PL815)
2. Emcs nadaje numer ARC i zatwierdza projekt e-AD ([Accepted])
3. Wysyłający odbiera potwierdzenie e-AD (IE801)
4. Odbierający odbiera e-AD (IE801)
5. Odbierający wysyła projekt raportu odbioru (IE818)
6. Emcs zatwierdza raport odbioru ([Delivered])
7. Wysyłający odbiera raport odbioru (IE818)
8. Odbierający odbiera potwierdzenie przyjęcia raportu (IE818)

A1. Przemieszczenie towarów do UE w procedurze ECS
A1.1. Kroki 1-2 przebiegu podstawowego ([Exporting])
A1.2. Wysyłający odbiera potwierdzenie e-AD (IE801 oraz IE829)
A1.3. Kroki 6-7 przebiegu podstawowego ([Delivered])

A2. Przemieszczenie towarów z UE
A2.1 Emcs zatwierdza projekt e-AD ([Accepted])
A2.2 Odbierający odbiera e-AD (IE801)
A2.3 Kroki 5-6 przebiegu podstawowego ([Delivered])
A2.4 Krok 8 przebiegu podstawowego
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Czy nie ma nikogo co by model zrobił ?
Za dużo scenariuszy ?
To może na początek tylko jeden ?
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Zagadka 2

Wydaje mi się, że nikt nie podejmie się tego a tym samym tego nie zrobi ze względu iż jakikolwiek analityk biznesowy nie znający modelowanego otoczenia nie będzie w stanie tego zrobić.
Samemu nasuwa mi się bardzo dużo pytań do opisu. Osobiście dla mnie to co Pan podał to dla mnie kilka klocków z dużego pudła (inaczej opisywanego świata), które ktoś ma dopasować i ułożyć a modelowanie raczej to nie jest "układanie" kloców według instrukcji a raczej "tworzenie".
Chociaż mam trochę czasu i mogę "pobawić się" w układanie klocków.

Proces nazywa się "Przemieszczanie towarów" a dalej jest mowa o przesyłaniu dokumentów więc nie bardzo wiem co modelujemy przemieszczanie towarów czy przesyłanie dokumentów czy może to i to?

3. Wysyłający odbiera potwierdzenie e-AD (IE801)
Mam rozumieć, że zatwierdzenie projektu z punktu nr 2 jest równoznaczne z jego wysłaniem?
Brakuje mi tu czynności wysłania tego zatwierdzenia.

4. Odbierający odbiera e-AD (IE801)
Skąd odbiera? EMCS wysyła potwierdzenie do wysyłającego i odbierającego?

7. Wysyłający odbiera raport odbioru (IE818)
Kto go wysłał i kiedy? W punkcie 6 jest mowa tylko o zatwierdzeni a nie o wysłaniu.

8. Odbierający odbiera potwierdzenie przyjęcia raportu (IE818)
Pytanie podobne jak do punku 7 skąd odbiera? Z punktu 6?
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Adam Cieloch:
Wydaje mi się, że nikt nie podejmie się tego a tym samym tego nie zrobi ze względu iż jakikolwiek analityk biznesowy nie znający modelowanego otoczenia nie będzie w stanie tego zrobić.
Samemu nasuwa mi się bardzo dużo pytań do opisu. Osobiście dla mnie to co Pan podał to dla mnie kilka klocków z dużego pudła (inaczej opisywanego świata), które ktoś ma dopasować i ułożyć a modelowanie raczej to nie jest "układanie" kloców według instrukcji a raczej "tworzenie".
Chociaż mam trochę czasu i mogę "pobawić się" w układanie klocków.

Proces nazywa się "Przemieszczanie towarów" a dalej jest mowa o przesyłaniu dokumentów więc nie bardzo wiem co modelujemy przemieszczanie towarów czy przesyłanie dokumentów czy może to i to?
W rzeczywistości przesyłane są towary od nadawcy do Odbiorcy. Rzecz jasna Podmioty posługują sie przy tym dokumentami, opisującymi przewożony towar.
Jest to potrzebne np. by na każdym etapie nie trzeba było zaglądac do kontenerów.
Podobnie firma kurierska zajmuje się zarządzaniem informacjami o przesyłkach (dokumentach), a nie samym rozdzielaniem przesyłek. Same przesyłki zaś przewożą (przemieszczają) kurierzy (spedytorzy, przewoźnicy).
Modelujemy zatem przemieszczanie przesyłek. Ale informacje o tych przemieszczeniach będziemy mieli wyłącznie z dokumentów. na dokumentach sa informacje o przesyłkach, a nie o dokumentach, prawda ?
Zatem nie modelujemy przesyłania dokumentów.
Jednakże dokument e-AD praktycznie utożsamiany jest z daną partią towaru.
Mówiąc o e-AD mamy na myśli konkretny towar.
Ale przecież tak jest z niemal każdą informacją, prawda ?
Mówiąc o konkretnej sprawie w Urzędzie mamy na myśli Petenta składającego konkretny wniosek.
Zatem mówimy "sprawa Kowalskiego" i przekazujemy stos papierków na inne biurko, prawda ?
Zatem nie mówimy, że Kowalski przysłał nam dokument do rozpatrzenia, a my przekazujemy odpowiednie dokumenty do innych komórek, ale raczej mówimy o przekazywaniu sprawy Kowalskiego do różnych komórek, czy nawet o stanie sprawy Kowalskiego na konkretnych szczeblach decyzyjnych.

3. Wysyłający odbiera potwierdzenie e-AD (IE801)
Mam rozumieć, że zatwierdzenie projektu z punktu nr 2 jest równoznaczne z jego wysłaniem?
Brakuje mi tu czynności wysłania tego zatwierdzenia.
Wysłanie zatwierdzenia (potwierdzenia) e-AD jest równoznaczne z odebraniem potwierdzenia.
W scenariuszach raczej unika się schodzenia na bardziej szczegółowe poziomy abstrakcji.
Tutaj wysłanie komunikatu przez Emcs jest równoznaczne z odebraniem tego komunikatu przez Wysyłajacego.
Ale jesli chcielibysmy przedstawić sytuacje zwiazane z mechanizmem wysyłania i przyjmowania komunikatów miedzy Emcs, a innymi podmiotami to wtedy oczywiscie moglibysmy opisywac, że komunikat jest wysyłany przez Emcs, a nastepnie, że Emcs czeka na potwierdzenie tego komunikatu iles czasu, jak nie nadejdzie potwierdzenie odebrania to znowu próbuje wysyłać itd.
Ale w naszym przypadku nie skupiamy sie na aspektach technicznych obsługi komunikatów, więc dla nas wysłanie komunikatu przez Emcs to ten sam krok w scenariuszu co odebranie komunikatu przez Wysyłajacego.
Poza tym w punkcjie 2. nie ma mowy o wysłaniu potwierdzenia, gdyż nie zawsze po zatwierdzeniu projektu musi być wysyłane potwierdzenie e-AD. Rozdzielamy te dwa kroki, bo być może, że trzeba będzie coś jeszcze tu zrobić. Ale oczywiście jest to spowodowane doświadczeniem. W pierwszej wersji możemy nawet opisać to jednym krokiem. natomiast gdy będziemy chcieli przedstawić tą sytuację graficznie, to nam w BPMN "wyjdą" dwie konstrukcje: czynność (jaka?) i przesłanie komunikatu ...

4. Odbierający odbiera e-AD (IE801)
Skąd odbiera? EMCS wysyła potwierdzenie do wysyłającego i odbierającego?
No właśnie :) Jaki sens by miało wysłanie przez Wysyłajacego projektu e-AD do Odbierającego i do EMCS ?
Wysyłający musiałby znać niemal wszystkie adresy podmiotów uczestniczącyh w systemie EMCS, prawda ?
A system powinien być w miarę prosty. Więc wystarczy, by każdy podmiot znał tylko adres EMCS i z nim tylko wymieniał komunikaty.
Zatem każdy Podmiot wymienia komunikaty tylko z EMCS. Ale w każdym komunikacie muszą być informacje identyfikujące odbiorcę i nadawcę. Zatem wirtualnie Wysyłający wysyła informacje o towarze do Odbiorcy nie znając jego adresu. Wystarczy że wyśle komunikat do systemu EMCS, a ten przekaże informacje na adres Odbiorcy.
Innymi słowy: pernamentna inwigilacja ;)

7. Wysyłający odbiera raport odbioru (IE818)
Kto go wysłał i kiedy? W punkcie 6 jest mowa tylko o zatwierdzeni a nie o wysłaniu.
Podobnie jak wyżej: wszystkie Podmioty wysyłają i odbierają komunikatu tylko do/z systemu EMCS.

8. Odbierający odbiera potwierdzenie przyjęcia raportu (IE818)
Pytanie podobne jak do punku 7 skąd odbiera? Z punktu 6?
Podobnie jak wyżej: wszystkie Podmioty wysyłają i odbierają komunikatu tylko do/z systemu EMCS.
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Narysujmy więc scenariusz główny EMCS.

Obrazek

Prawda, że bardzo prosty ?
A ileż kłopotów było z ustaleniem takiego przebiegu, prawda ? :)
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Zagadka 2

Stanisław Jerzy Niepostyn:
A ileż kłopotów było z ustaleniem takiego przebiegu, prawda ? :)

Nie, wcale nie.
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Adam Cieloch:
Stanisław Jerzy Niepostyn:
A ileż kłopotów było z ustaleniem takiego przebiegu, prawda ? :)

Nie, wcale nie.
Sorry, ale ja tak a propos analizy firmy Pentacomp opublikowanej niecałe dwa lata temu przez MF.
Ale też bardzo się cieszę, że moje wypowiedzi choć trochę pomagają innym :)
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

Przepraszam, ze się czepiam ale czy nie powinno być tak?

Obrazek

Proszę znaleźć 4 różnice w diagramach i które 3 wynikają z BPMN? :-)Piotr Tadeusz B. edytował(a) ten post dnia 14.02.12 o godzinie 11:08
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Zagadka 2

Ja widzę tylko jedną :) inne zakończenie. Chyba, że mówimy o tym, że standard nie mówi o tym iż w procesach nie można umieszczać niczego innego oprócz nazwy procesu oraz znaku graficznego typu.
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Zagadka 2

"BPMN elements (e.g. Flow objects) MAY have labels (e.g., its name and/or other attributes) placed inside the shape,
or above or below the shape, in any direction or location, depending on the preference of the modeler or modeling
tool vendor."
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Zagadka 2

Piotr Tadeusz B.:
Proszę znaleźć 4 różnice w diagramach i które 3 wynikają z BPMN? :-)

Jedna?

"The label for the Pool MAY be placed in any location and direction within the Pool, but MUST be separated
from the contents of the Pool by a single line"
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

Adam Cieloch:
Ja widzę tylko jedną :) inne zakończenie.
Raczej - zakończenia (bo dwa są różne)
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

Adam Cieloch:
Piotr Tadeusz B.:
Proszę znaleźć 4 różnice w diagramach i które 3 wynikają z BPMN? :-)

Jedna?

"The label for the Pool MAY be placed in any location and direction within the Pool, but MUST be separated
from the contents of the Pool by a single line"

To już kolejna
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Piotr Tadeusz B.:
Przepraszam, ze się czepiam ale czy nie powinno być tak?

Obrazek

Proszę znaleźć 4 różnice w diagramach i które 3 wynikają z BPMN? :-)

Może być również i tak, prawda ?

Obrazek

Ale czego tam jeszcze brakuje z punktu widzenia standardu BPMN 2.0 ???
Dla ułatwienia podałem wersję wykonywalną :)

Jestem wielce zaskoczony, Panie Piotrze, komentarzem na diagramach. Wszak już wcześniej pisałem, że Emcs jest jeden, a wysyłających, czy odbierających może być wielu, stąd ten znacznik wieloinstancyjności (rozdz. 9.2).

Przy okazji bardzo dziękuję za zwrócenie uwagi na:
1) MessageFlow - zaczyna się kółeczkiem, kończy trójkątem niewypełnionym
2) SequenceFlow - kończy się trójkatem wypełnionym
Inny element różniący się od iGrafx to Pool, ale w tym przypadku zgadza się dokładnie ze standardem BPMN 2.0, prawda ?

MessageFlow i SequenceFlow wymagały zmiany kilku linijek kodu, gdyż nie były standardowym "wyposażeniem" Topcased ;)
Poprawiona wtyczka "org.topcased.modeler.bpmn.bpmndiagram_5.1.0.v20120104.jar" dostępna już oczywiście na stronie http://project-media.pl/bpmn2.php

Ale czego się nie robi, by wzorować się na tak doskonałych komercyjnych narzedziach ?
Również niezła frajda, że mój darmowy modeler BPMN utworzony i modyfikowany wyłącznie przeze mnie jest porównywany z takimi potentatami rynku jak iGrafx :)))

A tak na marginesie, to warto by zwrócić autorom standardu BPMN następującą uwagę:
1) grot dla SequenceFlow powinien raczej być opisany jako "a solid triangular arrowhead", a nie "a solid arrowhead"
2) grot dla MessageFlow powinien być opisany jako "a triangular arrowhead", a nie "an open arrowhead"
3) grot dla asocjacji powinien byc opisany jako "an open arrowhead", a nie jako "an arrowhead".

Jeśli przy standardzie BPMN 2.0 wzorowano się na standardzie UML 2.0, to może również i takie szczegóły jak opisy grotów również przydałoby się zmienić, prawda ? ;)Stanisław Jerzy Niepostyn edytował(a) ten post dnia 19.02.12 o godzinie 00:11
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

Witam
Stanisław Jerzy Niepostyn:
Piotr Tadeusz B.:
Przepraszam, ze się czepiam ale czy nie powinno być tak?

Obrazek

Proszę znaleźć 4 różnice w diagramach i które 3 wynikają z BPMN? :-)

Może być również i tak, prawda ?

Obrazek

Chyba nie bardzo.
Czynność wysłania komunikatu jest wyraźnie sprecyzowanym obiektem w BPMN. Nie można wysłać komunikatu do dwu rożnych użytkowników. Byłoby to zdarzanie wielokrotne. Ale nie ma czynności "zdarzenia wielokrotnego". Dlatego moim zdaniem ten rysunek jest błędny.

Ale czego tam jeszcze brakuje z punktu widzenia standardu BPMN 2.0 ???
???
Linie komunikatu muszą być przyłączone do krawędzi uczestnika lub czynności (nie mogą wisieć w powietrzu)
Dla ułatwienia podałem wersję wykonywalną :)

Jestem wielce zaskoczony, Panie Piotrze, komentarzem na diagramach. Wszak już wcześniej pisałem, że Emcs jest jeden, a wysyłających, czy odbierających może być wielu, stąd ten znacznik wieloinstancyjności (rozdz. 9.2).

Wydaje mi się, że znacznik wieloinstancyjności ma inne znaczenie. Powiązany jest z atrybutem mówiącym ile instancji musi się wykonać aby ukończyć współpracę lub choreografię (9.2.1 Participants, Sekcja Participant Multiplicity str. 117-118).

Rysunek oryginalny sugeruje, że musi być wiele instancji zamawiającego i określona ich liczba musi wysłać komunikaty aby zainicjować proces w Emcs i podobnie Emcs wymaga współpracy z wieloma instancjami odbierającego.

Tu raczej jeden wysyłający inicjuje i współpraca jest z jednym odbierającym.

Przy okazji bardzo dziękuję za zwrócenie uwagi na:
1) MessageFlow - zaczyna się kółeczkiem, kończy trójkątem niewypełnionym
2) SequenceFlow - kończy się trójkatem wypełnionym
Inny element różniący się od iGrafx to Pool, ale w tym przypadku zgadza się dokładnie ze standardem BPMN 2.0, prawda ?
Nie zupełnie. Bo jak słusznie zauważył pan Adam:
"The label for the Pool MAY be placed in any location and direction within the Pool, but MUST be separated from the contents of the Pool by a single line"
A tu jest umieszczona poza obszarem uczestnika.
MessageFlow i SequenceFlow wymagały zmiany kilku linijek kodu, gdyż nie były standardowym "wyposażeniem" Topcased ;)
Poprawiona wtyczka "org.topcased.modeler.bpmn.bpmndiagram_5.1.0.v20120104.jar" dostępna już oczywiście na stronie http://project-media.pl/bpmn2.php
Jeśli przyczyniłem się do poprawy - cieszę się.

Ale czego się nie robi, by wzorować się na tak doskonałych komercyjnych narzedziach ?
Również niezła frajda, że mój darmowy modeler BPMN utworzony i modyfikowany wyłącznie przeze mnie jest porównywany z takimi potentatami rynku jak iGrafx :)))
Nie miałem na celu porównywane narzędzi, ale przywiązanie forumowiczów do standardu.
iGrafx wykorzystywałem tylko dlatego, bo akurat to robi dobrze ;-).
Na pocieszenie modele pokazywane na witrynie BPMN jako przykłady są również niezgodne ze specyfikacją :-(

A tak na marginesie, to warto by zwrócić autorom standardu BPMN następującą uwagę:
1) grot dla SequenceFlow powinien raczej być opisany jako "a solid triangular arrowhead", a nie "a solid arrowhead"
2) grot dla MessageFlow powinien być opisany jako "a triangular arrowhead", a nie "an open arrowhead"
3) grot dla asocjacji powinien byc opisany jako "an open arrowhead", a nie jako "an arrowhead".

Jeśli przy standardzie BPMN 2.0 wzorowano się na standardzie UML 2.0, to może również i takie szczegóły jak opisy grotów również przydałoby się zmienić, prawda ? ;)

Myślę, że przy BPMN nie wzorowano się na standardzie UML :-D.
BPMN powstał w zupełnie innej organizacji, która dopiero później przyłączyła się do OMG.

Proszę wszystkich moich uwag nie traktować jako czepianie się ale jako temat do przemyśleń nad BPMN i przybliżanie jego zawiłości mniej zaawansowanym użytkownikom.
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Piotr Tadeusz B.:
Witam
Chyba nie bardzo.
Czynność wysłania komunikatu jest wyraźnie sprecyzowanym obiektem w BPMN. Nie można wysłać komunikatu do dwu rożnych użytkowników. Byłoby to zdarzanie wielokrotne. Ale nie ma czynności "zdarzenia wielokrotnego". Dlatego moim zdaniem ten rysunek jest błędny.
Wydaje mi się, że znacznik wieloinstancyjności ma inne znaczenie. Powiązany jest z atrybutem mówiącym ile instancji musi się wykonać aby ukończyć współpracę lub choreografię (9.2.1 Participants, Sekcja Participant Multiplicity str. 117-118).
A mi się wydaje, iż rozważa Pan drogę tokenu, co miałoby wtedy uzasadnienie, ale rzecz w tym, że przepływem komunikatu token nie może być przesłany. Czyli zdarzenie wielokrotne nie gra przy tym jakiejkolwiek roli. Więc podobnie jak na rys. 9.8 strony przez Pana przywołanej (117) Supplier reprezentuje kilku Wysyłających, czy Odbierających. Zaś wartość atrybutu ParticipantMultiplicity (a w zasadzie atrybut maximum) odpowiada za pojawienie się, bądź nie tegoż znacznika. Jak sobie z tym radzi modeler to inna sprawa, którą standard BPMN 2.0 oddaje do dyspozycji producenta ;)
Ale czego tam jeszcze brakuje z punktu widzenia standardu BPMN 2.0 ???
???
Może jaśniej: czy komunikaty wysyłane z zadania 02 i 06 będą zawierały jakieś dane ?

Linie komunikatu muszą być przyłączone do krawędzi uczestnika lub czynności (nie mogą wisieć w powietrzu)
Wystarczy przesunąć element Pool, by przekonać się, że linie komunikatu nie wiszą ;)
Inny element różniący się od iGrafx to Pool, ale w tym przypadku zgadza się dokładnie ze standardem BPMN 2.0, prawda ?
Nie zupełnie. Bo jak słusznie zauważył pan Adam:
"The label for the Pool MAY be placed in any location and direction within the Pool, but MUST be separated from the contents of the Pool by a single line"
A tu jest umieszczona poza obszarem uczestnika.
Tu raczej należałoby wskazać, że Pool musi być prostokątem i w sumie jest tym prostokątem, tyle, że trochę takim bardziej "intuicyjnym", gdyż taką właśnie grafikę udostępnia Topcased i muszę przyznać, że pierwszy raz tego typu uwagę usłyszałem ... ale etykieta jest wewnątrz partycji i jest oddzielona pojedynczą linią ;) Zaś biorąc pod uwagę rozdział 7.4 oraz 7.6 odnoszę wrażenie, że jest Pan, Panie Piotrze, bardziej wymagający, anizeli standard BPMN 2.0 ;) Wszak zasada "look-and-feel" nie została naruszona, prawda ?
Myślę, że przy BPMN nie wzorowano się na standardzie UML :-D.
BPMN powstał w zupełnie innej organizacji, która dopiero później przyłączyła się do OMG.
Wersje 1.x tak, natomiast wersja BPMN 2.0 jako żywo przypomina UML 2.0.
Nie chcę Pana obciążać wczytywaniem sie w standard UML 2.x, jednakże proponuję się przyjrzeć spisowi treści. W BPMN 2.0 i UML 2.x spis treści poukładano według modeli. Zachowano jedynie w BPMN poczętek wześniejszych wersji z wykazem większości symboli graficznych. W UML-u te wykazy umieszczono na końcu poszczególnych modeli. Natomiast w obu standardach w poszczególnych modelach bardziej szczegółowo opisane są wszystkie elementy poszczególnych modeli wraz z diagramami klas przedstawiającymi meta-modele. Czy we wcześniejszych wersjach BPMN była gdzieś mowa o diagramach klas prezentujących części metamodelu BPMN ?
Choćby i z tego względu warto poznać standard UML :)
Proszę wszystkich moich uwag nie traktować jako czepianie się ale jako temat do przemyśleń nad BPMN i przybliżanie jego zawiłości mniej zaawansowanym użytkownikom.
Bardzo fajnie, że wreszcie znalazłem osobę, z którą mogę pospierać się na temat BPMN 2.0 :)
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

Mam nadzieję, że tą "akademicką" dyskusją nie zanudzimy czytelników i że umożliwi Państwu zrozumienie istoty BPMN.
Stanisław Jerzy Niepostyn:
Piotr Tadeusz B.:
Witam
Chyba nie bardzo.
Czynność wysłania komunikatu jest wyraźnie sprecyzowanym obiektem w BPMN. Nie można wysłać komunikatu do dwu rożnych użytkowników. Byłoby to zdarzanie wielokrotne. Ale nie ma czynności "zdarzenia wielokrotnego". Dlatego moim zdaniem ten rysunek jest błędny.
Wydaje mi się, że znacznik wieloinstancyjności ma inne znaczenie. Powiązany jest z atrybutem mówiącym ile instancji musi się wykonać aby ukończyć współpracę lub choreografię (9.2.1 Participants, Sekcja Participant Multiplicity str. 117-118).
A mi się wydaje, iż rozważa Pan drogę tokenu, co miałoby wtedy uzasadnienie, ale rzecz w tym, że przepływem komunikatu token nie może być przesłany. Czyli zdarzenie wielokrotne nie gra przy tym jakiejkolwiek roli.
Zupełnie błędne założenie. Token nie jest przesyłany ale wyzwala bądź reaguje na stany w innym procesie. Ta zmiana stanów bądź reakcja na nie to zdarzenia w BPMN.

Wracając do "naszych baranów"

Tabela 9.5 ParticipantMultiplicity attributes specyfikacji określa:

Attribute Name
minimum: integer = 0
Description/Usage
The minimum attribute defines minimum number of Participants that
MUST be involved in the Collaboration. If a value is specified in the
maximum attribute, it MUST be greater or equal to this minimum value.
Attribute Name
maximum: integer [0..1] = 1
Description/Usage
The maximum attribute defines maximum number of Participants that MAY
be involved in the Collaboration. The value of maximum MUST be one or
greater, AND MUST be equal or greater than the minimum value.

Wskazuje to wyraźnie na możliwość zaangażowania we współprace lub choreografię więcej niż jednego uczestnika. I to pokazaniu tego faktu służy znacznik wieloinstancyjności.
Więc podobnie jak na rys. 9.8 strony przez Pana przywołanej (117) Supplier reprezentuje kilku Wysyłających, czy Odbierających. Zaś wartość atrybutu ParticipantMultiplicity (a w zasadzie atrybut maximum) odpowiada za pojawienie się, bądź nie tegoż znacznika.
Mam wrażenie, że Wytwórca mozę w ramach jednej współpracy komunikować się z wieloma dostawcami (i tak jest po pokazane na rysunku), natomiast nie wydaje mi się, aby mogło być wielu Wysyłających komunikujących się z jedną instancją operacji Emcs co Pan narysował.
Gdyby jednak (hipotetycznie) tak było to pojedyncza instancja musiała by być zainicjowana po pojawieniu się odpowiedniej ilości komunikatów (co pokazywane by było zdarzeniem wielokrotnym równoległym).
Jak sobie z tym radzi modeler to inna sprawa, którą standard BPMN 2.0 oddaje do dyspozycji producenta ;)

Tu modeler nie ma nic wspólnego. Tu chodzi o naturę komunikacji.
Ale czego tam jeszcze brakuje z punktu widzenia standardu BPMN 2.0 ???
???
Może jaśniej: czy komunikaty wysyłane z zadania 02 i 06 będą zawierały jakieś dane ?
Nie ma znaczenia. Znów przytoczę specyfikację:
(10.2.3.1 Types of Tasks, sekcja Send Task str. 159)
A Send Task is a simple Task that is designed to send a Message to an external Participant (relative to the Process). Once the Message has been sent, the Task is completed.

Komunikat jest pojęciem elementarnym. Nie ma "wielokomunikatów" więc nie można takiego samego komunikatu wysłać do różnych uczestników jako jednego zadania (co jest na rysunku).
Wbrew pozorom IE818 to dwa komunikaty różniące się kluczami korelacyjnymi.

To prawda, że w BPMN 2.0 poprzez wyeksponowanie "kluczy korelacyjnych" pomiędzy procesami odrobinę zagubiła się przejrzystość wykonywania komunikatów. Zadziałała zasada "skoro ja rozumiem to dla wszystkich powinno być zrozumiałe".
Linie komunikatu muszą być przyłączone do krawędzi uczestnika lub czynności (nie mogą wisieć w powietrzu)
Wystarczy przesunąć element Pool, by przekonać się, że linie komunikatu nie wiszą ;)
Próbowałem przesuwać, przesuwał mi się cały obrazek :-D
Inny element różniący się od iGrafx to Pool, ale w tym przypadku zgadza się dokładnie ze standardem BPMN 2.0, prawda ?
Nie zupełnie. Bo jak słusznie zauważył pan Adam:
"The label for the Pool MAY be placed in any location and direction within the Pool, but MUST be separated from the contents of the Pool by a single line"
A tu jest umieszczona poza obszarem uczestnika.
Tu raczej należałoby wskazać, że Pool musi być prostokątem i w sumie jest tym prostokątem, tyle, że trochę takim bardziej "intuicyjnym", gdyż taką właśnie grafikę udostępnia Topcased i muszę przyznać, że pierwszy raz tego typu uwagę usłyszałem ... ale etykieta jest wewnątrz partycji i jest oddzielona pojedynczą linią ;) Zaś biorąc pod uwagę rozdział 7.4 oraz 7.6 odnoszę wrażenie, że jest Pan, Panie Piotrze, bardziej wymagający, anizeli standard BPMN 2.0 ;) Wszak zasada "look-and-feel" nie została naruszona, prawda ?
Nie jestem bardziej wymagający. To nie jest artefakt ani rozszerzenie specyfikacji.
Uczestnik MUSI być prostokątem a nie prostokątem z "pipsztynkiem". I tu Topcased dał ... no nie rozpisujmy się czego. :-D

Jestem inżynierem i nauczono mnie trzymania się specyfikacji. Dlatego się czepiam. Inżynierowie mają często do czynienia z ludźmi "słabszymi intelektualnie", którzy jeśli sobie coś muszą dopowiedzieć to na ogół robią to źle. (Pamiętam dywagacje na tema zachowania się "czegośtam" a to po prostu był niedorysowany element. Za to moje stwierdzenie chciano mnie zlinczować i odsądzano od czci i wiary - bo przecież w tym niedorysowaniu musiało być jakieś znaczenie). Precyzyjne trzymanie się specyfikacji minimalizuje to ryzyko.

Na pocieszenie - we WSZYSTKICH implementacjach znajdowałem błędy. (Mogę ję pokazać nawet na edytorze wykorzystywanym do ilustrowania specyfikacji). :-(
Myślę, że przy BPMN nie wzorowano się na standardzie UML :-D.
BPMN powstał w zupełnie innej organizacji, która dopiero później przyłączyła się do OMG.
Wersje 1.x tak, natomiast wersja BPMN 2.0 jako żywo przypomina UML 2.0.
To efekt standaryzacji tworzenia dokumentacji w OMG. Wszystkie nowe specyfikacje tak wyglądają.
Nie chcę Pana obciążać wczytywaniem sie w standard UML 2.x, jednakże proponuję się przyjrzeć spisowi treści. W BPMN 2.0 i UML 2.x spis treści poukładano według modeli. Zachowano jedynie w BPMN poczętek wześniejszych wersji z wykazem większości symboli graficznych. W UML-u te wykazy umieszczono na końcu poszczególnych modeli. Natomiast w obu standardach w poszczególnych modelach bardziej szczegółowo opisane są wszystkie elementy poszczególnych modeli wraz z diagramami klas przedstawiającymi meta-modele.
Nota bene moje obserwacje wskazują, że ten standard OMG tworzenia dokumentacji wcale nie wpłynął na lepsze zrozumienie modelowania w BPMN. Moim zdaniem wiele rzeczy zaciemnił.

Ale z tego powodu się akurat nie martwię.
Bez dobrego szkolenia trudno zrozumieć a ja szkole :-D.
Czy we wcześniejszych wersjach BPMN była gdzieś mowa o diagramach klas prezentujących części metamodelu BPMN ?
Annex B w 1.2?
Choćby i z tego względu warto poznać standard UML :)

Co do analityków - zgadzam się :-) (tak samo jak programiści powinni znać podstawy BPMN)
Co do "biznesu" - czarno widzę.
Proszę wszystkich moich uwag nie traktować jako czepianie się ale jako temat do przemyśleń nad BPMN i przybliżanie jego zawiłości mniej zaawansowanym użytkownikom.
Bardzo fajnie, że wreszcie znalazłem osobę, z którą mogę pospierać się na temat BPMN 2.0 :)
Tylko spór (czyli sytuacja, gdy ludzie prezentują różne poglądy) prowadzi do poznania. :-)
Piotr Tadeusz B.

Piotr Tadeusz B. właścicel, MGX
Infoservice

Temat: Zagadka 2

A może jednak tak?

Obrazek

wersja w JaviePiotr Tadeusz B. edytował(a) ten post dnia 20.02.12 o godzinie 12:12
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Piotr Tadeusz B.:
Mam nadzieję, że tą "akademicką" dyskusją nie zanudzimy czytelników i że umożliwi Państwu zrozumienie istoty BPMN.
Proponuję niniejsze zagadnienia kontynuować w innych wątkach:
- wątek poświęcony Partnerom: http://www.goldenline.pl/forum/2806244/partnerzy-w-bpm...
- wątek poświęcony obsłudze komunikatów: http://www.goldenline.pl/forum/2806240/obsluga-komunik...
- wątek zgodności modelerów z BPMN 2.0: http://www.goldenline.pl/forum/2806238/poziomy-zgodnos...
- wątek metamodelu BPMN 2.0: http://www.goldenline.pl/forum/2806236/metamodel-bpmn-2-0

Ten natomiast po prostu rozwiązć :)
Bardzo fajnie, że wreszcie znalazłem osobę, z którą mogę pospierać się na temat BPMN 2.0 :)
Tylko spór (czyli sytuacja, gdy ludzie prezentują różne poglądy) prowadzi do poznania. :-)
A jaka radość po uzgodnianiu wspólnych poglądów będzie, prawda :)
Stanisław Jerzy Niepostyn

Stanisław Jerzy Niepostyn Bądź przeszkolony :)

www.project-media.pl
/szkolenia.php

Temat: Zagadka 2

Jedna z prawidłowych wersji powinna wyglądać tak:

Obrazek

Ważniejsze różnice od wersji Pana Piotra:
1) Sposób numerowania poszczególnych kroków powinien jasno wskazywać ścieżki alternatywne (A1, A2)
2) Elementy DataObject muszą znajdować się wewnątrz procesu lub elementów podprocesu. Zapominamy całkowicie o sposobie umieszczania elementów DataObject na zewnątrz procesów (np. w oddzielnych Partycjach) jak to niedawno jeszcze bywało. jest to związane z wprowadzeniem oddzielnego modelu danych, który ma spory wpływ na model choreografii
3) Jeśli przewidujemy dużą liczbę komunikatów, nie starajmy się dodatkowo ich opatrywać związkiem z elementami DataObject
4) Stan obiektu danych zaznaczamy ujmując go w nawiasy prostokątne
5) Starajmy się nazywać elementy danych jednym wyrazem, gdyż mogą w toku dalszej realizacji projektu "przejść" np. na nazwy struktur, klas, czy obiektów w innych diagramach (notacjach)
6) Rozsądnie operujmy elementami DataInput, bądź DataOutput, gdyż w ogólności nie możemy "zapisać" danych do elementu DataOutput, ani "odczytać" danych z elementu DataInput
7) Wysyłający, czy Odbierający może posiadać kilka instancji, Emcs dla każdej takiej instancji jest jeden.
8) Elementy Task wprowadzamy, gdy przewidujemy wprowadzenie jakichś dodatkowych elementów, w przeciwnym razie wystarczy proste zdarzenie
9) Jeśli mamy na razie tylko część opisu całego procesu, to staramy się to zaznaczać za pomoca komentarzy, a nie elementów BPMN, które sugerują dodatkowe ścieżki - mniej pracy ;)
10) Jeśli otrzymujemy sygnał od Partnera, ktorego w danym momencie nie mamy zamiaru wizualizować, to warto zstanowić się, czy nie powinniśmy również podobny mechanizm zastosować do odeslania odpowiedzi Partnerowi (nieuwidocznionemu).
11) Zadania typu Send, z których chcemy wysłać dane zawarte w procesie (np. stan obiektu danych, czy w naszym przypadku informacje o przemieszczeniu) musi byc związane ...

Ale to już na szkoleniu :)
Również i inne tajniki, techniki, metody, sposoby itp., które opracowałem w trakcie realizacji licznych projektów informatycznych i nieinformatycznych będą omawiane, ale też i tak jak inni trenerzy mam też sporo doświadczenia z przeprowadzonych szkoleń (zwłaszcza ostatnich), zatem Zapraszam :)

I małe pytanko: czy modelujemy kolejne ścieżki ?
EMCS to około 30 ścieżek alternatywnych ...
Tutaj, jak wspominałe, podałem kilka pierwszych, prostszych ... ;)Stanisław Jerzy Niepostyn edytował(a) ten post dnia 23.02.12 o godzinie 13:38

Następna dyskusja:

Zagadka 1




Wyślij zaproszenie do