모듈화를 통해 분리된 시스템의 각 기능들로 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용
한 모듈 내에 있는 구성 요소의 기능적 관련성을 평가하는 기준
응집도가 높을수록 독립성이 높아짐.
| 구분 | 응집도 | 설명 |
|---|---|---|
| 강 | 기능적 응집도 (funtion cohesion) | 모듈 내의 요소가 갖는 기능의 용집도 |
| 순차적 응집도 (sequential cohesion) | 모듈 내의 상위 line 의 출력요소가 하위 line 의 입력요소로 사용 | |
| 통신적 응집도 (communicational cohesion) | 여러가지 기능을 수행하여 모듈 내 구성 요소들이 같은 입력자료를 이용하거나 동일 출력 데이터를 만들어내는 경우 | |
| 절차적 응집도 (procedural cohesion) | 모듈 내 명령 기능이 절차에 맞게 처리 - 입출력을 공유하지 않으나 순서에 따라 수행될 필요가 있는 경우 | |
| 시간적 응집도 (temporal coheision) | 특정한 시점에서 작업을 수행하는 경우, 시간의 흐름에 따라 작업순서가 정렬되는 응집관계 | |
| 논리적 응집도 (logical cohesion) | 유사한 기능들이 하나의 모듈 안에 구성된 경우 사용하는 매개변수에 따라 처리하는 내용이나 경로가 달라지게 됨 | |
| 약 | 우연적 응집도 (coincidental cohesion) | 관련 없는 요소들로 구성된 모듈(단순히 일정한 크기로 분할된 경우) |
모듈과 모듈 간 상호 의존도를 측정하는 것
결합도를 최소화하여 모듈 독립성을 높이는 것이 좋다.
| 구분 | 결함도 | 설명 |
|---|---|---|
| 약 | 자료 결합도 (data Coupling) | 두 모듈 간 꼭 필요한 자료만 전달하는 양성적 결합성 |
| 스탬프 결합도 (stamp Coupling) | 두 모듈 간 자료구조로 전달하는 결합성으로 불필요한 자료도 전달되는 문제 발생 | |
| 제어 결합도 (control Coupling) | 두 모듈 간 제어신호를 전달하는 결합성 | |
| 외부 결합도 (external Coupling) | 두 모듈 간 전역변수로 선언된 공유자료 전달 | |
| 공통 결합도 (common Coupling) | 두 모듈 간 공통주소를 사용하여 음성적 전달 | |
| 강 | 내용 결합도 (content Coupling) | 두 모듈 간 내용으로 전달하여 그 내용이 변경되면 사용하는 모든 모듈이 영향 |
fan-in 이 높다는 것은 재사용 측면에서 설계가 잘 되어 있다고 볼 수 있다.
그러나 단일 장애점이 발생할 수 있으므로 중점적인 관리 및 테스트가 필요하다.
Fan-out 이 높은 경우 불필요하게 다른 모듈을 호출하고 있는지 검토하고 단순화시킬 수 있는지 여부 확인이 필요하다.
-> Fan-in 은 높게, Fan-out 은 낮게 설계해야 시스템 복잡도를 최적화할 수 있다.

컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정 자료의 추출을 쉽게 하기 위해서 사용하는 기호이다.
코드의 기능 - 분류 기능, 식별 기능, 배열 기능

자료 발생 순서, 크기 순서 등 일정 기준에 따라서 처음부터 차례로 일련변호를 부여

코드화 대상 항목 중 공통이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호 부여

코드화 대상 항목을 일정 기준에 따라 대,중,소분류 등으로 구분하고, 각 그룹안에서 일련변호 부여

코드화 대상 항목을 0~9까지 10진수로 분할하고, 각각을 다시 10진수로 분할하는 방법을 필요시까지 반복
코드와 대상 항목의 성질(물체의 길이, 넓이, 부피, 지름 등)을 그대로 코드에 적용
코드화 대상 항목의 명칭, 약호와 관계 있는 숫자나 문자 기호를 이용아여 코드 부여