무지개곰
article thumbnail
반응형

결합도(Coupling)

  • 정의: 모듈 간의 상호 의존 정도 또는 모듈 사이의 연관 관계를 의미하며, 결합도가 낮을수록 독립적인 모듈이 되어 좋은 구조를 형성.
  • 순서: 결합도가 낮은 순서대로 내공외제스자 (높은 결합도에서 낮은 결합도로 나열)

결합도 종류

  1. 내용 결합도 (Content Coupling)
    • 한 모듈이 다른 모듈의 내부 기능 또는 자료를 직접 참조하거나 수정할 때 발생하는 결합도.
  2. 공통 결합도 (Common Coupling)
    • 여러 모듈이 공유되는 공통 데이터 영역을 사용하는 경우 (예: 전역 변수).
  3. 외부 결합도 (External Coupling)
    • 한 모듈의 데이터가 외부의 다른 모듈에서 참조되는 경우의 결합도 (순차적 데이터 의존성).
  4. 제어 결합도 (Control Coupling)
    • 한 모듈이 다른 모듈의 내부 논리 흐름을 제어하기 위해 제어 신호를 전달하는 경우.
  5. 스탬프 결합도 (Stamp Coupling)
    • 모듈 간에 배열이나 레코드와 같은 복합 자료 구조가 전달되는 경우의 결합도.
  6. 자료 결합도 (Data Coupling)
    • 모듈이 다른 모듈에 데이터를 매개 변수로 전달하고, 호출된 모듈이 데이터를 처리 후 반환하는 결합도. 결합도 중 가장 낮음.

응집도(Cohesion)

  • 정의: 모듈 내부 요소들의 상호 관련 정도이며, 응집도가 높을수록 독립적인 모듈로 좋은 구조를 형성.
  • 순서: 응집도가 높은 순서대로 우논시절통순기 (낮은 응집도에서 높은 응집도로 나열)

응집도 종류

  1. 우연적 응집도 (Coincidental Cohesion)
    • 모듈의 구성 요소들이 서로 관련 없이 구성된 경우로, 응집도 수준이 가장 낮음.
  2. 논리적 응집도 (Logical Cohesion)
    • 유사한 성격 또는 특정 분류의 처리 요소들이 하나의 모듈로 구성된 경우의 응집도.
  3. 시간적 응집도 (Temporal Cohesion)
    • 특정 시간에 동시에 수행되는 기능들을 모아 하나의 모듈로 작성한 경우.
  4. 절차적 응집도 (Procedural Cohesion)
    • 모듈 내 구성 요소들이 순차적으로 처리되는 기능을 수행하는 경우의 응집도.
  5. 통신적(교환적) 응집도 (Communication Cohesion)
    • 동일한 입출력을 사용하는 다른 기능들이 모여 구성된 경우.
  6. 순차적 응집도 (Sequential Cohesion)
    • 모듈의 출력값이 다음 활동의 입력값으로 사용되는 경우.
  7. 기능적 응집도 (Functional Cohesion)
    • 모든 기능 요소들이 단일 문제를 해결하는 데 집중하여 수행될 경우의 응집도로, 가장 높은 응집도를 가짐.
반응형
profile

무지개곰

@무지개곰

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!