Temat: Modelowanie systemu typu workflow

Chciałbym zamodelować prosty systemy typu workflow.
Załużmy, że system ma wspierać uruchomienie jakiejś usługi dla klienta.
Proces uruchamiania usługi składa się z kolejno wykonywanych etapów:
- zarejestrowanie nowego zlecenia
- analiza wstępna
- analiza szczegółowa
- projektowanie usługi
- implementacja usługi
- wdrożenie usługi
- testy usługi

Każdy z etapów obsługiwany jest przez inną grupę uzytkowników i polega na uzupełnieniu kilku informacji w systemie, które są potrzebne kolejnemu zeposłowi który będzie się tym zajmował.

I tutaj pojawiają się wątpliwości jak pokazać taki system na diagramie przypadków użycia.
Czy powinienem dla każdej grupy użytkowników narysować aktora i dla każdego etapu narysować przypadek użycia ? Jak pokazać, że cały proces składa się z kilku etapów wykonywanych sekwencyjnie ? Z tego co wyczytałem diagram aktywności wykonuje się dla określonego przypadku użycia ale jak pokazać proces jako całość ?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

i słusznie bo diagram przypadków użycia nie służy do modelowania worklow...
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

jak pokazać proces jako całość ?

np. z pomocą notacji BPMN, od biedy diagram czynności i partycje...
pierwszy lepszy przykład z sieci:

Obrazek

Temat: Modelowanie systemu typu workflow

A co powinno być na diagramie przypadków użycia w przypadku takiego systemu ?
Czy dla każdego z etapów obsługi zlecenia powinien być oddzielny przypadek użycia (zarejestrowanie, analiza wstępna, analiza szczegółowa, projektowanie itd...) ?
Jeśli mielibyśmy po jednym przypadku dla każdego etapu to wtedy można pokazać na diagramie jaka grua użytkowników obsługuje dany etap.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

Krzysztof Sorocki:
A co powinno być na diagramie przypadków użycia w przypadku takiego systemu ?

to zależy od pomysłu na realizację takie workflow, pomysłów jest masa, wkraczam w zagadnienia analizy i projektowania, nie ma jedynie słusznych rozwiązań...
Czy dla każdego z etapów obsługi zlecenia powinien być oddzielny przypadek użycia (zarejestrowanie, analiza wstępna, analiza szczegółowa, projektowanie itd...) ?

zwróć uwagę, że etap to atrybut (status) "sprawy", a jeżeli przypadek użycia to interakcja z systemem (obiektem biznesowym reprezentującym sprawę) to masz tylko jeden przypadek użycia i logikę procesu narzucanego lub ad-hoc.
Jeśli mielibyśmy po jednym przypadku dla każdego etapu to wtedy można pokazać na diagramie jaka grua użytkowników obsługuje dany etap.

to jest najgorszy chyba sposób rozwiązania tego problemu... implementacja procesu na żywca w kodzie.

polecam np. to:
http://www.workflowpatterns.com/patterns/data/bibliogr...

Temat: Modelowanie systemu typu workflow

Skoro pokazanie każdego etapu jest złym pomysłem to rozumiem, że zostaje pokazanie tylko jednego przypadku dla całego procesu, tak ?
Czemu uważasz, że zrobienie kilku przypadków użycia dla poszczególnych etapów to najgorsze rozwiązanie ? Wydawało mi się, że więcej będzie można wyczytać z diagramu jak będzie kilka przypadków niż jak będzie jeden przypadek dla całego procesu. Jeśli będzie tylko jeden przypadek użycia to wtedy na diagramie nie można byłoby pokazać poszczególnych rol związanych z grupami użytkowników obsługującymi poszczególne etapy.

Co sądzicie o takim diagramie ?
Nie widać na nim jakie grupy jakie etapu obsługują (jest jeden przypadek użycia).
Jak pokazać, że tylko osoba z działu sprzedaży (i administrator) może rejestrować nowe zlecenia oraz anulować ?

Cały czas wam wątpliwości czy zastosowanie jednego przypadku "Przetwórz" jest dobre bo główna funkcjonalność tego systemu sprowadzałaby się do jednego przypadku. Przykładowy workflow jaki podałem jest prosty ale w rzeczywistości w obsłudze bierze kilkanaście różnych zespołów ludzi i wsadzenie całości do jednego przypadku chyba nie jest dobre.

