1. 단위 모듈의 개요
- 소프트웨어 구현에 필요한 한가지 동작을 수행하는 기능을 모듈로 구현한 것
- 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 함
- 두 개의 단위 모듈이 합쳐질 경우 두 개의 기능을 구현할 수 있다
- 구성 요소 : 처리문, 명령문, 데이터 구조 등
- 독립적인 컴파일이 가능, 다른 모듈에 호출되거나 삽입되기도 한다
- 구현을 위해서는 단위 기능 명세서를 작성한 후 입출력 기능과 알고리즘을 구현
2. 단위 기능 명세서 작성
- 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들을 의미
- 복잡한 시스템을 단순하게 구현하기 위한 추상화 작업이 필요
- 대형 시스템을 분해하여 단위 기능별로 구분하고, 각 기능들을 계층적으로 구조화 한다
- 모듈의 독립적 운용과 한 모듈의 정보가 다른 모듈에 영향을 주지 않도록 정보 은닉을 고려한다
3. 입출력 기능 구현
- 단위 기능 명세서에서 정의한 데이터 형식에 따라 입출력 기능을 위한 알고리즘 및 데이터를 구현
- 단위 모듈 간의 연동/통신을 위한 입출력 데이터를 구현
- 사용자 인터페이스(CLI, GUI)와의 연동을 고려
IPC(Inter-Process Communication
- 모듈 간 통신 방식을 구현하기 위한 인터페이스
- 복수의 프로세스를 수행하고 통신까지 구현
1. Shared Memory - 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신을 수행
2. Socket - 네트워크 소켓을 이용하여 통신
3. Semaphores - 공유 자원에 대한 접근 제어를 통해 통신
4. Pipes & named Pipes - Pipe라고 불리는 선입ㅂ선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신
- 하나의 프로세스가 Pipe를 이용 중이라면 다른 프로세스는 접근 불가
5. Message Queueing - 메시지가 발생하면 이를 전달하는 형태로 소통
4. 알고리즘 구현
- 입출력 데이터를 바탕으로 단위 기능별 요구 사항들을 구현 가능한 언어로 구현
- 구현된 단위 기능들이 사용자의 요구와 일치하는지 확인하는 과정이 필요하다
- 단위 기능의 종류에 따라 종류가 나뉜다
1. 디바이스 드라이버 모듈 - 하드웨어 주변 장치의 동작을 구현한 모듈
2. 네트워크 모듈 - 네트워크 장비 및 데이터 통신을 위한 기능을 구현한 모듈
3. 파일 모듈 - 컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현한 모듈
4. 메모리 모듈 - 파일을 프로세스의 가상 메모리에 매핑/해제하는 방법, 프로세스 사이의 통신 기능을 구현한 모듈
5. 프로세스 모듈 - 하나의 프로세스 안에서 다른 프로세스를 생성하는 방법을 구현한 모듈
'Study > 정보처리기사' 카테고리의 다른 글
044 개발 지원 도구 - 2장 통합구현 - 2과목 소프트웨어 개발 (0) | 2022.01.22 |
---|---|
043 단위 모듈 테스트 - 2장 통합구현 - 2과목 소프트웨어 개발 (0) | 2022.01.22 |
041 절차형 SQL - 1장 데이터 입출력 구현 - 2과목 소프트웨어 개발 (0) | 2022.01.21 |
040 데이터 입출력 - 1장 데이터 입출력 구현 - 2과목 소프트웨어 개발 (0) | 2022.01.21 |
039 데이터베이스 개요 - 1장 데이터 입출력 구현 - 2과목 소프트웨어 개발 (0) | 2022.01.21 |