일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이프 필터 패턴
- 정보 은닉
- 메타 데이터
- baekjoon
- DBMS
- 팬아웃
- C++
- 클라이언트 서버 패턴
- 동적 모델링
- 백준
- UnrealEngine5
- 마스터 슬레이브 패턴
- 정보처리기사 실기
- UML 다이어그램
- 데이터 입출력
- 언리얼엔진5
- UnrealEngine
- 알고리즘 문제
- 정보처리기사
- 데이터베이스
- 요구사항 확인
- 브로커 패턴
- 기능 모델링
- UML
- 아키텍처 패턴
- 언리얼엔진 함수
- 요구사항 분석
- 정처기
- Unreal Engint4
- 단계적 분해
Archives
- Today
- Total
게임 개발자를 향해
단위 모듈과 공통모듈 본문
단위 모듈
단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것이다.
[단위 모듈의 구현 과정]
[단위 기능 명세서작성] ▶ [입 출력 기능 구현] ▶ [알고리즘 구현]
[IPC(Inter-Process Communication)]
- IPC는 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다.
- 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다.
<IPC의 대표 메소드 5가지>
- Shared Memory(공유 메모리)
- 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식
- Socket(소켓)
- 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스 간에 통신하는 방식
- Semaphores(세마포어)
- 공유 자원에 대한 접근 제어를 통해 통신하는 방식
- Pipes&named Pipes(파이프와 네임드파이프)
- Pipe라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신하는 방식
- Pipe는 하나의 프로세스가 이용중이라면 다른 프로세스는 접근할 수 없음
- Message Queueing(메시지 큐잉)
- 메시지가 발생하면 이를 전달하는 방식으로 통신하는 방식
[단위 모듈 테스트]
- 단위 모듈 테스트는 프로그램의 단위 기능으로 구현된 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것이다.
- 단위 테스트(Unit Test) 라고도 부른다.
- 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없다.
[테스트 케이스(Test Case)]
- 테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위한 테스트 항목에 대한 명세서이다.
- 테스트케이스를 이용하지 않은 테스트는 툭정 요소에 대한 검증이 누락되거나 불필요한 검증의 반복으로 인해 인력과 시간을 낭비할 수 있다.
<ISO/IEC/IEEE 29119 - 3 표준에 따른 테스트 케이스의 구성 요소>
- 식별자(Identifier)
- 테스트 항목(Test List)
- 입력 명세(Input Specification)
- 출력 명세(Output Specification)
- 환경 설정(Environmental Needs)
- 특수 절차 요구(Special Procedure Requirement)
- 의존성 기술(Inter-case Dependencies)
공통 모듈
공통 모듈은 여러 프로그램에서 공통으로 사용할 수 있는 모듈이다.
자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다.
공통 모듈을 구현할 때는 해당 기능을 명확히 이해할 수 있도록 명세 기법을 준수해야 한다.
[테스트 케이스(Test Case)]
- 정확성(Correctness)
- 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성함
- 명확성(Clarity)
- 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성함
- 완전성(Completeness)
- 시스템 구현을 위해 필요한 모든 것을 기술함
- 일관성(Comsistency)
- 공통 기능들 간 상호 충돌이 발생하지 않도록 작성함
- 추적성(Traceability)
- 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성함
[재사용(Reuse)]
이미 개발된 기능들을 새로운 시스템이나 기능 개발에 사용하기 적합하도록 최적화하는 작업
새로 개발하는데 필요한 비용과 시간을 줄일 수 있다.
누구나 이해할 수 있고 사용이 가능하도록 사용법을 공개해야 한다.
- 함수와 객체
- 클래스나 메소드 단위의 소스코드를 재사용함
- 컴포넌트
- 컴포넌트 자체에 대한 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용함
- 애플리케이션
- 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식으로 재사용함

읽어주셔서 감사합니다!
정처기 화이팅!
'정보처리기사 > 4. 서버 프로그램 구현' 카테고리의 다른 글
디자인 패턴 (1) | 2022.09.24 |
---|---|
코드(Code) (0) | 2022.09.22 |
모듈(Module) (0) | 2022.09.20 |
객체지향 분석 및 설계 (0) | 2022.09.20 |
객체지향(Object - Oriented) (0) | 2022.09.20 |