[정보처리기사] 모듈에 대해서 알아보자
2025. 2. 16. 13:00ㆍ정보처리기사
728x90
반응형
안녕하세요. 진득 코딩입니다.
프로그래밍을 하게 되면 모듈화를 한다거나 모듈마다 무엇을 한다는 등 모듈이라는 단어에 대해 많이 듣게 됩니다.
이번 시간에는 정보처리기사 시험을 대비한 모듈에 대한 개념 정리를 해보도록 하겠습니다.
모듈(Module)
- 모듈은 모듈화를 통해 분리된 시스템의 각 기능으로, 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등을 의미합니다.
- 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미합니다.
- 모듈의 독립성은 결합도(Coupling)와 응집도(Cohesion)에 의해 측정됩니다.
결합도(Coupling)
- 결합도는 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계입니다.
- 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮습니다.
- 결합도의 종류와 강도
자료 결합도 (데이터 결합도) |
스탬프 결합도 | 제어 결합도 | 외부 결합도 | 공통 결합도 | 내용 결합도 |
- 자료 결합도가 가장 결합도가 약하고 내용 결합도로 갈수록 결합도가 점점 강해집니다.
** 결합도의 종류 외우는 방법
"테(데)스형 쟤(제) 왜(외) 저래, 공유랑 내가 닮았데."
결합도의 종류
종류 | 내용 |
자료 결합도 (Data Coupling) |
모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도 |
스탬프(검인) 결합도 (Stamp Coupling) |
모듈 간의 인터페이스로 배열이나 레코드 등의 자료 규조가 전달될 때의 결합도 |
제어 결합도 (Control Coupling) |
- 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호나 제어 요소를 전달하는 결합도 - 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 하위 모듈이 상위 모듈에게 처리 명령을 내리는 권리 전도 현상이 발생하게 됨 |
외부 결합도 (External Coupling) |
어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도 |
공통(공유) 결합도 (Common Coupling) |
- 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 - 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도 |
내용 결합도 (Content Coupling) |
한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도 |
응집도(Cohesion)
- 응집도는 모듈의 내부 요소들이 서로 관련되어 있는 정도입니다.
- 응집도가 강할수록 품질이 높고, 약할수록 품질이 낮습니다.
- 응집도의 종류와 강도
우연적 응집도 | 논리적 응집도 | 시간적 응집도 | 절차적 응집도 | 교환(통신)적 응집도 |
순차적 응집도 | 기능적 응집도 |
- 우연적 응집도가 가장 응집도가 강하고 기능적 응집도로 갈수록 응집도가 점점 약해집니다.
** 응집도의 종류 외우는 방법
"우리 놀(논)던 시절에 먹던 통통한 순대 기가 막히게 맛있었지"
응집도 종류
종류 | 내용 |
우연적 응집도 (coincidental Cohesion) |
모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도 |
논리적 응집도 (Logical Cohesion) |
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도 |
시간적 응집도 (Temporal Cohesion) |
특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도 |
절차적 응집도 (Procedural Cohesion) |
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도 |
교환(통신)적 응집도 (Communication Cohesion) |
동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도 |
순차적 응집도 (Sequential Cohesion) |
모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도 |
기능적 응집도 (Functional Cohesion) |
모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도 |
팬인(Fan-In) / 팬아웃(Fan-Out)
- 팬인은 어떤 모듈을 제어하는 모듈의 수입니다.
- 팬아웃은 어떤 모듈에 의해 제어되는 모듈의 수를 의미합니다.
- 위 그림에서 A기준으로 A로 들어오는 화살표가 없고 나가는 화살표는 3개가 있습니다.
- 그래서 A의 팬인은 0이고, A의 팬아웃은 3입니다.
- 같은 방식으로 구해보면 팬인은 A는 0, B, C, D, E, G, H는 1, F는 3입니다.
- 팬아웃은 E, G, H는 0, C, D는 1, B, F는 2, A는 3입니다.
N-S 차트(Nassi-Schneiderman Chart)
- N-S 차트는 논리의 기술에 중점을 두고 도형을 이용해 표현하는 방법입니다.
- 박스 다이어그램, Chapin Chart라고도 합니다.
- GOTO나 화살표를 사용하지 않습니다.
- N-S차트는 연속, 선택 및 다중 선택, 반복의 3가지 제어 논리 구조로 표현합니다.
- N-S차트를 사용하면 위와 같이 도형들을 시각적으로 명확히 식별하는 데 적합합니다.
728x90
반응형
LIST
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 개발 단계에 따른 애플리케이션 테스트에 대해 알아보자 (0) | 2025.02.23 |
---|---|
[정보처리기사] 디자인 패턴에 대해 알아보자 (0) | 2025.02.22 |
[정보처리기사] 객체지향 분석 및 설계 정리 (0) | 2025.02.15 |
[정보처리기사] 정처기 실기를 대비하기 위한 객체지향에 대해 알아보자 (0) | 2025.02.09 |
[정보처리기사] 데이터 입/출력 구현 파트 서술형 문제 모음 (0) | 2025.02.08 |