일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 백준
- 파일시스템 구현
- DirectX12
- directx
- 자료구조
- 스케줄링
- 멀티쓰레드
- I/O장치
- 영속성
- 렌더링 파이프라인
- 락
- 멀티프로세서
- 운영체제
- 그리디 알고리즘
- 다이나믹 프로그래밍
- OS
- 동적계획법
- codility
- 그리디알고리즘
- 병행성 관련 오류
- 쓰레드
- 프로그래머스
- 컨디션 변수
- 다이나믹프로그래밍
- 디자인패턴
- DirectX 12
- 타입 객체
- Direct12
- 병행성
- Today
- Total
기록공간
1-3-5장. 공통 모듈 - C 본문
공통 모듈의 개요
공통 모듈은 여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다.
-
자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다.
-
모듈의 재사용성 확보와 중복 개발 회피를 위해 설계 과정에서 공통부분을 식별하고 명세를 작성할 필요가 있다.
-
공통 모듈을 구현할 때는 다른 개발자들이 해당 기능을 명확히 이해할 수 있도록 다음의 명세 기법을 준수해야 함 : 정확성, 명확성, 완전성, 일관성, 추적성
재사용
재사용은 비용과 개발 시간을 절약하기 위해 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화시키는 작업이다.
-
재사용을 위해서는 누구나 이해할 수 있고 사용이 가능하도록 사용법을 공개해야 한다.
-
재사용되는 대상은 외부 모듈과의 결합도는 낮고, 응집도는 높아야 한다.
-
재사용 규모에 따른 분류
-
함수와 객체 : 클래스나 메소드 단위의 소스 코드 재사용
-
컴포넌트 : 컴포넌트 자체에 대한 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용
-
애플리케이션 : 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식으로 재사용
-
효과적인 모듈 설계 방안
-
결합도 줄이고, 응집도 높여서 모듈의 독립성, 재사용성을 증대
-
모듈의 제어 영역 안에서 그 모듈의 영향 영역 유지
-
복잡도와 중복성을 줄이고 일관성을 유지
-
모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이어서는 안 됨
-
유지보수가 용이해야 함
-
모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해
-
하나의 입구와 하나의 출구를 갖도록 해야 함
-
인덱스 번호나 기능 코드들이 전반적인 처리 논리 구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스를 설계해야 한다.
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
1-3-7장. 디자인 패턴 - B (0) | 2020.09.02 |
---|---|
1-3-6장. 코드 - B (0) | 2020.09.02 |
1-3-4장. 모듈 - A (0) | 2020.09.02 |
1-3-3장. 객체지향 - A (0) | 2020.09.01 |
1-3-2장. 아키텍처 패턴 - A (0) | 2020.09.01 |