Rok 2020 zwiększył zapotrzebowanie na projekty IT, a dobrze przeprowadzona analiza biznesowa to pierwszy krok na drodze do zakończenia projektu rozwoju oprogramowania sukcesem. Jak sprawić, aby całość procesu była zrozumiała, a rozwijany system spełniał oczekiwania? Jaki język będzie zrozumiały dla wszystkich? Od czego zacząć, jeśli nie mamy wiedzy w zakresie modelowania procesów? W mojej codziennej pracy analityka wykorzystuję diagramy UML (Unified Modeling Language) i BPMN (Business Process Modeling Notation). W dzisiejszym artykule przyjrzymy się, w jaki sposób zaprojektować proces przy użyciu diagramów UML i BPMN. Pozwoli to odpowiedzieć na pozornie proste pytanie: jaki jest cel realizowanego projektu rozwoju oprogramowania?

Określ cel projektu, korzystając z diagramów

Tworząc analizę dla projektu, niezbędne jest opisanie w jednym miejscu, w sposób jasny, czytelny i jednoznaczny, co jest celem projektu. Teoretycznie nic prostszego – przecież na cyklu warsztatów biznesowych został ustalony zakres projektu oraz spis pożądanych funkcjonalności, jakie powinien posiadać rozwijany system. Mamy notatki ze spotkań, dokumentację fotograficzną z opisów flipchartów… Wydaje się, że wystarczy wszystko złączyć i skleić w jedno i przesłać dokument do akceptacji klienta. Ale nagle podczas czytania dokumentu okazuje się, że każdy ze spotkania wyniósł coś innego, inaczej zrozumiał. Z pomocą przychodzą diagramy UML i BPMN.

Diagramy UML i BPMN – uniwersalny język?

Dzieje się tak dlatego, że każdy idzie na spotkanie z konkretnym celem i skupia się na tym, żeby został on osiągnięty. Napięty harmonogram projektu najczęściej nie pozwala na wywrócenie założeń do góry nogami, a zespół programistów czeka w przedbiegach gotowy do programowania i trzeba podejmować kierunkowe decyzje. Jak uniknąć takich sytuacji w projekcie? Czy jest jakiś uniwersalny język, który pozwoli każdemu zrocumieć, jak ma funkcjonować projektowany system, jakie elementy powinien zawierać? Do modelowania procesów z powodzeniem wykorzystywane diagramy, a metodologie UML i BPMN są obecnie stosowane nie tylko przez analityków biznesowych.

Czytaj także:

Łatwiejsze podejmowanie decyzji z pomocą diagramów UML i BPMN

Często zdarza się tak, że przy podejmowaniu decyzji, nie tylko w projektach IT, trzeba wziąć pod uwagę mnóstwo czynników. Mnożą się pytania: „Pójść w tę czy w drugą stronę?” albo: „Co się stanie, jeśli…? Dodatkowo, im większa presja czasu, tym większe ryzyko przegapienia kluczowych informacji. W takich sytuacjach pomocne są metody oparte na drzewach decyzyjnych, wykorzystywane z powodzeniem także przez przedstawicieli biznesu. Jeśli chodzi o procesy biznesowe, diagramy UML i BPMN pozwalają określić, jak ma przebiegać proces i jakie może mieć skutki w określonych przypadkach. Przy użyciu wspomnianych diagramów można stworzyć kilka wersji procesu i pokazywać na nich różne możliwości jego przebiegu.

Analiza biznesowa z wykorzystaniem diagramów UML i BPMN

Choć diagramy UML i BPMN znajdują coraz szersze użycie także przez użytkowników biznesowych, są sytuacje, w których warto wspomóc się wiedzą specjalistów w zakresie modelowania procesów. Analitycy na co dzień korzystają z diagramów UML i BPMN, mają więc paktyczną wiedzę, a pomoc analityka biznesowego jest nieoceniona na każdym etapie trwania projektu. Główne korzyści to:

  • określenie, czy efekt po wdrożeniu, proponowany proces, spełnia potrzebę biznesową
  • stosowanie optymalnych rozwiązań,
  • uniknięcie długu technologicznego,
  • lepsze ustalenie priorytetów.

