Zarządzanie przepływem pracy Część 2

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

1. Geneza projektu 2. Założenia i cele projektu 3. Harmonogram projektu 4. Produkty projektu 5. Założenia techniczne i wydajnościowe 6. Wizja systemu 7.
Modelowanie procesów biznesowych
przetwarzaniu informacji
Rola komputera w przetwarzaniu informacji.
Microsoft Professional Developer Days 2004
Propozycja metodyki nauczania inżynierii oprogramowania
Projektowanie systemów informacyjnych
Co UML może zrobić dla Twojego projektu?
Systemy operacyjne.
„Migracja środowisk Novell NDS/eDirectory oraz Novell Groupwise do środowiska Microsoft Active Directory oraz Microsoft Exchange przy użyciu narzędzi Quest.
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Narzędzia Systemów workflow
Wstęp do programowania obiektowego
Artur Szmigiel Paweł Zarębski Kl. III i
Projektowanie i programowanie obiektowe II - Wykład IV
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Modele baz danych - spojrzenie na poziom fizyczny
Alliance 8300 Zintegrowany system zarządzania bezpieczeństwem
Projektowanie - wprowadzenie
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Inżynieria Oprogramowania
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Twoje narzędzie do pracy grupowej
Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki,
SYSTEM STEROWANIA NADRZĘDNEGO
Autor: Justyna Radomska
Solphy Polska Prezentacja Produktu Solphy Home Storage.
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Elektroniczne Biuro Obsługi Interesanta Tamara Ossowska Zakopane, 21 czerwca 2001.
Narzędzia administracyjne
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych, sieci i systemy komputerowe
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Model obiektowy bazy danych
PROCESY W SYSTEMACH SYSTEMY I PROCESY.
Diagram aktywności (czynności)
Zarządzanie zagrożeniami
Przykłady analiza i projektowanie
Systemy informatyczne
Modelowanie obiektowe - system zarządzania projektami.
Podstawy języka skryptów
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Ergonomia procesów informacyjnych
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Systemy zarządzania przepływem pracy i systemy zarządzania procesami biznesowymi Karolina Muszyńska.
Podstawy programowania
Moduł e-Kontroli Grzegorz Dziurla.
Wyższa Szkoła Bankowa, Poznań, dr inż. mirosław Loręcki
Inżynieria systemów informacyjnych
T. 18. E Proces DGA - Działania (operatorka).
Hipertekst HTML WWW.
[Nazwa projektu] Analiza zamknięcia
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Zarządzanie przepływem pracy Część 2 Kazimierz Subieta

Tematy (cz.2) Pojęcia przepływu pracy Graf procesu, sieci Petriego Modelowanie procesów, przykładowy model Modelowanie organizacji Repozytoria systemów przepływu pracy Standardyzacja: Workflow Management Coalition, WAPI wg. WfMC LotusNotes jako narzędzie do implementacji przepływów pracy

Pojęcia przepływu pracy Znaczenia są często dość rozmyte i nieustalone Przepływy pracy / Procesy Aktywności / Kroki procesu Zdarzenia Metody / Operacje Zobowiązania Wołanie aplikacji Aktorzy / Role / Wykonawcy Przetwarzanie relewantnych danych Połączenia sterujące / Warunki przejścia / Reguły obiegu Połączenia danych / Powiązania danych Warunki poczatkowe i końcowe Nawigacja w grafie procesu Języki opisu procesów Dane sterujące procesem Czas trwania aktywności i procesu / Nieprzekraczalny czas Priorytety

Pojęcia przepływu pracy, terminologia Proces biznesowy (tj. to co ma się zdarzyć) jest zdefiniowany przez jest zarządzany przez Definicja procesu (reprezentacja tego,co ma się zdarzyć) System Zarządzania Przepływem Pracy (steruje automatycznymi aspektami proc.biznesowego) poprzez Pod-procesy składa się z używany do tworzenia i zarządzania Wystąpienia procesu (reprezentacja tego, co aktualnie zachodzi) Aktywności które mogą być: włączają jedną lub więcej lub Aktywności manualne Aktywności automatyczne podczas wykonania są reprezentowane przez Wystąpienia aktywności które włączają: która nie jest zarządzana jako część Systemu Przepł.Pracy i/lub Składowe pracy (zadania przypisane uczestnikom przepływu pracy) Wołane aplikacje (narzędzia lub aplikacje komputerowe używane dla wspomagania przepł.pracy)

