UML - un diagramma uml può contenere diversi tipi di modelli uml?

7

^ ad es. è permesso collegarsi direttamente da un caso d'uso a un diagramma di attività - oppure- da un diagramma di classe a un caso d'uso collegandoli con una nota di associazione -o - forma un diagramma di componenti in un diagramma di oggetti? inoltre, se è permesso, e credo fermamente che è da quando ho visto tali diagrammi, dove lo dice nel documento omg formale / 15-03-01?

Modifica: Ad esempio, dove le specifiche dicono che qualcosa del genere è permesso?

    
posta kitty 21.04.2016 - 19:19
fonte

3 risposte

3

Sto guardando la specifica UML più recente, la Unified Modeling Language v2.5, rilasciata a giugno 2015 . È specificato in una specifica della lingua inglese e in quattro documenti XMI.

Penso che ci siano due cose da considerare per fornire una risposta completa.

La prima cosa da tenere a mente è la differenza tra un "modello" e un "diagramma". L'allegato A definisce modelli e schemi. Elementi, come classi e nodi e associazioni e attori e casi d'uso, fanno parte di un modello. Diversi modelli hanno diversi elementi validi, che sono descritti nello standard. I diagrammi sono viste grafiche del modello. Un repository contiene uno o più modelli di un sistema software.

La seconda cosa da considerare è l'uso di UML. UML è un linguaggio, un insieme di notazioni standard con significati definiti. Martin Fowler ha identificato diverse modalità UML , come schizzo, progetto, linguaggio di programmazione. Schizzi e progetti sono progettati per il consumo umano. Approfittano delle notazioni definite per ridurre l'ambiguità in un diagramma e facilitano la comunicazione di idee in un linguaggio condiviso. UML come linguaggio di programmazione è una modalità progettata per essere utilizzata da uno strumento, ad esempio per il codice di autogenerazione.

La combinazione di modelli non è consentita dalle specifiche formali. La definizione di un modello di attività non consente l'inclusione di elementi come attori, linee vita e oggetti. Puoi vederlo nei documenti XMI o nella sezione 15 dello standard in lingua inglese. Semplicemente non c'è alcun concetto di questo.

Tuttavia, quando si crea un diagramma (a mano o con un pacchetto software), non c'è nulla che lo precluda. Ad esempio, la Figura 18.12 mostra un diagramma del caso d'uso associato a un diagramma della macchina di stato. Gli strumenti possono mostrarli in diversi formati. Dovrei scavare più a fondo per vedere se è possibile collegare tutti i diagrammi che hai menzionato, ma è possibile associare un elemento di un modello con un elemento in un modello diverso, in modo che il diagramma di output possa contenere rappresentazioni visive di più modelli in un'unica vista.

L'allegato A lo supporta:

This taxonomy provides a logical organization for the various major kinds of diagrams. However, it does not preclude mixing different kinds of diagram types, as one might do when one combines structural and behavioral elements (e.g., showing a state machine nested inside an internal structure). Consequently, the boundaries between the various kinds of diagram types are not strictly enforced.

    
risposta data 21.04.2016 - 20:08
fonte
2

Il tuo esempio assomiglia molto a uno dei diagrammi di esempio nella specifica UML 2.5 :

Quindi suppongo che se è nelle specifiche possiamo essere ragionevolmente sicuri che questo sia UML valido.

    
risposta data 22.04.2016 - 08:25
fonte
0

Non mi aspettavo davvero un pignolo su cosa sia un diagramma e che modello sia.

Tuttavia penso di aver trovato una notazione che fa il trucco in modo impeccabile. È noto come "Flusso di informazioni" e utilizza l'associazione delle dipendenze e il flusso di parole chiave in doppio chevrons / Guillemets. Un libro tra le mie mani dice: "Un flusso di informazioni specifica che uno o più elementi di informazione circolano dalle sue fonti ai suoi obiettivi: i flussi di informazioni richiedono una sorta di" canale di informazione per la trasmissione di informazioni "."

Ecco come appare

E il documento ufficiale formale / 15-03-01 dice in

20.1.3 Semantica (about InformationFlows):

In practice, a constraint on InformationFlow requires that sources and targets must be one of the following types: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition, Behavior, and InstanceSpecification.

.. così perfetto, è esattamente quello che stavo cercando. Potrebbero esserci altri modi per collegare direttamente i modelli, ma ho dovuto trovare qualcosa nei documenti OMG ufficiali.

    
risposta data 21.04.2016 - 23:56
fonte

Leggi altre domande sui tag