Udostępnij za pośrednictwem


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

  1. W programie Visual Studio Ultimate Otwórz plik kodu, który zawiera definicję metody.

  2. Przejdź do definicji metody, kliknij prawym przyciskiem myszy w edytorze i wybierz opcję Generowanie Diagram sekwencji.

  3. 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.

    Generowanie sekwencji okno dialogowe

    [!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.

  4. 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.

  5. 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.

  6. Zaznacz pole wyboru, aby dodać diagramu do bieżącego projektu.

  7. 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żna uwagaWaż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:

  1. W Przybornika, wybierz polecenie komentarz, a następnie na diagramie, kliknij przycisk obok elementu.

  2. W Przybornika, wybierz polecenie łącze komentarz, a następnie na diagramie, wybierz polecenie komentarz, a następnie wybierz element.

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:

  • Narysuj prostokąt wokół linii życia.

    - lub -

    Naciśnij i przytrzymaj klawisz CTRL klucza, gdy wybierzesz każdego myśli.

    [!UWAGA]

    Jeśli użyjesz Zaznacz wszystko lub CTRL+A wybierz wszystkie linie życia, a następnie przenieść je, wszystkie utracenia lub znaleźć wiadomości dołączona do tych linii życia nie przeniesie.Jeśli wystąpi taka sytuacja, te wiadomości można przenosić oddzielnie.

Przenoszenie i zmienianie kolejności wiadomości

Przeciągnij wiadomość w górę lub w dół na diagramie.

  1. Zaznacz wiadomość, a następnie:

  2. Aby dostosować położenie wiadomości, należy użyć strzałki w górę i Strzałka w dół kluczy.

  3. Aby zmienić kolejność komunikatów, należy użyć CTRL+strzałki w górę i CTRL+Strzałka w dół.

Dodawanie linii życia

Wybierz myśli w Przybornika, a następnie wybierz diagram.

Dodawanie wiadomości

Tworzenie wiadomości
  1. W Przybornika, wybierz polecenie synchroniczny lub asynchroniczno komunikatu.

    Aby dodać komunikat można znaleźć lub utracone wiadomości, użyj asynchroniczno wiadomości.Znaleziona wiadomość pochodzi z nieznanego źródła zdarzenia, a utracona wiadomość jest wysyłana do nieznanego odbiorcy.

  2. Na diagramie wybierz źródłową linię życia.

  3. Wybierz myśli docelowego.

    - lub -

    Można utworzyć komunikatu znaleziony lub utracone wiadomości, wybierz pusty obszar na diagramu za myśli źródła lub przed nim, odpowiednio.

  4. Wpisz nową nazwę 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.

[!UWAGA]

Po skopiowaniu linii życia z diagramu sekwencji UML w projekcie modelowania do wygenerowanego diagramu sekwencji mogą się pojawiać jedynie nagłówki linii życia lub może być konieczne dostosowanie ich kolorów.Aby rozwiązać ten problem, wybierz wklejonych linii życia i ustaw jego kolor właściwości.

Ujmowanie wiadomości w połączony fragment

  1. Zaznacz co najmniej jedną wiadomość.

  2. Otwórz menu skrótów wybór, wskaż polecenie przestrzennego z, a następnie wybierz typ 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

  1. Otwórz menu skrótów dla powierzchni diagramu sekwencji, a następnie wybierz właściwości.

  2. Ustaw Pokaż zmiany ręcznie właściwości False.

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

  • Otwórz menu skrótów dla jednego lub wielu elementów, wybierz polecenie Utwórz element pracy, a następnie wybierz typ elementu pracy, który ma zostać utworzony.

    Zostanie otwarty nowy element roboczy i będzie można go ukończyć.

Łączenie linii życia, wiadomości i innych elementów z elementami roboczymi

  1. Otwórz menu skrótów dla jednego lub wielu elementów, a następnie wybierz łącze do elementu pracy.

  2. W łącza do elementów pracy okno dialogowe, uruchom zapytanie do znalezienia elementu pracy lub wprowadź jego identyfikator bezpośrednio.Możesz wybrać dowolną liczbę elementów roboczych.

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

  1. Otwórz menu skrótów dla elementu, a następnie wybierz Usuń elementy robocze.

  2. W usunąć łącza do elementów pracy okna dialogowego opcję łączy elementów pracy, które chcesz usunąć.

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:

void ILinkedWorkItemExtension.OnWorkItemCreated( ) {}

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

Koncepcje

Tworzenie wizualizacji kodu

Mapowanie zależności w kodzie na wykresach zależności

Tworzenie diagramów warstwy na podstawie kodu