Pojęcia PP: aktywność activity, process activity Aktywność jest uporządkowanym zestawem zdarzeń i czynności, które mogą być powodowane przez pojedyńczego aktora w określonym odcinku czasu. Należy rozróżnić: wystąpienie aktywności (konkretne), oraz klasę aktywności (definicję, kod programu). Pojęcia związane: start aktywności trwanie aktywności stop aktywności zdarzenie zachodzące podczas trwania aktywności przyczyna aktywności, czyli zdarzenie, które ją zainicjowało wykonanie aktywności, czyli pewien czas lub eneria aktora niezbędna do wykonania odpowiedzialność za aktywność, czyli skutki jej błędnego działania, zaniechania, lub zbyt długiego działania użycie zasobów przez aktywność: materiałów, energii aktora, dokumentów, pamięci, ...

Pojęcia PP: zdarzenie event Zdarzenie jest bytem, który pojawia się w pewnym punkcie czasowym i może być obserwowane/zarejestrowane przez odpowiednie receptory człowieka lub systemu. Zdarzenie może być zewnętrzne lub może wynikać ze zmiany stanu systemu komputerowego. Zdarzenie nie trwa w czasie. Aktywności i przepływy pracy mogą być zdefiniowane jako automatyczne lub ręczne czynności wyzwalane poprzez pojawianie się specyficznych zdarzeń. Aktywność pojawia się po wystąpieniu specyficznego zdarzenia, nigdy przedtem. Pojęcia związane: wystąpiło zdarzenie zdarzenie spowodowało aktywność aktywność spowodowała zdarzenie zdarzenie jest reprezentowane przez ... zdarzenie jest zarejestrowane jako... zdarzenie zostało skonsumowane

Pojęcia PP: zobowiązanie commitment Zobowiązanie jest poczuciem ludzi lub organizacji do postępowania lub zachowania się zgodnego z wcześniej przyjętą umową lub ustaleniem. Jest ono wynikiem umowy, uzgodnienia, prawa, lub przysięgi dotyczącej zrobienia czegoś w przyszłości. Pojęcia związane: osoba zobowiązana do wykonania procesu osoba zobowiązana do wykonania aktywności osoba zobowiązana do obsługi/wygenerowania zdarzenia aktor jest zobowiązany do...

Pojęcia PP: proces process, business process, workflow process Proces jest uporządkowaną i połączoną kolekcją aktywności, które są potencjalnie włączone w realizację pojedyńczego uzgodnienia pomiędzy aktorami. Proces jest często reprezentowany jako graf aktywności, w którym strzałki są użyte dla zaznaczenia kolejności wystąpień aktywności w czasie. Działalność jakiegoś departamentu lub firmy nie jest procesem, ponieważ zazwyczaj jest związana z wieloma uzgodnieniami. Np.transport nie jest procesem, natomiast jest nim przewóz pasażera. Pojęcia związane: definiować proces modyfikować proces tworzyć wystąpienie procesu zaczynać, kończyć proces proces podporzadkowany do innego procesu monitorować proces: zapamiętywać informację o przebiegu procesu wykonywać proces: realizacja aktywności procesu zarządzać procesem: koordynacja operacji róznych procesów

Pojęcia PP: aktor, rola actor, role Aktor jest osobą lub zespołem osób wykonujących pewne aktywności w ramach procesu. Rola oznacza klasę aktorów o podobnych własnościach, posiadających podobne umiejętności i kompetencje. Role są przypisywane do aktorów w trakcie dynamicznego określenia zadań przypisanych do zespołów ludzkich. Rola definiuje czy dana osoba jest zdolna do wykonania pewnej aktywności w ramach procesu. Pojęcia związane: pełnić rolę rola organizacyjna rola wykonuje aktywność rola jest odpowiedziałna za aktywność rola procesu: zestaw aktywności procesu przepływu pracy, która może być wykonana przez uczestnika przepływu pracy dla osiągnięcia celów tego procesu. Synonyms: workflow participant, actor, agent, player, user, role player, work performer

