2017-01-04 20 views
0

입자 득시기 최적화를 사용하여 클래스 책임 할당 문제에 대한 의사 결정 지원을 제공하는 프로젝트를 만들려고합니다. 적합 함수는 커플 링 및 응집과 같은 다양한 매개 변수를 고려하여 유도되고 입자 군집 최적화가 수행됩니다. 프로그램 입력은 XML 형식의 UML 클래스 다이어그램이됩니다. 내가 어떻게 XML 형식으로 UML의 클래스 다이어그램에서 다음 매개 변수를 계산합니까 :XML 클래스 diagrm에서 결합 및 응집도 측정

MAC (C) - 클래스 C와 다른 클래스 사이의 메소드 속성 커플 링 - 방법 하나 개의 클래스의 사이의 상호 작용의 총 수 (C) 같은 클래스의 다른 클래스의 속성 클래스 다이어그램 MMC (c) - 클래스 C와 메소드 클래스 간의 메소드 - 메소드 연결 other classes- 클래스의 메소드 (c)와 다른 클래스의 메소드 사이의 상호 작용의 총 개수 동일한 클래스 다이어그램 MGC (c) 메소드 - 일반화 결합 - 이것은 일반화가 적용되는 클래스 다이어그램에서만 적용 가능합니다.

RCI (c) 클래스의 응집력 상호 작용 c : RCI (c) = | CI (c) |/| CImax (c) |.

CImax (c)는 클래스 c에서 가능한 최대 응집력 상호 작용입니다. CI (c)는 클래스 C의 기존 응집력 상호 작용 의 수입니다.

TCC (c) 엄격한 클래스 응집 - 일반적으로 사용되는 클래스 c∈C의 m1 및 m2의 메소드 쌍입니다.

메소드 m과 속성 a 사이의 DMA (m, a) 직접 메소드 - 속성 종속성.

DMM (m1, m) 직접 방법 - 방법 종속성 m1과 m2 사이.

XML 형식의 UML 클래스 다이어그램에서 이러한 매개 변수를 어떻게 계산합니까?

답변

1

파일을 오브젝트 표현으로 역 직렬화하는 방법을 알아야합니다. 오브젝트 표현을 위해 알고리즘을 작성할 수 있습니다.

자세한 정보없이 도움을 제공하기가 어렵습니다. 가지고있는 파일은 XMI 파일입니까? 이것을 열어 xmlns : xmi = "http://www.omg.org/XMI"을 검색하여 대답 할 수 있습니다. 발견되면 예. 파일이 Ecore의 인스턴스입니까? ecore를 검색하여 답변 할 수 있습니다.; 발견되면 예.

파일이 클래스 다이어그램의 XMI 표현이고 Ecore의 인스턴스 인 경우 Eclipse Modeling Tools으로 열어야합니다. 그런 식으로 열어 보면 다음 단계는 클래스 다이어그램을 다른 그래프 형 데이터 구조처럼 트래버스 할 수있는 알고리즘을 작성하기 전에 Eclipse Modeling Framework (EMF)에 익숙해지는 것입니다.

나는 내 대답이 길다는 것을 알고 있습니다. 비록 틀린 것이라 할지라도 다른 사람들이 계단식 XML 표현을 열려고 노력하는 사람들을 위해 여기에 두는 것을 선호합니다.