Wizualizacja kodu na diagramach sekwencyjnych
Wizualizować, jak kod implementuje określoną metodę, Utwórz diagram sekwencji przy użyciu metody w programie Visual Studio Ultimate.Diagram sekwencji przedstawia interakcję między obiektami jako serię linii życia i wiadomości.Linie życia reprezentują wystąpienia obiektów, a wiadomości reprezentują wywołania metody między tymi obiektami.Diagramy sekwencji można wygenerować z kodu Visual C# .NET i Visual Basic .NET, ale nie projektów, które korzystają ze wspólnego kodu w wielu aplikacjach.
Wygenerowany diagram sekwencji przedstawia elementy podobne do elementów w diagramie sekwencji UML.Diagram sekwencji generowany z kodu istnieje niezależnie od modelu UML i może zostać dodany do każdego projektu .NET.Z drugiej strony diagram sekwencji UML rysowany ręcznie jest zawsze częścią modelu, w którym został utworzony.Aby uzyskać więcej informacji, zobacz Diagramy sekwencji UML: Odwołanie.
Generowanie diagramu sekwencji na podstawie kodu źródłowego
Poznaj kod na diagramy sekwencji
Edytuj zaproponować zmiany projektu diagramu
Przejdź do kodu z diagramu
Połącz z elementami roboczymi diagram sekwencji
Relacje do innych diagramów
Rozwiązywanie problemów z diagramy sekwencji
Generowanie diagramu sekwencji na podstawie kodu źródłowego
W programie Visual Studio Ultimate Otwórz plik kodu, który zawiera definicję metody.
Przejdź do definicji metody, kliknij prawym przyciskiem myszy w edytorze i wybierz opcję Generowanie Diagram sekwencji.
W Maksymalna głębokość wywołań Określ maksymalny poziom wywołań, które mają być wyświetlane.Na przykład, jeśli chcesz zobaczyć tylko pierwszy poziom wywołań, określ wywołanie maksymalną głębokość poziomu wywołań 1.
[!UWAGA]
Diagram sekwencji będzie wyświetlać drugi poziom wywołań jako wiadomości niemające docelowej linii życia. Są one określane jako utracone wiadomości.Po wygenerowaniu diagramu można rozwinąć konkretne utracone wiadomości.Aby uzyskać więcej informacji na temat wiadomości utracone, zobacz Diagramy sekwencji UML: Odwołanie.
W obszarze obejmują połączeń w, wybierz zakres z poniższej tabeli:
Aby wyświetlić
Wybierz
Wywołania elementów w bezpośrednim projekcie
Bieżący projekt
Wywołania elementów w rozwiązaniu
Bieżącym rozwiązaniu (domyślnie)
Wywołania elementów wewnątrz i na zewnątrz rozwiązania
Rozwiązanie i odwołania zewnętrzne
Na przykład można zacząć od prostego diagramu sekwencji, analizując tylko te wywołania elementów przez metody w bezpośrednim projekcie.Można rozszerzyć zakres diagramu, generując nowy, który przedstawia wywołania elementów w rozwiązaniu.Jeśli chcesz zobaczyć wywołania elementów nieznajdujących się w rozwiązaniu, musisz wygenerować diagram zawierający odwołania zewnętrzne.
W obszarze Wyklucz wywołuje do, można uprościć diagramu więcej, pomijając wywołania następujące elementy:
Aby pominąć wywołania
Wybierz
Właściwości i zdarzenia
Właściwości i zdarzenia (domyślnie)
Przestrzeń nazw System
Systemową przestrzenią nazw (domyślnie)
Konkretne przestrzenie nazw
Inne obszary nazw, a następnie wpisz w polu przestrzenie nazw przy użyciu przecinka (,) je rozdzielić.Nie należy używać symboli wieloznacznych (*) znaków jako nie są obsługiwane.
Aby wykluczyć wywołania tych elementów, wyczyść odpowiadające im pola wyboru.
Zaznacz pole wyboru, aby dodać diagramu do bieżącego projektu.
Gdy skończysz, wybierz OK generowanie diagramu sekwencji.
Aby uzyskać informacje dotyczące problemów z generowania diagramy sekwencji, zobacz Rozwiązywanie problemów dotyczących diagramy sekwencji.
[!UWAGA]
Deklaracje tablic nie są wyświetlane na wygenerowanych diagramach sekwencji.
Aby zidentyfikować i komunikacji zmian, które mają być bez wywierania wpływu na kod, możesz zapoznaj się i zmodyfikować diagram sekwencji wygenerowany.Na przykład, można dodać nowe linie życia, wiadomości, zastosowania interakcji i fragmenty.Aby utworzyć i śledzić zadania związane z pracą, którą chcesz wykonać nad stosownym kodem, możesz utworzyć elementy pracy lub połączyć je z elementami diagramu.Aby uzyskać więcej informacji, zobacz Łączenie elementów modeli i elementów pracy.
Ważne |
---|
Po wygenerowaniu diagramu wszelkie zmiany, które wprowadzasz do diagramu, nie pojawią się w kodzie i wszelkie zmiany, które wprowadzasz w kodzie, nie pojawi się na diagramie.Aby wyświetlić te zmiany, trzeba wygenerować nowy diagram sekwencji.Można wygenerować nowy diagram sekwencji z tej samej metody dowolną liczbę razy. |
Poznaj kod na diagramy sekwencji
Diagram sekwencji ułatwia analizowanie kodu i przedstawianie go innym osobom.Aby uzyskać diagram najbardziej przydatny do tych celów, poeksperymentuj z różnymi zakresami podczas generowania diagramu.Po wygenerowaniu można także modyfikować diagram.Na przykład można usunąć wiadomości, które nie są interesujące w przypadku przedstawiania i omawiania projektu.
Do diagramu sekwencji można wprowadzić następujące zmiany.
Aby |
Wykonaj następujące kroki |
---|---|
Wyświetlanie następnego poziomu wywołania |
Otwórz menu skrótów komunikatu, który ma nie myśli docelowego, a następnie wybierz Rozwiń wychodzących. |
Rozwiń wiadomość w nowym diagramie |
Otwórz menu skrótów wiadomości, a następnie wybierz Generowanie Diagram sekwencji. Nowy diagram jest dodawany do bieżącego projektu. |
Zwiń grupę wiadomości w jedną linię życia. |
Wybierz linie życia, które chcesz grupować, otwórz menu skrótów wybór, a następnie wybierz Zwiń. Można zmienić nazwę grupy, ale nazwa zostanie utracona po rozwinięciu. Aby rozwinąć grupę, otwórz menu skrótów dla niego, a następnie wybierz rozszerzenia. |
Usuwanie elementów |
Otwórz menu skrótów kształtu, a następnie wybierz usunąć. |
Poprawianie układu |
Otwórz menu skrótów pusty obszar diagramu, a następnie wybierz Ponowne rozmieszczanie układu. Możesz także cofnąć to polecenie. |
Wyróżnianie wybranych elementów |
Otwórz menu skrótów dla elementu, a następnie wybierz właściwości.W właściwości okna, ustaw kolor pola. |
Dodawanie adnotacji do diagramu |
Wybierz komentarz narzędzie, kliknij na diagramie, a następnie wpisz uwagi na komentarz.Użyj łącze komentarz narzędzie do nawiązania połączenia komentarz do co najmniej jeden punkt na linii życia lub fragmentów. |
Edytowanie zaproponować zmiany projektu diagramu
Diagram można zmieniać, dodając i usuwając elementy, aby ułatwić analizę alternatywnych projektów.Części diagramu można także skopiować do diagramu sekwencji UML utworzonego w projekcie modelowania UML.To pozwala kojarzyć linie życia z typami, składnikami i aktorami modelu UML.
W poniższej tabeli podsumowano zmiany, które są przydatne podczas opisywania propozycji projektu.Aby uzyskać więcej informacji, zobacz Diagramy sekwencyjne UML: Zalecenia.
Aby |
Wykonaj następujące kroki |
---|---|
Wyróżnianie linii życia, wiadomości i innych elementów |
Zmiana elementu kolor właściwości. —lub— Łącze komentarz do elementu:
|
Przenoszenie linii życia |
Przeciągnij kształt linii życia do innego obszaru diagramu. Aby przenieść grupę linii życia, które utraciły lub znaleźć wiadomości, wykonaj następujące kroki, aby wybrać linie życia przed przeniesieniem ich:
|
Przenoszenie i zmienianie kolejności wiadomości |
Przeciągnij wiadomość w górę lub w dół na diagramie.
|
Dodawanie linii życia |
Wybierz myśli w Przybornika, a następnie wybierz diagram. |
Dodawanie wiadomości |
|
Kopiowanie linii życia i wiadomości do lub z innych diagramów |
Skopiuj i Wklej linii życia. Wiadomości między nimi zostaną również automatycznie skopiowane.
|
Ujmowanie wiadomości w połączony fragment |
Użyj połączonego fragmentu do reprezentowanie alternatywnych sekwencji, pętli i innych kompozycji wiadomości. |
Przenoszenie wiadomości do nowego diagramu |
Otwórz menu skrótów wiadomości, a następnie wybierz przejść do diagramu. Zostanie utworzony nowy diagram zawierający wiadomość i uzupełniające wiadomości.W schemacie oryginalny komunikat jest zastępowany przez Użyj interakcji. |
Kopiowanie diagramu |
Skopiuj diagram w Eksploratorze rozwiązań lub skopiuj pliki w Eksploratorze Windows.Istnieją dwa pliki skojarzone z każdym diagramem. Diagram sekwencji wygenerowanego mogą być edytowane za pomocą dowolnego wystąpienie Visual Studio Ultimate, i mogą być odczytywane przy użyciu Visual Studio Ultimate lub Visual Studio Premium. |
Powodowanie, że pewne ręczne zmiany, takie jak dodawanie i zmiany nazwy, nie będą wyróżniane |
|
Przejdź do kodu z diagramu
Aby |
Wykonaj następujące kroki |
---|---|
Przechodzenie od linii życia lub wiadomości odpowiednio do definicji klasy lub metody |
Otwórz menu skrótów myśli lub wiadomość, a następnie wybierz Przejdź do definicji. |
Znajdowanie klasy lub metody w Eksploratorze architektury |
Otwórz menu skrótów myśli lub wiadomość, a następnie wybierz Pokaż w Eksploratorze architektury. Aby uzyskać więcej informacji, zobacz Mapowanie zależności w kodzie na wykresach zależności. |
Połącz z elementami roboczymi diagram sekwencji
Aby ułatwić planowanie pracy z wprowadzeniem zmiany można połączyć elementów jakiegokolwiek rodzaju na diagram sekwencji z elementami roboczymi Team Foundation Server.Przed rozpoczęciem upewnij się, że jest nawiązane połączenie z programem Team Foundation Server.Aby uzyskać więcej informacji, zobacz Łączenie elementów modeli i elementów pracy.
Aby |
Wykonaj następujące kroki |
---|---|
Tworzenie i łączenie nowych elementów roboczych z liniami życia, wiadomościami i innymi elementami |
|
Łączenie linii życia, wiadomości i innych elementów z elementami roboczymi |
Później możesz powtórzyć to polecenie, aby dodać więcej łączy do elementów roboczych do tego samego elementu modelu. |
Wyświetlanie połączonych elementów roboczych |
Otwórz menu skrótów dla jednego lub wielu elementów, a następnie wybierz pozycje robocze widoku. |
Usuwanie łączy do elementów roboczych |
Zostaną usunięte łącza między elementem modelu i wybranymi elementami roboczymi.Elementy robocze i elementy modelu nie są usuwane. |
Wskazówki dotyczące korzystania z wygenerowane diagramy sekwencji
Poniższe wskazówki mogą być przydatne podczas analizowania kodu za pomocą wygenerowanych diagramów sekwencji.
Zapoznaj się kod
Wygeneruj diagramy zależność w celu uzyskania ogólnego obrazu głównych grup i zależności w dużej części kodu.Następnie wygeneruj diagramy sekwencji skup się na poszczególnych częściach projektu.Aby uzyskać więcej informacji, zobacz Mapowanie zależności w kodzie na wykresach zależności.
Interpretuje diagramu
Algorytm tworzenia diagramu realizuje symboliczne wykonywanie kodu.Istnieje kilka sytuacji, w których ta technika nie obejmuje.W szczególności są to następujące sytuacje:
Dwie lub więcej linii życia może pojawić się na diagramie, w którym wykonywanie kodu dotyczy tylko jednego wystąpienia.Na ogół generowane są oddzielne docelowe linie życia dla każdej wiadomości.
Typ linii życia jest typem zadeklarowanym w kodzie programu, nawet jeśli kod zawsze używa podtypu.
Skupić się na aspektów projektu
Wybierz jeden z aspektów projektu, na którym chcesz się skupić.Możesz wygenerować różne diagramy, by skupić się na różnych kwestiach i wykonać kopie plików diagramu na dowolnym etapie pracy.
Aby uzyskać przydatne diagramu wyraźnie wyświetlających aspektów projektu, może być wypróbowanie nazw filtrów i generowania.
Usuń wiadomości, które nie są istotne dla kwestii, na której się skupiasz, a następnie rozwiń stosowne wiadomości, aby wyświetlić więcej szczegółów.
Użyj Zwiń polecenia do linii życia grupy, które reprezentują Wydajna współpraca grupy obiektów, chyba że ich wewnętrzne interakcje są interesujące aspektu będą dostępne.
Aktualizuj projekt
Można pracować wspólnie nad diagramem, używając kontroli wersji.Zaleca się blokowanie diagramu podczas edytowania go, aby tylko jedna osoba mogła go edytować w jednej chwili.
Za pomocą wygenerowanego diagramu sekwencji można często zidentyfikować cechy istniejącego kodu utrudniające zmianę lub dostosowanie.Na przykład można zauważyć że jedna linia życia wysyła wszystkie wiadomości, ale inni tylko odpowiadają na wiadomości, bez wysyłania wielu własnych.Należy rozważyć, czy pracę wykonywaną przez ten obiekt można efektywniej podzielić między innymi obiektami.Każda klasa obiektu powinna mieć jedno jasno określone zadanie.Na ogół ta zasada powoduje, że łatwiej identyfikować części program, które trzeba zmienić, gdy zmieniają się potrzeby użytkowników lub zmienić rozmieszczenie części w innym wariancie aplikacji.
Gdy masz diagram, który koncentruje się na konkretnej kwestii projektu, wykonaj jego kopię, a następnie utwórz alternatywną propozycję zmian.
Można kopiowanie elementy wygenerowanego diagramu sekwencji do diagramu sekwencji UML.Najpierw należy utworzyć diagram sekwencji UML wewnątrz projektu modelowania UML.Tam można modelować różne widoki zaktualizowanego projektu i można połączyć linie życia ze składnikami lub klasami w modelu.Można także rozszerzać interakcję, aby uwzględnić dodatkowych aktorów.
Rozwiązywanie problemów z diagramy sekwencji
W poniższej tabeli opisano problemy, które mogą wystąpić podczas generowania diagramu sekwencji, i możliwe rozwiązania:
Problem |
Rozwiązanie |
---|---|
Nie można wygenerować diagramu sekwencji. |
Diagram sekwencji nie może wygenerować, jeśli System nazw jest wyłączone, a kod zawiera wywołanie metody COM, który akceptuje ref lub out Parametry i przekazuje przy użyciu parametru new słowo kluczowe.Aby uniknąć tego problemu, zmienić kod lub podczas generowania diagramu, obejmują System przestrzeni nazw. |
Zostanie wygenerowany pusty diagram sekwencji po wyświetleniu następującej wiadomości: „Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu”. Ten problem występuje, gdy diagram sekwencji jest generowany na podstawie jawnych implementacji metody interfejsu i diagram nie jest dodawany automatycznie do projektu źródłowego.Jawna implementacja poprzedza nazwę metody o nazwą interfejsu i kropką (.). Na przykład ten problem występuje, gdy generowania diagram sekwencji z następujących podpis i nie diagram sekwencji automatycznie dodać do projektu:
|
Gdy jest to możliwe, nie uwzględniaj nazwy interfejsu i kropki (.). —lub— Upewnij się, że w oknie dialogowym generowania diagramu sekwencji do projektu jest dodawany automatycznie diagram sekwencji. |
Generowanie diagramu sekwencji może trwać bardzo długo. - lub - Diagram sekwencji ulega awarii ponowny otwarciu. W zależności od konfiguracji komputera, diagram sekwencji może być zbyt duży, aby wygenerować szybko i może spowodować powstanie Visual Studio do za mało pamięci i awarii po zamknięciu i ponownym diagramu.Na przykład diagram sekwencji, który ma 390 linii życia i 19 000 wiadomości, że spowodować wygenerowanie pliku diagramu o wielkości większej niż 85 MB. |
Ograniczyć zakres diagramu przez zmniejszenie głębokość wywołań, odfiltrowanie niepotrzebnych przestrzeni nazw, usunięcie właściwości, zdarzeń itd. |
Zobacz też
Informacje
Diagramy sekwencji UML: Odwołanie