Sammansatt strukturdiagram
UML-diagramtyper |
---|
Strukturella UML-diagram |
Beteende UML-diagram |
Sammansatt strukturdiagram i Unified Modeling Language (UML) är en typ av statiskt strukturdiagram , som visar den interna strukturen för en klass och de samarbeten som denna struktur möjliggör.
Detta diagram kan inkludera interna delar , portar genom vilka delarna interagerar med varandra eller genom vilka instanser av klassen interagerar med delarna och med omvärlden, och kontakter mellan delar eller portar. En sammansatt struktur är en uppsättning sammankopplade element som samarbetar under körning för att uppnå något syfte. Varje element har någon definierad roll i samarbetet.
Begrepp
De viktigaste sammansatta strukturentiteterna som identifieras i UML 2.0-specifikationen är strukturerade klassificerare, delar, portar, kopplingar och samarbeten.
- Del : A ay namnge en specifik betongklass. Delen kan inkludera en multiplicitetsfaktor, såsom [0..*] som visas för Viewer i diagrammet.
- Port : En port är en interaktionspunkt som kan användas för att koppla samman strukturerade klassificerare med sina delar och med miljön. Portar kan valfritt specificera de tjänster de tillhandahåller och de tjänster de kräver från andra delar av systemet. I diagrammet är var och en av de små rutorna en hamn. Varje port har en typ och är märkt med ett namn, som "var", "indVar1" eller "vy" i diagrammet. Portar kan innehålla en multiplicitetsfaktor, till exempel [3].
- Portar kan antingen delegera mottagna förfrågningar till interna delar, eller så kan de leverera dessa direkt till beteendet hos den strukturerade klassificeraren som porten finns i. Offentliga hamnar som är synliga i miljön visas gränsöverskridande, medan skyddade hamnar som inte är synliga i miljön visas innanför gränsen. Alla portar i diagrammet är offentliga, förutom vyporten längs den högra gränsen för FibonacciSystem.
- Connector : En connector binder samman två eller flera enheter, vilket gör att de kan interagera under körning. Kontakten visas som en linje mellan någon kombination av delar, portar och strukturerade klassificerare . Diagrammet visar tre kontakter mellan portar och en koppling mellan en strukturerad klassificerare och en del.
- Samarbete : Ett samarbete är i allmänhet mer abstrakt än en strukturerad klassificerare. Den visas som en prickad oval som innehåller roller som instanser kan spela i samarbetet.
- Structured Classifier : En StructuredClassifier representerar en klass, ofta en abstrakt klass, vars beteende helt eller delvis kan beskrivas genom interaktioner mellan delar.
- Encapsulated classifier : En EncapsulatedClassifier är en typ av strukturerad klassificerare som innehåller portar. I diagrammet nedan är både FibonacciSystem och Variable inkapslade klassificerare eftersom de båda har portar längs sina gränser.
Exempel
Som ett exempel, överväg ett möjligt sätt att modellera produktionen av Fibonacci-sekvensen .
Detta UML 2.0 sammansatta strukturdiagram anger att instanser av klassen 'FibonacciSystem' består av ett antal delar. Den översta av dessa delar identifieras ha klassificeraren 'FibonacciFunction'. Tre av delarna identifieras av den roll de spelar inom instanser av FibonacciSystem - rollen NMinus2 , NMinus1- rollen och N - rollen. Den femte delen, identifierad av dess klassificerare Viewer , inkluderar en multiplicitetsspecifikation. Under körning kan det finnas 0 eller fler instanser av Viewer eller någon konkret underklass av Viewer.
Vid körning måste klassinstanserna som implementerar dessa tre roller tillhandahålla de tjänster som specificeras av IVar- gränssnittet genom sina var- portar. En sådan klass är Variable , som visas i diagrammet med en port som heter var av typen Var som realiserar IVar -gränssnittet.
Porten som heter "view" är en icke-offentlig port som kan användas av en instans av FibonacciSystem för att komma åt de valfria instanserna av Viewer .
externa länkar
- Allmän information om UML inklusive den officiella UML 2.0-specifikationen. Se särskilt det stora avsnittet om sammansatta strukturer.
- Xholon open source-projektet har en uppsättning länkar som har att göra med sammansatt struktur.
- UML 2 sammansatta strukturdiagram