Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 0
  • 54

Jak w narzędziu Enterprise Architect rozwiązać problem wersjonowania?. Wiem, że narzędzie dostarcza możliwość korzystania z baseline, tylko w przypadku dużej dynamiki zmian w dużym projekcie może nie być dobrym rozwiązaniem. Próbowałam również skorzystać z Browser dostępnej na konkretnej akcji na przykładowym diagramie. Problem z tym jest taki, że ta opcja dostarcza nam tylko dodanie opisu zmiany "słownie", a nie możliwość użycia UML. Czy istnieje inne rozwiązanie tego problemu?

Urszula_Witkowicz
  • Zapytał
  • @ Urszula_Witkowicz | 13.08.2016
    • 1
    • 0
    • 1

Odpowiedzi (2)

  • 0

Potencjalnie w EA mamy do wyboru trzy mechanizmy zarządzania zmianą:

  1. Baseline.
  2. Auditing.
  3. Integracja z zewnętrznym systemem kontroli wersji.

Ad.1 Baseline to fotografia zawartości pakietu zapisywana w postaci pliku XMI i przechowywana w repozytorium EA. Umożliwia porównanie zawartości pakietu z poprzednim stanem i ew. wycofanie zmian. Niestety musimy sami ustalić i pilnować częstotliwości wykonywania baseline’ów i „ręcznie” nimi zarządzać.

Ad.2 Auditing – jest to opcja, która po włączeniu rejestruje wszystkie zmiany w modelu: kto dokonał zmiany, kiedy i na czym ona polegała. Logi zmian mogą być wyeksportowane do osobnego pliku. Użyteczna, gdy wiele osób korzysta z tego samego repozytorium. Jednakże dane potrzebne do wyświetlenia całej historii zmian mogą spowolnić repozytorium, dlatego zaleca się ją łączyć z baseline’em.

Ad.3 EA umożliwia wersjonowanie pakietów  za pomocą zewnętrznego systemu kontroli wersji. W repozytorium systemu kontroli wersji pakiety tworzące model zapisywane są jako pliki XMI. EA wymusza, aby tylko pojedynczy użytkownik mógł edytować pakiet. Mamy tu do czynienia z modelem lock-modify-unlock co ma pomóc w unikaniu konfliktów. Pliki XMI traktowane są jako binarne artefakty, które nie mogą być bezpośrednio scalane przez system kontroli wersji. Zalety – to po prostu zalety systemu kontroli wersji, natomiast wadą tego rozwiązania jest fakt, że model jest tak naprawdę przechowywany poza repozytorium EA i z jakiś powodów może zostać utracony. Ponadto ze względu na specyfikę integracji pakiety powinny być nieduże, a to oznacza komplikacje związane z licznymi odwołaniami do innych pakietów. Wreszcie w repozytorium kontroli wersji nie są przechowywane tzw. dane referencyjne, więc w razie potrzeby trzeba je ręcznie skądś zaimportować.

  • Odpowiedział
  • @ | 25.08.2016
  • TRENER ALTKOM AKADEMII
Komentarze
Dziękuję za odpowiedź na pytanie. Wiem, że takie mechanizmy zapewnia narzędzie. Mnie natomiast bardziej chodzi o to jak radzić sobie z wersjonowaniem n- projektów (root) znajdujących się w repozytorium, które pozostają między sobą w zależności. XMI na pewno nie będzie dobrym rozwiązaniem, elementy się gubią przy imporcie. Auditing to raczej sprawdza się w przypadku, kiedy chcemy podejrzeć kto robił ostatnio zmiany, na jakim diagramie. Baseline będzie niewydajny przy dużej ilości projektów (root), które posiadają n-zagnieżdzeń (foldery).
Skomentował : @ Urszula_Witkowicz ,25.08.2016
  • 1
  • 0
  • 1
  • 1

Myślę, że jest to kwestia wypracowania odpowiednich procedur korzystania z systemu kontroli wersji. Pisząc o XMI nie myślałam o czystym exporcie/imporcie tylko o sposobie "serializacji" pakietów po to, aby umieścić w repozytorium systemu kontroli wersji. Na stronie, do której link podaję poniżej znajdzie Pani artykuł opisujący dobre praktyki rekomendowane przez Sparx Systems. Jest tam też opisany przypadek wielu projektów wzajemnie ze sobą powiązanych. Może będzie to jakąś inspiracją dla rozwiązania Pani problemów. Tytuł artykułu "Version Control in Enterprise Architect", link:

http://www.sparxsystems.com/resources/whitepapers

  • Odpowiedział
  • @ | 26.08.2016
  • TRENER ALTKOM AKADEMII