2023. 2. 14. 18:52ㆍ정처기 필기/1과목 - 소프트웨어 설계
결합도 (Coupling)
* 결합도는 모듈 간 상호 의존하는 정도
* 결합도가 낮을수록 독립적인 모듈이고 좋은 것이다.
1. 내용 결합도
- 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도
2. 공통 결합도
- 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 (전역 변수)
3. 외부 결합도
- 어떤 모듈에서 선언한 변수를 외부의 다른 모듈에서 참조할 때의 결합도 (순차적)
4. 제어 결합도
- 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여
통신하거나 제어 요소를 전달하는 결합도
5. 자료 결합도
- 어떤 모듈이 다른 모듈을 호출할 때 매개 변수로 데이터를 넘겨주고, 호출 받은 모듈은
데이터에 대한 처리 결과를 다시 돌려주는 결합도
6. 스탬프 결합도
- 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
응집도 (Cohesion)
* 모듈의 내부 요소들의 서로 관련되어 있는 정도
* 응집도는 높을수록 독립적인 모듈이고 좋다 !
* Bad ----> Good
1. 우연적 응집도
- 모듈 내부의 각 구성 요소들이 서로 관련 X
2. 논리적 응집도
- 유사한 성격을 갖거나, 특정 형태로 분류되는 처리 요소들로 형성된 모듈
3. 시간적 응집도
- 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우
4. 절차적 응집도
- 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우
5. 통신적(교환적) 응집도
- 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우
6. 순차적 응집도
- 모듈 내 하나의 활동으로부터 나온 출력값을 그 다음 활동의 입력 데이터로 사용할 경우
7. 기능적 응집도
- 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우
'정처기 필기 > 1과목 - 소프트웨어 설계' 카테고리의 다른 글
디자인 패턴 / 인터페이스 요구사항 검증 (0) | 2023.02.14 |
---|---|
공통 모듈 / 코드 (0) | 2023.02.14 |
아키텍처 패턴 / 객체지향 (0) | 2023.02.14 |
품질 요구사항 / 소프트웨어 아키텍처 (0) | 2023.02.13 |
UML / 사용자 인터페이스 (0) | 2023.02.13 |