W naszej firmie zaczęliśmy używać VS 2010 do modelowania naszych systemów, w ramach tzw. Projektów modelowania. Są one przechowywane pod kontrolą źródła TFS2010.Modelowe problemy projektowe
Wszystko to jest dobre dla pojedynczego użytkownika, ale gdy tylko wprowadziliśmy to narzędzie do całego zespołu architektów, natknęliśmy się na poważny problem: bardzo źle obsługuje wielu użytkowników! Pozwól, że przeprowadzę Cię przez prosty scenariusz.
- Architect 1 wyewidencjonuje istniejącym schemacie i działa na nią przez chwilę
- Architect 2 dodaje nowy schemat i działa na nią przez chwilę
- Architect 2 kontrole w swoim nowym schemacie
- Architect 1 kontrole w jego zmianach w projekcie modelowania
- Architekt 2 ponownie otwiera swój diagram, ale okazuje się, że brakuje w nim wszystkich elementów!
Jak już zrozumiałem, problem polega na tym, że projekt architektury oparty jest na kilku plikach xml, a w szczególności na jednym ważnym kawałku xml o nazwie ModelDefinition/Architecure.uml. Zawiera wiele wiedzy na temat diagramów w projekcie modelowania. Gdy wiele osób jednocześnie wykonuje wiele zmian w tym pliku, narzędzia (TFS, VS) nie obsługują wymaganego scalania automatycznie, a my mamy problemy z wielką współbieżnością.
Więc w moim scenariuszu, ponieważ Architecture.uml że architekt 1 sprawdzone w nie coś na temat elementów, które architekt 2 dodanych wiedzieć, elementy te są zastępowane lub w inny sposób zniszczony.
Chcemy uniknąć podziału projektu na kilka mniejszych, ponieważ oznaczałoby to, że musielibyśmy wielokrotnie definiować nasze komponenty modelowania (klasy, aktorzy, przypadki użycia, komponenty itp.). Korzystając z jednego rozwiązania, możemy zdefiniować takie elementy w jednym miejscu i ponownie wykorzystać je na każdym innym schemacie.
Zatem naszym obecnym "rozwiązaniem" jest praca z wykorzystaniem ekskluzywnych czeków. Więc tylko jeden architekt może pracować na raz!
miałem nadzieję, że ktoś wymyślił lepszego rozwiązania tego problemu, co pozwala nam na bardziej efektywną pracę.
Dzięki za odpowiedź. Zapewni to, że żadne elementy nie zostaną utracone bez zauważenia. Miałem jednak nadzieję, że nie będę musiał ręcznie scalać pliku, ponieważ jest to plik xml. Z mojego doświadczenia wynika, że domyślne narzędzie do scalania dostarczane z TFS 2010 jest słabo wyposażone w obsługę plików xml, np. poruszony element może zostać zidentyfikowany jako współzałożyciel, chociaż tak naprawdę nie jest; jest to po prostu zamieniona pozycja na niezłożonej liście. Rozumiem jednak dane wejściowe i przekażę je mojemu zespołowi w celu uzyskania potwierdzenia. Będę oczekiwał, że zaakceptuję to na razie, aby sprawdzić, czy ktoś jeszcze nie napotkał i nie rozwiązał tego koszmaru :) – havardhu
Całkowicie zgadzam się z twoim "nadzieją uniknięcia ręcznego scalania XML". Poczekaj na lepszy sposób :) – pantelif
Dzięki za edycję uważam, że może to nieco poprawić proces. Przekierowanie do przodu pnia za pomocą odpowiedniego narzędzia do scalania XML powinno być krokiem we właściwym kierunku :) – havardhu