Graf procesu process graph Struktura przedstawiająca czynności, zdarzenia, warunki, przepływ sterowania. Twór podobny do diagramu blokowego (flowchart) lub sieci Petriego. W istocie rzeczy, jest to zapis kodu programu, gdzie poszczególne czynności mogą być wykonane przez ludzi lub przez komputer. Własności różnią się w zależności od produktu. Relatywna niedojrzałość, przypadkowość rozwiązań. Brak uniwersalności, kompletności. Mało systematyczny związek ze strukturami danych, szczególnie trwałymi (bazy danych). Hierarchiczna dekompozycja procesu Komponowanie grafu na zasadzie “przesuń i upuść” Obiektowość Różne perspektywy grafu (stopień szczegółowości, wyodrębnienie fragmentów) Powiększanie i zmniejszanie (zoom) Definiowanie przez użytkownika ikon oznaczających aktywności Z góry zdefiniowane aktywności

Sieci Petriego Petri nets Sieć Petriego jest uważana za model formalny dla grafu procesu. Prymitywy grafu procesu wg WFM Coalition: t1 t31 t32 t51 t52 złączenie AND złączenie OR iteracja t41 t42 t2 t62 t61 rozszczepienie AND rozszczepienie OR przyczyna/skutek Sieć Petriego jest niewystarczająca do modelowania wielu innych niezbędnych cech systemów przepływu pracy: przepływ dokumentów i materiałów, organizacja, aktorzy, role, dane sterujące,... Nie nadaje się jako paradygmat programowania, w szczególności wizyjnego. Z tych powodów oczekiwania świata akademickiego co do roli sieci Petriego w opisach przepływu pracy są przesadzone.

Modelowanie procesów - przykładowe cele Wyjaśnienie i uproszczenie interakcji pomiędzy grupami rozwoju i marketingu. Powiązanie procesów wytwarzania produktu firmy z procesami obsługi klienta. Potwierdzenie spełnienia określonych ograniczeń nakładanych na procesy. Weryfikacja prawidłowości nowego procesu przed jego zaimplementowaniem. Kształtowanie metod i kierunków rozwoju oprogramowania. Implementacja systemów wspomagających przebieg i efektywność procesów. Opracowanie efektywnych materiałów edukacyjnych i szkoleniowych. Jest mało prawdopodobne, że wszystkie te cele mogą być osiągnięte przez jeden model. Środki do modelowania: Sieci Petriego, struktury aktywności, diagramy Harela (STD), ... do modelowania przepływu sterowania. Diagramy przepływu danych (DFD), notacja IDEF0, ... do modelowania statycznych związków pomiędzy procesami i powiązań informacyjnych. Diagramy PERT do modelowania zależności czasowych. Specjalne notacje do modelowania procesów: MSP/PM, SynerVision, ProcessWeaver, Marvel, RIN,...

Przykład: model dynamiczny STD (OMT) Startuj wystąpienie procesu Przygotuj info o zakupie Wniosek Pracownik Kierownik dekretuj_na utwórz Info o zakupie Info o odrzuceniu Formularz wniosku utwórz Przygotuj info o odrzuceniu Akceptacja [odrzucony] Pracownik Kierownik [zaakceptowany] [odrzucony] [odrzucony] Akceptacja (przez prezesa) Rejestruj akcept. prezesa Przygotuj info o akceptacji [koszt >= 1000ECU] Pracownik Pracownik [koszt < 1000ECU] Info o akceptacji [zaakceptowany] utwórz Akceptacja (przez dział finansowy) Rejestruj akcept. dzialu finansowego [wątpliwości] Zakup AND [zaakceptowany] Pracownik

Przykład: graf procesu (FlowMark) Decyzja = “odrzucony” Decyzja = “odrzucony” Akcept kierownika Wypełnienie wniosku o zakup koszt >= 1000 Info o odrzuceniu koszt < 1000 Akcept Prezesa Decyzja = “zaakcept” Decyzja = “odrzucony” Decyzja = “zaakcept” Zakup Decyzja = “zaakcept” Akcept Działu Finans Info o akceptacji Decyzja = “wątpliwości” Akcept Działu Finans Akcept Prezesa

