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

Podobne dokumenty