1. 설명할 Product 에 대해 기반지식이 있는 것이 작성하는데 도움이된다.
2. 개발자가 아닌 비개발직군도 SRS 문서의 독자가 될 수 있다.
전반적인 기능을 파악하고, 구현해야 할 Product 에 대해 정리가 되었다면, 다음과 같은 5가지의 항목에 대해 말할 수 있다. 단, 현재 정형화 되어있는 문서들에 더 많은 항목이 존재할 수 있고, 이는 작성자가 추가해야할지 고려한 뒤 추가하면 될 것으로 보인다.
1. Introduction - 개요
2. Overall Description - 전체 설명
3. Environment - 환경
4. External Interface Requirements - 외부 인터페이스
5. Performance Requirements - 성능 요구사항
설명할 것과 같이 위 5가지 항목을 제외하고 추가적으로 작성하고 있는 SRS 문서가 있고, 필요로 한다면 추가로 작성하는 것을 권한다.
위에서 작성한 5가지의 항목을 세분화 하여 또다시 나뉠 수 있다.
문서의 개요를 설명하는 부분으로 4가지의 세부항목으로 추가할 수 있다.
▶ Purpose - 목적
- 해당 기능 및 제품의 목표와 목적이 무엇인지 작성한다.
EX) 본 제품은 ~~ 한 목적을 가지고 ~~ 을 할 수 있도록 제공하는 것을 목표로한다.
▶ Product Scope - 범위
- 해당 제품 및 프로젝트의 범위를 작성한다. 단, 하위 프로젝트 및 연관성이 있는 프로젝트도 포함하여 작성한다.
▶ Document Conventions - 문서규칙
- 해당 SRS 문서의 대해서 규칙을 작성한다.
EX) Definitions, Acronyms, and Abbreviations (용어 및 약어 정의) SRS : Software Requirements Specification
▶ References - 참조
- 해당 SRS 문서를 작성, 프로젝트를 진행할 때 참조한 문서를 명시한다.
문서의 전제적인 기능을 설명하는 부분으로 약 8가지의 세부항목으로 추가할 수 있다.
▶ Product Perspective - 제품 조망
- 해당 문서의 전체적인 조망을 작성한다. 제공하는 정보나 무엇을 할 것인지에 대한 작성
▶ Overall System Configuration - 전체 시스템 구성
- 전체적인 시스템적 구성도 및 구성 내용을 작성한다.
▶ Overall Operation - 전체 동작방식
- 해당 시스템이 어떻게 전체적으로 동작하는지 Data Flow 에 대해 작성한다.
▶ Product Function - 제품 기능
- 해당 제품 및 프로젝트에서 제공하는 기능들에 대해 작성한다.
▶ Design And Implementation constraint - 설계 및 구현 제약 사항
- 설계 구현도 및 구현 Spec 을 작성한다.
▶ User Document - 사용자 문서
- 사용자 중심의 가이드라인을 제공한다.
▶ Assumptions And Dependencies - 가정과 의존성
- 해당 제품이나 프로젝트의 가정상황을 제공함으로써, 해당 가정을 공유하지 않았을 때, 발생할 문제에 대해 대비하여 작성한다.
- 제품이 어느 것 하나의 예측하지 못할 이슈가 발생할 수 있는 의존성을 가진 하드웨어나 소프트웨어가 존재한다면 이를 생각하여 작성한다.
▶ Backward Compatibility - 하위 호환성
- 해당 제품이나 프로젝트가 다른 하위 프로젝트들에 대해 호환성을 어떻게 할지에 대한 문제를 작성한다.
제품이나 프로젝트의 사용될 환경 및 개발에 대한 내용을 작성한다.
▶ Operating Environment - 운영환경
- 제품이나 프로젝트가 운영될 환경에 대해 작성한다.
▶ Os Environment - 운영체제 환경
- Os Level 에서의 환경을 작성한다.
▶ Product Installation and Configuration - 제품 설치 및 설정
- 제품 및 프로젝트의 설치 과정 및 설정에 대해 작성한다.
▶ Development Environment - 개발 환경
- 개발할 환경에 대해 작성한다.
▶ Test Environment - 테스트 환경
- 테스트 전략에 대해 작성한다.
▶ Configuration Management - 형상 관리
- 형상관리에 대한 내용을 작성한다.
EX) 산출물 위치, 소스코드 위치, 문서 위치
▶ Hardware Interface - 하드웨어 인터페이스
- 하드웨어와 소프트웨어 간의 모든 인터페이스를 작성한다.
▶ User Interface - 사용자 인터페이스
- 사용자가 사용할 인터페이스에 대해 작성한다.
▶ Software Interface - 소프트웨어 인터페이스
- 소프트웨어와 소프트웨어간의 모든 인터페이스를 작성한다.
▶ Communication Interface - 통신 인터페이스
- 통신에 필요한 모든 인터페이스 규격을 작성한다.
▶ Performance Requirements - 성능 요구사항
- 해당 제품, 프로젝트가 달성해야 하는 최소한의 성능 예측
- 다양한 관점에서의 성능 예측 작성
EX) 동시성 제어, 최대 저장 row, TPS 등
위 작성한 내용은 다른 정형화된 SRS 문서 양식과 다를 수 있다. 가령, usecase 를 포함한다거나, 안전, 보안 관련 내용을 추가할 수 있고, Environment 관련해서는 작성되어있지 않은 양식도 볼 수 있다. 해당 내용은 프로젝트 및 제품에 성격과 목적에 따라 가감될 수 있다.
SpringBoot APM - Prometheus 란? (0) | 2023.04.20 |
---|---|
GIT: Interactive 와 vscode에서 사용하기 (0) | 2022.07.04 |
redis queue system (1) | 2022.03.30 |
RFC-5531 (0) | 2021.03.05 |
Asynchronous Programming (0) | 2020.07.06 |