J'ai joué avec UMLComment modéliser correctement les classes imbriquées/sous-classes dans UML?
Mon expérience principale est celle d'un sysadmin, pas en tant que programmeur.
Afin d'obtenir une meilleure compréhension des modèles de classe que j'ai essayé de faire tracer le fichier xmdomain.cfg l'hyperviseur Xen dans UML (vous pouvez trouver la page de manuel à http://linux.die.net/man/5/xmdomain.cfg)
Alors après avoir travaillé it out i obtenir un début de base comme celui-ci (note, c'est les attributs, et non des actions)
xenDomU:[
- kernelImage
- initialRamdisk
- allocatedMemory
- rootDevice
- nicAmount
- domuName
]
la situation suivante a été une vraie douleur dans le cul
"disque" et "VIF" peut Les deux se produisent plusieurs fois dans un fichier de configuration domu. (« Disque » peut se produire 1 à temps infinis et « VIF » 0 à temps infinis) essentiellement ce sont des classes elles-mêmes
disk:[
- backendDevice
- frontendDevice
- deviceAccessMode
]
virtualNetworkInterface:[
- networkBridgeDevice
- interfaceIP
- macAddress
- interfaceName
]
En outre, « les options d'arrêt de domaine » sont vraiment 3 valeurs, mais il est en fait le mieux summorized comme attribut unique, mais vous obtenez la même situation que ci-dessus. Donc, après cela, vous vous retrouvez avec quelque chose qui ne me semble vraiment pas un UML valide.
xenDomU:[
kernelImage
initialRamdisk
allocatedMemory
rootDevice
nicAmount
disk:[
backendDevice
frontendDevice
deviceAccessMode
]
domuName
virtualNetworkInterface:[
networkBridgeDevice
interfaceIP
macAddress
interfaceName
]
shutdownOptions{
onShutdown
onReboot
onCrash
}
]
Je suis sûr qu'il existe des moyens « meilleurs » de le faire, mais c'est ce qui semble être le plus naturel pour moi.
Quelqu'un pourrait m'éclairer et montrer la bonne façon de le faire.