결합도, 응집도
소프트웨어 공학에서 결합도, 응집도이다.
결합도
두 모듈간의 상호 의존도를 측정하는 것으로, 좋은 설계는 모듈간의 결합도를 최소화하여 모듈의 독립성을 높인것을 의미
결합도 순서 : 자료결합도 > 스탬프결합도 > 제어결합도 > 외부 결합도 > 공통결합도 > 내용결합도
자료 결합도 : 단순한 매개변수 전단 스태프 결합도 : 모듈간 자료구조 전달 결합 제에 결합도 : 호출하는 모듈이 호출되어 지는 모듈의 제어를 지시하는 데이터를 매개변수로 사용 외부 결합도 : SW 외부환경과 연관되어 있음 공통 결합도 : 많은 모듈이 전역변수를 참조함 내용 결합도 : 특정 모듈이 다른 모듈의 내부 자료 나 제어정보를 사용함
응집도
한 모듈 내에 있는 구성 요소의 기능적 관련성을 평가하는 기준으로 응집도가 높을수록 모듈의 독립성은 높아짐
응집도 순서도 : **기능적 응집도 > 순차적 응집도 > 통신적 응집도 > 절차적 응집도 > 논리적 응집도 > 우연적 응집도 **
기능적 응집도 : 하나의 기능을 수행하는데 필요한 요소들만 포함한 경우 - 구조도 최하위 모듈에서 많이 발견 순차적 응집도 : 하나의 기능에서 생성된 출력자료가 다음 기능의 입력자료로 사용되는 경우 (예: 행렬 입력 후 그 행렬의 역행렬을 구해서 이를 출력) 통신적 응집도 : 동일한 자료 사용하지만, 자료에 대한 처리 절차가 완전히 다르고 서로 관계없는 경우 - 교환 응집, 정보 응집 (예: 같은 입력자료를 사용하여 A를 계산한 후 B를 계산한다.) 절차적 응집도 : 입출력을 공유하지 않으나 순서에 따라서 수행될 필요가 있는 경우 예: restart루틴 총계 출력하고 화면을 지우고 메뉴를 뿌린다. 시간적 응집도 : 특정한 시점에서 작업을 수행하는 경우 (예: 초기치 설정, 종료처리 등) 논리적 응집도 : 유사한 기능들이 하나의 모듈 안에 구성된 경우 - 사용하는 매개변수에 따라 처리하는 내용이나 경로가 달라진다 예: 오류처리- 자판기의 잔액부족, 음료수부족 출력처리- 직원 인사정보 출력, 회계정보 출력 우연적 응집도 : 관련 없는 요소들로 구성된 모듈 (단순히 일정한 크기로 분할한 경우) - 모듈화 장점이 없다. - 유지보수 작업 곤란
출처: https://gisulsa.tistory.com/226 [정보처리 기술사]