Obrazek


Uploaded with ImageShack.usKrzysztof Sorocki edytował(a) ten post dnia 11.08.12 o godzinie 16:32
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

Czemu uważasz, że zrobienie kilku przypadków użycia dla poszczególnych etapów to najgorsze rozwiązanie ?

proces (biznesowy) to praca w rodzaju serii kroków "weź to coś, zmień to i zachowaj", liczba kroków nie ma znaczeni 'to coś" także i mamy tylko jeden przypadek użycia, to co się zmienia to treść a nie usługa systemu. Prosty prosty przykład: proces biznesowy polega na załatwieniu jakiejś spray (dowolnej), każda sprawa ma w firmie taki sam opis (formularz i załączniki: data, co, kto itp.), tak więc mamy jeden przypadek użycia (otwórz formatkę sprawy, uaktualnij treść, zapisz).

Wydawało mi się, że więcej będzie można wyczytać z diagramu jak będzie kilka przypadków niż jak będzie jeden przypadek dla całego procesu.

diagram przypadków użycia absolutnie nie służy do modelowania procesów...
Jeśli będzie tylko jeden przypadek użycia to wtedy na diagramie nie można byłoby pokazać poszczególnych rol związanych z grupami użytkowników obsługującymi poszczególne etapy.

jak to nie, do jednego przypadku użycia "podpinasz" wszystkich aktorów: "każdy pracownik firmy ma korzysta z usługi workflow".

Co sądzicie o takim diagramie ?
Nie widać na nim jakie grupy jakie etapu obsługują (jest jeden przypadek użycia).
Jak pokazać, że tylko osoba z działu sprzedaży (i administrator) może rejestrować nowe zlecenia oraz anulować ?

na diagramie procesu biznesowego (notacja BPMN, lub od biedy diagram czynności UML).

Cały czas wam wątpliwości czy zastosowanie jednego przypadku "Przetwórz" jest dobre bo główna funkcjonalność tego systemu sprowadzałaby się do jednego przypadku.

bo system work-flow tak własnie sie modeluje ;) (znowu polecam wzorce)

konto usunięte

Temat: Modelowanie systemu typu workflow

Pytanie zasadnicze, które powinieneś sobie w pierwszej kolejności zadać, to:
- czy chcesz stworzyć narzędzie typu workflow, tzn narzędzie w którym można będzie zmieniać procesy bez większej ingerencji w "silnik" systemu. Tzn coś ala modeler procesów, tylko wykonywalny
- czy chcesz stworzyć system , który po-prostu obsłuży ci ten konkretny proces, a jak będziesz musiał zmienić proces, to dobudowujesz koeljne formatki, funkcjonalności etc (tzn zasada taka sama jak przy systemach transakcyjnych).

I dopiero później się zastanawiać nad tym jakich diagramów użyć.
Dodam z własnego (bardzo dużego) doświadczenia z systemami typu workflow - zaprojektowanie takiego systemu (jak w pkt 1) to ogromne przedsięwzięcie wymagające niemałęgo doświadczenia i wiedzy dość specyficznej. Ja bym to porównała raczej z pisanie kompilatora języka programowania...Olga R. edytował(a) ten post dnia 12.08.12 o godzinie 17:56
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

Kompromisem w sytuacji opisanej przez Olgę jest skorzystanie z prostego wzorca "state machine" (szkielet do tego zawiera go wiele frameworków, polecam google), wtedy można nie pisząc "kobyły" o nazwie "workflow engine" pisząc (programując) na piechotę procesy każdy z osobna ale to żmudna robota, nadal jednak całość modelowana jest jednym przypadkiem użycia o nazwie "obsłuż przydzielone Ci zadanie".... treść zadania wynika z treści formatki na ekranie - jednego obiektu.Jarek Żeliński edytował(a) ten post dnia 12.08.12 o godzinie 21:48

konto usunięte

Temat: Modelowanie systemu typu workflow

Masz "literówkę" w profilu: "PMP - (Progemt Management Professional)"
Całkowicie abstrahuję od tematu rozmowy ... (bo pewnie ktoś będzie miał wątpliwości w tym temacie)Jakub Wojt edytował(a) ten post dnia 12.08.12 o godzinie 22:25

