Modelowanie procesów biznesowych BPMN cz. II
|
|
- Ryszard Baran
- 8 lat temu
- Przeglądów:
Transkrypt
1 Modelowanie procesów biznesowych BPMN cz. II
2 Plan wykładu Łączenie przepływów Powtarzanie czynności Zdarzenia pośrednie Podprocesy 2
3 Literatura* witryna organizacji odpowiedzialnej m.in. za aktualną wersję BPMN Bruce Silver: BPMN Method and Style Thomas Allwayer: BPMN 2.0 Stephen A. White, Derek Miers: BPMN Modeling and Reference Guide Szymon Drejewicz: Zrozumieć BPMN *w prezentacji wykorzystano przykłady z wyżej wymienionych pozycji 3
4 Łączenie przepływów Powtarzanie czynności Zdarzenia pośrednie Podprocesy 4
5 Koncepcja żetonu tokena Żeton jest abstrakcyjną elementem służącym do opisania zachowania procesu Żeton krąży zgodnie z przepływem sekwencji w procesie i przechodzi przez elementy modelu Początek procesu biznesowego generuje żeton, koniec procesu oznacza jego usunięcie Żetony mogą być kreowane, usuwane, rozszczepiane oraz scalane 5
6 Bramki łączące (1) Każdy żeton docierający do bramki XOR jest natychmiastowo i bezwarunkowo przekazywany dalej. Jeśli zdarzy się, że do bramki dotrze dwa lub więcej żetonów, wówczas wszystkie są przekazywane dalej, powodując często wielokrotne uruchomienie czynności występujących po bramce Bramka równoległa oczekuje aż dotrą do niej żetony z wszystkich dochodzących gałęzi. Po dotarciu wszystkich żetonów są one łączone w jeden i ten żeton jest przekazywany dalej 6
7 Bramki łączące (2) Bramka OR po dotarciu pierwszego żetonu sprawdza, czy w dochodzących gałęziach są jakieś inne żetony. Jeśli są, wówczas czeka na kolejny żeton i po jego nadejściu sprawdza ponownie. Jeśli żetonów w dochodzących gałęziach już nie ma, wówczas wszystkie żetony które dotarły są łączone w jeden i ten nowy żeton jest przekazywany dalej Bramka złożona po dotarciu żetonu sprawdza warunek. Jeśli warunek nie jest spełniony, nic się nie dzieje. Jeśli warunek okaże się prawdziwy, wówczas żeton jest natychmiast przekazywany dalej, a bramka czeka nadal. Od tego momentu wszystkie żetony, które dotrą do bramki są usuwane. 7
8 Łączenie przepływów alternatywnych (1) Klasyczne połączenie przebiegów alternatywnych przy pomocy bramki XOR (zalecane) Połączenie przebiegów alternatywnych przy pomocy bramki równoległej spowoduje zatrzymanie procesu 8
9 Łączenie przepływów alternatywnych (2) Połączenie przebiegów alternatywnych jest możliwe przy pomocy bramki OR (niezalecane ) Połączenie przebiegów alternatywnych jest również możliwe przy pomocy bramki złożonej po odpowiednim sformułowaniu warunku (niezalecane ) 9
10 Łączenie przepływów równoległych bramka równoległa Rozwidlenie na dwa równoległe przepływy Oczekiwanie aż obydwa zadania zostaną ukończone Zadanie wykona się jeden raz po ukończeniu wszystkich poprzednich zadań 10
11 Łączenie przepływów równoległych bramka OR Rozwidlenie na dwa równoległe przepływy Oczekiwanie aż wszystkie rozpoczęte zadania zostaną ukończone (w tym przypadku bramka OR zachowa się identycznie jak bramka równoległa) Zadanie wykona się jeden raz po ukończeniu wszystkich poprzednich zadań 11
12 Łączenie przepływów równoległych bramka XOR Rozwidlenie na dwa równoległe przepływy Po zakończeniu każdego z zadań wyszukiwania natychmiast uruchomione zostanie zadanie weryfikacji Zadanie weryfikacji wykona się dwa razy: po zakończeniu zadania wyszukiwania w Internecie oraz po zakończeniu zadania wyszukiwania w bibliotece 12
13 Łączenie przepływów równoległych bramka Złożona Rozwidlenie na dwa równoległe przepływy Bramka będzie oczekiwać na zakończenie jednego z zadań wyszukiwania. Po zakończeniu jednego z tych zadań natychmiast uruchomione zostanie zadanie weryfikacji. Zakończenie drugiego z zadań wyszukiwania pozostanie bez wpływu na zachowanie procesu. Zadanie wykona się jeden raz po ukończeniu pierwszego z zadań wyszukiwania 13
14 Łączenie przepływów Powtarzanie czynności Zdarzenia pośrednie Podprocesy 14
15 Powtarzanie czynności (1) Powtarzanie czynności (pętle) można zrealizować w oparciu o bramki XOR i odpowiednie warunki Warunek prawdziwy oznacza powtarzanie czynności Warunek fałszywy oznacza zaprzestanie powtarzania i przejście dalej Warunek może być sprawdzany na początku lub na końcu 15
16 Powtarzanie czynności (2) Zadania oraz podprocesy mogą być powtarzane Liczba powtórzeń nie jest z góry ustalona Do-While warunek pętli sprawdzany jest po wykonaniu czynności; pętla przestaje się wykonywać, gdy warunek stanie się fałszywy While-Do warunek pętli jest sprawdzany przed wykonaniem czynności; pętla przestaje się wykonywać, gdy warunek stanie się fałszywy Istnieje możliwość zdefiniowania maksymalnej liczby iteracji. Przekroczenie tej liczby oznacza zakończenie pętli niezależnie od wartości logicznej warunku pętli 16
17 Czynności wielo-instancyjne Wiele instancji tej samej czynności jest uruchamiane sekwencyjnie lub równolegle Czynności wielo-instancyjne operują na kolekcji (liście) danych, np. dla każdej pozycji zamówienia dokonaj sprawdzenia dostępności towaru Liczba instancji czynności wielo-instancyjnej jest stała; ustalana jest przed rozpoczęciem wykonywania Realizacji czynności wielo-instancyjnej odpowiada programistycznej konstrukcji For-Each 17
18 Szeregowe czynności wieloinstancyjne Szeregowa czynność wielo-instancyjna polega na sekwencyjnym uruchamianiu kolejnych instancji czynności Szeregowa czynność wielo-instancyjna może być zastąpiona sekwencją identycznych czynności, pod warunkiem jednak, że liczba instancji czynności jest znana na etapie projektowania Czynności wielo-instancyjna szeregowa vs. pętla (w pętli liczba iteracji nie jest ustalona, w czynności wieloinstancyjnej szeregowej liczba iteracji jest ustalona przed rozpoczęciem) = 18
19 Równoległe czynności wielo-instancyjne Równoległa czynność wielo-instancyjna polega na uruchamianiu jednocześnie wszystkich instancji czynności Równoległa czynność wielo-instancyjna może być zastąpiona bramką równoległą, pod warunkiem jednak, że liczba instancji czynności jest znana w momencie projektowania = 19
20 Pozostałe elementy wieloinstancyjne Pula wieloinstancyjna oznacza, że może istnieć wiele jednostek wykonujących identyczny proces, np. Petent(wielo-instancyjny uczestnik), Urząd (uczestnik jedno-instancyjny) Wielo-instancyjny obiekt danych oznacza kolekcję / listę obiektów tego samego rodzaju, np. Zamówienie jest kolekcją pozycji zamówienia 20
21 Przykład (1) Proces zaopatrywania sieci hurtowni samochodowych w części od różnych producentów Proces składa się z następujących czynności: Zebranie zapotrzebowania na części ze wszystkich oddziałów hurtowni Przekazanie zamówień do poszczególnych producentów Dostawa części do wszystkich oddziałów hurtowni przy wykorzystaniu floty samochodów dostawczych 21
22 Przykład (2) Dopóki nie zostaną zebrane zamówienia ze wszystkich hurtowni Niezależnie dla każdego kierowcy zaopatrzeniowego oddzielnie Kolejno dla każdego producenta części oddzielnie 22
23 Łączenie przepływów Powtarzanie czynności Zdarzenia pośrednie Podprocesy 23
24 Zdarzenia w BPMN
25 Zdarzenia pośrednie Zdarzenie pośrednie oznacza, że coś wydarzyło się po starcie procesu i przed jego zakończeniem Zdarzenia pośrednie mogą być typu wychwytującego (catch) oraz wysyłającego (throw) Zdarzenia pośrednie mają jeden wejściowy oraz jeden wyjściowy przepływ sekwencji 25
26 Wzorzec kamienia milowego Dwa podprocesy rozpoczynają działanie (równolegle) Kiedy koncepcja książki jest gotowa, wysyłany jest sygnał Sygnały pełnią role kamieni milowych informują otoczenie, że pewien etap właśnie się zakończył Oczekuje na sygnał oznaczający, że koncepcja książki jest gotowa. Kiedy sygnał dotrze uruchamiane jest zadanie przygotowania projektu oprawy 26
27 Kamień milowy a dlaczego nie tak? Usunięcie podprocesów wyraźnie upraszcza model (możliwe jest np. użycie przepływów sekwencji) Usuniecie podprocesów nie zawsze jest jednak możliwe, bo podprocesy mogą być używane w innych miejscach lub też do podprocesów mogą być przypięte pewne zdarzenia Zastosowanie sygnałów w tym konkretnym przypadku skutkuje większą złożonością modelu, ale oznacza też słabsze powiązanie pomiędzy niektórymi czynnościami (loosely coupling) 27
28 Zdarzenia pośrednie krawędziowe (1) Zdarzenia krawędziowe są rodzajem zdarzeń pośrednich Nazwę zawdzięczają temu, że są przypięte (do krawędzi) czynności Wszystkie zdarzenia krawędziowe są typu wychwytującego (catch) Po uruchomieniu czynności do której przypięte jest zdarzenie krawędziowe następuje oczekiwanie na to zdarzenie 28
29 Zdarzenia pośrednie krawędziowe (2) Zdarzenia krawędziowe muszą mieć określony typ, tj. nie można użyć zdarzenia nieokreślonego Zdarzenia krawędziowe służą przede wszystkim do obsługi sytuacji wyjątkowych Z czynności posiadającej zdarzenie krawędziowe wychodzą co najmniej dwa przepływy: przepływ normalny oraz przepływ wyjątku 29
30 Zdarzenia krawędziowe przerywające Jeśli do zakończenia czynności nie nadejdzie zdarzenie, wówczas proces kontynuuje działanie po ścieżce normalnej Jeśli przed zakończeniem czynności pojawi się zdarzenie krawędziowe, wówczas przerywana jest czynność oraz następuje przejście do ścieżki wyjątku 30
31 Zdarzenie krawędziowe nieprzerywające Jeśli do zakończenia czynności nie nadejdzie zdarzenie, wówczas proces kontynuuje działanie po ścieżce normalnej Jeśli przed zakończeniem czynności pojawi się zdarzenie, wówczas tworzona jest równoległa ścieżka wyjątku (czynność jest nadal wykonywana) 31
32 Zdarzenia krawędziowe przerywające przykład Jeśli w trakcie przetwarzania zamówienia nie zostanie odebrany komunikat anulowania zamówienia, wówczas proces przejdzie do dostawy zamówienia Jeśli w trakcie przetwarzania zamówienia zostanie odebrany komunikat anulowania zamówienia, wówczas przerwana zostanie czynność przetwarzania zamówienia i proces przejdzie do zdarzenia końcowego 32
33 Zdarzenie krawędziowe nieprzerywające przykład Jeśli w trakcie przetwarzania zamówienia nie zostanie odebrany komunikat aktualizacji zamówienia, wówczas proces przejdzie do dostawy zamówienia Jeśli w trakcie przetwarzania zamówienia zostanie odebrany komunikat aktualizacji zamówienia, wówczas uruchomiona zostanie dodatkowa (równoległa) ścieżka procesu prowadząca do czynności Aktualizuj zamówienie. Czynność Przetwarzaj zamówienie będzie nadal wykonywana, a po jej zakończeniu proces przejdzie do czynności Dostawa zamówienia 33
34 Wiele zdarzeń krawędziowych Do czynność można przypisać wiele zdarzeń krawędziowych Jeśli zdarzenia te są obsługiwane identycznie, wówczas można wykorzystać tzw. wielozdarzenia 34
35 Nasłuchiwanie vs. oczekiwanie Czynność zaczyna być wykonywana, jednocześnie prowadzony jest nasłuch na określone zdarzenie Proces przejdzie dalej po zakończeniu czynności (jedną lub obydwiema ścieżkami) Proces zatrzymuje się i czeka na określone zdarzenie Proces przejdzie dalej tylko wtedy, gdy określone zdarzenie nadejdzie 35
36 Zgłaszanie błędu BPMN umożliwia zgłaszanie błędu przy pomocy zdarzenia końcowego Błąd Zdarzenie końcowe Błąd oznacza sytuację, kiedy dana ścieżka procesu kończy się błędem Zdarzenie błąd może być zgłaszane explicite (w definicji procesu) lub implicite przez systemy informatyczne Rodzaje błędów: Techniczne (np. automat nie może odczytać karty, usługa sieciowa niedostępna) Biznesowe (np. brak środków na koncie, odrzucenie podania) 36
37 Zachowanie procesu po zgłoszeniu błędu Zdarzenie końcowe Błąd powoduje zakończenie wszystkich aktywnych ścieżek bieżącego procesu oraz wszystkich jego podprocesów, nie kończy jednak procesu nadrzędnego Zdarzenie końcowe błąd przekazuje rezultat błędu do procesu nadrzędnego (przekazywanie błędów może odbywać się tylko w ramach tej samej puli) 37
38 Obsługa błędów Możliwości przechwytywania i obsługi błędów: zdarzenie krawędziowe podprocesy zdarzeniowe Przechwytywane są tylko te zgłoszenia błędów, które mają taką samą nawę jak zdarzenie zgłaszające Jeśli zdarzenie przechwytujące nie posiada nazwy, wówczas przechwytywane są wszystkie zgłoszenia błędów Zgłoszenia błędów mogą przemieszczać się tylko w górę w hierarchii procesów 38
39 Mechanizm throw-catch dla błędów Zdarzenie końcowe błąd służy do zgłoszenia błędu Proces znajdzie się na ścieżce normalnej tylko wtedy, gdy w trakcie wykonywania podprocesu nie zostanie zgłoszony żaden błąd Proces znajdzie się na ścieżce wyjątku tylko wtedy, gdy w trakcie wykonywania podprocesu zostanie zgłoszony błąd 39 Każdy błąd zgłoszony w okresie aktywności podprocesu Weryfikacji zdolności kredytowej jest przechwytywany przez zdarzenie krawędziowe
40 Eskalacja Procedurę eskalację można interpretować jako konieczność wykonania pewnych dodatkowych działań, najczęściej bez naruszania bieżącej ścieżki procesu BPMN dopuszcza dwa sposoby na zgłoszenie potrzeby eskalacji: zdarzenie końcowe oraz zdarzenie pośrednie Zgłoszenie eskalacji nie oznacza zakończenia procesu Zdarzenia zgłaszające eskalację przekazują rezultat eskalacji do procesu nadrzędnego (przekazywanie rezultatu eskalacji może odbywać się tylko w ramach tej samej puli) 40
41 Obsługa eskalacji Możliwości przechwytywania i obsługi eskalacji: zdarzenie krawędziowe (przerywające i nieprzerywające) podprocesy zdarzeniowe (przerywające i nieprzerywające) Przechwytywane są tylko te zgłoszenia eskalacji, które mają taką sama nawę jak zdarzenie zgłaszające Jeśli zdarzenie przechwytujące nie posiada nazwy, wówczas przechwytywane są wszystkie zgłoszenia eskalacji Zgłoszenia eskalacji mogą przemieszczać się tylko w górę w hierarchii procesów 41
42 Mechanizm throw-catch dla eskalacji Zdarzenie końcowe eskalacji służy do zgłoszenia potrzeby eskalacji Proces znajdzie się na ścieżce normalnej zawsze po skończeniu wykonywania podprocesu Przyjęcie zamówienia Ścieżka prowadząca do aktualizacji danych zostanie uaktywniona jako równoległa do ścieżki normalnej wówczas, gdy odebrane zostanie zgłoszenie eskalacji Każde zgłoszenie eskalacji w okresie aktywności podprocesu Przyjęcie zamówienia jest przechwytywane przez zdarzenie krawędziowe 42
43 Eskalacja vs. Błąd Eskalacja Eskalacja służy do wykonania pewnych dodatkowych działań, najczęściej bez naruszania bieżącej ścieżki procesu Błąd Błędy służą do poinformowania, że proces nie zachowuje się zgodnie z oczekiwaniami Zgłoszenie eskalacji nie kończy bieżącego procesu Istnieją dwa zdarzenia zgłaszające potrzebę eskalacji: zdarzenia pośrednie i końcowe Procedura obsługi eskalacji może być wykonywana równolegle do czynności w której nastąpiło zgłoszenie Zgłoszenie błędu kończy bieżący proces Istnieje jedno zdarzenie zgłaszające błąd: zdarzenie końcowe Procedura obsługi błędu przerywa wykonywanie czynności, w której nastąpiło zgłoszenie błędu 43
44 Łączenie przepływów Powtarzanie czynności Zdarzenia pośrednie Podprocesy 44
45 Rodzaje czynności Zadanie Czynność atomowa Podproces Czynności nie atomowe Czynność wywołania Reprezentuje wywołanie innej czynności 45
46 Podprocesy Podproces to rodzaj czynności na którą składają się inne czynności, bramki, zdarzenia oraz przepływy Podproces określa zakres / zasięg widoczności atrybutów, transakcji, obsługi wyjątków kompensacji Istnieją 4 rodzaje podprocesów: 46
47 Podproces osadzony Podproces osadzony to rodzaj czynności, która została rozłożona na mniejsze czynności, bramki, zdarzenia i przepływy Podprocesy osadzony funkcjonuje tylko w kontekście procesu nadrzędnego Jeśli podproces posiada zdarzenia początkowe, to musi to być zdarzenie niekreślonego typu Podproces osadzony jest uruchamiany poprzez przepływ sekwencji Podproces osadzony posiada bezpośredni dostęp do danych procesu nadrzędnego (bo jest częścią procesu nadrzędnego) 47
48 Podprocesy zwinięte i rozwinięte Podproces osadzony w formie zwiniętej Podproces osadzony w formie rozwiniętej 48
49 Podprocesy Ad-Hoc Grupa czynności realizowanych bez narzuconej kolejności Czynności mogą być wykonywane Sekwencyjnie w danym momencie może być wykonywana tylko jedna czynność (ordering=parallel) Równolegle w danym momencie może być wykonywane kilka czynności (ordering=sequential) Każda czynność może być wykonywana wielokrotnie 49
50 Rozpoczynanie i kończenie podprocesu Ad-Hoc O sposobie rozpoczęcia procesu decydują wykonawcy poszczególnych zadań Do zakończenia procesu Ad-Hoc nie jest wymagane zakończenie wszystkich czynności Zakończenie procesu jest uzależnione od pewnych warunków (CompletionCondition) Parametr cancelremaininginstances określa, co należy zrobić z instancjami zadań po spełnieniu warunku zakończenia (wartość true w trybie parallel anuluje wszystkie czynności w trakcie wykonywania ) 50
51 Przykład podprocesu Ad- Hoc 51
52 Szczególne przypadki podprocesu Ad-hoc W podprocesie Ad-Hoc mogą pojawić się czynności połączone w sekwencję. W takim przypadku czynności te muszą być wykonane sekwencyjne Może się zdarzyć sytuacja, że nie jest możliwe zdefiniowanie kolejności wykonania czynności, ale jest możliwość zdefiniowania przepływu obiektów/dokumentów. Wówczas na diagramie należy ten przepływ dokumentów zaznaczyć 52
53 Podprocesy zdarzeniowe Podproces zdarzeniowy może być utworzony wewnątrz podprocesu Jego zadanie polega na nasłuchiwaniu określonych zdarzeń Nasłuchiwanie rozpoczyna się w momencie rozpoczęcia podprocesu i kończy się w chwili jego zakończenia Jest rodzajem wbudowanej (inline) procedury obsługi zdarzeń Wykonuje się w kontekście podprocesu w ramach którego jest zdefiniowany Jest uruchamiany zdarzeniem a nie przepływem sekwencji Może być uruchomiony wielokrotnie, może też w ogóle nie zostać uruchomiony 53
54 Przerywający podproces zdarzeniowy Przejście do przygotowywania listy kandydatów nastąpi, gdy do 7 dni uda się znaleźć kandydata wewnątrz firmy. Jeśli się nie uda, wówczas zakończy się dopiero po ukończeniu poszukiwań przez agencję (podproces zdarzeniowy) Po rozpoczęciu podprocesu Poszukiwanie kandydata do pracy uruchamiane jest poszukiwanie kandydata wewnątrz firmy oraz mierzony jest czas 54 Jeśli po upływie 7 dni poszukiwanie wewnętrzne nie zostało zakończone, wówczas jest przerywane i rozpoczyna się poszukiwania przez agencję (podproces zdarzeniowy )
55 Nieprzerywający podproces zdarzeniowy Przejście do dostawy zamówienia nastąpi wtedy, gdy zakończy się kompletowanie zamówienia i podproces zdarzeniowy aktualizacji zamówienia, (jeśli został uruchomiony), Jeśli podproces zdarzeniowy nie został uruchomiony, wówczas przejście do dostawy zamówienia nastąpi zaraz po zakończeniu kompletowania Po rozpoczęciu podprocesu przetwarzania zamówienie podproces zdarzeniowy rozpoczyna nasłuch. Interesuje go zdarzenie Aktualizuj zamówienie, które może przysłać np. klient 55 W chwili gdy zdarzenie Aktualizuj zamówienie nadejdzie rozpoczyna się podproces zdarzeniowy aktualizacji zamówienia. Podproces Przetwarzaj zamówienie nadal jest jednak wykonywany
56 Podproces Zdarzeniowy vs. Podproces osadzony Podproces zdarzeniowy Podproces osadzony Jest wykonywany poza normalnym przepływem Jest wykonywany w ramach normalnego przepływu Rozpoczyna się zdarzeniem początkowym konkretnego typu Rozpoczyna się zdarzeniem początkowym bez ustalonego typu Nie może posiadać wejściowych i wyjściowych przepływów sekwencji Posiada wejściowe i wyjściowe przepływy sekwencji 56
57 Podproces zdarzeniowy vs. Zdarzenia krawędziowe Podproces zdarzeniowy Może być zdefiniowany tylko wewnątrz podprocesu Jest traktowany jako wbudowana (inline) procedura obsługi zdarzenia Zdarzenia krawędziowe Może być zdefiniowane dla podprocesu i zadań Jest traktowany jako zewnętrzna procedura obsługi zdarzenia Ma dostęp do danych podprocesu wewnątrz którego jest zdefiniowany Po zakończenie działania proces kontynuuje ścieżkę normalną Wszelkie dane wymagane przez obsługę zdarzenia muszą być przekazywane Po zakończeniu działania proces może kontynuować ścieżkę normalną albo ścieżkę wyjątku albo też obydwie te ścieżki 57
58 Procesy i zadania globalne W BPMN można definiować procesy i zadania, które mogą być wielokrotnie używane Procesy wielokrotnie używane noszą nazwę procesów globalnych Zadanie wielokrotnie używane noszą nazwę zadań globalnych Dopuszcza się 4 rodzaje zadań globalnych: manualne, użytkownika, skryptowe, reguły biznesowej 58
59 Czynność wywołania Do wywoływania procesów i zadań globalnych służą tzw. czynności wywołania Wywoływany proces nie posiada dostępu do danych procesu wywołującego Czynność wywołania musi zadbać by do wywołanego procesu trafiły wszystkie niezbędne dane Czynność wywołania musi też odebrać wyniki z procesu wywoływanego 59
60 Transakcje w systemach IT Transakcja zbiór operacji, które stanowią pewna całość i powinny być wykonane wszystkie lub żadna z nich ACID własności transakcji gwarantujące poprawne jej przetwarzanie Atomicity wszystko albo nic Consistence po wykonaniu transakcji system będzie spójny Isolated transakcje nie wpływają na siebie Durable operacje wykonane w trakcie transakcji są trwałe Przykład transakcji: Przelew bankowy 60
61 Transakcje w procesach biznesowych W procesach biznesowych zwykle trudno spełnić wymagania ACID (problemem jest izolacja transakcji) Czynności mogą trwać zbyt długo, by możliwe i sensowne było blokowanie zasobów realizujących czynności, np. zakup towaru w sklepie internetowym przy pomocy karty, gdzie po zakupie okazuje się, że producent towaru nie może go dostarczyć do sklepu 61
62 Podproces transakcji Transakcja w procesach biznesowych jest rodzajem umowy pomiędzy dwoma lub więcej uczestnikami Aby transakcja zakończyła się sukcesem wszystkie strony umowy muszą zrealizować swoje czynności i zgodzić się na zakończenie transakcji Jeśli jedna ze stron wycofa się z umowy lub pojawi się nieoczekiwany błąd, wówczas transakcja jest anulowana i wszystkie strony podejmują działania zmierzające do cofnięcia / kompensacji wszystkich ukończonych czynności Przebieg transakcji jest kontrolowany przez tzw. protokół transakcyjny (np. WS-Transaction, BTP) 62
63 Zdarzenia występujące w transakcji Odbiera zgłoszenie o kompensacji Zgłoszenie anulowania transakcji Podproces transakcji Odbiera zgłoszenie o błędzie Czynność wykonywana podczas obsługi kompensacji Odbiera zgłoszenie o błędzie Odbiera zgłoszenie anulowania 63
64 Anulowanie transakcji zgłoszenie Anulowanie transakcji ma na celu przerwanie czynności wykonywanych w ramach podprocesu transakcyjnego i doprowadzenie do stanu sprzed wykonania tych czynności (kompensacja) Istnieją dwa sposoby anulowania transakcji: wewnątrz podprocesu transakcji istnieje ścieżka która prowadzi do zdarzenia końcowego Anuluj protokół transakcyjny w pewnych sytuacjach sam zgłasza Anuluj Zdarzenie końcowe Anuluj może być użyte tylko wewnątrz podprocesu transakcji 64
65 Anulowanie transakcji obsługa Anulowanie transakcji odbywa się według schematu try-catch Zgłoszenie anulowania transakcji może być odebrane tylko przez zdarzenie krawędziowe anulowania, przypięte do podprocesu transakcyjnego Po zgłoszeniu anulowania podproces transakcyjny jest przerywany Zanim jednak proces podąży ścieżką anulowania zgłaszane jest zdarzenie kompensacji 65
66 Kompensacja zgłaszanie Kompensacja oznacza przywrócenie czynności do stanu sprzed jej wykonania Niektóre czynności takie jak odebranie wiadomości nie mogą być cofnięte, inne takie jak np. zapis w bazie danych mogą być kompensowane W podprocesie transakcji zgłoszenie konieczności kompensacji jest robione automatycznie po zgłoszeniu zdarzenia anulowania Istnieje również możliwość zgłoszenia konieczności kompensacji poprzez zdarzenia kompensacji (pośrednie lub końcowe) 66
67 Kompensacja obsługa Zgłoszenie o konieczności kompensacji może być odebrane przez zdarzenie krawędziowe kompensacji lub przez podproces zdarzeniowy Obsługą kompensacji zajmuje się specjalizowana czynność Protokół transakcyjny pamięta kolejność w jakiej zostały wykonane czynności wewnątrz podprocesu transakcyjnego Po odebraniu zgłoszenia o konieczności kompensacji dla każdej ukończonej czynności w kolejności odwrotnej do ich uruchomienia wykonuje procedurę kompensacji 67
68 Zakończenie transakcji Zakończenie prawidłowe (OK): Wszystkie czynności wewnątrz podprocesu transakcji zakończyły się poprawnie. Następnie pod kontrolą protokołu transakcyjnego wszyscy uczestnicy potwierdzili zamiar zakończenia transakcji (gdyby nie potwierdzili, to wygenerowano by zdarzenie anulowania transakcji) Zakończenie nieprawidłowe (Anulowanie transakcji): Transakcja anulowana przez zdarzenie anulowania z wewnątrz podprocesu transakcji lub przez protokół transakcyjny. Pod kontrolą protokołu transakcyjnego zdarzenie anulowania jest rozsyłane wszystkim uczestnikom. Następnie przerywane są wszystkie czynności i podjęta zostaje próba cofnięcia i kompensacji zakończonych czynności Zakończenie ryzykowne (Wystąpił nieodwracalny błąd): Wystąpił poważny błąd uniemożliwiający cofnięcie/ kompensację transakcji. Pod kontrolą protokołu transakcyjnego błąd jest przekazywany pozostałym uczestnikom. Wszystkie czynności są automatycznie przerywane. 68
69 KONIEC 69
Modelowanie procesów biznesowych BPMN cz. I
Modelowanie procesów biznesowych BPMN cz. I 1 Literatura* http://www.omg.org/spec/bpmn/2.0/ witryna organizacji odpowiedzialnej m.in. za aktualną wersję BPMN Bruce Silver: BPMN Method and Style Thomas
Bardziej szczegółowoTerminologia BPMN 2.0 Wersja 2.0 opracowana w AION
Terminologia BPMN 2.0 Wersja 2.0 opracowana w AION Terminy standardu OMG BPMN 2.0 są wytłuszczone i uporządkowane alfabetycznie. Podane ich tłumaczenia, pisane zwykłą czcionką, zostały opracowane przez
Bardziej szczegółowoOdwzorowanie BPMN w sieć Petriego
Odwzorowanie BPMN w sieć Petriego Proces odwzorowania Scenariusz procesu odwzorowania BPMN2PN BPMN Modeler plik XML BPMN Preprocesor plik XMI BPMN Narzędzie transformacji plik PNML Narzędzia analizy: ProM,
Bardziej szczegółowoModelowanie procesów biznesowych BPMN cz. I
Modelowanie procesów biznesowych BPMN cz. I 1 Plan wykładu Literatura Wprowadzenie Bramki Zdarzenia Czynności Przepływy Pule i tory Obiekty Przykład 2 Literatura* http://www.omg.org/spec/bpmn/2.0/ witryna
Bardziej szczegółowoInżynieria oprogramowania
Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów
Bardziej szczegółowoJęzyk UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 4 Diagramy aktywności I Diagram aktywności (czynności) (ang. activity
Bardziej szczegółowokoniec punkt zatrzymania przepływów sterowania na diagramie czynności
Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy
Bardziej szczegółowoTECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek
TECHNOLOGIE OBIEKTOWE WYKŁAD 2 Anna Mroczek 2 Diagram czynności Czym jest diagram czynności? 3 Diagram czynności (tak jak to definiuje język UML), stanowi graficzną reprezentację przepływu kontroli. 4
Bardziej szczegółowoDiagramy czynności Na podstawie UML 2.0 Tutorial
Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/
Bardziej szczegółowoModelowanie biznesowe. Na podstawie materiałów: Mirosława Ochodeka
Modelowanie biznesowe Na podstawie materiałów: Mirosława Ochodeka Miroslaw.Ochodek@cs.put.poznan.pl 1 Agenda Modelowanie biznesowe Obiekty biznesowe UML diagram klas Activity modeling 2 Proces Def: ICOM
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoBPMN- BUSINESS PROCESS MODELING NOTATION Narzędzie tworzenia metamodeli procesów biznesowych. Diagram moŝe e być zmieniany na kaŝdym etapie Ŝycia procesu: od stworzenia, poprzez rozwój, wykonanie, monitorowanie
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoModelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti
Kod szkolenia: Tytuł szkolenia: JBPM Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti Dni: 2 Szkolenie jest zgodne z wersją 6.x, możliwe są również
Bardziej szczegółowoProjektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design
Projektowanie Zorientowane na Dziedzinę ang. Domain Driven Design 2 Projektowanie Stan posiadania Przypadki użycia Model dziedziny Operacje systemowe Kontrakty dla operacji systemowych Problemy do rozwiązania
Bardziej szczegółowomiejsca przejścia, łuki i żetony
Sieci Petriego Sieć Petriego Formalny model procesów umożliwiający ich weryfikację Główne konstruktory: miejsca, przejścia, łuki i żetony Opis graficzny i matematyczny Formalna semantyka umożliwia pogłębioną
Bardziej szczegółowoJęzyk UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 7 Przeglądowe diagramy interakcji Przeglądowe diagramy interakcji wiążą
Bardziej szczegółowoSieci Petriego. Sieć Petriego
Sieci Petriego Sieć Petriego Formalny model procesów umożliwiający ich weryfikację Główne konstruktory: miejsca, przejścia, łuki i żetony Opis graficzny i matematyczny Formalna semantyka umożliwia pogłębioną
Bardziej szczegółowoMapowanie procesów - AS IS (jak jest)
Projektowanie procesów dr Mariusz Maciejczak www.maciejczak.pl Mapowanie procesów - AS IS (jak jest) Źródło: G. Jokiel, AE Wrocław Podejście funkcjonalne i procesowe Proces Proces to uporządkowany w czasie
Bardziej szczegółowoUkłady VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoMODELOWANIE PRZEPŁYWU DANYCH
MODELOWANIE PRZEPŁYWU DANYCH 1. Diagram przepływu danych (DFD) 2. Weryfikacja modelu strukturalnego za pomocą DFD Modelowanie SI - GHJ 1 Definicja i struktura DFD Model części organizacji rozważany z punktu
Bardziej szczegółowoDiagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial
Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz Zofia Kruczkiewicz Projektowanie oprogramowania
Bardziej szczegółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoProcesy biznesowe w praktyce. Projektowanie, testowanie i optymalizacja
Procesy biznesowe w praktyce. Projektowanie, testowanie i optymalizacja Autor: Marek Piotrowski Notacje Zasady projektowania i najczęściej popełniane błędy Optymalizacja i testowanie procesów Procesy biznesowe
Bardziej szczegółowoPętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
Bardziej szczegółowoMiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska
MiASI Modelowanie systemów biznesowych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 7 stycznia 2010 Spis treści 1 Czym jest system biznesowy? Po co model bizensowy? Czym
Bardziej szczegółowoŹródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI
DIAGRAMY INTERAKCJI DIAGRAMY STEROWANIA INTERAKCJĄ Diagramy sterowania interakcją dokumentują logiczne związki między fragmentami interakcji. Podstawowe kategorie pojęciowe diagramów sterowania interakcją
Bardziej szczegółowoKomputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Bardziej szczegółowoSystem IVR. Opis elementów systemu
System IVR Opis elementów systemu 1. Wstęp Na system IVR (IVR Pack) składają się następujące usługi: IVR Player, IVR Menu, IVR List, IVR Switch. Cennik usług IVR dostępny jest na stronie www.ipfon.pl.
Bardziej szczegółowoDiagramy czynności. Widok logiczny. Widok fizyczny
Diagramy czynności System widoków 4+1 Kruchtena Widok logiczny Widok fizyczny Widok procesu Widok przypadków użycia Widok konstrukcji Diagramy czynności są jedynym diagramem w widoku procesu modelowanego
Bardziej szczegółowoRobert Barański, AGH, KMIW For Loops While Loops v1.0
PĘTLA CZASOWA (For Loops, While Loops) Powtórzenia w okienku wewnętrznym mają na celu otrzymanie szczególnej wartości logicznej. Wartość ta zależna jest od ciągłego przetwarzania w pętli czasowej. Klikając
Bardziej szczegółowoDiagram przypadków użycia
Diagram przypadków użycia Diagram przypadków użycia opisuje system z punktu widzenia użytkownika, pokazuje, co robi system, a nie jak to robi. Diagram ten sam w sobie zazwyczaj nie daje nam zbyt wielu
Bardziej szczegółowoGraficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski
Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML Jakub Morkis, Piotr Chmielewski BPMN - Historia Formowanie grumy tworzącej notację Sierpień 2001, 58 członków reprezentujących 35 firm,
Bardziej szczegółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowo1 Moduł E-mail. 1.1 Konfigurowanie Modułu E-mail
1 Moduł E-mail Moduł E-mail daje użytkownikowi Systemu możliwość wysyłania wiadomości e-mail poprzez istniejące konto SMTP. System Vision może używać go do wysyłania informacji o zdefiniowanych w jednostce
Bardziej szczegółowoPROCEDURA OBSŁUGI INCYDENTÓW I WNIOSKÓW NA REALIZACJĘ USŁUG W SYSTEMACH INFORMATYCZNYCH. załącznik do ZR 154/2014 z dnia 22 grudnia 2014 roku
PROCEDURA OBSŁUGI INCYDENTÓW I WNIOSKÓW NA REALIZACJĘ USŁUG W SYSTEMACH INFORMATYCZNYCH załącznik do ZR 154/2014 Spis treści I. CEL I ZAKRES OBOWIĄZYWANIA INSTRUKCJI... 3 II. DEFINICJE I SKRÓTY... 3 III.
Bardziej szczegółowoMyśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści
Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy
Bardziej szczegółowoAutomatyczne anulowanie zleceń w wyniku odłączenia od CCG
Automatyczne anulowanie zleceń w wyniku odłączenia od CCG Specyfikacja techniczna wersja: 1.0 data:2013.08.06 OPIS DOKUMENTU Cel Dokument zawiera techniczny opis automatycznego anulowania zleceń w wyniku
Bardziej szczegółowoStan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne
WARUNKI WARUNKI I I ZDARZENIA ZDARZENIA Określają czy pewna zależność logiczna związana ze stanem systemu jest w danej chwili spełniona lub czy zaszło w systemie określone zdarzenie. STAN SYSTEMU: stan
Bardziej szczegółowoDokumentacja Użytkownika Systemu
Dokumentacja Użytkownika Systemu Integracja z Ceneo.pl Wersja 2016.3.2 Spis treści 1 INTEGRACJA... 3 2 REJESTRACJA NA CENEO.PL... 4 3 KONFIGURACJA Z SERWISEM CENEO.PL... 5 4 PRZYGOTOWANIE ASORTYMENTU...
Bardziej szczegółowoS Instrukcje programowania instrukcje obsługi Ethernetu
S7-1200 Instrukcje programowania instrukcje obsługi Ethernetu Kontynuujemy opis instrukcji programowania sterowników S7-1200. W tym miesiącu skupiamy się na prezentacji i omówieniu instrukcji obsługujących
Bardziej szczegółowoDiagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Diagramy maszyn stanowych, wzorce projektowe 1. Modelowanie zachowania
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać
Bardziej szczegółowoSpis treści. 1 Moduł Modbus TCP 4
Spis treści 1 Moduł Modbus TCP 4 1.1 Konfigurowanie Modułu Modbus TCP................. 4 1.1.1 Lista elementów Modułu Modbus TCP............ 4 1.1.2 Konfiguracja Modułu Modbus TCP.............. 5 1.1.3
Bardziej szczegółowoRobert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)
Maszyna stanów (State Machine) Automaty stanów są jednymi z podstawowych konstrukcji, jakie programiści NI LabVIEW używają do szybkiego pisania aplikacji. Programiści używają NI LabVIEW w aplikacjach,
Bardziej szczegółowoNarysować diagram sekwencji pokazujący rejestrację wypożyczenia przez Jana Kowalskiego książki Potop
Egzamin: 31/01/2009 Godzina: 14:15 16:00 Opracowano na podstawie przykładowych zadań MODELOWANIE I ANALIZA SYSTEMÓW OPRACOWANIE ZADAŃ Zadanie 1 Zamodeluj funkcjonalność systemu bibliotecznego Należy: Utworzyć
Bardziej szczegółowoWyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196
Wyjątki 180 / 196 Wyjątki W Javie istnieje mechanizm tzw. wyjątków (ang. exception), który pozwala na przechwytywanie błędów pojawiających się w programie. Kompilacja tab [ 1 0 ] = 100; spowoduje powstanie
Bardziej szczegółowoIntegrator ze sklepem internetowym (dodatek do Sage Symfonia ERP Handel)
Integrator ze sklepem internetowym (dodatek do Sage Symfonia ERP Handel) Cena brutto: 11672.7 Cena netto: 9490 Integracja Symfonia ERP Handel z dowolnym sklepem internetowym usprawnia proces składania
Bardziej szczegółowoZARZĄDZANIU. Wykład VI. dr Jan Kazimirski
INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens
Bardziej szczegółowoAktualizacja modemu LTE Speed 1000
Aktualizacja modemu LTE Speed 1000 1. Wstęp zasady działania Modem LTE Speed 1000 jest wyposażony w funkcję automatycznej aktualizacji oprogramowania zarówno urządzenia (firmware), jak i aplikacji manager
Bardziej szczegółowoStan globalny. Krzysztof Banaś Systemy rozproszone 1
Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej
Bardziej szczegółowoDiagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów
Bardziej szczegółowoInformatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki
Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A
Bardziej szczegółowoRozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.
1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń
Bardziej szczegółowoAPIO. W4 ZDARZENIA BIZNESOWE. ZALEŻNOŚCI MIĘDZY FUNKCJAMI. ELEMENTY DEFINICJI PROCESU. DIAGRAM ZALEŻNOŚCI FUNKCJI.
APIO. W4 ZDARZENIA BIZNESOWE. ZALEŻNOŚCI MIĘDZY FUNKCJAMI. ELEMENTY DEFINICJI PROCESU. DIAGRAM ZALEŻNOŚCI FUNKCJI. dr inż. Grażyna Hołodnik-Janczura W8/K4 ZDARZENIA BIZNESOWE W otoczeniu badanego zakresu
Bardziej szczegółowoTestowanie i walidacja oprogramowania
Testowanie i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 5 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Przykład Obliczmy sumę: 0+1+2+...+i, i є [0,100] read(i); if((i < 0)(i >
Bardziej szczegółowoInstrukcje cykliczne (pętle) WHILE...END WHILE
Instrukcje cykliczne (pętle) Pętle pozwalają na powtarzanie fragmentu kodu programu. PĘTLE LOGICZNE WHILE...END WHILE While (warunek)...... End While Pętla będzie się wykonywała dopóki warunek jest spełniony.
Bardziej szczegółowoBazy danych TERMINOLOGIA
Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowoInżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia
Inżynieria oprogramowania Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Punkt widzenia (Point of View) Systemy oprogramowania mają zwykle kilku różnych użytkowników. Wielu
Bardziej szczegółowoDokument: Zmiana stawek VAT Informacja dla dealerów
Informacja dla dealerów Posnet Zmiana stawek VAT w kasach Posnet Combo POSNET POLSKA S.A. ul. Municypalna 33 02-281 Warszawa Data przekazania 03.12.2010 edycja 001 Dokument: Zmiana stawek VAT Informacja
Bardziej szczegółowoBazy danych w sterowaniu
Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowo1 Moduł Modbus ASCII/RTU 3
Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........
Bardziej szczegółowoNajkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)
Carl Adam Petri (1926-2010) Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń) Problemy statyczne Kommunikation mit Automaten praca doktorska (1962) opis procesów współbieżnych
Bardziej szczegółowoSUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2 Treść przykładu Jak wygląda karta do
Bardziej szczegółowoModelowanie i symulacja procesu Egzaminowanie studento w z wykorzystaniem programu igrafx
Instrukcja laboratoryjna kurs: Zarządzanie Procesami I Modelowanie i symulacja procesu Egzaminowanie studento w z wykorzystaniem programu igrafx Opracowanie: dr inż. Tomasz Chlebus mgr Katarzyna Wiska
Bardziej szczegółowoPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Obliczenia równoległe w Microsoft Visual Basic Środowisko Microsoft Visual Studio 2010 i nowsze umożliwia zrównoleglenie obliczeń na wiele rdzeni procesorów. Służą do tego odpowiednie metody dostępne wraz
Bardziej szczegółowoInformatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoModelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014
Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80
Bardziej szczegółowoW jakim celu to robimy? Tablica Karnaugh. Minimalizacja
W jakim celu to robimy? W projektowaniu układów cyfrowych istotne jest aby budować je jak najmniejszym kosztem. To znaczy wykorzystanie dwóch bramek jest tańsze niż konieczność wykorzystania trzech dla
Bardziej szczegółowoLABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8
Inżynieria Oprogramowania 2013/14 LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8 Hierarchia klas: TestCase klasa testująca, będąca klasą bazową dla wszystkich przypadków testowych. Zawiera przypadki testowe
Bardziej szczegółowoPrzewodnik użytkownika systemu AgentWorks podwójna kontrola wydanie 11 wersja polska
Przewodnik użytkownika systemu AgentWorks podwójna kontrola wydanie 11 wersja polska 09/01/2013 2012 MoneyGram International Wszelkie prawa zastrzeżone. Spis treści 1. Zatwierdzenia menedżera... 2 2. Zgłoszenia
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowo7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Bardziej szczegółowoKażde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.
Część XIII C++ Czym jest pętla? Pętla jest blokiem instrukcji, które wykonywane są w kółko (czyli po wykonaniu ostatniej instrukcji z bloku komputer wykonuje ponownie pierwszą instrukcję, później drugą
Bardziej szczegółowoNIFIED M L ODELLING ANGUAGE. Diagramy czynności
U M L NIFIED ODELLING ANGUAGE Diagramy czynności 1 Czym jest diagram czynności? Jeden z pięciu rodzajów diagramów UML służących do modelowania dynamicznych aspektów systemu. Przedstawia przepływ sterowania
Bardziej szczegółowoProjektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
Bardziej szczegółowoDiagramy przypadków użycia
Instytut Informatyki Uniwersytetu Śląskiego 10 października 2010 Spis treści 1 Wprowadzenie do UML 2 3 4 5 6 Diagramy UML Język UML definiuje następujący zestaw diagramów: diagram przypadków użycia - służy
Bardziej szczegółowoSpis treści. 1 Moduł RFID (APA) 3
Spis treści 1 Moduł RFID (APA) 3 1.1 Konfigurowanie Modułu RFID..................... 3 1.1.1 Lista elementów Modułu RFID................. 3 1.1.2 Konfiguracja Modułu RFID (APA)............... 4 1.1.2.1
Bardziej szczegółowoDiagramy czynności tworzenie modelu przypadków użycia Wykład 2
Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Zofia Kruczkiewicz Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 1 Diagramy czynności- tworzenie modelu przypadków 1. Diagramy czynności
Bardziej szczegółowoDokumentacja Użytkownika Systemu. Integracja z Okazje.info, Skąpiec, Sklepy24
Dokumentacja Użytkownika Systemu Integracja z Okazje.info, Skąpiec, Sklepy24 Wersja 2016 Spis treści 1 INTEGRACJA... 3 2 REJESTRACJA... 4 2.1 OKAZJE.INFO... 4 2.2 SKĄPIEC... 4 2.3 SKLEPY24.PL... 4 3 KONFIGURACJA...
Bardziej szczegółowoZalety projektowania obiektowego
Zalety projektowania obiektowego Łatwe zarządzanie Możliwość powtórnego użycia klas obiektów projektowanie/programowanie komponentowe W wielu przypadkach występuje stosunkowo proste mapowanie pomiędzy
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Bardziej szczegółowoModelowanie KONCEPCJA. przedstawiana przez INDYWIDUALNOŚĆ GHJ 6
Modelowanie KONCEPCJA staje się zrozumiała wyrażona za pomocą INDYWIDUALNOŚĆ przedstawiana przez SYMBOL GHJ 6 Podejścia w modelowaniu Pełny zakres WSTĘPUJĄCE Opuszczone szczegóły ZSTĘPUJĄCE Niepotrzebne
Bardziej szczegółowoMateriały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Bardziej szczegółowoWykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Bardziej szczegółowoSztuczna Inteligencja Projekt
Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować
Bardziej szczegółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Bardziej szczegółowoPojęcie bazy danych. Funkcje i możliwości.
Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór
Bardziej szczegółowoPrzepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)
Przepływy danych Oracle Designer: Modelowanie przepływów danych Cele: zobrazowanie funkcji zachodzących w organizacji, identyfikacja szczegółowych informacji, przetwarzanych przez funkcje, pokazanie wymiany
Bardziej szczegółowoWymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.
Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji. Wymiar pionowy: oś czasu przedstawiajaca ułożone chronologicznie komunikaty Podstawowe notacje graficzne Konceptualny
Bardziej szczegółowo