Вычисление метрик связности и связности по классу XML
Я пытаюсь создать проект для поддержки принятия решений по проблеме распределения ответственности класса с помощью оптимизации роя частиц. Функция пригодности определяется с учетом различных параметров, таких как сцепление и сцепление, и должна выполняться оптимизация роя частиц. Входными данными для программы будет диаграмма классов UML в формате XML. Как рассчитать следующие параметры из диаграммы классов UML в формате XML:
MAC (c) - связь метода с атрибутом между классом c и другими классами - общее количество взаимодействий между методами одного класса (c) и атрибутами других классов на той же диаграмме классов MMC(c) - связь метода с методом между классом c и другие классы - общее количество взаимодействий между методами класса (c) и методами других классов в одной и той же диаграмме классов. MGC(c) связывание методов-обобщений - это применимо только в тех диаграммах классов, где применяется обобщение.
RCI (c) отношение когезионных взаимодействий класса c: RCI (c) = | CI (c) | / | CImax (c) |.
CImax (c) - максимально возможные связные взаимодействия в классе c. CI(c) - число существующих связных взаимодействий в классе c.
TCC (c) жесткая сплоченность класса - это пары методов m1 и m2 класса c∈C общего пользования.
DMA (m, a) прямая зависимость метода от атрибута между методом m и атрибутом a.
DMM (m1, m) прямая зависимость метода от метода между m1 и m2 .
Как рассчитать эти параметры из диаграммы классов UML в формате XML?
1 ответ
Вам необходимо выяснить, как десериализовать этот файл в объектное представление, с помощью которого вы можете написать алгоритм для выполнения ваших задач.
Трудно оказать помощь без дополнительной информации. Файл, который у вас есть, это файл XMI? Вы можете ответить на это, открыв его и выполнив поиск xmlns: xmi = "http://www.omg.org/XMI"; если найден, то да. Является ли файл экземпляром Ecore? Вы можете ответить на это, ища ecore:; если найден, то да.
Если файл является XMI-представлением диаграммы классов и экземпляром Ecore, вы должны открыть его с помощью Eclipse Modeling Tools. Если вам удастся открыть его таким образом, то следующим шагом будет ознакомление с Eclipse Modeling Framework (EMF) перед написанием алгоритмов, которые могут проходить по диаграмме классов, как если бы это была любая другая графоподобная структура данных.
Я знаю, что мой ответ - длинный выстрел; даже если я ошибаюсь, я бы предпочел оставить его здесь для того, чтобы другие натыкались на него, а именно те, которые пытаются открыть XML-представления диаграмм классов.