Modelowanie organizacji Modelowanie zależności służbowych i jednostek organizacyjnych Statyczne (z góry) i dynamiczne definiowanie ról Przyporzadkowanie ról do osób Planowanie: przyporządkowanie zadań/aktywności do ról i/lub do osób Planowanie: przyporządkowanie odpowiedzialności Planowanie operacyjne: zmiana przydziałów zadań, oddelegowanie zadań uwzględniająca czasowe zmiany w rolach, odpowiedzialności, lub planach.

Repozytoria systemów przepływu pracy Służą do przechowywania definicji, danych sterujących procesami, ... Typy repozytoriów: W większości, relacyjne SZBD (np. zgodne z ODBC) Niekiedy Lotus Notes (np. Action, GroupFlow) Obiektowe SZBD (FlowMark używa ObjectStore) Typy dostępu: Najczęściej, transakcje aktualizujące Transakcje o krótkim czasie trwania Dostęp o dużym stopniu współbieżności Wydajność jest wspomagana poprzez procedury bazy danych Czas oczekiwania (dostępność) jest kwestią krytyczną Dwu-fazowe potwierdzenie (2PC) w systemie rozproszonym

Standardyzacja: Workflow Management Coalition, WfMC Ciało założone w sierpniu 1993 Ok. 200 członków 5 grup roboczych związanych z pięcioma interfejsami: Model definicji procesu i wymiany informacji, API API dla klienta Interfejs dla wołania aplikacji Współdziałanie systemów i aplikacji przepływu pracy Administracja i monitorowanie WfMC API 2 (WAPI) opublikowany w listopadzie 1995 (WFMC-TC-1009) Wstępny dok ument roboczy specyfikacji Definicji Procesu Biznesowego (interfejs 1) Powiązania z innymi grupami: Black Forest, OMG, Document Management Alliance Opracowywany roczny biuletyn

Standardyzacja: Workflow Mana- gement Coalition (WFMC) Model Narzedzia do definicji procesów Interfejs 1 API dla Przepływu Pracy, wymienne formaty Interfejs 5 Interfejs 4 Mechanizm(y) przepływu pracy Narzędzia do administrowania i monitoriowania Mechanizm(y) przepływu pracy Inne środki realizacji PP Środki realizacji PP Interfejs 2 Interfejs 3 Aplikacje klienta PP Wołane aplikacje

Workflow APIs and Interchange Formats (WAPI) WAPI = Interfejs do programowania aplikacji przepływu pracy i format wymienny. Standardyzowany przez Workflow Management Coalition. Cel: współdziałanie między różnymi składowymi systemów PP i aplikacji. Zawiera: Specyfikację wołań API dla wspomagania funkcji łączących mechanizmy przepływu pracy z aplikacjami lub innymi składowymi systemu. Formaty wymienne i protokóły wymiany dla wspomagania współdziałania między różnymi systemami i mechanizmami przepływu pracy. Formaty do wymiany informacji takiej jak definicje procesów i danych kontrolnych pomiędzy systemami przepływu pracy i zewnętrznymi repozytoriami.

WfMC WAPI WAPI Funkcje połączenia: połączenie/rozłączenie z serwerem Funkcje sterowania procesem: interpretowanie definicji procesu i atrybutów jego wystąpień, tworzenie/uruchamianie/kończenie wystąpień procesu Funkcje sterowania aktywnościami: odczytywanie/zmiana stanu lub atrybutów wystąpienia aktywności Funkcje określania statusu procesu: odczytywanie statusu wystąpienia procesu Funkcje określania statusu aktywności: odczytywanie statusu wystąpienia aktywności Funkcje określania listy prac (worklist): odczytywanie lub zmiana stanu listy prac Funkcje administracyjne: zmiana stanu wystąpienia procesu/aktywności WAPI API do baz danych przepływu pracy Synchronizacja (transakcje, podział zadań) Definiowanie aktywności ad hoc Czyszczenie, archiwizacja, usuwanie, itd. Nazwy i role Komunikaty i postępowanie po błędach Bezpieczeństwo Blokowanie, transakcje Integralność procesów Potencjalne rozwinięcia:

Lotus Notes: podstawowe charakterystyki Zapewnia infrastrukturę do zarządzania przepływem pracy. Nie posiada specjalnych udogodnień do graficznego definiowania procesów Łączy zarządzanie formularzami, dokumentami, komunikatami, replikacjami Możliwość przechowywania i udostępniania dokumentów w różnych formatach Wewnętrzne środki rozwoju aplikacji: LotusScript (a la VisualBasic, obiektowy(?)), agenci (aktywne reguły), formularze, perspektywy, i inne Zewnętrzne środki rozwoju aplikacji: ViP (deklaratywne, wizyjne narzędzie programowania aplikacji), C/C++, VisualBasic, i inne Podtrzymuje OLE, OLE2 Dostęp do relacyjnych baz danych poprzez ODBC; pomosty poprzez udogodnienia DataLens, FX, NotesPump Obieg dokumentów zdefiniowany w formularzach poprzez makra i skrypty Książka adresowa pozwala na podstawowe modelowanie organizacji

Lotus Notes: zalety Wspomaga rozwój aplikacji klient-serwer Podtrzymuje wiele platform sprzętowo-programowych: Windows, Windows NT, OS/2, Solaris, AIX, SCO/HP Unix, Macintosh Podtrzymuje wiele protokółów sieciowych: TCP/IP, Ethernet, IPX, NetBIOS, AppleTalk, TokenRing Włącza zaawansowane środki zarządzania poczta elektroniczną Wspomaga/umożliwia automatyzację obiegu dokumentów Zapewnia spójny interfejs do wszystkich aplikacji pisanych dla Notes Łatwy w użyciu Umożliwia tworzenie dużych baz danych Podtrzymuje dane multimedialne: formatowany tekst, grafika, audio, wideo Podtrzymuje zdalny dostęp do danych Bezpieczny dostęp do danych, skuteczne środki ochrony prywatności Środki do replikacji baz danych Lotus Notes zapewnia dobrą infrastrukturę do budowania systemów przepływu pracy dla niezbyt dużych zastosowań administracyjnych i ad hoc.

Lotus Notes: wady Brak wspomagania dla transakcji: brak własności ACID, blokowania, logowania, odtwarzania, odwracania, Brak możliwości relacyjnej bazy danych: brak zapytań a la SQL, trudności z realizacją złączeń (joins) Brak wspomagania dla pracy w czasie rzeczywistym Ograniczenia (brak) koncepcji obiektowych: klasy, metody, dziedziczenie, ... Ograniczone wspomaganie dla współdziałania z innymi systemami, w szczególności, integrowania systemów “spadkowych” (legacy) Pracuje wyłącznie z własnym formatem bazy danych Niesystematyczny język programowania aplikacji (Lotus Script) o niejasnych własnościach i ograniczeniach (typy danych, zagnieżanie, ...) Mogą wystąpić trudności ze skalowalnością (wzrost czasów przetwarzania) Nie podlega jakimkolwiek standardom w zakresie środków definicji danych, środków budowy aplikacji, oraz współdziałania Obecnie LotusNotes nie posiada odpowiednich własności do implementowania zaawansowanych przepływów pracy, szczególnie tych, które wymagają integracji z heterogenicznymi zasobami informacji, transakcyjności oraz skalowalności.

Podsumowanie Technologia przepływu pracy jest stosunkowo młoda i niedojrzała. Niedojrzałość polega m.in. na wymieszaniu pojęć odnoszących się do dziedzin aplikacyjnych z pojęciami odnoszącymi się do narzędzi, technik, metod, języków, interfejsów komputerowych. Produkty tej technologii w sposób ad hoc integrują wiele rozpoznanych technik: języki programowania, bazy danych, systemy rozproszone, współbieżność, wspołdziałanie, GUI, programowanie wizyjne, przetwarzanie dokumentów, transakcje, Internet. Granice tej technologii są rozmyte. Nie bardzo wiadomo, co ma być jej niepodważalnym trzonem ideologiczno-teoretycznym. Czy technika zarządzania przepływem pracy jest nowa jakością w informatyce? Czy będzie ona nowym paradygmatem dla rozproszonego przetwarzania? Nowa jakość polega na automatyzacji uciążliwych prac manualnych związanych z planowaniem, dokumentowaniem, śledzeniem, monitorowaniem, synchronizacją, etc. procesów biurowych, procesów administracyjnych, oraz procesów produkcyjnych. Konieczne jest szersze spojrzenie od strony ideologiczno-teoretycznej. Konieczna jest standardyzacja, wyodrębnienie “trzonu” i “peryferii”.