System bez analizy jest jak dom bez projektu

Tworząc czy rozwijając system, warto skorzystać z pomocy analityka biznesowego posiadającego wiedzę i doświadczenie w zakresie modelowania procesów. Często tłumaczę to w ten sposób: nie zaczynamy budowy domu bez projektu. Podobnie jest, gdy ktoś próbuje tworzyć system informatyczny bez przemyślenia, do czego powinien on służyć. To jest chyba esencja pracy analityka biznesowego, a analiza biznesowa to ważny element projektów rozwoju oprogramowania.

brak analizy biznesowej

 

Przeczytaj także: Siedem grzechów głównych w analizie biznesowej

Język UML – ważne pojęcia

Zanim przejdziemy do opisu możliwości diagramów UML, przytoczę kilka ważych pojęć dotyczących języka UML.

UML to ujednolicony język modelowania, określany również jako język półformalny. Metodologia UML jest stosowana w modelowaniu różnego rodzaju systemów.

Diagram klas (UML class diagram)

Diagram klas w języku UML ilustruje strukturę systemu, pokazuje typy obiektów oraz związki (dependency) między nimi. Klasę reprezentuje prostokąt.

Diagram sekwencji (UML sequence diagram)

Diagram sekwencji w UML służy do zobrazowania interakcji pomiędzy obiektami oraz komunikatów pomiędzy nimi.

Diagram komponentów UML component diagram)

Diagram ten w UML służy do pokazania, w jaki sposób zorganizowane są komponenty systemu i jakie są zależności pomiędzy poszczególnymi komponentami.

Diagram wdrożeniowy (UML deployment diagram)

W UML diagram wdrożenia pozwala przedstawić powiązania pomiędzy sprzętem a oprogramowaniem. Sprzęty (hardware) są przedstawione jako węzły, a jednostki oprogramowania reprezentują artefakty. Te diagramy UML są stosowane w przypadku wdrożeń skomplikowanych systemów.

Diagramy w UML

Podejścia do prowadzenia analizy są różne w zależności od organizacji. Istnieje jednak zbiór dobrych praktyk, które sprawdzą się w każdej firmie. Nie spotkałam się przypadkiem, w którym standardem byłoby wykorzystywanie wszystkich diagramów. Dobrą praktyką przy realizacji projektów jest wprowadzenie konwencji i ustalenie standardów dokumentacji. Ścieżka najbardziej pożądana to przejście od wymagań użytkowników do zakresu realizacji w poszczególnym systemie (lub kilku systemach, modułach systemu), czyli np. w przypadku systemów wewnętrznych danej firmy można posłużyć się ścieżką: UML

wymagania biznesowe >> wymagania systemowe >> przypadki użycia z rozpisaniem scenariuszy

Przypadki użycia sprawdzają się świetnie do określenia zakresu projektu. Pozwalają też nakreślić funkcjonalności (i podzielić odpowiedzialności) między poszczególnymi departamentami czy zespołami. Na diagramie UML poniżej widać, co wchodzi w zakres systemu: „Przekazanie danych w formacie .xml” oraz utworzenie zestawienia opłat). Jest też informacja, który departament wykorzystuje daną funkcję oraz co jest poza systemem i jaki jest podział odpowiedzialności. W przypadku dużych systemów możemy tu zaznaczyć departamenty biznesowe, które zgłaszały wymagania funkcjonalnie (czyli są naszymi interesariuszami). Finalnie po napisaniu oprogramowania do funkcjonalności użytkownicy tego departamentu będą akceptować i odbierać zadanie.

UML Business Process

UML – przedstawienie zakresu systemu

Diagramy BPMN

W przypadku projektów IT, wiele zależy od tego, dla kogo projektowany jest system. Dla systemów, gdzie klientem końcowym jest klient zewnętrzny, możemy odnieść się do zaprojektowanych ekranów:

wymagania biznesowe

