Diagramy składników UML: Zalecenia
W Visual Studio Ultimate można narysować diagram składników, aby wyświetlić strukturę systemu oprogramowania.Aby obejrzeć wideo demonstracyjne, zobacz Projektowanie struktury fizycznej za pomocą diagramów składników.
Aby utworzyć diagram składników UML, w menu Architektura wybierz polecenie Nowy Diagram.
Składnik jest jednostką modularną wymienną w jego środowisku.Jego szczegóły wewnętrzne są ukryte, ale ma co najmniej jeden dobrze zdefiniowany interfejs dostarczany, za pośrednictwem którego można uzyskać dostęp do jego funkcji.Składnik może mieć też interfejsy wymagane.Interfejs wymagany określa, których funkcji lub usług wymaga od innych składników.Łącząc interfejsy dostarczane i wymagane z kilku składników można konstruować większe składniki.Kompletny system oprogramowania może być rozumiany jako składnik.
Rysowanie diagramów składników ma kilka zalet:
Myślenie o projekcie w odniesieniu do głównych bloków ułatwia zespołowi deweloperów zrozumienie istniejącego projektu i utworzenie nowego.
Myślenie o systemie jako o zbiorze składników z dobrze zdefiniowanymi interfejsami dostarczanymi i wymaganymi poprawia rozdzielenie składników.To z kolei sprawia, że projekt łatwiej zrozumieć i łatwiej go zmienić, gdy zmienią się wymagania.
Można użyć diagramu składników do reprezentowania projektu niezależnie od tego, jaki język lub platforma projektowania są lub będą używane.
W tym temacie
Związek z innymi diagramami
Podstawowe kroki rysowania diagramów składników
Wyświetlanie wewnętrznych części składnika
Projektowanie składnika
[!UWAGA]
Aby uzyskać informacje na temat elementów diagramów składników, zobacz Diagramy składników UML: Odwołanie.
Związek z innymi diagramami
Diagramów składników możesz używać w połączeniu z innymi diagramami.
Inny diagram |
Pomaga w omawianiu i komunikowaniu tych aspektów projektu |
---|---|
Diagram sekwencji UML |
Aby uzyskać więcej informacji, zobacz Diagramy sekwencyjne UML: Zalecenia. |
Diagram klas UML |
Aby uzyskać więcej informacji, zobacz Diagramy klas UML: Zalecenia. |
Diagramy aktywności |
Aby uzyskać więcej informacji, zobacz Diagramy aktywności UML: Zalecenia. |
Diagramy warstw |
Aby uzyskać więcej informacji, zobacz Diagramy warstw: Odwołanie. |
Podstawowe kroki rysowania diagramów składników
Aby uzyskać informacje na temat elementów diagramów składników, zobacz Diagramy składników UML: Odwołanie.
Aby uzyskać więcej informacji dotyczących sposobów używania diagramów składników w procesie projektowania, zobacz Modelowanie architektury oprogramowania.
[!UWAGA]
Szczegółowe kroki tworzenia dowolnego diagramu modelowania zawiera Edytowanie modeli i diagramów UML.
Aby utworzyć diagram składników
W menu Architektura kliknij Nowy Diagram.
W obszarze Szablony kliknij Diagram składników UML.
Nadaj nazwę diagramowi.
W sekcji Dodaj do projektu modelowania wybierz istniejący projekt modelowania w rozwiązaniu lub Utwórz nowy projekt modelowania, a następnie kliknij OK.
W przyborniku Diagram składników UML pojawi się nowy diagram składników.Przybornik zawiera wymagane elementy i relacje.
Rysowanie składników
Utwórz składnik (1) dla poszczególnych głównych jednostek funkcjonalnych w systemie lub aplikacji.
Przykłady obejmują aplikację, urządzenie sprzętowe, usługę sieci Web, zestaw .NET, klasę program lub grupę klas, lub dowolny dający się wydzielić segment programu.
Aby utworzyć składniki
Kliknij przycisk Składnik w przyborniku, a następnie kliknij pustą część diagramu.
- lub -
Skopiuj i wklej istniejący składnik.
Znajdź istniejący składnik na diagramie lub w Eksploratorze modelu UML.
Kliknij składnik prawym przyciskiem myszy, a następnie kliknij Kopiuj.
Otwórz diagram, w którym ma się pojawić skopiowany składnik.
Kliknij prawym przyciskiem myszy pustą część diagramu, a następnie kliknij Wklej.
Kopia składnika pojawi się z nową nazwą.
Kliknij nazwę składnika, aby ją zmienić.
Jeśli chcesz zobaczyć tylko nagłówek składnika, kliknij podwójną strzałkę (5).
Wyświetlanie portów składnika
Port (2, 3) reprezentuje grupę wiadomości lub wywołania operacji, które wchodzą do składnika albo z niego wychodzą.Grupa jest opisana przez interfejs, który definiuje typ portu.Port może dostarczać interfejs lub wymagać interfejsu.
Port z interfejsem dostarczanym (2) dostarcza operacje implementowane przez składnik i może być używany przez inne składniki.
Przykłady obejmują interfejs użytkownika, usługę sieci Web, interfejs .NET lub kolekcję funkcji w dowolnym języku programowania.
Port z interfejsem wymaganym (3) reprezentuje wymagania składnika dla grupy operacji lub usług dostarczanych przez inne składniki lub systemy zewnętrzne.
Na przykład przeglądarka sieci Web wymaga serwerów sieci Web lub dodatek aplikacji wymaga usług od aplikacji.
Składnik może mieć dowolną liczbę portów.
Aby dodać porty do składnika
W przyborniku kliknij Interfejs dostarczany lub Interfejs wymagany.
Kliknij składnik, który chcesz do niego dodać.
Port pojawia się na granicy składnika.
Nowy interfejs jest tworzony jako typ portu.Ten interfejs jest wyświetlany w Eksploratorze modelu UML.
Przeciągnij port wokół granicy składnika, aby go umieścić w odpowiednim miejscu.
Przeciągnij etykietę portu, aby dopasować jej położenie.
Kliknij etykietę, aby ją zmienić.Etykieta zawiera nazwę interfejsu.Jeśli ją zmienisz, zmienisz nazwę interfejsu.
Jeśli chcesz wyświetlić listę atrybutów i operacji interfejsu, możesz to zrobić dodając je do interfejsu w Eksploratorze modelu UML.Możesz też przeciągnąć interfejs z Eksploratora modelu UML do diagramu klasy i dodać operacje i atrybuty.
Tworzenie powiązań między składnikami
Użyj zależność (4), aby pokazać, że wymaganie jednego składnika może być spełnione przez operacje lub usługi zapewniane przez inny składnik.
Aby pokazać, że interfejs dostarczany może spełnić interfejs wymagany
W przyborniku kliknij Zależność.
Kliknij port, z interfejsem wymaganym jednego ze składników, a następnie kliknij port z interfejsem dostarczanym w innym składniku.
Należy unikać projektowania pętli zależności, w których każdy składnik w grupie zależy od wszystkich innych składników.
Aby dodać port dla istniejącego interfejsu do składnika
Znajdź interfejs w Eksploratorze modelu UML, a następnie przeciągnij go stamtąd do składnika.
—lub—
Skopiuj i wklej odwołanie do interfejsu z diagramu.
Na diagramie klasy lub diagramie składników kliknij prawym przyciskiem myszy interfejs, a następnie kliknij przycisk Kopiuj.
Na diagramie składników kliknij prawym przyciskiem myszy składnik, a następnie kliknij Wklej odwołanie.
Podany interfejs pojawi się w składniku.W pobliżu pojawi się Tag akcji.
[!UWAGA]
Jeśli użyjesz opcji Wklej, a nie Odwołanie Wklej, zostanie utworzony nowy interfejs z nową nazwą.
Jeśli chcesz utworzyć interfejs wymagany, kliknij tag akcji, a następnie kliknij Przekonwertuj na interfejs wymagany.
Wyświetlanie wewnętrznych części składnika
Części (3) możesz umieścić w składniku (1), aby pokazać, jak jest zbudowany z mniejszych składników współdziałających ze sobą.
Z diagramu na ilustracji wynika, że każde wystąpienie usługi sieci Web typu Dinner Now zawiera jedno wystąpienie serwera klienta i jedno wystąpienie serwera kuchni.
Część jest właściwością jej składnika nadrzędnego, podobnie jak atrybut należy do zwykłej klasy.Część ma własny typ, który zazwyczaj jest również składnikiem.Etykieta części ma tę samą postać co zwykły atrybut:
+ partName : TypeName
Wewnątrz składnika nadrzędnego każda część pokazuje interfejs dostarczany i wymagany zdefiniowane dla jego typu (4, 5).Operacje lub usługi wymagane przez jedną część mogą być zapewniane przez inną.Można użyć łączników Zestaw części, aby pokazać, jak części są połączone ze sobą (6).
Można również pokazać, że interfejs składnika nadrzędnego jest faktycznie dostarczany lub wymagany przez jedną z jego części.Port nadrzędny można podłączyć do portu wewnętrznej części za pomocą relacji Delegation (9).Dwa porty muszą być tego samego rodzaju (dostarczane lub wymagane) i typy ich interfejsów powinny być zgodne.
Możesz utworzyć nową część nowego typu lub z istniejącego typu.
Aby dodać części do składnika
Utwórz część dla wszystkich głównych jednostek funkcjonalnych, które uważasz za część składnika nadrzędnego.
Kliknij przycisk Składnik w przyborniku, a następnie kliknij wewnątrz składnika nadrzędnego (1).
Nowa część (3) pojawia się wewnątrz składnika nadrzędnego.
Nowy składnik jest tworzony w Eksploratorze modelu UML.Jest to typ nowej części.
- lub -
Przeciągnij istniejący składnik z Eksploratora modelu UML na składnik nadrzędny.
Nowa część (3) pojawia się wewnątrz składnika nadrzędnego.Jego typem jest składnik przeciągnięty z Eksploratora modelu UML.
- lub -
Kliknij prawym przyciskiem myszy składnik w diagramie lub w Eksploratorze modelu UML, a następnie kliknij Kopiuj.
Kliknij prawym przyciskiem myszy składnik nadrzędny, a następnie kliknij Wklej odwołanie.
Nowa część (3) pojawia się wewnątrz składnika nadrzędnego.Jego typem jest składnik, który został skopiowany.
Kliknij nazwę nowej części, aby ją zmienić.Nie możesz zmienić jego typu.
Do nowej części możesz dodać interfejsy dostarczany i wymagany (4, 5).Kliknij narzędzie Interfejs dostarczany lub Interfejs wymagany, a następnie kliknij część.
- lub -
Przeciągnij istniejący interfejs z Eksploratora modelu UML na część.
Interfejsy są dodawane do typu części i pojawiają się w samej części.Składnik nadrzędny dostosowuje jego rozmiar w razie potrzeby.
Połącz części ze sobą.
- Użyj narzędzia Zależność, aby połączyć porty różnych części (6).
Połącz części z portami składnika nadrzędnego:
Utwórz co najmniej jeden port (7) w składniku nadrzędnym.Kliknij Interfejs wymagany lub Interfejs dostarczany w przyborniku, a następnie kliknij składnik nadrzędny.
Oddeleguj (9) port do jednej lub kilku części (9).Kliknij narzędzie Delegacja, następnie port w składniku nadrzędnym, a następnie port w części.W taki sam sposób możesz połączyć porty, które dostarczają interfejsy lub wymagają interfejsów.
Wyświetlanie części części
Po rozłożeniu składnika na części, możesz rozłożyć części każdego typu na wewnętrzne części.
Najłatwiej przeprowadzić dekompozycji poszczególnych warstw na oddzielnych diagramach składników.Najpierw musisz zlokalizować typ części.Na przykład, na ilustracji, jedna z części ma nazwę DNCustomerServer, a jej typ jest składnik o nazwie CustomerServer.Można znaleźć ten typ w Eksploratorze modelu UML i umieścić go na innym diagramie.Następnie możesz utworzyć jej własne części wewnętrzne.
Aby umieścić typ części na diagramie
Określ w pełni kwalifikowaną nazwę typu części.
Kliknij część prawym przyciskiem myszy, a następnie kliknij Właściwości.
Nazwa części pojawi się w polu Typ okna Właściwości.
Zlokalizuj typ części w Eksploratorze modelu UML.
Kliknij Widok, wskaż Inne okna, a następnie kliknij Eksplorator modelu UML.
Rozwiń ten projekt i, jeśli to konieczne, dowolny pakiet, do którego należy typ.
Typ będzie wymieniony jako Składnik.
Jeśli chcesz, możesz tutaj zmienić jego nazwę.
Otwórz lub utwórz inny diagram składników.
Przeciągnij typ z Eksploratora modelu UML do diagramu.
Widok typu pojawi się jako składnik na diagramie.
Ma te same interfejsy, które zostały zdefiniowane dla części.
Możesz teraz dodać części wewnątrz niego.
Projektowanie składnika
Opisywanie, jak współpracują części
Możesz narysować diagram sekwencji, aby pokazać, jak części współpracują ze sobą w odpowiedzi na komunikat docierający do składnika nadrzędnego.
Możesz użyć tych diagramów zarówno do objaśnienia istniejącego składnika, jak i do projektowania nowego składnika.
Jeśli nadal projektujesz składnik, możesz narysować diagramy sekwencji, zanim postanowisz, jakie części będzie mieć.Możesz użyć diagramów sekwencji do eksperymentowania z różnymi częściami, interfejsami wymaganymi i sekwencjami wiadomości.Narysuj diagramy sekwencji dla najczęściej używanych i najważniejszych przychodzących wiadomości.Następnie możesz utworzyć części w składniku odpowiadające liniom życia, co do których podejmiesz decyzję.
Użyj diagramów sekwencji do oceny, jak praca systemu jest rozłożona się między różnymi składnikami.
Jeśli zbyt wiele znajduje się z jednej strony, zaktualizowanie aplikacji prawdopodobnie będzie trudniejsze, niż gdy praca jest rozłożona równomiernie.
Jeżeli praca jest za bardzo rozłożona i ma wiele interakcji, system może działać źle i być trudny do zrozumienia.
Aby narysować diagram sekwencji pokazujący współpracę pomiędzy częściami
Utwórz nowy diagram sekwencji.
Aby uzyskać więcej informacji, zobacz Diagramy sekwencyjne UML: Zalecenia.
Utwórz linię życia dla zewnętrznego składnika, użytkownika, urządzenia lub innego aktora (1), który wysyła wiadomości do tego składnika.
Możesz ustawić właściwość Aktor tej linii życia na wartość true, aby wskazać, że jest zewnętrzna dla rozważanego elementu.Nad linią życia pojawi się kreska.
Utwórz linię życia dla interfejsu dostarczanego (2) tego składnika, do której wybrany aktor wysyła wiadomości.
Utwórz linię życia dla każdej części (3) składnika.
Utwórz linię życia dla każdego interfejsu wymaganego (4) składnika.
Narysuj wiadomości od zewnętrznego aktora (5).Pokaż, jak wiadomości są przekazywane do części i jak części współpracują w odpowiedzieć na wiadomość.
Gdy jest to konieczne, pokaż wiadomości wysyłane do wymaganego interfejsu [6].Nie pokazuj żadnych szczegółów w ramach przetwarzania wiadomości.
Czy składnik jest czymś więcej niż częścią?
W niektórych przypadkach składnik nie jest niczym więcej niż nazwą nadaną kolekcji części.Wszystkie prace wykonywane przez części, a w czasie wykonywania nie ma kodu ani innego artefaktu reprezentującego składnik.
Możesz to zasygnalizować w modelu, ustawiając właściwość Czy wystąpienie utworzono pośrednio składnika.W takim przypadku wszystkie interfejsy składnika powinny znaleźć się na portach z delegacją do wewnętrznych części.
Opisywanie procesu wewnątrz każdej części
Możesz użyć diagramów aktywności, aby pokazać, jak składnik przetwarza każdą przychodzącą wiadomość.Aby uzyskać więcej informacji, zobacz Diagramy aktywności UML: Zalecenia.
Użyj opcji Zaakceptuj akcję zdarzenia (1), aby pokazać, że wiadomości przychodzące rozpoczynają nowy wątek.
Użyj węzłów obiektów i pinów wejścia/wyjścia, aby pokazać przepływ informacji oraz, gdzie są zapisywane informacje.W przykładzie węzeł obiektu (2) służy do pokazywania buforowanych wiadomości między jednym wątkiem i innym.
Definiowanie klas i danych
Możesz użyć diagramu klas UML do opisania szczegółowej treści:
Interfejsów składnika.Podczas dodawania portu dostarczania lub wymagania do składnika, w Eksploratorze modelu UML pojawia się interfejs.Możesz je przeciągać lub kopiować to do diagramu klas UML, aby pokazać jego atrybuty i operacje, i relacje z innymi interfejsami.
Dane przekazywane w parametrach operacji w interfejsach.
Dane przechowywane w składnikach, na przykład, jak pokazano w przepływach obiektu w diagramie aktywności.
Ogólne zależności między składnikami
Możesz użyć diagramu składników tylko po to, by pokazać główne części projektu i ich współzależności.
Użyj narzędzia Zależność, aby narysować zależność.Oznacza to, że projekt jednego składnika opiera się na innym.
Typowe rodzaje zależności obejmują:
Jeden składnik wywołuje kod w drugim.
Jeden składnik tworzy wystąpienia klasy, która jest zdefiniowana w innej klasie.
Jeden składnik używa informacji utworzonych przez inny składnik.
Możesz użyć nazwy strzałki zależności do oznaczenia szczególnego rodzaju użycia.Aby ustawić nazwę, kliknij prawym przyciskiem myszy strzałkę, a następnie kliknij Właściwości i ustaw pole Nazwa w oknie właściwości.
Zobacz też
Informacje
Diagramy sekwencji UML: Odwołanie
Koncepcje
Edytowanie modeli i diagramów UML
Diagramy składników UML: Odwołanie
Diagramy przypadków użycia UML: Odwołanie
Diagramy składników UML: Odwołanie
Inne zasoby
Wideo: Projektowanie struktury fizycznej za pomocą diagramów składników`