O modelowaniu w Visual Studio słyszałem już od dawna. Zawsze jednak brakowało mi czasu by zajrzeć do niego i sprawdzić czy warto jest modelować w tym narzędziu. Jako, że pojawiła się nowa wersja (na razie w wersji beta) postanowiłem rozejrzeć się co w trawie piszczy. Po kilku minutach instalacji uruchomiłem VS.11.
Znalazłem odpowiedni szablon projektu założyłem nowy projekt.
W górnym menu odnalazłem zakładkę Architecture a w nim miejsce, w którym mogłem dodać nowy diagram.
Gdy zobaczyłem podstawowe diagramy to odetchnąłem z ulgą . Do tej pory Nie kojarzyłem Visual Studio z UML.
Pierwszy diagram, który dodałem to diagram przypadków użycia. Generalnie wszystko jest. Model explorer, Tolbox i możliwość edycji własności przypadku użycia.
Niestety parametry przypadków użycia ograniczają się do pola notes. Mogłem dodać też na jeden diagram dwa razy ten sam przypadek użycia. Oczywiście takie cechy nie dyskwalifikują VS.
Fajną cechą jest to, że mogłem dodać z poziomu Modelu zadanie (work item) do Tem Foundation Server. To bardzo pomocna funkcja dla soby zarzdzającej zespołem programistów.
Pozostałe diagramy jak:
diagram klas
diagram aktywności
diagram sekwencji
diagram komponentów
Jak widać z powyższych diagramów VS pozwala na budowę najważniejszych modeli UML.
Znalazłem też ciekawy element a mianowicie możliwość importu modeli przez XMI
Niestety export modeli via XMI z Enterprise Architect’a do VS nie przyniósł żadnych rezultatów.
Podsumowując. Bardzo mnie cieszy, że Visual studio ma możliwość budowy modeli w UML. Niestety funkcjonalność jaka jest oferowana w tej usłudze jest minimalna. Brak mapowania na wymagania, brak możliwości dekompozycji poszczególnych artefaktów to także nie najlepsze cechy tej aplikacji. o działa bezbłędnie otóż współpraca z projektowanym kodem aplikacji. Na koniec trzeba dodać, że możliwość modelowania w Viusal Studio jest od wersji Ultimate co oznacza bardzo duży wydatek na zakup licencji.
I na koniec. Jak jest coś do wszystkiego to jest do niczego. Dlatego wolę modelować w Enterprise Architect i integrować je z innymi narzędziami w taki sposób jaki jest to wygodne dla danego zespołu wytwarzającego oprogramowanie.