Model dziedziny – porządkujemy rzeczy ze świata użytkownika

12 czerwca 2012

Ostatnio kolega zapytał mnie przystępując do tworzenia systemu “a czym jest ta multiagencja?”. “Kurczę”, pomyślałam, “rzeczywiście przewijała się w rozmowach, ale jaką rolę ma grać w systemie?”. Jeśli zaczynasz projekt w nowym temacie, albo nie jesteś pewien co jest czym w świecie klienta, zrób model dziedziny! To wybawia z tarapatów kosztownego niezrozumienia a przy tym jest niesamowicie proste w przygotowaniu!

Model dziedziny przedstawia najważniejsze pojęcia (koncepty) znajdujące się w obszarze zainteresowania oraz zależności między nimi. Dzięki niemu możesz uporządkować wszystkie obiekty pojawiające się w rozmowach o działalności przyszłych użytkowników. Po uzupełnieniu relacji między nimi i potwierdzeniu dobrego zrozumienia przez klienta, masz pewność, że się nie pogubisz.
Ten przykład nie wybiega jeszcze znacznie poza nasze pojmowanie, ale wyobraźcie sobie systemy, które działają w dziedzinie dużo bardziej skomplikowanej i nie jesteśmy w stanie ogarnąć co jest czym! Warto wiedzieć jak pomóc sobie modelem dziedziny. Świetnie dopełni się on ze słownikiem, w którym znajdą się definicje nieoczywistych lub zwodniczych pojęć 😉
Model dziedziny można przygotować za pomocą diagramu klas UML. Poniżej opisałam elementy, których znajomość przyda Ci się przy własnym rysowaniu:)

Relacje

Relacje wiążą dwa obiekty (czasem jeden) ze sobą.

Powiązanie

Prowizja jest wypłacana jednemu agentowi (temu, który sprzedał ubezpieczenie). Agentowi może być wypłacona dowolna liczba prowizji (lub żadna), w zależności od liczby sprzedanych ubezpieczeń. Agent może mieć dokładnie jednego przełożonego i dowolną liczbę podwładnych (może być 0).

Dziedziczenie

Rachunek i faktura dziedziczą wszystkie cechy Rozliczenia. Mogą posiadać też inne – specyficzne tylko dla siebie, np. faktura VAT posiada dodatkowo rozliczenie podatku.

Agregacja

Agenci wchodzą w skład Agencji.

Kompozycja

Ubezpieczenie może składać się z produktów (np. ochrona mieszkania, samochodu, itp.).
Różnica między agregacją a kompozycją polega na tym, że:

  • po usunięciu obiektu głównego z agregacji, obiekty składowe istnieją samodzielnie, np. po usunięciu wszystkich agentów, agencja nadal istnieje
  • po usunięciu obiektu głównego z kompozycji, obiekty składowe nie istnieją samodzielnie, np. ubezpieczane produkty nie mają racji bytu po usunięciu ubezpieczenia

 

Nazwa relacji

Nazwę relacji podaje się dla lepszego zrozumienia i wstawia na/przy linii relacji tak, by można było odczytywać je od obiektu górnego do dolnego lub od lewego do prawego. Nazwy zazwyczaj nie stosuje się przy dziedziczeniu (domyślnie – “dziedziczy po”), agregacji i kompozycji (domyślnie – “zawiera”, “wchodzi w skład”).
 

Liczność relacji

Liczność wskazuje dla obu stron relacji liczbę obiektów, które mogą w niej uczestniczyć:

*–  dowolna liczba obiektów
0–  zero obiektów
0..1–  zero lub jeden obiekt
0..*–  zero lub dowolna liczba obiektów
1–  jeden obiekt
1..x–  od 1 do x obiektów (pod x wstawia się określoną liczbę, np. 5)
1..*–  od 1 do dowolnej liczby obiektów
x–  określona liczba obiektów, np. 5

 
I jak wyszedł Twój model dziedziny? A może masz inne sposoby na porządkowanie rzeczy po wejściu do nowego świata?

Cześć, jestem Hania.

Jako strategiczny analityk biznesowy na pograniczu zarządzania i IT zapewniam, że projekty i działania w organizacji przynoszą wartość biznesową. Dostarczam kompetencji analitycznych managerom i zarządom z Polski, Niemiec i Szwajcarii przy tworzeniu strategii oraz wdrażaniu jej w kilkuset osobowej międzynarodowej organizacji.

Komentarze - 14

  1. TakiTamKoleś

    Agregacji się nie stosuje.

    1. Hania

      Dlaczego?

  2. Mateusz

    Co się stanie jak usuniemy Agencję z Agregacji, Agenci będą istnieć samodzielnie?

    1. Hania

      Tak, agenci zostaną. Stracimy tylko o nich jedną z informacji – przynależność do agencji, w której pracują. No i wszystkie dane agencji.
      Kiedy usuwamy element, siłą rzeczy znikają wszelkie jego relacje (powiązania z innymi elementami), w tym przypadku – ta agregacja.

  3. GN

    Nie kumam zbytnio tego powiązania z agentem… chodzi o to że agent może mieć przełożonego również agenta?

  4. GosiaK

    Rozumiem, że wkradł się błąd w zdaniu “po usunięciu obiektu głównego z agregacji, obiekty składowe istnieją samodzielnie, np. po usunięciu wszystkich agentów, agencja nadal istnieje” powinno być “po usunięciu agencji, wszyscy agenci nadal istnieją”?

    1. Dr. X

      Tak. Tu jest błąd. Powinno być odwrotnie.
      Pani Hanna chyba już tutaj nie zagląda 😉

      1. Hania Wesołowska

        Dziękuję za uwagę 🙂 Poprawione

  5. Jacek

    “po usunięciu obiektu głównego z kompozycji, obiekty składowe nie istnieją samodzielnie, np. ubezpieczane produkty nie mają racji bytu po usunięciu ubezpieczenia”
    To stwierdzenie chyba nie jest do końca prawidłowe. Jeżeli przyjmiemy wcześniej zaproponowaną zasadę:
    “Ubezpieczenie może składać się z produktów (np. ochrona mieszkania, samochodu, itp.).” (rozumiem, że produkt to nazwa dla “zakresu ochrony”), to zdanie przytoczone na początku jest pozbawione sensu. Ubezpieczane produktu jak najbardziej mają racje bytu po usunięciu ubezpieczenia 🙂

  6. Piotr_BK

    Bardzo dobry artykuł, dziękuję. Wyjaśnia w prostych pojęciach czym jest model dziedziny i bardzo mi pomógł w mojej nauce.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Może zaciekawi Cię także:

www.analizait.pl by ProjectUP (C) 2020