결합도 : 두 모듈간의 상호 의존 성 정도
(1. 낮다 ~ 6. 높다 / 낮을수록 바람직함)
- 데이터 결합 : 데이터를 매개 변수로 전달함으로써 두 모듈 들이 소통 (예 : 정수나 실수나 문자 등을 전달하는 것)
- 스탬프 결합 : 레코드, 구조체 또는 객체와 같은 복합 자료를 이용하여 소통하는 경우
- 제어결합 : 한 모듈의 데이터가 다른 모듈의 실행 순서를 결정하기 위해 전달되는 경우
- 외부 결합 : 모듈들이 소프트웨어 외부의 환경에 좌우되는 경우 (외부에서 정한 포맷, 프로토콜 사용)
- 공통 결합 : 전역 변수를 공유
- 내용 결합 : 두 모듈이 코드를 공유하는 경우 (예 : 한 모듀에서 분기가 다른 모듈로 떨어지는 경우로, 한 모듈이 다른 모듈의 내부 작업을 직접 참조하는 경우)
응집력 : 하나의 모듈이 가지는 기능적 집중성에 관한 척도
(1. 높다 ~ 7.낮다 / 높을수록 바람직함)
- 기능적 응집력 : 한 모듈을 구성하는 요소들이 단일 기능을 수행하기 위해 협력
- 순차적 응집력 : 모듈을 구성하는 한 요소의 축력이 다음 요소의 입력이되며 순차적으로 구성
- 통신 응집력. 모듈이 수행하는 모든 기능들이 같은 자류구조를 참조하거나 수정하는 경우. (예 : 하나의 배열이나 스택을 조작하도록 정의된 기능 집합)
- 절차적 응집력 : 모듈이 가지는 기능들이 순서에 의해서 처리되는 경우 (예 : 한 메시지를 디코딩 하기 위해 일련의 순차적 과정을 수행하는 경우)
- 시간적 응집력 : 같은 시간 주기에 실행되어야 하는 기능들을 개는 모듈 (예 : 초기화 또는 종료를 위한 기능들을 수행하는 모듈)
- 논리적 응집력 : 모듈의 구성요소들이 유사한 기능을 수행하는 경우 (예 : 오류처리, 자료입력, 자료 출력 등)
- 우연적 응집력 : 연관성이 매우 떨어지는 작업들을 수행하는 모듈들은 우연적 응집력을 가짐
'전산 이모저모' 카테고리의 다른 글
정렬 알고리즘 - 삽입 정렬, 선택 정렬, 버블 정렬 (0) | 2019.10.10 |
---|---|
데이터링크 프로토콜 - 비동기 프로토콜과 동기 프로토콜 (0) | 2019.10.05 |
소프트웨어 신뢰성 측정 (0) | 2019.10.05 |
운영체제 키워드 (0) | 2019.08.19 |
비트 단위 (0) | 2019.08.01 |