Rozdział monografii: `Bazy Danych: Rozwój metod i technologii
Transkrypt
Rozdział monografii: `Bazy Danych: Rozwój metod i technologii
Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 Rozdział 7 w System Zarządzania Produkcją Oprogramowania Moduł Definiowania Procesów w da .b w Streszczenie. W rozdziale tym opisany jest System Zarządzania Produkcją Oprogramowania (SZPO), którego celem jest modelowanie, automatyzowanie, kontrolowanie i monitorowanie zasobów i wykonywanych prac w średniej i dużej wielkości przedsiębiorstwie zajmującym się produkcją i utrzymywaniem oprogramowania. Przedstawiony został główny element tego systemu tzw. Moduł Definiowania Procesów wykorzystujący sieci Petriego jako język modelowania, projektowania i analizy procesów produkcji oprogramowania. SZPO jako system typu RAD (Rapid Application Development) z możliwością definiowania formularzy i automatycznym generowaniem schematu bazy danych może zostać wykorzystany nie tylko jako narzędzie do zarządzania produkcją oprogramowania ale również jako zintegrowane środowisko do tworzenia i uruchamiania programów. 1 Wstęp pl s. Zadaniem Systemu Zarządzania Produkcją Oprogramowania, w skrócie SZPO, jest modelowanie, automatyzowanie, kontrolowanie i monitorowanie zasobów przedsiębiorstwa i wykonywanych prac poprzez przekazywanie zadań i informacji między uczestnikami przedsięwzięcia według ustalonych reguł i procedur. Jego funkcjonalność jest zatem zbliżona do systemów typu workflow management zdefiniowanych przez Workflow Management Coalition. Na potrzeby zarządzania produkcją oprogramowania, opisywany SZPO należy rozszerzyć o dodatkowe elementy takie jak RAD (Rapid Application Development) pozwalające zwykłemu użytkownikowi projektować i implementować kolejne zadania w procesie produkcyjnym, jak również dane i formularze z nimi związane używając modułów systemu takich jak Moduł Definiowania Procesów i Moduł Definiowania Formularzy przy czym schemat bazy danych może być automatycznie wygenerowany z powyższych definicji. Celem wprowadzenia SZPO jest zbudowanie środowiska, w którym łatwy dostęp do informacji i jej współdzielenie wpływa na poprawę procesu komunikacji między uczestnikami przedsięwzięcia jakim jest produkcja oprogramowania. Sławomir Pieczonka PWSZ, Instytut Informatyki, ul. Czarnieckiego 16, 37-500 Jarosław, Polska email:[email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 S. Pieczonka w W niniejszym rozdziale uwaga skupiona jest na Module Definiowania Procesów (MDP) najważniejszym elemencie SZPO służącym modelowaniu, projektowaniu i tworzeniu procesów produkcji i opisującym reguły wykonywania zadań. Jako język opisu procesu wykorzystane są sieci Petriego. Klasyczne sieci Petriego zostały zaproponowane w latach 60-tych przez C. A. Petriego ([1]). Od tego czasu zostały użyte między innymi do modelowania i analizowania różnego rodzaju procesów takich jak protokoły komunikacyjne, sprzęt, systemy wbudowane, systemy przemysłowe, systemy biznesowe. W ostatnich 30 latach klasyczne sieci Petriego zostały rozszerzone tworząc nowe klasy sieci kolorowanych, z czasem, hierarchicznych, logicznych. Rozszerzenia te miały ogromne znaczenie szczególnie dla bardzo złożonych systemów, w których takie czynniki jak dane i czas odgrywały istotną rolę. Z wielu względów, które zdecydowały o wyborze sieci Petriego jako języka opisu procesów w Module Definiowania Procesów, najważniejsze to: 1) Graficzna reprezentacja. Jako język graficzny jest intuicyjny i prosty w użyciu oraz zrozumiały dla końcowych użytkowników. 2) Formalny opis. Proces zarządzania produkcją oprogramowania ma dokładną definicję gdyż sieci Petriego zdefiniowane są w formalny sposób. 3) Rozszerzalność i elastyczność. Możliwość modelowania wszystkich podstawowych procesów typu workflow. Wszystkie konstrukcje nowoczesnych systemów zarządzania mogą być przedstawione w postaci sieci Petriego. 4) Analiza. Możliwość użycia wielu technik w analizie właściwości procesu jakie dostarczają sieci Petriego pozwala sprawdzić czas oczekiwania i odpowiedzi, czy sieć jest bezpieczna, czy nie występują w niej zakleszczenia (deadlocks). da .b w w 2 Struktura SZPO pl s. Struktura systemu SZPO została zaprojektowana w sposób umożliwiający w krótkim czasie, bez angażowania zespołów programistów, tworzenie rozwiązań programowych ukierunkowanych na potrzeby procesu produkcyjnego, jednocześnie zmniejszając zasoby potrzebne na wsparcie techniczne jakiego wymagają tradycyjne systemy. SZPO jako system zaprojektowany dla przedsiębiorstw tworzących oprogramowanie musi spełniać ich wymagania co do funkcjonalności, które można ogólnie opisać jako: 1) Zarządzanie projektami. 2) Zarządzanie procesami biznesowymi. 3) Możliwość modyfikacji procesu, danych i interfejsu użytkownika. 4) Bezpieczny dostęp do wybranych elementów systemu z urządzeń mobilnych. 5) Definiowanie i zarządzanie procesami produkcyjnymi poprzez: a) definiowanie zadań i stanów oraz połączeń między nimi, b) możliwość modyfikacji procesu, danych i interfejsu użytkownika, c) definiowanie danych procesów i reguł biznesowych. 6) Współbieżne wykonywanie zadań i procesów. 7) Wsparcie dla zadań manualnych i automatycznych opartych na regułach. 8) Wsparcie dla podprocesów. 9) Wsparcie dla obsługi sytuacji wyjątkowych (eskalacja, przerwanie, powiadomienie). 10) Algorytm przydziału wykonawcy oparty na rolach i umiejętnościach. 11) Lista zadań użytkownika. 12) Zarządzanie i wyświetlanie listy zadań. 13) Definicja struktury przedsiębiorstwa. 92 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System Zarządzania Produkcją Oprogramowania - Moduł Definiowania Procesów 14) Definicja zasobów (użytkowników, produktów, wersji, itp.), relacji między nimi, ról. 15) Informowanie o krytycznych danych w postaci raportów. 16) Śledzenie i wyświetlanie zbioru zdefiniowanych raportów, szczegółowe i sumaryczne informacje o danych opisujących proces produkcji, aktywności, postęp w wykonywaniu przydzielonych zadań. 17) Monitorowanie systemu, rejestrowanie zdarzeń i zmian w systemie. 18) Administracja systemem, kontami użytkowników . w da .b w w pl s. Rys. 1. Diagram kontekstowy Systemu Zarządzania Produkcją Oprogramowania (SZPO) 93 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 S. Pieczonka 3 Moduł Definiowania Procesu w Większość systemów typu workflow management i metodologii opisujących te systemy oddziela modelowanie struktury procesu od modelu organizacyjnego przedsiębiorstwa i wykorzystywanych zasobów. Rozróżnienie spowodowane jest między innymi stopniem złożoności systemu oraz możliwością modyfikacji procesu bez konieczności zmiany modelu organizacyjnego przedsiębiorstwa. W takim przypadku definicja procesu polega na określeniu jakie zadania mają być wykonane i w jakiej kolejności bez określania zasobów przedsiębiorstwa biorących udział w tym procesie. W SZPO do przydziału zasobów wykorzystywany jest algorytm oparty na definicji struktury przedsiębiorstwa, rolach i umiejętnościach oraz relacji między nimi. w 3.1 Sieć Petriego typu WorkFlow (WF-net) da .b w Opis systemu typu workflow, w tym także systemu produkcji oprogramowania przy użyciu sieci Petriego wydaje się być dość prosty: zadania są przedstawiane jak tranzycje, stany i warunki jako miejsca, a przypadki określane są przez znaczniki. Zilustrujemy to przykładem procesu instalacji wersji produktu dla celów przeprowadzenia testów systemowych (rys. 2). pl s. Rys. 2. Sieć Petriego modelująca proces instalacji wersji produktu dla celów wykonania testów systemowych Kiedy nowa wersja produktu ma zostać zainstalowana znacznik znajduje się w miejscu wejściowym Nowa instalacja. Możliwe jest wtedy wykonanie zadania Przygotuj parametry instalacji, w którym będą określone właściwości środowiska instalacyjnego, np. na jakim komputerze ma zostać zainstalowany produkt, wersje systemu operacyjnego i innych programów współpracujących z instalowanym produktem, rodzaj instalacji (od podstaw, podniesienie istniejącej wersji produktu, itp.). Gdy parametry instalacji są już przygotowane, możliwe jest przejście do stanu Gotowy do instalacji. Stan ten możliwy jest również do osiągnięcia bezpośrednio z miejsca wejściowego z pominięciem zadania Przygotuj parametry instalacji (parametry instalacyjne nie są konieczne do określenia sposobu instalacji lub znane są w momencie rozpoczęcia procesu np. korzystamy z ustawień poprzedniej instalacji). Wykonanie zadania Rozpoczęcie instalacji ustala stan 94 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System Zarządzania Produkcją Oprogramowania - Moduł Definiowania Procesów procesu na W trakcie instalacji. Ostatnie zadanie Zakończenie instalacji kończy proces instalacji (znacznik znajdzie się w miejscu wyjściowym Produkt zainstalowany). w da .b w w Rys. 3. Okno właściwości zadania Przygotuj parametry instalacji pl s. Każde zadanie ma swojego wykonawce. W oknie Transition Properties (pole Assign To:) przedstawiono sposób wyznaczenia wykonawcy dla zadania Przygotuj parametry instalacji (rys. 3). W przedstawionym przykładzie Workflow jest klasą reprezentującą wszystkie możliwe obliczenia w SZPO, funkcja getResourceWithExperience() na podstawie dwóch argumentów wyznacza wykonawcę zadania, gdzie odpowiednio: 1) Workflow.getResourcesForRole("SE") jest zbiorem wszystkich możliwych zasobów dla roli SE. 2) "SENIOR" jest wymaganą umiejętnością dla zasobu. Sieć Petriego modelującą systemy typu workflow nazywamy siecią typu WorkFlow (WFnet). Jej formalną definicję można znaleźć między innymi w [2]. W niniejszym opracowaniu przedstawimy jedynie dwa najważniejsze wymagania jakie musi spełniać taka sieć. 1) Sieć typu WorkFlow ma jedno miejsce wejściowe i (na schematach przedstawiane jest jako koło z trójkątem w środku), i jedno miejsce wyjściowe o (przedstawiane jest jako koło z kwadratem w środku). Znacznik umieszczony w miejscu wejściowym odpowiada przypadkowi jaki należy obsłużyć. Znacznik, który znajdzie się w miejscu wyjściowym oznacza przypadek, który został właśnie obsłużony. 2) W sieci WF-net nie występują tranzycje lub miejsca tzw. zwisające. Każde zadanie i każdy warunek musi być uwzględniony w przetwarzaniu przypadku. Innymi słowy, 95 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 S. Pieczonka każda tranzycja i każde miejsce powinno znaleźć się na jednej ze ścieżek prowadzących z miejsca wejściowego do miejsca wyjściowego. 3.2 Wzorce procesów w Aby sprostać wymaganiom jakie stawiane są Systemowi Zarządzania Produkcją Oprogramowania, system powinien pozwalać na modelowanie wszystkich podstawowych rodzajów procesów: sekwencyjnych, równoległych, warunkowych, z wyborem, z powtórzeniem. 1) Proces sekwencyjny. Ten rodzaj procesu używany jest zwykle do określenia relacji między zadaniami (rys. 4). Dwa zadania wykonywane są sekwencyjnie jeżeli Zadanie B wykonywane jest dopiero po zakończeniu wykonywania Zadania A. da .b w w Rys. 4. Sieć Petriego przedstawiająca proces sekwencyjny 2) Proces równoległy. Do modelowania sytuacji, w której kolejność wykonywania zadań nie jest istotna lub zadania te mogą być wykonywane jednocześnie, wykorzystywany jest proces równoległy (rys. 5). Po wykonaniu Zadania A, dwa zadania: Zadanie B i Zadanie C, muszą zostać wykonane, ale ich kolejność nie jest istotna. Zadanie D jest momentem synchronizacji wcześniej wykonywanych zadań, który musi wystąpić w tego rodzaju procesach. pl s. Rys. 5. Sieć Petriego przedstawiająca proces równoległy 3) Proces warunkowy. Proces ten jest używany w sytuacji gdy mają być wykonane inne zadania w zależności od warunków w jakich znajduje się sieć (parametrów przypadku). Na rys. 6 przedstawiono model takiego procesu warunkowego. Gdy znacznik znajduje się w miejscu wejściowym dokonuje się wyboru, które zadanie (zestaw zadań) ma zostać wykonane, czy Zadanie A (a następnie Zadanie C), czy też Zadanie B (a na96 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 System Zarządzania Produkcją Oprogramowania - Moduł Definiowania Procesów stępnie Zadanie D). W procesie warunkowym tylko jedno zadanie (zestaw zadań) będzie wykonane. w w w Rys. 6. Sieć Petriego przedstawiająca proces warunkowy da .b 4) Proces z wyborem. Proces ten jest kombinacją procesu równoległego i warunkowego (rys. 7). W odróżnieniu od procesu warunkowego możliwe jest wykonanie więcej niż jednego zadania. Mogą też być wykonane wszystkie zadania, tak jak to ma miejsce w procesie równoległym. Kolejność wykonywania wybranych zadań nie jest istotna, mogą również wykonywać się równocześnie. To jakie zadania mają być wykonane określa się na podstawie parametrów sieci w momencie wykonywania zadania poprzedzającego wybór (Zadanie A). Aby rozwiązać problem synchronizacji takiej konstrukcji, wprowadza się dodatkowe znaczniki generowane na potrzeby niewybranych zadań. Znaczniki takie powodują automatyczne lecz fikcyjne wykonanie niewybranych zadań, aż do momentu synchronizacji (Zadanie E). W rzeczywistości zadania takie nie są wykonywane. pl s. Rys. 7. Sieć Petriego przedstawiająca proces z wyborem 5) Proces z powtórzeniem. Gdy zachodzi potrzeba wykonania zadania wielokrotnie należy skorzystać z konstrukcji przedstawionej na rys. 8. Po wykonaniu Zadania B może ono 97 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008 Rozdział monografii: 'Bazy Danych: Rozwój metod i technologii', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2008 S. Pieczonka zostać powtórzone jeżeli zostanie wykonane Zadanie C. Powtarzanie jest przerywane w momencie wykonania Zadania D. w w Rys. 8. Sieć Petriego przedstawiająca proces z powtórzeniem w 4 Podsumowanie da .b W rozdziale opisano System Zarządzania Produkcją Oprogramowania i jego główny element tzw. Moduł Definiowania Procesów. Jako język opisu procesów wybrano sieci Petriego. Przedstawiono podstawowe wzorce procesów, które mogą być zrealizowane przez SZPO. Dzięki możliwości tworzenia procesów sekwencyjnych, równoległych, warunkowych, z wyborem i z powtórzeniem SZPO spełnia wymagania stawiane tego rodzaju systemom. Dodatkowe możliwości, takie jak definiowanie formularzy i automatyczne generowanie schematu bazy danych z opisu procesów i formularzy, pozwalają zaliczyć SZPO do systemów typu RAD (Rapid Application Development) i wykorzystać jako narzędzie nie tylko do zarządzania produkcją oprogramowania ale również jako zintegrowane środowisko do tworzenia i uruchamiania dowolnego typu programów. 1. 2. 3. 4. 5. 6. pl s. Literatura Petri C.A. : Kommunikation mit Automaten. PhD thesis. Institut fur instrumentelle Mathematik, Bonn, 1962. Van der Aalst. W. M. P.:The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers, 8(1):21–66, 1998. Van der Aalst W.M.P.: Putting Petri nets to work in industry. Computers in Industry, 25(1):45– 54, 1994. Van der Aalst W.M.P.: A class of Petri net for modeling and analyzing business processes. Computing Science Reports 95/26, Eindhoven University of Technology, Eindhoven, 1995. Van der Aalst W.M.P.: Structural Characterizations of Sound Workflow Nets. Computing Science Reports 96/23, Eindhoven University of Technology, Eindhoven, 1996. Van der Aalst W.M.P.: Three Good reasons for Using a Petri-net-based Workflow Management System. In S. Navathe and T. Wakayama, editors, Proceedings of the International Working Conference on Information and Process Integration in Enterprises (IPIC’96), pages 179–201, Camebridge, Massachusetts, Nov 1996. 98 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2008