Diagramy klas UML: wytyczne
W Visual Studio Ultimate, można użyć diagram UML klasy do opisu typów danych i ich relacji, niezależnie od ich wykonania.Diagram jest używany na logiczne aspekty klasy, a nie ich realizacji.
Aby utworzyć diagram UML klasy na architektury menu wybierz Nowy Diagram.
[!UWAGA]
Ten temat jest diagramy klasy UML.Istnieje inny rodzaj diagram klasy, które można tworzyć i używać wizualizacji kodu programu.Zobacz Projektowanie i przeglądanie klas i typów.
W tym temacie
Za pomocą diagramów UML, klasa
Podstawowe kroki do rysowania diagramów klas
Przy użyciu klas, interfejsów i wyliczeń
Atrybuty i operacje
Rysowanie i przy użyciu skojarzenia
Dziedziczenie
Typy szablonów
Definiowanie przestrzeni nazw pakietów
Generowanie kodu z diagramów klas UML
Za pomocą diagramów UML, klasa
Diagram klasy UML służy do różnych celów:
Aby podać opis niezależny od implementacji typów, które są używane w systemie i przekazywane między jego składników.
Na przykład typ zamówienia mączki mogły być realizowane w kod .net w warstwie biznesowych w formacie XML na interfejsy między składnikami w języku SQL w bazie danych i w formacie HTML w interfejsie użytkownika.Chociaż tych implementacji są różne szczegółowo, relacji między zamówienia mączki i innych typów, takich jak Menu i płatności, jest zawsze taka sama.Diagram UML klasy czyni przedyskutować te relacje oddzielnie od implementacji.
Wyjaśnienie słownik pojęć używanych w komunikacji między aplikacją i jej użytkowników i w opisy potrzeb użytkowników.See Wymagania użytkownika modelowania.
Na przykład rozważyć historie użytkownika, należy użyć przypadkach lub innych opisów wymagań aplikacji restauracji.W polu Opis można znaleźć takich jak Menu kolejność, mączki, cena, płatności i itd.Można narysować diagram UML Klasa definiująca relacje między te warunki.Zmniejsza to ryzyko niespójności w opisy wymagań i interfejsu użytkownika oraz w dokumentach pomocy.
Relacja do innych diagramów
Zazwyczaj rysowania diagramu UML klasy z innych diagramach modelowania do zawierają opisy typów, które używają.W każdym przypadku fizyczna reprezentacja typów nie jest implikowane przez diagramów.
Jeśli użytkownik narysuje: |
Diagram klasy UML służy do opisu: |
---|---|
Diagram aktywności |
Typ danych przechodzącej przez węzeł obiektu. Typy pinów wejściowych i wyjściowych i działalności parametr węzłów. |
Diagram sekwencji |
Typy parametrów i wartości zwracane wiadomości. Typy życia.Klasa kształtu Linia życia powinny obejmować operacje dla wszystkich wiadomości, jaką może otrzymać. |
Diagram składników |
Interfejsy składnika aukcji ich działalności. Można także opisać pełny składnik jako klasa. |
Diagram przypadków użycia |
Typy wymienionych w opisy cele i czynności w przypadku użycia. |
Podstawowe kroki do rysowania diagramów klas
Aby uzyskać informacje o elementach na diagramach klas UML, zobacz Diagramy klas UML: odwołania.
[!UWAGA]
Szczegółowe kroki tworzenia dowolnego diagramy modelowania są opisane w Porady: edycja modeli UML i diagramów.
Aby utworzyć diagram UML klasy
Na architektury menu wybierz Nowy Diagram.
W obszarze szablonów, wybierz polecenie Diagram UML klasy.
Nazwa diagramu.
W Dodaj do modelowania projektu, zaznacz istniejący projekt modelowania w rozwiązania, lub Tworzenie nowego projektu modelowania, a następnie wybierz polecenie OK.
Nowy diagram klasy pojawia się z UMLDiagram klasy przybornika.Przybornik zawiera wymagane elementy i relacji.
Aby narysować Diagram klasy UML
Aby utworzyć typ, wybierz polecenie klasy, interfejsu lub wyliczenia narzędzia w przyborniku, a następnie kliknij pustą część diagramu.
Można utworzyć również typy na podstawie typów kodu.Typy można przeciągnąć z wykresów Solution Explorer, architektura Explorer lub zależność na diagram.See Porady: tworzenie diagramów klasy UML z kodu.
Aby dodać atrybuty lub operacje do typów lub literały do wyliczenia, wybierz atrybuty, operacji lub literały w typu Nagłówek i naciśnij klawisz ENTER.
Można wpisać podpis, takich jak f(x:Boolean):Integer.Zobacz atrybuty i operacje.
Aby szybko dodać kilka elementów, naciśnij klawisz ENTER dwa razy na końcu każdego elementu.Klawisze strzałek można przenieść w górę listy.
Aby rozwinąć lub zwinąć typ, wybierz ikonę chevron w jego lewym górnym.Można również rozwijać i zwijać atrybuty i operacji sekcji klasy lub interfejsu.
Aby narysować stowarzyszeń, dziedziczenia lub łącza współzależności między typami, kliknij narzędzie właściwych relacji, a następnie typ źródła, a następnie wpisz cel.
Typy w pakiecie, utworzyć przy użyciu pakietu pakietu narzędzie, a następnie utwórz nowe typy i pakietów w pakiecie.Można również użyj polecenia Kopiuj, aby skopiować typów i wkleić je do pakietu.
Każdy diagram jest widok na modelu, który jest współużytkowany innych diagramów w samym projekcie.Aby wyświetlić widok drzewa modelu pełną, wybierz widoku, Other Windows, Eksplorator modelu UML.
Przy użyciu klas, interfejsów i wyliczeń
W przyborniku dostępne są trzy rodzaje standardowych klasyfikatora.Są one określane jako typów w tym dokumencie.
Użyj klasy (1) do reprezentowania typów danych lub obiekt w większości przypadków.
Użyj interfejsów (2) w kontekście, w którym masz rozróżniania czystego interfejsów i konkretne klas, które mają implementacje wewnętrznego.Różnica ta jest przydatna podczas celem diagramu jest opisać implementacji oprogramowania.Jest mniej przydatne podczas są modelowania danych pasywnego lub gdzie definiowania pojęcia używane do opisania wymagań użytkownika.
Użyj wyliczenia (3) do reprezentowania typu, który ma ograniczoną liczbę wartości literału, na przykład Stop i Go.
Dodawanie wartości literału do wyliczenia.Nadać każdej osobnej nazwy.
Można także wprowadzić wartość liczbową dla każdej wartości literału, jeśli chcesz.Wybierz Otwórz menu skrótów dla literału w wyliczeniu, Właściwości, a następnie wpisz liczbę w wartość w Właściwości okna.
Nadaj unikalną nazwę każdego typu.
Pobieranie typów z innych diagramów
Można wprowadzać typy z innego diagramu pojawia się na diagramie klasy UML.
Inny typ diagramu |
Jak uzyskać z diagramu innych typów |
---|---|
Diagram UML klasy |
Można wprowadzać klasy pojawiają się na więcej niż jeden diagram klasy UML.Po utworzeniu klasy na jednym diagramie przeciągnij klasy z Eksplorator modelu UML na innych diagramu. Jest to przydatne, jeśli chcesz, aby każdy diagram skupić się na określonej grupy relacje. Na przykład można pokazać skojarzenia między zamówienia mączki i Menu w restauracji na jeden diagram i skojarzenia między mączki zamówienia i płatności na innego diagramu. |
Diagram składników |
Jeśli składniki zostały zdefiniowane w diagramie składników, można przeciągnąć składnik z Eksplorator modelu UML na diagram klasy.Pojawi się jako klasa.See Diagramy składników UML: wytyczne. |
Diagram sekwencji UML |
Można utworzyć klas i interfejsów z życia w diagramie sekwencji, a następnie przeciągnij klasy z Eksplorator modelu UML do klasy diagramu UML.Każda linia życia w diagramie sekwencji reprezentuje wystąpienie obiektu, składnika lub aktora. Aby utworzyć klasę kształtu Linia życia, otwórz menu skrótów dla linii życia, a następnie wybierz Utwórz klasę lub Utworzyć interfejsu.See Diagramy sekwencji UML: wytyczne. |
Kod programu |
Typy może reprezentować z kodu w modelu.Przeciągnij klasy, interfejsy lub wyliczenia z wykresów Explorer architektury lub obszaru na diagramie klasy UML. Typy, które przeciągasz pojawi się na diagramie.Typy zależne również zostanie dodany do modelu.Po utworzeniu typu UML w ten sposób można kliknąć dwukrotnie go otworzyć kodu źródłowego.See Porady: tworzenie diagramów klasy UML z kodu.
Uwaga
Kod i modelu nie są stale synchronizowane.Diagram do omówienia propozycji zmian bez wpływu na kodzie można aktualizować.Późniejsze zmiany w kodzie nie automatycznie wpłynie diagramu chyba że typy ponownie przeciągnij na diagram.
|
Atrybuty i operacje
Atrybut (4) jest nazwana wartość, która może mieć wystąpienie każdego typu.Dostęp do atrybutu nie zmienia stan wystąpienia.
Operacja (5) to metoda lub wystąpienia typu można wykonać funkcji.Może ona zwracać wartość.Jeśli jego isQuery właściwość ma wartość true, to nie można zmienić stan wystąpienia.
Aby dodać do typu atrybutu lub operacji, otwórz menu skrótów dla typu, wybierz polecenie Dodaj, a następnie wybierz polecenie atrybutu lub operacji.
Aby obejrzeć jego właściwości, otwórz menu skrótów dla atrybutu lub operacji, a następnie wybierz Właściwości.Właściwości są wyświetlane w Właściwości okna.
Aby wyświetlić właściwości parametry operacji, wybierz **[...]**w Parametry właściwości.Zostanie wyświetlone okno dialogowe właściwości nowego.
Szczegółowe informacje dotyczące właściwości, które można ustawiać zobacz:
Typy atrybutów i operacji
Każdy typu atrybutu lub operacji i typ każdego parametru może być jedną z następujących czynności:
(brak) -Można pozostawić typ nieokreślony do podpisu przez pominięcie dwukropka poprzedniego (:).
Jeden standardowych typów pierwotnych: Boolean, Integer, ciąg.
Typ zdefiniowany w modelu.
Wartość sparametryzowana typ szablonu zapisany szablon <Parameter>.Zobacz typy szablonów.
Można także napisać nazwa typu, które nie zostały jeszcze zdefiniowane w modelu.Nazwa będzie wyświetlana w obszarze Nieokreślony typów w Eksploratorze modelu UML.
[!UWAGA]
Można następnie zdefiniowania klasy lub interfejsu o nazwie modelu, starszych atrybutów i operacji nadal będzie odnosić się do elementu w typach nieokreślony.Jeśli chcesz zmienić ich odnoszą się do nowej klasy należy odwiedzić każdego atrybutu lub operacji i zresetować typ, wybierając z menu rozwijanego nowej klasy.
Wiele typów
Można ustawić liczebność atrybutów, operacji lub typem parametru.
Dozwolone wartości są następujące:
Liczebność |
Zawiera atrybut, parametru lub zwracanej wartości: |
---|---|
[1] |
Jedna z wartości danego typu.Domyślnie włączone. |
[0..1] |
NULL lub wartość danego typu. |
[*] |
Kolekcja dowolną liczbę wystąpień danego typu. |
[1..*] |
Kolekcja co najmniej jedno wystąpienie danego typu. |
[n..m] |
Kolekcja między n i m wystąpień danego typu. |
Jeśli liczebność jest większa niż 1, można również ustawić następujące właściwości:
IsOrdered - jeśli PRAWDA, Kolekcja zdefiniowanej kolejności.
IsUnique - jeśli PRAWDA, istnieją zduplikowane wartości w zbiorze.
Widoczność
Widoczność wskazuje, czy atrybut lub operacji jest możliwy poza definicją klasy.Dozwolone wartości są następujące:
Nazwa |
Formularz Skrócony |
Znaczenie |
---|---|---|
Publicznego |
+ |
Dostępne z innych typów. |
Prywatne |
- |
Dostępne tylko dla wewnętrznego definicji tego rodzaju. |
Pakiet |
~ |
Dostępne tylko w ramach pakietu zawierającego ten typ i w pakiety, które jawnie importowania.Zobacz definiowania nazw i pakiety. |
Chronione |
# |
Dostępne tylko dla tego typu i typów, które dziedziczą z niego.Zobacz dziedziczenie. |
Ustawienie atrybutu lub operacji podpis
Podpis atrybutu lub operacji jest kolekcja właściwości obejmuje widoczności, nazwa, parametry (operacji) i typu.
Podpisu można pisać bezpośrednio na diagramie.Kliknij atrybut lub operację, zaznacz go i kliknij ponownie.
Podpisu można zapisać w postaci:
visibility attribute-name : Type
- lub -
visibility operation-name (parameter1 : Type1, ...) : Type
Na przykład:
+ AddItem (item : MenuItem, quantity : Integer) : Boolean
Krótki formularz widoczności.Wartością domyślną jest + (publicznego).
Każdy typ może być typów, że zostały zdefiniowane w modelu, standardowe typy, jak liczba całkowita lub ciąg lub wpisz nazwę nowego, że nie zostały jeszcze zdefiniowane.
[!UWAGA]
Jeśli piszesz nazwę bez typu na liście parametrów wskazuje nazwę parametru, a nie jego typu.W tym przykładzie MenuItem i całkowitą stają się nazwy parametrów dwa typy nieokreślony:
AddItem(MenuItem, Integer) /* parameter names, not types! */
Aby ustawić liczebność typu podpisu, zapis liczebność w nawiasy po nazwie typu, na przykład:
+ AddItems (items : MenuItem [1..*])
+ MenuContent : MenuItem [*]
Jeżeli atrybutu lub operacji jest statyczny, jej nazwa będzie wyświetlana podkreślone w podpisie.Jeśli jest abstrakcyjna, nazwa będzie wyświetlana kursywą.
Jednakże można ustawić tylko Jest statyczny i Jest abstrakcyjna właściwości w Właściwości okna.
Pełna podpisu
Kiedy edytować podpis atrybutu lub operacji, niektóre dodatkowe właściwości mogą być wyświetlane na końcu linii i po każdego parametru.Pojawiają się one ujętego w nawiasy klamrowe {...}.Można edytować lub dodać te właściwości.Na przykład:
+ AddItems (items: MenuItem [1..*] {unique, ordered})
+ GetItems (filter: String) : MenuItem [*] {ordered, query}
Właściwości te są następujące:
W podpisie |
Właściwość |
Znaczenie |
---|---|---|
unique |
Jest unikatowy |
W kolekcji nie istnieją zduplikowane wartości.Stosuje się do typów z liczebność jest większa niż 1. |
ordered |
Porządkowania |
Kolekcja jest sekwencji.Jeśli FAŁSZ, nie istnieje żadne ostateczne pierwszego elementu.Stosuje się do typów z liczebność jest większa niż 1. |
query |
Jest kwerendą |
Operacja nie zmienia stan jego wystąpienia.Dotyczy tylko operacje. |
/ |
Pochodzi |
Atrybut jest obliczana na podstawie wartości innych atrybutów lub stowarzyszeń. "/" pojawia się przed nazwa atrybutu.Na przykład:
|
Zazwyczaj pełnego podpisu na diagramie jest wyświetlany tylko podczas jego edycji.Po zakończeniu edycji, dodatkowe właściwości są ukryte.Jeśli Zobacz cały czas podpisu pełne otwarcie menu skrótów dla typu, a następnie wybierz Pokaż podpis pełne.
Rysowanie i przy użyciu skojarzenia
Umożliwia skojarzenie reprezentuje dowolny rodzaj powiązania między dwoma elementami, niezależnie od sposobu implementacji w oprogramowaniu połączenie.Na przykład można skojarzenia do reprezentowania wskaźnika w C# relacji w bazie danych lub odwołania krzyżowego z jednej części pliku XML.Skojarzenie między obiektami w świecie rzeczywistym, jak ziemię i sun może reprezentować.Skojarzenie nie powiedzieć, jak łącze jest reprezentowany, tylko że istnieje informacji.
Właściwości skojarzenia
Po utworzeniu skojarzenia, należy ustawić jej właściwości.Otwórz menu skrótów dla skojarzenia, a następnie wybierz Właściwości.
Oprócz właściwości skojarzenia jako całości każdy rolę, czyli każdego końca stowarzyszenia, ma niektóre właściwości własnych.Aby je wyświetlić, należy rozwinąć Pierwszą rolę i Drugą rolę właściwości.
Niektóre właściwości każdej roli są bezpośrednio widoczne na diagramie.Są one następujące:
Nazwa roli.Pojawia się na końcu właściwe skojarzenia na diagramie.Można ustawić go na diagram lub w Właściwości okna.
Liczebność, jakie 1.Pojawia się również na diagramie w pobliżu końca właściwe stowarzyszenia.
Agregacja.Pojawia się jako jeden koniec łącznika kształtu rombu.Można użyć go własnych lub zawierać instancje innych wystąpień w roli agregację.
Jest Żeglowna.Jeśli wartość true tylko jedną rolę w kierunku żeglownych pojawia się strzałka.Umożliwia to wskazuje kierunek nawigacji, łącza i stosunków bazy danych w oprogramowaniu.
Pełne szczegóły tych i innych właściwości, zobacz Właściwości skojarzenia na diagramach klas UML.
Zdolności żeglugowej
Podczas rysowania skojarzenie ma strzałki na końcu, oznaczający, że stowarzyszenie żeglownych w tym kierunku.Jest to przydatne, jeśli diagramu klasy reprezentuje oprogramowanie klasy skojarzenia reprezentują wskaźniki lub odwołania.Jednak użycie diagramie klasy reprezentujące podmioty i stosunków lub koncepcje biznesowe, jest mniej istotne do reprezentowania zdolności żeglugowej.W takim przypadku może preferować Rysowanie skojarzenia bez strzałki.Można to zrobić przez ustawienie Jest żeglownych właściwość na końcach stowarzyszenia true.Aby ułatwić, można pobrać przykładowy kod Modeling domeny UML.
Atrybuty i skojarzenia
Skojarzenie to sposób obrazkami pokazanie atrybutu.Na przykład zamiast tworzenia klasy restauracji z atrybutu typu Menu, można narysować skojarzenia z restauracji do Menu.
Każda nazwa atrybutu staje się nazwa roli.Wydaje się przeciwległym końcu skojarzenia z typu będący właścicielem.Szukaj, na przykład na myMenu na ilustracji.
Jest ogólnie lepiej jest używać atrybuty tylko dla typów, które nie byłyby rysowania na diagramu, na przykład typów pierwotnych.
Dziedziczenie
Użyj dziedziczenie narzędzie do tworzenia relacji następujące:
A generalizacji związek między typem specjalistyczne i głównego typu
- lub -
A realizacji relacji między klasą a interfejsem, który implementuje.
Nie można tworzyć pętle w relacje dziedziczenia.
Generalizacja
Generalizacja oznacza, że specializing lub pochodnych typu dziedziczy atrybuty, operacje i skojarzenia typu bazowego lub ogólne.
Ogólny rodzaj pojawia się na końcu strzałki relacji.
Operacje dziedziczone i atrybuty nie są zwykle wyświetlane w specializing typów.Ale dziedziczone operacji można dodać do listy operacji typu specializing.Jest to przydatne, jeśli chcesz zastąpić niektóre właściwości operacji typu specializing lub jeśli chcesz wskazać, że kodeks wykonawczy należy zrobić.
Aby zastąpić definicji operacji typu specializing
Kliknij relacji generalizacji.
Pojawi się wyróżniony i tag Akcja pojawia się blisko go.
Kliknij znacznik akcji, a następnie kliknij Operacji zastąpić.
Operacji zastąpić pojawi się okno dialogowe.
Wybierz operacje, które mają być wyświetlane w rodzaju specializing, a następnie kliknij OK.
Operacje, które wybrano teraz wyświetlane w typu specializing.
Realizacja
Realizacja oznacza, że klasa implementuje atrybuty i operacje określone przez interfejs.Interfejs jest na końcu strzałki łącznika.
Podczas tworzenia łącznika realizacji operacji interfejsu są automatycznie replikowane w klasie realizujące je.Jeśli dodasz nowe operacje do interfejsu są replikowane w jej klas realizujące je.
Po utworzeniu relacji realizacji można przekonwertować go na notację lizak.Kliknij prawym przyciskiem myszy relację i wybierz polecenie Pokaż jako lizak.
Pozwala to Pokaż interfejsy, które implementuje klasy, bez przeładowania diagramy klas z łączami do realizacji.Można też wyświetlić interfejs i klas, które wie na oddzielnych diagramów.
Typy szablonów
Można zdefiniować rodzajowy lub szablonu typu, który może zostać sparametryzowana przez inne typy lub wartości.
Na przykład można utworzyć słownik ogólny sparametryzowana według typów kluczy i wartości:
Aby utworzyć typ szablonu
Tworzenie klasy lub interfejsu.Stają się typu szablonu.Nazwij go odpowiednio, na przykład Dictionary.
Otwórz menu skrótów dla nowego typu, a następnie wybierz Właściwości.
W Właściwości okna, kliknij [...] w Parametry szablonu pola.
Edytor kolekcji parametrów szablonu pojawi się okno dialogowe.
Wybierz dodać.
Ustaw właściwość name Nazwa parametru typu szablonu, na przykład Key.
Ustaw parametr typu.Wartością domyślną jest klasy.
Parametr akceptuje tylko klas pochodnych określonej klasy podstawowej, należy ustawić Ograniczone do wartości do klasy podstawowej, który ma.
Dodać tyle parametry potrzebne, następnie wybierz OK.
Dodać atrybuty i operacje typu szablonu, jak dla innych klas.
Można używać parametrów, których rodzaj jest klasy, interfejsu lub wyliczenia w definicji atrybutów i operacji.Na przykład, używając parametru klasy Key i Value, można zdefiniować tej operacji w Dictionary:
Get(k : Key) : Value
Można użyć parametru, którego rodzaj jest Integer za granicą w mnożenia.Na przykład całkowitą parametr max może służyć do definiowania liczebność atrybutu jako [0..max].
Po utworzeniu szablonu typów można użyć ich do definiowania szablonu powiązania:
Aby użyć typu szablonu
Tworzenie nowego typu, na przykład AddressTable.
Otwórz menu skrótów dla nowego typu, a następnie wybierz Właściwości.
W Szablonu powiązania właściwości, wybierz typ szablonu, na przykład Dictionary, z listy rozwijanej.
Rozwiń Szablonu powiązania właściwości.
Zostanie wyświetlony wiersz dla każdego parametru typu szablonu.
Ustawić odpowiednie wartości każdego parametru.Na przykład ustawić Key parametr do klasy o nazwie Name.
Pakiety
Pakiety można wyświetlić na diagramie klasy UML.Pakiet jest kontenerem dla innych elementów modelu.Można utworzyć dowolny element wewnątrz pakietu.Na diagramie elementy wewnątrz pakietu będzie poruszanie się po przeniesieniu pakietu.
Można użyć formantu Rozwiń/Zwiń, aby pokazać lub ukryć zawartość pakietu.
See Definiowanie pakiety i przestrzenie nazw.
Generowanie kodu z diagramów klas UML
Rozpoczęcie wdrażania klas na diagramie UML klasy można wygenerować kodu C# lub dostosowywanie szablonów do generowania kodu.Aby rozpocząć generowanie kodu za pomocą dostarczonego C# szablonów:
Wybierz Otwórz menu skrótów dla diagramu lub elementu, Generowania kodu, a następnie ustaw właściwości niezbędne.
Aby uzyskać więcej informacji, jak ustawić te właściwości i dostosowywać szablony dostarczone, zobacz Porady: generowanie kodu z diagramu klasy UML.
Zobacz też
Informacje
Diagramy sekwencji UML: odwołania
Koncepcje
Porady: edycja modeli UML i diagramów
Wymagania użytkownika modelowania
Diagramy składników UML: odwołania