응집도: Difference between revisions
From CS Wiki
No edit summary |
(접사 -al 추가. 해외에선 거의 communicational이라는 형용사로 서술함.) |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:소프트웨어 공학]] | |||
[[분류:정보처리기사]] | |||
;Cohesion | |||
== 종류 == | *[[결합도|결합도(Coupling)]]와 함께 모듈의 독립성을 판단하는 지표 | ||
;우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < | *'''응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.''' | ||
* '''기능적 응집도(Functional Cohesion)''' | *결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다. | ||
** 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 | *'''응집도는 높을수록 좋고''' 결합도는 낮을수록 이상적이다. | ||
* '''순차적 응집도(Sequential Cohesion)''' | |||
** 모듈 | ==종류== | ||
* ''' | |||
** 동일한 입력과 출력을 | ;우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 통신적 응집도 < 순차적 응집도 < 기능적 응집도<ref>아래 내용 출처 [https://raisonde.tistory.com/entry/결합도Coupling과-응집도Cohension 지식잡식 블로그]</ref> | ||
* '''절차적 응집도(Procedural Cohesion)''' | |||
** | *'''기능적 응집도(Functional Cohesion)''' | ||
* '''시간적 응집도(Temporal Cohesion)''' | **모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 | ||
** 연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우 | *'''순차적 응집도(Sequential Cohesion)''' | ||
* '''논리적 응집도(Logical Cohesion)''' | **모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우 | ||
** | *'''통신적 응집도(Communicational Cohesion)''' | ||
* '''우연적 응집도(Coincidental Cohesion)''' | **서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우 | ||
** 모듈 내부의 각 구성요소들이 연관이 없을 경우 | *'''절차적 응집도(Procedural Cohesion)''' | ||
**모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우 | |||
*'''시간적 응집도(Temporal Cohesion)''' | |||
**연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우 | |||
*'''논리적 응집도(Logical Cohesion)''' | |||
**실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우 | |||
*'''우연적 응집도(Coincidental Cohesion)''' | |||
**모듈 내부의 각 구성요소들이 연관이 없을 경우 | |||
<references /> |
Latest revision as of 18:28, 3 January 2024
- Cohesion
- 결합도(Coupling)와 함께 모듈의 독립성을 판단하는 지표
- 응집도는 모듈 내부의 기능적인 응집 정도를 나타낸다.
- 결합도는 모듈과 모듈간의 상호 결합 정도를 나타낸다.
- 응집도는 높을수록 좋고 결합도는 낮을수록 이상적이다.
종류[edit | edit source]
- 우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 통신적 응집도 < 순차적 응집도 < 기능적 응집도[1]
- 기능적 응집도(Functional Cohesion)
- 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
- 순차적 응집도(Sequential Cohesion)
- 모듈 내의 한 활동으로부터 나온 출력값을 모듈 내의 다른 활동이 사용할 경우
- 통신적 응집도(Communicational Cohesion)
- 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용하는 활동들이 모여있을 경우
- 절차적 응집도(Procedural Cohesion)
- 모듈 안의 구성요소들이 서로 다른 기능을 하지만 그 기능을 순차적으로 수행할 경우
- 시간적 응집도(Temporal Cohesion)
- 연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 논리적 응집도(Logical Cohesion)
- 실제와 달리 논리적으로만 같은 그룹으로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 우연적 응집도(Coincidental Cohesion)
- 모듈 내부의 각 구성요소들이 연관이 없을 경우