게임 개발자를 향해

모듈(Module) 본문

정보처리기사/4. 서버 프로그램 구현

모듈(Module)

뿌단이 2022. 9. 20. 16:50

모듈(Module)

 모듈화를 통해 분리된 시스템의 각 기능으로, 서브루틴, 서브 시스템, 소프트웨어 내의 프로그램, 작업단위 등을 의미한다.

 

[모듈의 독립성]

  모듈의 독립성은 결합도(Coupling)와 응집도(Cohesion)에 의해 측정된다.

 

  <결합도>

    모듈 간의 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계이다. 결합도가 높을수록 품질이 낮고 결합도가 낮을수록 품질이 높다.

        내용 → 공통 → 외부 → 제어 → 스탬프 → 자료  (순서: 높 → 낮) 

 

  1. 내용 결합도(Content Coupling)
    • 한 모듈 다른 모듈내부 기능 및 그 내부 자료직접 참조하거나 수정할 때의 결합도
    • (객체지향 파괴👿)
  2. 공통 결합도(Common Coupling)
    • 공유되는 공통 데이터 영역여러 모듈이 사용할 때의 결합도이다.
    • 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역변수를 갱신하는 방식으로 상호작용하는 때의 결합
  3. 외부 결합도(External Coupling)
    • 어떤 모듈에서 선언한 데이터(변수)외부다른 모듈에서 참조할 때의 결합도
  4. 제어 결합도(Control Coupling)
    • 어떤 모듈다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호 제어 요소 전달하는 결합도
    • 하위 모듈에서 상위 모듈제어 신호가 이동하여 하위 모듈이 상위 모듈에게 처리 명령을 내리는 권리 전도 현상이 발생하게 됨
    • (한마디로 하극상)
  5. 스탬프 결합도(Stamp Coupling)
    • 모듈 간의 인터페이스배열이나 레코드 등의 자료구조전달될 때의 결합도
  6. 자료 결합도(Data Coupling)
    • 모듈 간의 인터페이스자료 요소로만 구성될 때의 결합도

 

 

  <응집도>

    모듈 내부 요소들이 서로 관련되어 있는 정도이며, 응집도가 강할수록 품질이 높고, 응집도가 낮을수록 품질이 낮다.

        기능적 → 순차적 → 교환적 → 절차적 → 시간적 → 논리적 → 우연적  (순서: 높 → 낮) 

 

  1. 기능적 응집도(Functional Cohsion)
    • 모듈 내부모든 기능 요소들이 단일 문제연관되어 수행될 경우의 응집도
    • (모듈마다 하는 일이 확고함 👍)
  2. 순차적 응집도(Sequetial Cohsion)
    • 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동입력 데이터사용할 경우의 응집도
  3. 교환(통신)적 응집도(Communication Cohsion)
    • 동일한 입력 출력사용하여 서로 다른 기능 수행하는 구성 요소들이 모였을 경우 응집도
  4. 절차적 응집도(Procedural Cohsion)
    • 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능 순차적으로 수행할 경우의 응집도
  5. 시간적 응집도(Temporal Cohsion)
    • 특정 시간처리되는 몇 개의 기능을 모아 하나의 모듈작성할 경우의 응집도
  6. 논리적 응집도(Logical Cohsion)
    • 유사한 성격을 갖거나 특정 형태로 분류 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도
  7. 우연적 응집도(Coincodental Cohsion)
    • 모듈 내부의 각 구성요소들이 서로 관련없는 요소로만 구성된 경우의 응집도

 

[팬인 팬아웃]

  팬인(Fan-In)은 어떤 모듈을 제어하는 모듈의 수이며, 팬아웃(Fan-out)은 어떤 모듈에 의해 제어되는 모듈의 수이다.

이미지 출처 : 클릭!

 

 

[N-S 차트]

  논리의 기술에 중점을 두고 도형을 이용해 표현하는 방법이다. 박스 다이어 드램 , Chapin Chart 라고도 하며 조건이 복합되어있는 곳의 처리를 시각적을 명확히 식별하는데 적합하다.

이미지 출처 : 클릭!

 

 

 

읽어주셔서 감사합니다!

정처기 화이팅!

 

 

 

'정보처리기사 > 4. 서버 프로그램 구현' 카테고리의 다른 글

코드(Code)  (0) 2022.09.22
단위 모듈과 공통모듈  (0) 2022.09.22
객체지향 분석 및 설계  (0) 2022.09.20
객체지향(Object - Oriented)  (0) 2022.09.20
아키텍처 패턴  (1) 2022.09.20