일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 컨디션 변수
- DirectX 12
- 다이나믹 프로그래밍
- Direct12
- 멀티프로세서
- 백준
- 병행성 관련 오류
- 다이나믹프로그래밍
- 파일시스템 구현
- codility
- I/O장치
- 병행성
- 알고리즘
- 영속성
- 자료구조
- 스케줄링
- 디자인패턴
- 그리디알고리즘
- directx
- 락
- 프로그래머스
- 렌더링 파이프라인
- 그리디 알고리즘
- 쓰레드
- DirectX12
- 멀티쓰레드
- 타입 객체
- 운영체제
- OS
- 동적계획법
- Today
- Total
기록공간
2-2-1장. 단위 모듈 구현 - C 본문
단위 모듈의 개요
단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것이다.
-
단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 부른다.
-
단위 모듈은 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 한다.
-
두 개의 단위 모듈이 합쳐질 경우 두 개의 기능을 구현할 수 있다.
-
단위 모듈의 구성 요소에는 처리문, 명령문, 데이터 구조 등이 있다.
-
단위 모듈은 독립적인 컴파일이 가능하며, 다른 모듈에 호출되거나 삽입되기도 한다.
-
단위 모듈을 구현하기 위해서는 단위 기능 명세서를 작성한 후 입출력 기능과 알고리즘을 구현해야 한다.
단위 기능 명세서 작성
단위 기능 명세서는 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들을 의미한다.
-
단위 기능 명세서를 작성하는 단계에서는 복잡한 시스템을 단순하게 구현하기 위한 추상화 작업이 필요하다.
-
단위 기능 명세서를 작성하는 단계에서는 대형 시스템을 분해하여 단위 기능별로 구분하고, 각 기능들을 계층적으로 구성하는 구조화 과정을 거친다.
-
단위 기능 명세서 작성 시 모듈의 독립적인 운용과 한 모듈 내의 정보가 다른 모듈에 영향을 주지 않도록 정보 은닉의 원리를 고려한다.
입출력 기능 구현
입출력 기능 구현 단계에서는 단위 기능 명세서에서 정의한 데이터 형식에 따라 입출력 기능을 위한 알고리즘 및 데이터를 구현한다.
-
입출력 기능 구현 단계에서는 단위 모듈 간의 연동 또는 통신을 위한 입출력 데이터를 구현한다.
-
입출력 기능 구현 시 사용자 인터페이스인 CLI, GUI와의 연동을 고려한다.
-
입출력 기능 구현 시 네트워크나 외부 장치와의 입출력은 무료로 공개되어 있는 Open Source API를 이용하면 간편하게 구현할 수 있다.
알고리즘 구현
알고리즘 구현 단계에서는 입출력 데이터를 바탕으로 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현한다.
-
알고리즘 구현 단계에서는 구현된 단위 기능들이 사용자의 요구와 일치하는지 확인하는 과정이 필요하다.
-
구현되는 모듈 종류
-
디바이스 드라이버 모듈 : 하드웨어 주변 장치의 동작을 구현한 모듈
-
네트워크 모듈 : 네트워크 장비 및 데이터 통신을 위한 기능을 구현한 모듈
-
파일 모듈 : 컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현한 모듈
-
메모리 모듈 : 파일을 프로세스의 가상 메모리에 매핑/해제하는 방법, 프로세스 사이의 통신 기능을 구현한 모듈
-
프로세스 모듈 : 하나의 프로세스 안에서 다른 프로세스를 생성하는 방법을 구현한 모듈
-
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
2-2-3장. 개발 지원 도구 - B (0) | 2020.09.04 |
---|---|
2-2-2장. 단위 모듈 테스트 - B (0) | 2020.09.04 |
2-1-4장. 절차형 SQL - B (0) | 2020.09.04 |
2-1-3장. 데이터 입출력 - B (0) | 2020.09.04 |
2-1-2장. 데이터저장소 / 데이터베이스 / DBMS - A (0) | 2020.09.04 |