개발의변화
8. 개발환경 구축 본문
응집도:
우연적 응집도(Coinicidental Cohesion): 모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도
논리적 응집도(Logical Cohesion): 유사한 성격을 갖거나 특정 형태로 분류되는 처리
시간적 응집도(Temporal Cohesion): 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도
절차적 응집도(Procedural Cohesion): 모듈이 다수의 관련 기능을 가질 떄 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도
순차적 응집도(Sequenctial Cohesion): 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도
기능적 응집도(Funtional Cohesion): 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도
결합도:
모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성
내용 결합도: 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
공통 결합도: 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
외부 결합도: 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도
제어 결합도: 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 제어 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도
스탬프 결합도: 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
자료 결합도(Data Coupling): 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우의 결합도
팬인(Fan-IN) 및 팬아웃(Fan-Out) 계산 방법
팬인(FAN-In) 모듈 자신을 기준으로 모듈에 들어오면 팬인(in)
팬아웃(FAN-OUT) 모듈 자신을 기준으로 모듈에서 나가면 팬아웃(out)
xUnit
jUnit: 자바 프로그래밍 언어용 단위 테스트 도구, Erich Gamma와 Kent Bect등이 작성한 오픈소스로 JAVA 단위 테스트 도구
CppUnit: 자바의 JUnit을 C++로 구현한 단위 테스트 도구
HttpUnit: 웹 브라우저 없이 웹사이트 테스트를 수행하는 단위 테스트 도구