응집도: Difference between revisions
From CS Wiki
(→종류) |
(오타 수정) |
||
Line 1: | Line 1: | ||
[[분류:소프트웨어 공학]][[분류:정보처리기사]] | [[분류:소프트웨어 공학]] | ||
[[분류:정보처리기사]] | |||
* [[결합도|결합도(Coupling)]]와 함께 모듈의 독립성을 판단하는 지표 | ;Cohesion | ||
* '''응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.''' | |||
* 결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다. | *[[결합도|결합도(Coupling)]]와 함께 모듈의 독립성을 판단하는 지표 | ||
* '''응집도는 높을수록 좋고''' 결합도는 낮을수록 이상적이다. | *'''응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.''' | ||
*결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다. | |||
*'''응집도는 높을수록 좋고''' 결합도는 낮을수록 이상적이다. | |||
==종류== | |||
;우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 교환적 응집도 < 순차적 응집도 < 기능적 응집도<ref>아래 내용 출처 [https://raisonde.tistory.com/entry/결합도Coupling과-응집도Cohension 지식잡식 블로그]</ref> | ;우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 교환적 응집도 < 순차적 응집도 < 기능적 응집도<ref>아래 내용 출처 [https://raisonde.tistory.com/entry/결합도Coupling과-응집도Cohension 지식잡식 블로그]</ref> | ||
* '''기능적 응집도(Functional Cohesion)''' | |||
** 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 | *'''기능적 응집도(Functional Cohesion)''' | ||
* '''순차적 응집도(Sequential Cohesion)''' | **모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 | ||
** 모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우 | *'''순차적 응집도(Sequential Cohesion)''' | ||
* '''교환적 응집도(Communication Cohesion)''' | **모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우 | ||
** 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우 | *'''교환적 응집도(Communication Cohesion)''' | ||
* '''절차적 응집도(Procedural Cohesion)''' | **서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우 | ||
** 모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우 | *'''절차적 응집도(Procedural Cohesion)''' | ||
* '''시간적 응집도(Temporal Cohesion)''' | **모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우 | ||
** 연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우 | *'''시간적 응집도(Temporal Cohesion)''' | ||
* '''논리적 응집도(Logical Cohesion)''' | **연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우 | ||
** 실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우 | *'''논리적 응집도(Logical Cohesion)''' | ||
* '''우연적 응집도(Coincidental Cohesion)''' | **실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우 | ||
** 모듈 내부의 각 구성요소들이 연관이 없을 경우 | *'''우연적 응집도(Coincidental Cohesion)''' | ||
**모듈 내부의 각 구성요소들이 연관이 없을 경우 | |||
<references /> |
Revision as of 01:41, 6 May 2022
- Cohesion
- 결합도(Coupling)와 함께 모듈의 독립성을 판단하는 지표
- 응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.
- 결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다.
- 응집도는 높을수록 좋고 결합도는 낮을수록 이상적이다.
종류
- 우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 교환적 응집도 < 순차적 응집도 < 기능적 응집도[1]
- 기능적 응집도(Functional Cohesion)
- 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
- 순차적 응집도(Sequential Cohesion)
- 모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우
- 교환적 응집도(Communication Cohesion)
- 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우
- 절차적 응집도(Procedural Cohesion)
- 모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우
- 시간적 응집도(Temporal Cohesion)
- 연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 논리적 응집도(Logical Cohesion)
- 실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 우연적 응집도(Coincidental Cohesion)
- 모듈 내부의 각 구성요소들이 연관이 없을 경우