W takim przypadku rolą analityka jest skupienie się na tym, by właściwie (spójnie, jednoznacznie i czytelnie) przełożyć to, co zostało spisane w wymaganiach biznesowych i ekranach, na akcje wykonane w systemie. Moim ulubionym narzędziem na tym etapie projektu jest Business Process Modeling Notation (BPMN). Rozrysowuję dzięki niemu proces i opisuję:

  • warunki wejścia do procesu,
  • zakres danych wyświetlonych na poszczególnych ekranach,
  • wszystkie rozgałęzienia procesu.

Interpretacja diagramów BPMN – symbole

Taki diagram pomaga zobrazować całość przebiegu procesu. Wykorzystuję go przy warsztatach z przedstawicielami biznesu dla potwierdzenia wymagań. Zrozumienie przebiegu procesu na podstawie diagramu nie wymaga znajomości metodologii i jest w dużej mierze intuicyjne. Zgodnie z metodologią:

  • prostokąty – to akcje wykonywane w systemie lub na żądanie użytkownika,
  • romby – to rozgałęzienia procesu na osobne przepływy,
  • koła to zdarzenia mające wpływ na proces (np. różnego rodzaju błędy).

Widzimy, że na prostokątach coś się dzieje. Romby rozdzielają dwie strzałki, a kółkami zaczynam i kończę modelowanie procesu. Dzięki takiemu diagramowi widać nie tylko pozytywną ścieżkę procesu, ale także momenty, w których może wystąpić błąd (np. przy komunikacji między systemami).

Przykładowy proces poniżej:

modelowanie procesów BPMN

Proces zakupu przez internet – (BPMN proces)

Diagram BPMN cechują intuicyjna czytelność i brak szczegółów – jest to zarówno zaletą, jak i wadą tego diagramu, ponieważ nie wnosi żadnych konkretnych informacji.

Mając ustalony biznesowo proces, spotykamy się w gronie analityków lub developerów, by ustalić szczegóły. Najczęściej w projektach system nie jest budowany od początku, tylko dodajemy nowe funkcjonalności, które powinny być dopasowane do istniejącej już logiki systemu. Dla rozpisania szczegółów pomocny jest diagram sekwencji. Opisujemy na nim w szczegółach, jakie systemy biorą udział w procesie, oraz podajemy nazwy API, a także sposób ich wywołania. To jest już diagram docelowy projektu, który może być wykorzystywany jako dokumentacja techniczna systemu.

Model BPMN - przykładowy proces

Model BPMN – przykładowy proces

Projekty UML i BPMN – podsumowanie

Rok 2020 zwiększył zapotrzebowanie na projekty transformacji cyfrowej, a analiza biznesowa to dziś ważny element projektów IT. Praca analityka biznesowego to ciągłe budowanie porozumienia między zespołami projektowymi, szukanie wspólnego języka dla osób pracujących nad rozwojem oprogramowania i biznesem. Warto wykorzystać w tym celu sprawdzone narzędzia, a takimi są bez wątpienia opisane przeze mnie diagramy UML i BPMN. Korzystam z diagramów w codziennej pracy i pozwalają mi one znaleźć niezbędny w IT wspólny język dla zespołów projektowych i biznesu. Dzięki wykorzystaniu diagramów UML i BPMN zarówno analitycy biznesowi, jak i developerzy oraz klienci nie mają wątpliwości, co jest celem realizowanego projektu.

Rozwijasz system informatyczny? Pracujesz nad projektem rozwoju oprogramowania i ciekawi cię temat diagramów oraz modele BPMN? Chcesz zgłębić modelowanie procesów biznesowych BPMN? Zachęcam do lektury artykułu, w którym piszę więcej o ich wykorzystaniu: Powrót do pisma obrazkowego zastosowanie BPMN w praktyce.

 

Autorem wpisu jest:
Senior Business Analyst

Od 8 lat w analizie biznesowej i systemowej, głównie w branży finansowej – wspiera banki, firmy leasingowe i ubezpieczenia. ​W ramach wdrażanych projektów nieodmiennie i bez ustanku poszukuje logiki i sensu. Prywatnie nie biega.

Dodaj komentarz

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.