Edytor do modelowania przepływów biznesowych
Transkrypt
Edytor do modelowania przepływów biznesowych
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Zuzanna Polberg Nr albumu: 201084 Edytor do modelowania przepływów biznesowych Praca licencjacka na kierunku INFORMATYKA Praca wykonana pod kierunkiem Agaty Janowskiej. Czerwiec 2006 Oświadczenie kierujacego ˛ praca˛ Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje si˛e do przedstawienia jej w post˛epowaniu o nadanie tytułu zawodowego. Data Podpis kierujacego ˛ praca˛ Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiazuj ˛ acymi ˛ przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur zwiazanych ˛ z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załaczon ˛ a˛ wersja˛ elektroniczna.˛ Data Podpis autora (autorów) pracy Streszczenie Pierwsza cz˛eść zawiera ogólny opis stworzonego produktu. Druga˛ cz˛eść stanowi mój wkład pracy w powstanie aplikacji. Prac˛e nad produktem podzieliłam na trzy cz˛eści. Pierwsza z nich opisuje przeglad ˛ i analiz˛e dost˛epnych narz˛edzi do tworzenia edytorów w środowisku Eclipse. Druga to wybór odpowiedniego narz˛edzia oraz opis cz˛eści implementacji napisanej przeze mnie. W końcu ostatnia cz˛eść opisuje stworzone przeze mnie dokumenty oraz prezentacje. Słowa kluczowe przepływ biznesowy Dziedzina pracy (kody wg programu Socrates-Erasmus) 11.3 Informatyka Klasyfikacja tematyczna D.2.11 Software Architectures J.1 Administrative data processing Tytuł pracy w j˛ezyku angielskim Business process data flow application. Spis treści 1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Podstawowe poj˛ecia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Definicje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Modelowanie przepływów biznesowych . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 3. Inne sposoby realizacji obsługi przepływów biznesowych . . . . . . . . . . . . . . . . 9 3.1. Opis werbalny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Opis tekstowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3. R˛eczne modelowanie przepływów biznesowych . . . . . . . . . . . . . . . . . . . . 9 3.4. Realizacja modelowania przepływów biznesowych przez wyspecjalizowane w tej dziedzinie firmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5. Inne narz˛edzia informatyczne do modelowania przepływów biznesowych . . . . . . 10 4. Opis produktu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5. Dokumentacja użytkowa i opis implementacji . . . . . . . . . . . . . . . . . . . . . . . 13 6. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7. Wkład w powstanie aplikacji . . . . . . . . . . . . 7.1. Wprowadzenie . . . . . . . . . . . . . . . . . 7.2. Dokumenty i prezentacje . . . . . . . . . . . . 7.3. Analiza możliwych rozwiazań ˛ . . . . . . . . . 7.4. Implementacja . . . . . . . . . . . . . . . . . . 7.4.1. Pakiet figures poza klasa˛ HeadingFigure 7.4.2. Magazyny . . . . . . . . . . . . . . . . 17 17 17 18 18 18 18 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rozdział 1 Wprowadzenie Edytor do modelowania przepływów biznesowych jest narz˛edziem usprawniajacym ˛ prac˛e firm oraz innych jednostek, dla których można zdefiniować jakiekolwiek zależności pomi˛edzy ich poszczególnymi elementami. System ’Process Data Flow’ pomaga znaleźć i sprecyzować te zależności. Pozwala na zdefiniowanie zadań oraz ich kosztów i na tej podstawie analizuje działalność firmy pod wybranymi przez użytkownika aspektami. Pierwsza cz˛eść pracy składa si˛e z sześciu rozdziałów. Pierwszy rozdział stanowi krótkie wprowadzenie doprzedstawionego tematu. W rozdziale 2. zdefiniowano podstawowe poj˛ecia zwiazane ˛ z modelowaniem przepływów biznesowych oraz z systemem ’Process Data Flow’. Rozdział 3. przedstawia inne, konkurencyjne dla naszego, sposoby modelowania przepływów biznesowych. W rozdziale 4. znajduje si˛e krótki opis stworzonego przez nas produktu, natomiast w kolejnym rozdziale opisana jest dost˛epna dla niego dokumentacja użytkowa. Ostatni rozdział zawiera przemyślenia dotyczace ˛ korzyści, jakie może przynieść stosowanie naszego produktu oraz sposobów, w jakie można go dalej rozszerzać. 5 Rozdział 2 Podstawowe poj˛ecia Podstawowym poj˛eciem z dziedziny modelowania i analizy przepływów biznesowych jest bez watpienia ˛ PRZEPŁYW BIZNESOWY. PRZEPŁYW BIZNESOWY jest to zbiór przepływów danych pomi˛edzy parami elementów modelowanej jednostki. Jest to zbiór wzajemnie powiazanych ˛ elementarnych procesów zachodzacych ˛ w danej jednostce. Zbiór ten jest realizowany w celu osiagni˛ ˛ ecia pewnego celu biznesowego. Podczas realizacji przepływu biznesowego zadania lub informacje sa˛ przesyłane od jednego uczestnika do kolejnego zgodnie z właściwymi dla danej jedostki regułami post˛epowania. 2.1. Definicje • PDF (Process Data Flow) niniejszy projekt, narz˛edzie do generowania i analizowania przepływów danych. • JPEG (Joint Process Experts Group) zespół realizujacy ˛ ten projekt w składzie (Zuzanna Polberg, Joanna Zych, Paweł Maćkowski, Mikołaj Moszczyński). 2.2. Modelowanie przepływów biznesowych Modelowanie przepływów biznesowych polega na usystematyzowaniu procesów zachodzacych ˛ w modelowanym przedsi˛ebiorstwie w celu optymalizacji przebiegu ich realizacji. Głównym efektem stworzenia dobrego modelu przepływów biznesowych jest możliwość realizacji strategii firmy w sposób jak najszybszy i jak najbardziej powtarzalny. W obecnym okresie szybkiego rozwoju gospodarczego modelowanie przepływów biznesowych staje si˛e bardzo istotnym zagadnieniem. Procesy biznesowe firmy powinny zmieniać si˛e równie szybko jak otaczajace ˛ firm˛e realia gospodarcze. Z powodu rozwoju tej dziedziny tworzone modele sa˛ coraz bardziej rozbudowane i coraz bardziej skomplikowane. Niezb˛ednym wi˛ec staje si˛e profesjonalne narz˛edzie do tworzenia takich modeli. Modelowanie przepływów biznesowych zachodzacych ˛ w dowolnym przedsi˛ebiorstwie staje si˛e w dzisiejszych czasach niezb˛edne. Firmy, które nie modeluja˛ na bieżaco ˛ zachodzacych ˛ w nich procesów staja˛ si˛e niekonkurencyjne z powodu niezadowalajacego ˛ stosunku efektów pracy do poniesionych kosztów ich wytworzenia. Modelowanie przepływów biznesowych ma za zadanie ułatwić odpowiedzi na jakże cz˛esto stawiane przez przedsi˛ebiorców pytania: 7 • W jaki sposób działa moja firma? • Jakie procedury sa˛ realizowane przez moja firm˛e? • Czy te procedury sa˛ przeprowadzane w sposób optymalny? • Czy można poprawić efektywność przeprowadzanych procedur? Modelowanie przepływów biznesowych pomaga zrozumieć sposób, w jaki funkcjonuje przedsi˛ebiorstwo. Pozwala przeanalizować realizowane przez niego zadania: zarówno w całości jak i jego poszczególne etapy. Wymienione powyżej cechy pozwalaja˛ nam na łatwe dostrzeżenie celu, jaki stawia si˛e przed efektami zastosowania modelowania przepływów biznesowych. Celem tym jest niewatpliwie ˛ uzyskanie sposobu na redukcj˛e kosztów działań, usprawnienie skomplikowanych procedur oraz maksymalne wykorzystanie potencjału pracowników. 8 Rozdział 3 Inne sposoby realizacji obsługi przepływów biznesowych 3.1. Opis werbalny Jest to bez watpienia ˛ najprostszy sposób opisu przepływów biznesowych. Polega on na ustnym raportowaniu o działalności firmy. Jest to sposób bardzo nieprecyzyjny, a stosowanie go prowadzi do wielu dwuznaczności. Przekazywane informacje nie sa˛ trwałe, wi˛ec nie moga˛ być wykorzystane ponownie. Brak jakichkolwiek możliwości analiz. 3.2. Opis tekstowy Od opisu werbalnego różni si˛e jedynie tym, że jest przekazywany w sposób pisemny. Dzi˛eki temu można wprowadzić archiwum raportów i wykorzystywać je w późniejszej działalności firmy. Jednak, tak samo jak przy zastosowaniu sposobu opisanego w podpunkcie 2.1., wyst˛epuje tu wiele nieprecyzyjności i dwuznaczności. R˛eczne analizowanie danych na podstawie materiałów składowanych w archiwum jest trudne, bardzo ograniczone i w żaden sposób niedajace ˛ si˛e zautomatyzować. 3.3. R˛eczne modelowanie przepływów biznesowych Sposób ten polega na odr˛ecznym tworzeniu modelów przepływów biznesowych. Jest zdecydowanie lepszy i bardziej precyzyjny od dwóch poprzednich sposobów, jednak przy wi˛ekszych modelach staje si˛e bardzo ucia˛żliwy. R˛eczne rysowanie jest żmudne, trudno też wprowadzić jakakolwiek ˛ unifikacj˛e takich modeli. Analizowanie powstałych modeli jest trudne, a przy wi˛ekszych modelach bardzo ograniczone ze wzgl˛edu na liczb˛e możliwych do przeanalizowania aspektów. 3.4. Realizacja modelowania przepływów biznesowych przez wyspecjalizowane w tej dziedzinie firmy Istnieje wiele firm specjalizujacych ˛ si˛e w usłudze modelowania przepływów biznesowych w przedsi˛ebiorstwach. Firmy te zatrudniaja˛ osoby z dużym doświadczeniem, jednak osoby te nie znaja˛ funkcjonowania konkretnego przedsi˛ebiorstwa a za tego typu usługi żadaj ˛ a˛ pot˛eżnego wynagrodzenia. 9 3.5. Inne narz˛edzia informatyczne do modelowania przepływów biznesowych Na rynku istnieje wiele programów do definiowania diagramów przepływów danych, jednak tego typu programy nie oferuja˛ szerokiej możliwości analizy tych przepływów, nie udost˛epniaja˛ tych danych publicznie, nie przechowuja˛ centralnej bazy danych oraz całości modeli przepływów. Dodatkowo jest to w wi˛ekszości przypadków oprogramowanie płatne. 10 Rozdział 4 Opis produktu Standardem w dużych przedsi˛ebiorstwach stał si˛e podział firmy na pomniejsze jednostki (np. departamenty), które moga˛ dzielić si˛e na jeszcze mniejsze (np. wydziały) itd. Każda z tych jednostek odpowiedzialna jest za pewien obszar i w mniejszym badź ˛ wi˛ekszym stopniu współpracuje z innymi jednostkami. Zależności pomi˛edzy tymi jednostkami moga˛ być różne. Za podział obowiazków ˛ w firmie oraz wydatki przedsi˛ebiorstwa odpowiedzialne jest kierownictwo. Jednak w sytuacji gdy firma liczy sobie kilka tysi˛ecy pracowników, trudnościa˛ staje si˛e zarzadzanie ˛ pracownikami oraz wydatkami na poszczególne jednostki. Duże przedsi˛ebiorstwa potrzebuja˛ wi˛ec produktu, który w łatwy sposób ułatwi zarzadzanie ˛ nie tylko wydatkami ale i przepływem informacji, zasobów, pracy. Istnieja˛ firmy specjalizujace ˛ si˛e tego typu działalnościa˛ jednak sa˛ one bardzo drogie i inwestycja ta może stać si˛e nie opłacalna. Nasz program pomaga jawnie sprecyzować wymienione wcześniej zależności oraz w łatwy sposób pamaga wyliczać zdefiniowane charakterystyki. Naszym celem nie sa˛ jedynie duże przedsi˛ebiorstwa. Przykładowo, program nasz pozwoli kilkuosobowej grupie informatyków określić zadania, zasoby oraz czasy poszczególnych osób i po określeniu przepływu prac pozwolić programowi wygenerować całkowity czas, koszt projektu oraz łatwo zsynchronizować ich prac˛e. Nasza aplikacja pomaga zarzadzać ˛ przepływami informacji w firmie, mianowicie: tworzeniem przepływów, określaniem zależności pomi˛edzy procesami oraz tworzeniem zbiorczych raportów na podstawie tych diagramów. Korzyści biznesowe Zamawiajacego ˛ korzystajacego ˛ z produktu ’PDF’: ˛ w firmie • Usprawnienie współpracy wśród pracowników pracujacych • Jasne określenie zadań z firmie • Sformalizowanie poj˛ecia przepływu informacji w obszarze zainteresowań firmy • Jawne zdefiniowanie danych oraz obiektów pomi˛edzy którymi dane te przepływaja˛ • Jawne określenie czynników zwiazanych ˛ z przepływem tych danych od jakich ten przepływ zależy, oraz zwiazane ˛ z tym przepływem charakterystyki • Automatyczne wyliczanie charakterystyk dla całego procesu Dla osoby zarzadzaj ˛ acej ˛ zespołem badź ˛ wi˛eksza˛ firma˛ program ’PDF’ b˛edzie w stanie szybko wyliczyć koszty, określić czas czy odpowiedzieć na pytanie czy zdefiniowany dla każdego pracownika harmonogram pracy jest efektywny. 11 Rozdział 5 Dokumentacja użytkowa i opis implementacji Program przygotowany jest dla dwóch systemów operacyjnych: Windows oraz Linux. Jest on napisany jako plugin do środowiska Eclipse. Do jego działania potrzebne jest wi˛ec zainstalowanie tego środowiska a także wirtualnej maszyny Javy. Dost˛epna jest szeroka dokumentacja naszej aplikacji, w skład której wchodza˛ nast˛epujace ˛ dokumenty: • Vision • Software Development Plan • Business Use Cases • Software Architecture Document • Use Cases • Acceptance Plan • Test Plan • Release Raport Poza tym przygotowana jest pełna dokumentacja javadoc, instrukcja zainstalowania bazy danych oraz podr˛ecznik użytkownika. 13 Rozdział 6 Podsumowanie Dzi˛eki korzystaniu z programu ’PDF’: • Firma b˛edzie mogła zrezygnować z cz˛eści prowadzonej dokumentacji • Codzienna praca wielu pracowników zostanie ułatwiona poprzez zautomatyzowanie pewnych procedur • Zdefiniuje si˛e jawny podział obowiazków ˛ pomi˛edzy pracowników, ich obowiazki ˛ stana˛ si˛e kontrolowane a efekty ich pracy b˛eda˛ dokumentowane • Dzi˛eki konfrontacji zdefiniowanego wcześniej procesu z faktycznym stanem, b˛edzie można sprawniej określić kolejne projekty i korygujac ˛ bł˛edy bardziej precyzyjnie przewidywać efekty kolejnych zadań • Zwi˛ekszona zostanie wydajność pracy zatrudnionych osób • Zwi˛ekszona zostanie efektywność przeprowadzanych procesów biznesowych oraz ułatwione zostanie wprowadzanie w nich zmian, a co za tym idzie zwi˛ekszy si˛e zdolność adaptacji firmy do zachodzacych ˛ zmian oraz zmniejszony zostanie koszt wprowadzania tych zmian • Firma b˛edzie bardziej konkurencyjna na rynku W przyszłości do naszej aplikacji łatwo b˛edzie można dodać nowe funkcjonalności i dzi˛eki temu uzyskać narz˛edzie, które b˛edzie można wykorzystać w nast˛epujacych ˛ dziedzinach: • tworzenie prognoz finansowych • prognozowanie zmian na rynkach finansowych • prognozowanie zachowań na giełdzie papierów wartościowych • prognozowanie optymalnych inwestycji pieni˛eżnych • prognozowanie zachowań konsumentów • prognozowanie trendów w gospodarce • pomoc w podjejmowaniu właściwych decyzji w takich dziedzinach jak finanse, zarzadzanie ˛ i marketing • wyliczanie ryzyka inwestycji 15 Rozdział 7 Wkład w powstanie aplikacji 7.1. Wprowadzenie Etapy mojej pracy nad projektem: • wybór narz˛edzia do stworzenia graficznego edytora – analiza dost˛epnych narz˛edzi – wybór odpowiedniego narz˛edzia – wnikliwa analiza dost˛epnej dokumentacji oraz wszelkich innych materiałów dotyczacych ˛ interesujacego ˛ mnie narz˛edzia • implementacja klas interfejsu – stworzenie prototypu interfejsu – finalny pakiet Figures poza klasa˛ HeadingFigure – pomysł na nowa˛ funkcjonalność aplikacji - obsług˛e magazynów oraz jej pełna implementacja 7.2. Dokumenty i prezentacje W trakcie tworzenia produktu powstało wiele dokumentów. Poniżej znajduje si˛e lista dokumentów napisanych przeze mnie: • Business Use Cases • Software Architecture Document (fragmenty wersji pierwszej + prawie cała wersja ostateczna) • Vision (poprawki) • Końcowy opis produktu Podczas zaj˛eć wspólnie przygotowałam oraz pomogłam wygłosić prezentacj˛e na temat CVS’a (Concurrent Versions System). 17 7.3. Analiza możliwych rozwiaza ˛ ń Moja˛ prac˛e nad interfejsem graficznym edytora można podzielić na trzy etapy: • przeglad ˛ dost˛epnych narz˛edzi do tworzenia takiego interfejsu • pierwszy prototypowy interfejs napisany za pomoca˛ biblioteki SWT (Standard Widget Toolkit) • prototyp interfejsu napisanego w GEF’ie (Graphical Editor Framework) • cz˛eściowa implementacja końcowego interfejsu Swoja˛ prac˛e na projektem zacz˛ełam od poznawania narz˛edzi do pisania interfejsów graficznych w środowisku Eclipse. Na poczatku ˛ zaj˛ełam si˛e biblioteka˛ SWT. Nast˛epnie przeszłam do narz˛edzia o nazwie GEF. Zapoznałam si˛e z dost˛epna˛ dla niego dokumentacja˛ i na podstawie jej oraz innych znalezionych materiałów napisałam pierwsza,˛ prototypowa˛ wersj˛e interfejsu. 7.4. Implementacja Od poczatku ˛ powstawania projektu brałam udział w tworzeniu interfejsu graficznego. Napisałam kilka klas w całości oraz fragmenty wielu innych, w tym mi˛edzy innymi: • cz˛eść pakietu model • cz˛eść pakietu editparts 7.4.1. Pakiet figures poza klasa˛ HeadingFigure Jest to cz˛eść projektu odpowiedzialna za wyglad ˛ elementów na planszy. 7.4.2. Magazyny Dodałam do projektu nowa˛ funkcjonalność - obsług˛e magazynów. Magazyny sa˛ to elementy, w których można składować dowolne towary. Do magazynów można dostarczać towary, klienci zaś moga˛ z magazynów takie towary zamawiać. Napisałam pełna˛ obsług˛e tej funkcjonalności: poczynajac ˛ od odpowiednich figur i elementów w modelu na funkcjach obsługujacych ˛ zamówienia klientów i dostawy kończac. ˛ 18