2017-01-04 5 views
0

J'essaye de créer un projet pour fournir un support de prise de décision pour le problème d'attribution de responsabilité de classe en utilisant l'optimisation d'essaim de particules. Une fonction de fitness est dérivée en tenant compte de divers paramètres tels que le couplage et la cohésion et l'optimisation de l'essaimage de particules doit être effectuée. L'entrée dans le programme sera un diagramme de classes UML au format XML. Comment puis-je calculer les paramètres suivants du diagramme de classes UML en format XML:calcul des métriques de couplage et de cohésion à partir de la classe XML diagrm

MAC (c) - couplage méthode attribut entre la classe c et autres classes - Nombre total d'interactions entre les méthodes d'une classe (c) et les attributs des autres classes dans la même diagramme de classes MMC (c) - couplage méthode de procédé entre la classe C et autre classes- nombre total d'interactions entre les méthodes d'une classe (c) et les méthodes d'autres classes dans la même classe schéma MGC (c) couplage méthode-généralisation - Ceci est applicable seulement dans les diagrammes de classes où la généralisation est appliquée.

RCI (c) rapport des interactions cohésives de la classe c: RCI (c) = | CI (c) |/| CImax (c) |. CImax (c) est l'interaction cohésive maximale possible dans une classe c . CI (c) est le nombre d'interactions cohésives existantes dans une classe c.

TCC (c) cohésion de classe serrée - est les paires de méthodes, m1 et m2, d'une classe c∈C avec l'utilisation commune.

DMA (m, a) dépendance directe d'attribut de méthode entre méthode m et attribut a.

DMM (m1, m) dépendance directe méthode-méthode entre m1 et m2.

Comment puis-je calculer ces paramètres à partir du diagramme de classes UML au format XML?

Répondre

1

Vous devez trouver comment désérialiser ce fichier en une représentation d'objet, une contre laquelle vous pouvez écrire un algorithme pour faire vos choses.

Il est difficile de fournir de l'aide sans plus d'informations. Le fichier que vous avez, est-ce un fichier XMI? Vous pouvez répondre à cela en l'ouvrant et en recherchant xmlns: xmi = "http://www.omg.org/XMI"; si trouvé, alors oui. Le fichier est-il une instance d'Ecore? Vous pouvez répondre à cette question en recherchant ecore:; si trouvé, alors oui.

Si le fichier est une représentation XMI d'un diagramme de classes et une instance d'Ecore, vous devez l'ouvrir avec Eclipse Modeling Tools. Si vous parvenez à l'ouvrir de cette façon, votre prochaine étape consistera à vous familiariser avec le Eclipse Modeling Framework (EMF) avant d'écrire des algorithmes qui peuvent traverser le diagramme de classes comme s'il s'agissait d'une autre structure de données de type graphique. Je sais que ma réponse est longue; même si c'est faux, je préférerais le garder ici pour que les autres puissent s'effondrer, à savoir ceux qui essaient d'ouvrir des représentations XML de diagrammes de classes.