본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Module

프로그램을 구성하는 구성 요소로, 관련된 데이터와 함수를 하나로 묶은 단위


- 소프트웨어 구조를 이루며, 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위이다.

- 하나 또는 몇 개의 논리적인 기능을 수행하기 위한 명령어들의 집합이라고도 할 수 있다.

- 서로 모여 하나의 완전한 프로그램으로 만들어질 수 있다.

모듈의 독립성

편집 원본 편집

모듈이 독립적일수록 고치기 쉽고 다시 쓰기 좋다. 독립성은 두 지표로 잰다.

지표 무엇을 보나 좋은 방향
응집도(Cohesion) 한 모듈 내부의 처리 요소(명령어, 명령어의 모임, 호출문, 특정 작업 수행 코드)들이 하나의 기능으로 얼마나 관련되어 있는가(기능적 연관도) 높을수록 좋다
결합도(Coupling) 모듈과 모듈 사이가 서로 얼마나 의존하는가 낮을수록 좋다
Interface

모듈이 다른 모듈과 데이터를 주고받는 접점이다. 호출할 때 넘기는 매개변수와 반환값, 밖으로 공개한 함수의 형식이 여기에 속한다.

  • 인터페이스는 모듈 사이를 잇는 방식이다. 모듈 내부 요소들의 기능적 연관도를 나타내는 응집도와 다르다.
  • 인터페이스로 꼭 필요한 데이터만 주고받으면 결합도가 낮아진다(자료 결합도).
  • 내부 구현은 숨기고 인터페이스만 드러내는 것을 정보 은닉이라 한다.

Validation(확인)은 완성된 소프트웨어가 사용자의 요구에 맞는지 확인하는 활동이다. 모듈 구조를 재는 지표가 아니다 → 확인과 검증