Czym jest Enterprise Architect#

Enterprise Architect (EA) firmy Sparx Systems to narzędzie do modelowania, projektowania i zarządzania repozytorium modeli. Obsługuje UML oraz inne języki i podejścia modelowe, a producent opisuje zastosowania związane m.in. z wymaganiami, architekturą, analizą, implementacją, testowaniem i dokumentacją. Dostępność funkcji zależy od edycji, licencji, wdrożenia oraz wersji.

W EA diagramy są widokami elementów przechowywanych w modelu. Klasa może wystąpić na więcej niż jednym diagramie jako ten sam element repozytorium, a wymagania, komponenty, przypadki użycia i testy mogą być ze sobą powiązane. To istotne w większych przedsięwzięciach, gdzie potrzebna jest ścieżka od potrzeby interesariusza do projektu i weryfikacji.

Elementy i śledzenie zależności#

Przykładowa ścieżka zaczyna się od wymagania, które jest realizowane przez komponent; komponent z kolei może być pokazany na diagramie. W praktyce typy relacji powinny odpowiadać uzgodnionemu procesowi i notacji, a nie jedynie tworzyć dużo połączeń.

Wymaganie jest realizowane przez komponent, a komponent jest opisywany diagramem.
Repozytorium modelu pozwala łączyć artefakty; sam diagram pokazuje jedynie wycinek tych powiązań.

Użyta ilustracja jest uproszczona. W repozytorium EA można utrzymywać więcej informacji i różne rodzaje artefaktów; nie należy wnioskować, że to dokładny szablon metamodelu dla każdego projektu. Śledzenie jest użyteczne tylko wtedy, gdy zespół określi znaczenie linków, odpowiedzialność za ich aktualność i sposób kontroli brakujących powiązań.

Organizacja repozytorium#

Model zwykle porządkuje się w projekty, pakiety, elementy, diagramy i widoki. Struktura powinna odzwierciedlać potrzeby nawigacji oraz zakresy odpowiedzialności. Ustal nazewnictwo, właścicieli części modelu, sposób tworzenia nowych elementów i reguły unikania duplikatów. Zadbaj o opis modelu, konfigurację i kopie zapasowe.

Sposób przechowywania repozytorium wpływa na dostęp, współbieżność, administrację i skalowanie. Przed wyborem konfiguracji sprawdź aktualne zalecenia producenta, obsługiwane bazy lub serwery oraz wymagania zespołu. Wersjonowanie repozytorium i audyt zmian wymagają zrozumienia różnic między historią w narzędziu, kontrolą wersji plików i mechanizmami współpracy.

Praca zespołowa i publikowanie#

W większym zespole liczą się kontrola dostępu, role, równoczesna edycja, przegląd zmian, baseliny i możliwość porównywania wersji. Mechanizmy te można konfigurować zależnie od przyjętego sposobu pracy; samo posiadanie wspólnego pliku nie rozwiązuje konfliktów ani nie ustala, kto zatwierdza zmianę.

Dokumentację można generować z modelu do wybranych formatów, a diagramy eksportować do obrazów lub materiałów raportowych. To ułatwia przekazywanie informacji osobom, które nie pracują bezpośrednio w repozytorium. Plik PDF lub obraz jest jednak migawką: może szybko stać się nieaktualny. Proces publikowania powinien wskazywać źródło prawdy, datę lub wersję modelu i odpowiedzialnego właściciela.

Automatyzacja i integracje#

EA udostępnia różne możliwości integracji i automatyzacji, m.in. wymianę danych, skrypty, interfejsy rozszerzeń i łączenie z narzędziami procesu. Zakres zależy od edycji oraz konfiguracji. Format wymiany, taki jak XMI, nie gwarantuje bezstratnego przeniesienia każdego rozszerzenia, profilu czy konfiguracji. Przed migracją wykonaj próbę importu i eksportu na kopii, a następnie porównaj istotne elementy i relacje.

Wykorzystanie funkcji generowania lub odwracania kodu wymaga reguł odpowiedzialności za zmiany. Model może opisywać abstrakcję, nie pełną implementację; kod zawiera również szczegóły technologiczne. Określ granice automatyzacji, sprawdzaj różnice i testuj wynik. Nie traktuj wygenerowanego artefaktu jako poprawnego wyłącznie dlatego, że narzędzie go utworzyło.

Korzyści i koszty wdrożenia#

Repozytorium wspólne dla wielu widoków, śledzenie zależności, raportowanie i kontrola modelu mogą pomóc w dużych projektach, architekturze przedsiębiorstwa lub środowiskach wymagających audytowalności. Ułatwiają analizę wpływu zmiany i zmniejszają ręczne kopiowanie informacji, pod warunkiem że dane są utrzymywane.

Rozbudowane narzędzie wprowadza koszty licencji, konfiguracji, szkolenia, administracji i utrzymania konwencji. Złożony model może stać się ciężarem, jeśli nie ma właścicieli ani kryteriów aktualizacji. Eksporty są zależne od konfiguracji i mogą nie zachować wszystkich właściwości repozytorium. Nie każdemu zespołowi potrzebne jest centralne, formalne modelowanie.

Jak przeprowadzić pilotaż#

Utwórz ograniczony model obejmujący wymagania, jeden przypadek użycia, wybrany diagram struktury i zachowania oraz kilka relacji śledzenia. Przećwicz równoczesną pracę, zmianę i przegląd, generowanie raportu, kopię zapasową oraz wymianę z innym narzędziem. Zmierz, ile czasu zajmuje wejście nowemu użytkownikowi i aktualizacja artefaktu po zmianie projektu.

Przed adopcją odpowiedz na pytania: kto utrzymuje repozytorium, jakie dane muszą być formalnie śledzone, kto może je zmieniać, jak publikowane są widoki, jak odzyskuje się dane i jak będzie wyglądała migracja. Wybór ma sens, gdy korzyść z zarządzanego modelu przeważa nad jego kosztem organizacyjnym.