정보처리기사/필기

[2과목-2장-038] 단위 모듈 구현

여니두 2020. 4. 21.

SW 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것

- 단위 기능: 단위 모듈로 구현되는 하나의 기능

= 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램

- 두 개의 단위 모듈이 합쳐질 경우 두 개의 기능 구현 가능

- 구성 요소

1) 처리문 2) 명령문 3) 데이터 구조

- 독립적 커파일 가능, 다른 모듈에 호출되거나 삽입되기도 함

 

* 순서

1. 단위 기능 명세서 작성

: 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들

- 추상화 작업 필요

- 대형 시스템 분해하여 단위 기능별로 구분, 각 기능들을 계층적으로 구성하는 구조화 과정 거침

- 정보 은닉의 원리 고려하여 작성

 

2. 입/출력 기능 구현

: 단위 기능 명세서에서 정의한 데이터 형식에 따라 알고리즘 및 데이터를 구현

- 단위 모듈 간 연동 or 통신을 위한 입/출력 데이터를 구현

- CLI, GUI와의 연동을 고려

- 네트워크 or 외부 장치와의 입/출력 > Open Source API 이용하면 간편 구현 가능

 

* IPC(Inter-Process Communication)

: 모듈 간 통신 방식 구현하기 위해 사용되는 대표적 프로그래밍 인터페이스 집합

- 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현 가능

- 대표 메소드

1) Shared Memory

2) Socket

3) Semaphores: 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신 수행

4) Pipes&named Pipes: 선입선출 형태로 구성된 메모리인 Pipe를 여러 프로세스가 공유. 하나의 프로세스가 사용 중이면 다른 프로세스는 접근 X

5) Message Queueing 

 

3. 알고리즘 구현

: 입/출력 데이터를 바탕으로 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현

- 사용자의 요구와 구현된 단위 기능들이 일치하는지 확인하는 과정 필요

 

* 모듈 종류

: 단위 기능 종류에 따라

1) 디바이스 드라이버 모듈: HW 주변 장치의 동작을 구현

2) 네트워크 모듈

3) 파일 모듈: 컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현

4) 메모리 모듈: 파일을 프로세스의 가상 메모리에 매핑/해제하는 방법, 프로세스 사이의 통신 기능을 구현한 모듈

5) 프로세스 모듈: 하나의 프로세스 안에서 다른 프로세스를 생성하는 방법

댓글