Diagrama d'estructura composta

From Wikipedia, the free encyclopedia

Remove ads

Un diagrama d'estructura composta és un diagrama que mostra l'estructura interna d'una classe, així com les col·laboracions que permet. A més, permet descriure els objectes i rols que conformen el comportament de la classe que els conté. És semblant a un diagrama de classes, però mostra parts individuals en lloc de classes senceres.

Aquest diagrama pot incloure parts internes, ports a través dels quals les parts interactuen entre elles o bé les instàncies de la classe interactuen amb les parts i els elements exteriors, i connectors entre parts i ports. Un port també pot especificar els serveis que una classe requereix del seu entorn, així com els que proporciona. Una estructura composta és un conjunt d'elements interconnectats que col·laboren en temps d'execució per aconseguir algun objectiu.

Remove ads

Elements principals d'un diagrama d'estructura composta

Classe

Una classe descriu un conjunt d'objectes que comparteixen les mateixes especificacions de característiques, restriccions i semàntica. Una classe és un tipus de classificador les característiques del qual són mètodes i atributs.

Propietats d'una classe:

Thumb
NomNom de la classe
Element pareElement que conté la classe
DocumentacióDescriu la classe.
AbstraccióSi és abstracta, la classe no té una declaració completa i, en general, no pot ser instanciada. La intenció de fer una classe abstracta és que pugui ser utilitzada per altres classes.
FullaIndica si és possible especialitzar més la classe. Si el valor és cert, la classe no es pot especialitzar més.
ArrelIndica si la classe té o no antecessors. Si el valor és cert, la classe no té cap antecessor (element pare).
ActivaDetermina si un objecte especificat per la classe és actiu o no. Si el valor és cert, la classe es considera activa. Per contra, si el valor és fals la classe es considera passiva.
AtributsPropietats que són atributs directes (no són heretats ni importats) de la classe.
MètodesAccions i funcions pròpies de la classe.

Port

Un port és una propietat d'una classe que especifica un punt d'interacció persona-ordinador entre una classe i el seu entorn o bé entre la classe i les seves parts internes. Els ports es connecten a les propietats de la classe mitjançant connectors a través dels quals es poden fer peticions per invocar els mètodes de la classe. Un port pot especificar els serveis que una classe ofereix al seu entorn, així com els que el requereix.

Propietats d'un port:

Thumb
NomNom del port
DocumentacióDescriu el port.
FullaIndica si és possible especialitzar més el port. Si el valor és cert, el port no es pot especialitzar més.
AtributsEs refereix a totes les propietats que són atributs directes (no són heretats ni importats) de la classe.
TipusEl tipus de dades al qual pertany aquest port.
EstàticEspecifica si s'està instanciant una instància de la classe (fals) o la classe en si (cert).
ServeiSi és cert, indica que aquest port s'utilitza per proporcionar la funcionalitat pública d'una classe. Si és fals, en canvi, indica que el port s'utilitza per implementar la classe però no forma part de la seva funcionalitat essencial (vist des de fora).

Connector

Especifica un enllaç que possibilita la comunicació entre dues o més instàncies. Així, aquestes poden interactuar en temps d'execució.

Propietats d'un connector:

Thumb
NomNom del connector
DocumentacióDescriu el connector.
FullaIndica si és possible especialitzar més el connector. Si el valor és cert, el connector no es pot especialitzar més.
OrigenLa font del connector
DestíEl destí del connector

Part

Una part representa un paper representat en temps d'execució per una instància o un conjunt d'instàncies d'una classe. Una part pot anomenar el paper, una superclasse abstracta o bé una classe concreta.

Propietats d'una part:

Thumb
NomNom de la part
DocumentacióDescriu la part.
AbstraccióSi és abstracta, la part no té una declaració completa i, en general, no pot ser instanciada. La intenció de fer una part abstracta és que pugui ser utilitzada per altres classes.
ClassificadorReferencia la classe que conté la part.
Valor inicialValor inicial de l'atribut quan s'inicia la seva classe
TipusEl tipus de dades que conté aquesta part
ÀmbitDetermina si la part és una instància o una classe.

Generalització

Una generalització és una relació taxonòmica entre dos classificadors, un de més general i un de més específic. Cada instància del classificador específic és també una instància del classificador general. Per tant, el classificador específic hereta les característiques del classificador més general.

Propietats d'una generalització:

Thumb
NomNom de la generalització
GeneralClassificador general a la relació de generalització
EspecíficClassificador específic a la relació de generalització
DocumentacióDescriu la generalització.
SubstituïbleIndica si el classificador específic pot ser utilitzat en qualsevol cas en què puguem fer servir el classificador general. Si és cert, les traces d'execució del classificador específic seran un subconjunt de les traces d'execució del classificador general.

Dependència

Una dependència és una relació que significa que un element o un conjunt d'elements necessita altres elements per a la seva especificació o implementació. Això significa que la semàntica completa dels elements dependents és semànticament o estructural dependent de la definició dels elements dels quals depenen.

Propietats d'una dependència:

Thumb
NomNom de la dependència
ProveïdorElement o conjunt d'elements que proporciona una semàntica i/o estructura de la qual depèn l'element o conjunt d'elements de l'altra banda de la relació de dependència. En algunes relacions de dependència en el context d'un disseny de classes orientat a objectes (OO), la intenció és que l'element més abstracte tingui aquest rol.
DocumentacióDescriu la dependència.
ClientElement o conjunt d'elements dependent del proveïdor

Realització

La realització és una relació d'abstracció especialitzada entre dos conjunts d'elements model, un que representa una especificació (proveïdor) i un altre que representa una implementació del primer (client). La realització es pot utilitzar per modelar gradualment optimitzacions, transformacions, patrons, síntesis de models, etc.

Propietats d'una realització:

NomNom de la realització
ProveïdorElement o conjunt d'elements que proporciona quelcom que necessita l'element o conjunt d'elements de l'altra banda de la relació de realització. En algunes relacions d'importació en el context d'un disseny de classes orientat a objectes (OO), la intenció és que l'element més abstracte tingui aquest rol.
DocumentacióDescriu la realització.
ClientElement o conjunt d'elements que importa membres del proveïdor
EsquematitzacióComposició d'una expressió que defineix la relació d'abstracció entre el proveïdor i el client. En alguns casos, com ara la derivació, és generalment formal i unidireccional, però en d'altres sol ser informal i bidireccional. L'expressió d'esquematització (mapping) és opcional i es podria ometre si la relació concreta entre els dos elements no està especificada.

Restricció

Una condició o constricció té com a objectiu declarar alguna de les semàntiques d'un element.

Thumb

Propietats d'una restricció:

NomNom de la restricció
ExpressióLa condició que, en ser avaluada, ha de ser certa per tal que la restricció es compleixi.
DocumentacióDescriu la restricció.

Comentari

Un comentari permet afegir diverses observacions als elements. No té cap importància semàntica, però pot contenir informació útil per al modelador.

Thumb

Propietats d'un comentari:

NomNom del comentari
DocumentacióEspecifica una cadena de caràcters (string) que conté el comentari.
Remove ads

Enllaços externs

  • Composite Structure Diagrams (anglès)
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads