wtorek, 20 sierpnia 2013

Macierz CRUD w EA

Dla lepszego zrozumienia artykułu najpierw przypomnijmy sobie czym jest CRUD? Według Wikipedii są to cztery podstawowe funkcje w aplikacjach korzystających z pamięci trwałej, które umożliwiają zarządzanie nią. Skrót CRUD pochodzi od angielskich terminów: Create, Read, Update oraz Delete (Utwórz, Odczytaj, Aktualizuj oraz Usuń). Skrót ten może być stosowany w odniesieniu do interfejsu użytkownika większości aplikacji, które zazwyczaj pozwalają użytkownikowi na:

  • utworzenie lub dodanie nowych informacji (create),
  • odczytanie lub wyświetlenie istniejących informacji (read),
  • modyfikowanie lub edycję istniejących informacji (udpate),
  • usuwanie istniejących informacji (delete).

Po stworzeniu na etapie analizy katalogu funkcjonalności, na przykład w postaci przypadków użycia możemy je przypisać do określonych klas danych, na których operują. Patrz artykuł Mapowanie przypadku użycia
Diagram of mapping use case to uml classes

Powyższy diagram przedstawia przykładowe mapowania przypadków użycia dotyczących zarządzania rejestrem książek i czasopism na klasy UML, na których operują funkcjonalności.

Aby łatwiej można było zarządzać takimi powiązaniami można skorzystać z funkcjonalności Matrix Relationship. Dzięki temu powiązania pomiędzy wybranymi zestawami elementów modelu prezentowane są w formie macierzy.
W tym celu należy otworzyć okno Matrix Relationship korzystając z menu aplikacji: View -> Relationship Matrix. Korzystanie z tej funkcji programu Enterprise Architect to temat na inny artykuł. W dużym skrócie należy należy wybrać dla osi X (Source) i osi Y (Target) pakiet wraz z podpakietami oraz typ elementów. A dla komórek na przecięciach należy wybrać typ powiązania (Link Type) oraz kierunek (Direction). 
Relationship Matrix between use cases and UML classes
Powyższy rysunek przedstawia przykładową macierz powiązań (Relationship Matrix) obrazującą mapowanie pomiędzy zestawem przypadków użycia a klasami UML.

W wersji 10 programu Sparx Enterprise Architect dodano nową bardzo ciekawą funkcjonalność umożliwiającą wyświetlanie w komórkach na przecięciach osi X i Y tekstu zamiast strzałek. Dzięki temu macierz ta może posłużyć jako macierz CRUD.
Przykładowa macierz CRUD:

Dzięki temu na jednym ekranie mamy w jasny i przejrzysty sposób przedstawione zestawienie opisujące w jaki sposób funkcjonalności operują na danych. 

Jak przygotować macierz CRUD?

Zacznijmy od zdefiniowania zestawu możliwych wartości. Aby to zrobić należy w oknie Matrix Relationship wybrać opcję z listy rozwijalnej, jak to pokazano poniżej.

Pojawi się wówczas nowe okienko Create New Overlay, w którym należy wpisać w obu polach: CRUD.
Po naciśnięciu przycisku OK w aplikacji zostanie zdefiniowany nowy zestaw Tagged Values, który jest później wykorzystywany do wyświetlania odpowiednich wartości. Widoczny jest w zakładce Tagged Value Types okna dostępnego z menu Settings -> UML Types.
Tagged Value Types window

Modyfikacje tych wartości pozwalają zmienić zestaw wyświetlanych wartości, a usunięcie tej definicji skutkuje usunięciem całego Matrix Overlay, choć istniejące relacje nadal mogą przechowywać nadane wartości.

W tym momencie możemy uznać konfigurację macierzy CRUD za zakończoną. Następnym krokiem będzie jej wypełnienie.

Tworzenie powiązań typu CRUD

Z poziomu okna Matrix Relationship możemy od razu tworzyć nowe powiązania zgodnie z ustawieniami.
Aby to zrobić należy kliknąć prawym przyciskiem myszy w komórce na przecięciu wartości z osi X i osi Y.

W przypadku tworzenia macierzy CRUD należy wybrać opcję Create new relationship with overlay....
Pojawi się wówczas okienko, w którym należy wpisać właściwą wartość: C, R, U lub D.

Lista możliwych wartości wyświetlana jest w tytule okna. Po naciśnięciu przycisku OK zostanie w modelu stworzona nowa relacja, którą można pokazać na diagramie powiązań, a w macierzy powiązań będzie ona widoczna w postaci wpisanej litery.

Edycja istniejących powiązań

W przypadku, gdy w modelu już istnieją powiązania, które można wykorzystać na potrzeby macierzy CRUD wystarczy kliknąć prawym przyciskiem myszy na takim powiązaniu i wybrać z menu kontekstowego opcję Apply overlay...
Po wybraniu w następnym kroku właściwej wartości ikonka strzałki zostanie zastąpiona wpisaną literą.

Podsumowanie

Macierz powiązań (Relationship matrix) w programie Enterprise Architect oprócz przedstawienia zestawu powiązań pomiędzy wybranymi zestawami elementów modelu, od wersji 10 programu może mieć również bardziej zaawansowane zastosowania. Zamiast pokazywać powiązania w postaci strzałek możliwe jest zastosowanie liter i cyfr. Dzięki temu macierz może służyć do zobrazowania macierzy CRUD, macierzy uprawnień w systemie, czy innych typów.
Warto jeszcze dodać, że zawartość takich macierzy może zostać wygenerowana również w postaci raportu RTF.

Brak komentarzy:

Prześlij komentarz