구조 측정
소프트웨어의 구조적 특성 측정은 제품의 유지 관리뿐 아니라 개발 노력을 추정하는 데 중요합니다. 요구 사항, 디자인 및 코드의 구조는 한 제품을 다른 제품으로 변환하거나 제품을 테스트하거나 초기 내부 제품 측정에서 외부 소프트웨어 속성을 예측할 때 발생하는 어려움을 이해하는 데 도움이됩니다.
구조적 측정의 유형
소프트웨어의 구조는 세 부분으로 구성됩니다. 그들은-
Control-flow structure − 프로그램에서 명령이 실행되는 순서입니다.
Data-flow structure − 프로그램과 상호 작용할 때 데이터의 동작입니다.
Data structure − 생성, 수정 또는 삭제를위한 알고리즘과 함께 목록, 대기열, 스택 또는 기타 잘 정의 된 구조의 형태로 데이터 요소의 구성입니다.
제어 흐름 구조 측정
제어 흐름 측정은 일반적으로 각 노드 또는 포인트가 프로그램 명령문에 해당하는 방향성 그래프로 모델링되고 각 호 또는 방향성 에지는 한 명령문에서 다른 명령문으로의 제어 흐름을 나타냅니다. 이러한 그래프를 제어 흐름 그래프 또는 유 방향 그래프라고합니다.
만약 ‘m’ 흐름 그래프 모델과 관련하여 정의 된 구조적 측정입니다. A 프로그램보다 구조적으로 더 복잡합니다. B, 측정 m(A) 보다 커야합니다 m(B).
데이터 흐름 구조 측정
데이터 흐름 또는 정보 흐름은 모듈 간 (모듈 내 정보 흐름) 또는 모듈 내 (개별 모듈과 시스템의 나머지 부분 간의 정보 흐름) 일 수 있습니다.
데이터가 시스템을 통해 이동하는 방식에 따라 다음과 같이 분류 할 수 있습니다.
Local direct flow − 모듈이 두 번째 모듈을 호출하고 정보를 전달하거나 호출 된 모듈이 호출자에게 결과를 반환하는 경우.
Local indirect flow − 호출 된 모듈이 이후에 두 번째 호출 된 모듈로 전달되는 정보를 반환하는 경우.
Global flow − 정보가 글로벌 데이터 구조를 통해 한 모듈에서 다른 모듈로 흐르는 경우.
정보 흐름 복잡성은 Henry와 Kafura에 따르면 다음과 같이 표현할 수 있습니다.
Information flow complexity (M) = length (M) × fan-in (M) × (fan-out (M))2
어디,
Fan-in (M) − M에서 끝나는 로컬 흐름의 수 + M에 의해 정보가 검색되는 데이터 구조의 수.
Fan–out (M) − M에서 나오는 로컬 흐름의 수 + M에 의해 업데이트되는 데이터 구조의 수.
데이터 구조 측정
데이터 구조는 둘 다 가능 local 과 global.
Locally, 각 데이터 항목의 구조 양이 측정됩니다. 그래프 이론적 접근 방식을 사용하여 개별 데이터 구조의 속성을 분석하고 측정 할 수 있습니다. 정수, 문자 및 부울과 같은 단순한 데이터 유형은 소수로 간주되며 더 복잡한 데이터 구조를 구축 할 수있는 다양한 연산이 고려됩니다. 그런 다음 데이터 구조 측정 값은 다양한 연산과 관련된 소수 값 및 값 측면에서 계층 적으로 정의 될 수 있습니다.
Globally, 사용자 정의 변수의 총 개수가 측정됩니다.