konto usunięte

Temat: Modelowanie systemu typu workflow

Jarek Żeliński:
Kompromisem w sytuacji opisanej przez Olgę jest skorzystanie z prostego wzorca "state machine" (szkielet do tego zawiera go wiele frameworków, polecam google), wtedy można nie pisząc "kobyły" o nazwie "workflow engine" pisząc (programując) na piechotę procesy każdy z osobna ale to żmudna robota, nadal jednak całość modelowana jest jednym przypadkiem użycia o nazwie "obsłuż przydzielone Ci zadanie".... treść zadania wynika z treści formatki na ekranie - jednego obiektu.

Zgadza się, tylko że pytanie tytułowe brzmi "modelowanie systemu"
więc ja to rozumiem, jako stworzenie systemu a nie procesów.

konto usunięte

Temat: Modelowanie systemu typu workflow

Jakub Wojt:
Masz "literówkę" w profilu: "PMP - (Progemt Management Professional)"
Całkowicie abstrahuję od tematu rozmowy ... (bo pewnie ktoś będzie miał wątpliwości w tym temacie)
Dzięki.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

Olga R.:
Jarek Żeliński:
Kompromisem w sytuacji opisanej przez Olgę jest skorzystanie z prostego wzorca "state machine" (szkielet do tego zawiera go wiele frameworków, polecam google), wtedy można nie pisząc "kobyły" o nazwie "workflow engine" pisząc (programując) na piechotę procesy każdy z osobna ale to żmudna robota, nadal jednak całość modelowana jest jednym przypadkiem użycia o nazwie "obsłuż przydzielone Ci zadanie".... treść zadania wynika z treści formatki na ekranie - jednego obiektu.

Zgadza się, tylko że pytanie tytułowe brzmi "modelowanie systemu"
więc ja to rozumiem, jako stworzenie systemu a nie procesów.

fakt, ale jakoś mi to "Chciałbym zamodelować prosty systemy typu workflow." nie wyglądało na plan budowy czegoś wielkiego...Jarek Żeliński edytował(a) ten post dnia 13.08.12 o godzinie 23:24

Temat: Modelowanie systemu typu workflow

Chodzi o stworzenie systemu który obsłuży konkretne proces biznesowy. Jeśli chodzi o opisanie w dokumencie analizy samej obslugi procesu to wystarczy w takim razie zamieścić np. diagram aktywności opisujący cały proces oraz na diagramów przypadków użycia pokazać przypadek "przetwórz etap" wraz z opisem scenariusza w stylu wyszukaj zlecenie, otwórz do edycji, zmodyfikuj dane, kliknij przycisk "przekaz dalej" ?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Modelowanie systemu typu workflow

Krzysztof Sorocki:
Chodzi o stworzenie systemu który obsłuży konkretne proces biznesowy. Jeśli chodzi o opisanie w dokumencie analizy samej obslugi procesu to wystarczy w takim razie zamieścić np. diagram aktywności opisujący cały proces oraz na diagramów przypadków użycia pokazać przypadek "przetwórz etap" wraz z opisem scenariusza w stylu wyszukaj zlecenie, otwórz do edycji, zmodyfikuj dane, kliknij przycisk "przekaz dalej" ?

tak to może wyglądać, :), powinny w takim podejściu pojawić się w dokumentacji:
- dokumentacja procesu (diagram obrazujący kolejności i przepływ pracy, celem jego tworzenia jest także upewnienie się, że i my i zamawiający rozumieją go i akceptują skutki, należy także przetestowawszy warianty procesu i wybrać najlepszy)
- diagram przypadków użycia (poza opisanym zapewne zarządzanie rejestrem ról w procesie itp.)
- projekt formularza/formatki ekranowej (dobra praktyka jest moim zdaniem, budowanie "ekranów" na wzór formularzy papierowych, treść formatki to element procesu wejście i wyjście jego etapów-czynności, jej treść także jest testowana podczas tworzenia diagramu procesu)Jarek Żeliński edytował(a) ten post dnia 15.08.12 o godzinie 10:23

Następna dyskusja:

Elementy dobrego projektu t...




Wyślij zaproszenie do