Jedną z najważniejszych rzeczy w procesie produkcji oprogramowania jest właściwe zrozumienie wymagań w zakresie tworzonego systemu. Naturalny język opisywania potrzeb interesariuszy może nie być precyzyjny i jednoznaczny. Trudno z jego pomocą opisać wszystkie powiązania, wpływ jednej części systemu na pozostałe, tak aby było to zrozumiałe zarówno dla osób nietechnicznych, jak i zespołu wytwarzającego oprogramowanie. Chcąc ułatwić komunikację, zadbać o właściwe zrozumienie i zaprojektować wszystkie interakcje w systemie, podczas opisywania systemu używamy języka UML (Unified Modelling Language). W artykule postaram się nakreślić podstawy UML i przekonać, że modelowanie może ułatwić zrozumienie i zobrazowanie dowolnych procesów.

UML dla każdego

Notacja UML umożliwia opisanie założeń, jak i dokumentowanie istniejącego systemu w sposób graficzny w postaci dedykowanych diagramów. Diagramy te pozwalają na formalne opisywanie i modelowanie struktur czy procesów w sposób zrozumiały zarówno dla zespołu technicznego, jak i interesariuszy.

Diagramy UML dzielimy na te, które opisują strukturę, jak np. diagram klas czy komponentów, oraz diagramy, za pomocą których modelujemy zachowanie systemu – jak np. diagram przypadków użycia, aktywności czy diagram sekwencji.

Spróbuję w sposób praktyczny przybliżyć świat UML na podstawie bliskiego JCommerce przykładu, a mianowicie outsourcingu pracowników oraz całego procesu od momentu zapytania o danego specjalistę do momentu rozpoczęcia współpracy. Aby przybliżyć podstawy UML (a tym samym zachęcić do stosowania i czytania diagramów UML), zastosuję uproszczoną formę zapisu tego procesu.

Przeczytaj także: UML i BPMN – narzędzia pracy analityczki i analityka

Outsourcing specjalisty IT – UML w praktyce

Wyobraźmy sobie, że dana firma rozwija system finansowy i jest zainteresowana wynajmem pracownika specjalizującego się w danej dziedzinie (programista, tester, analityk), posiadającego określone kompetencje. Do wyspecyfikowania cech, które będą istotne, może posłużyć diagram klas, który opisze pracownika oraz jego kompetencje.

Diagram klas

Diagram klas obrazuje zbiór klas, interfejsów oraz zależności pomiędzy nimi. Pozwala na szczegółowy opis klas ze zwróceniem uwagi na dostępne atrybuty i operacje.

UML diagram klas

Pomiędzy klasami mogą występować relacje jednokierunkowe lub dwukierunkowe, jak dziedziczenie, zależności pomiędzy klasami czy przypisanie elementów jednej klasy do drugiej.

W naszym przykładzie każdy pracownik ma przypisane stanowisko należące do danego działu. Dodatkowo pracownik posiada wiele kompetencji określonych przez klasę Kompetencje.

Mówiąc o procesie, chcemy zidentyfikować osoby biorące w nim udział. W notacji UML takie osoby są nazywane aktorami. Aktor jest rolą, którą użytkownik pełni w stosunku do systemu oraz przypadków użycia – może nim być człowiek, urządzenie lub inny system. Mając określonych aktorów, zaczynamy modelowanie z wykorzystaniem diagramu przypadków użycia.

Diagram przypadków użycia

Diagram ten odgrywa najważniejszą rolę w procesie projektowania systemu. Opisuje on wymagania systemu oraz identyfikuje funkcjonalności, jakie zawiera.

Wymagania funkcjonalne systemu definiujemy za pomocą przypadków użycia, które w sposób graficzny reprezentują te wymagania. Przypadki użycia (PU) nazywają daną funkcjonalność systemu, opisują zależności, w których dany przypadek wystąpi, oraz opisują scenariusze kolejno wykonywanych czynności służących do zrealizowania danego PU. Przykładowo scenariusze opisujące PU są podstawą dla tworzenia przypadków testowych danego zakresu aplikacji.

UML - diagram przypadków użycia

Jak wyglądałoby zastosowanie modelu przypadków użycia w kontekście outsourcingu? Model w jasny sposób prezentuje, który aktor (klient, pracownik działu sprzedaży, programista, manager) jest związany z daną częścią procesu. Klient zgłasza zapotrzebowanie na danego specjalistę, osoba z działu sprzedaży weryfikuje, czy istnieje pracownik o wymaganych kompetencjach, i potwierdza jego dostępność z przełożonym. Po znalezieniu konkretnej osoby może (ale nie musi) odbyć się rozmowa techniczna weryfikująca umiejętności kandydata.

–> include (związek zawierania) rozszerza funkcjonalność bazowego PU. W naszym przypadku oznacza, że funkcjonalność zamówienia specjalisty zawsze wiąże się z weryfikacją dostępnych pracowników.

<– extend (związek rozszerzania) wskazuje, że dany PU opcjonalnie rozszerza funkcjonalność PU bazowego. W omawianym przykładzie weryfikacja techniczna nie jest częścią konieczną procesu rekrutacji.

Diagram sekwencji

Ten sam proces można zamodelować, biorąc pod uwagę przepływy pomiędzy aktorami/systemami z uwzględnieniem czasu oraz komunikatów (interakcji).

Służy do prezentowania interakcji pomiędzy obiektami wraz z uwzględnieniem w czasie komunikatów, jakie są przesyłane pomiędzy nimi. Obiektami wchodzącymi w interakcje mogą być aktorzy oraz obiekty wewnętrzne lub zewnętrzne (systemy) komunikujące się pomiędzy sobą.

Poniżej przedstawiony został uproszczony przebieg procesu zamówienia oraz pozytywnej weryfikacji pracownika zakończony podjęciem decyzji o współpracy z kandydatem.

UML - diagram sekwencji

Po zapytaniu klienta o specjalistę o danych kompetencjach pracownik działu sprzedaży weryfikuje, czy istnieje taki pracownik, używając do tego systemu ewidencji pracowników (JMatrix). W przypadku negatywnej weryfikacji klient natychmiast otrzymuje odpowiedź i na tym kończy się proces. Dla pozytywnej weryfikacji należy dodatkowo sprawdzić dostępność pracownika – w tym celu pracownik działu sprzedaży kontaktuje się z przełożonym pracownika.

W przypadku dostępności pracownika może nastąpić rozmowa kwalifikująca go do projektu przeprowadzona przez klienta. Cały proces kończy się uzgodnieniem warunków współpracy oraz przekazaniem informacji o rozpoczęciu pracy w projekcie.

Zastosowanie diagramów UML – podsumowanie

Jak pokazał powyższy przykład, UML może służyć nie tylko do opisywania skomplikowanych procesów systemu, ale i do graficznego przedstawienia wielu czynności zarówno biznesowych, jak i z życia codziennego. To tylko namiastka ogromu możliwości, różnorodnych diagramów oraz powiązań, które wykorzystuje się w modelowaniu za pomocą UML. Niewątpliwie jest to doskonałe narzędzie do precyzyjnego opisania każdego systemu informatycznego oraz dokumentowania wszelkich jego zawiłości.

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

Autorem wpisu jest:
Senior Business Analyst

Od 8 lat w analizie biznesowej i systemowej. Posiada doświadczenie w branży telekomunikacyjnej, ubezpieczeniowej, bankowości, szkolnictwie, jak również projektach publicznych oraz e-commerce. Prywatnie miłośniczka fotografii.

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.