공부기록장

[정보처리기사] 응집도 결합도 완벽정리 본문

▶ 자격증/정보처리기사

[정보처리기사] 응집도 결합도 완벽정리

친절한 3 2021. 4. 29. 15:52

응집도 란?

모듈 내 기능들끼리의 의존도를 의미한다. 하나의 모듈 내에 들어있는 기능들끼리의 관계성을 나타낸 것이다.

응집도가 높을수록 소프트웨어의 품질이 높아진다고 말할 수 있다.

 


 

응집도의 종류 

우연적: 모듈 내부의 각 구성요소들이 연관이 없을 경우

논리적: 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리될 때

시간적: 특정한 시간에 맞춰 모듈이 실행되는 경우

절차적: 하나의 모듈이 마치고 나서 다른 모듈이 실행되는 경우

통신적: 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우

순차적: 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도

기능적: 각각의 모듈이 독립적으로 실행되는 경우

 

 


 

헷갈리는 개념

시간적 응집도는 특정한 시간에 맞춰서 모듈이 실행된다. 예를 들어, 12:30분에 딱 맞춰서 정해진 모듈이 실행된다.

절차적 응집도는 A모듈이 실행되고 난 뒤, B모듈이 실행됨을 의미한다. 시간적 응집도처럼 딱 정해진 시간에 실행되는 것이 아님.

순차적 응집도는 A모듈이 실행되고 난 결괏값을, B모듈이 실행에 사용함을 의미한다.

 


 

결합도 란? 

소프트웨어공학에서 결합도는 어떤 모듈이 다른 모듈에 의존하는 정도를 나타내는 것이다. 즉, 모듈과 모듈 사이의 관계를 의미한다. 결합도가 낮을수록 소프트웨어의 품질이 높아진다고 말할 수 있다.

 


 

결합도의 종류

내용: 하나의 모듈의 결과를 가지고 다른 모듈이 입력값으로 사용하는 경우

공통: 모듈 밖에 선언되어 있는 전역 변수를 참조하여 전역 변수를 갱신하는 경우

외부: 두 개의 모듈이 외부에서 도입된 프로토콜, 디바이스 인터페이스를 공유할 경우

제어: 모듈이 실행될 때 제어방법도 함께 전달해야하는 경우

스탬프: 배열, 파라미터 값등과 같이 데이터의 구조를 공유하는 경우

자료: 모듈들이 파라미터를 통해 데이터를 공유하는 경우

Comments