Software Requirements Specification (SRS)
1. Overview
본 문서는 gcore 모듈의 Software Requirements Specification (SRS) 을 정의한다.
gcore는 Grap 엔진의 Core Concept Layer로서 엔진 시스템에서 사용되는 핵심 데이터 모델과 인터페이스 계약을 정의한다.
이 모듈은 다음 시스템 개념을 제공한다.
- 이벤트 데이터 모델
- 프레임 컨텍스트 데이터 구조
- 엔진 루프 인터페이스
- 애플리케이션 상태 인터페이스
- 로깅 인터페이스
- 공통 결과 타입
gcore는 시스템 구현을 포함하지 않는다.
이 모듈은 엔진 개념 모델과 인터페이스 정의만 제공하는 라이브러리 레이어이다.
2. Scope
gcore의 범위는 다음으로 제한된다.
포함 기능
gcore는 다음 기능을 정의한다.
Event data structures
Frame context model
Engine loop interface
Application state model
Logging interface
Result type
Identifier types
제외 기능
다음 기능은 gcore 범위에 포함되지 않는다.
OS window system
Native event handling
Rendering
Editor system
File system
Thread system
Network system
이 기능들은 상위 레이어에서 구현된다.
3. System Context
gcore는 Grap 엔진 레이어 구조에서 Core Concept Layer 역할을 수행한다.
Application
▲
│
ginter
▲
│
ghost
▲
│
gcore
▲
│
gbase
각 레이어의 역할
| Layer | Responsibility |
|---|---|
| gbase | 기본 유틸리티 및 공통 타입 |
| gcore | 엔진 핵심 개념 및 데이터 모델 |
| ghost | 플랫폼 윈도우 및 OS 이벤트 |
| ginter | native 이벤트 변환 |
| Application | 애플리케이션 실행 |
4. Intended Audience
이 문서는 다음 사용자를 대상으로 한다.
- 엔진 개발자
- 시스템 아키텍트
- 라이브러리 사용자
5. Definitions
본 문서에서 사용되는 주요 용어는 다음과 같다.
| Term | Description |
|---|---|
| Event | 엔진 이벤트 데이터 구조 |
| FrameContext | 프레임 상태 스냅샷 |
| Tick | 프레임 루프 시간 정보 |
| State | 애플리케이션 상태 데이터 |
| LogRecord | 로그 레코드 데이터 |
| Result | 연산 결과 타입 |
6. Document Structure
본 문서는 다음 구조로 구성된다.
1 Overview
2 Scope
3 System Context
4 Intended Audience
5 Definitions
6 Functional Requirements
7 Non Functional Requirements