상세 컨텐츠

본문 제목

SRS 작성방법 (Software Requirements Specification)

R&D

by devTak 2021. 8. 3. 14:43

본문

반응형

SRS 작성법

1. 설명할 Product 에 대해 기반지식이 있는 것이 작성하는데 도움이된다.

2. 개발자가 아닌 비개발직군도 SRS 문서의 독자가 될 수 있다.

 

전반적인 기능을 파악하고, 구현해야 할 Product 에 대해 정리가 되었다면, 다음과 같은 5가지의 항목에 대해 말할 수 있다. 단, 현재 정형화 되어있는 문서들에 더 많은 항목이 존재할 수 있고, 이는 작성자가 추가해야할지 고려한 뒤 추가하면 될 것으로 보인다.

 

SRS 작성에 5가지 항목

1. Introduction - 개요

2. Overall Description - 전체 설명

3. Environment - 환경

4. External Interface Requirements - 외부 인터페이스

5. Performance Requirements - 성능 요구사항

 

설명할 것과 같이 위 5가지 항목을 제외하고 추가적으로 작성하고 있는 SRS 문서가 있고, 필요로 한다면 추가로 작성하는 것을 권한다.

 

위에서 작성한 5가지의 항목을 세분화 하여 또다시 나뉠 수 있다.

 

1. Introduction - 개요

문서의 개요를 설명하는 부분으로 4가지의 세부항목으로 추가할 수 있다. 

 

 ▶ Purpose - 목적

    - 해당 기능 및 제품의 목표와 목적이 무엇인지 작성한다. 

    EX) 본 제품은 ~~ 한 목적을 가지고 ~~ 을 할 수 있도록 제공하는 것을 목표로한다.

 

 ▶ Product Scope - 범위

    - 해당 제품 및 프로젝트의 범위를 작성한다. 단, 하위 프로젝트 및 연관성이 있는 프로젝트도 포함하여 작성한다.

 

 ▶ Document Conventions - 문서규칙

    - 해당 SRS 문서의 대해서 규칙을 작성한다.

    EX) Definitions, Acronyms, and Abbreviations (용어 및 약어 정의) SRS : Software Requirements Specification

 

 ▶ References - 참조

   - 해당 SRS 문서를 작성, 프로젝트를 진행할 때 참조한 문서를 명시한다.

 

2. Overall Description - 전체 설명

문서의 전제적인 기능을 설명하는 부분으로 약 8가지의  세부항목으로 추가할 수 있다.

 

 ▶ Product Perspective - 제품 조망

  - 해당 문서의 전체적인 조망을 작성한다. 제공하는 정보나 무엇을 할 것인지에 대한 작성

 

 ▶ Overall System Configuration - 전체 시스템 구성

  - 전체적인 시스템적 구성도 및 구성 내용을 작성한다.

 

 ▶ Overall Operation - 전체 동작방식

  - 해당 시스템이 어떻게 전체적으로 동작하는지 Data Flow 에 대해 작성한다.

 

 ▶ Product Function - 제품 기능

 - 해당 제품 및 프로젝트에서 제공하는 기능들에 대해 작성한다.

 

 ▶ Design And Implementation constraint - 설계 및 구현 제약 사항

  - 설계 구현도 및 구현 Spec 을 작성한다.

 

 ▶ User Document - 사용자 문서

  - 사용자 중심의 가이드라인을 제공한다.

 

 ▶ Assumptions And Dependencies - 가정과 의존성

  - 해당 제품이나 프로젝트의 가정상황을 제공함으로써, 해당 가정을 공유하지 않았을 때, 발생할 문제에 대해 대비하여 작성한다.

  - 제품이 어느 것 하나의 예측하지 못할 이슈가 발생할 수 있는 의존성을 가진 하드웨어나 소프트웨어가 존재한다면 이를 생각하여 작성한다.

 

 ▶ Backward Compatibility - 하위 호환성

  - 해당 제품이나 프로젝트가 다른 하위 프로젝트들에 대해 호환성을 어떻게 할지에 대한 문제를 작성한다.

 

3. Environment - 환경

 제품이나 프로젝트의 사용될 환경 및 개발에 대한 내용을 작성한다.

 

▶ Operating Environment - 운영환경

  - 제품이나 프로젝트가 운영될 환경에 대해 작성한다.

 

▶ Os Environment - 운영체제 환경 

  - Os Level 에서의 환경을 작성한다.

 

▶ Product Installation and Configuration - 제품 설치 및 설정

  - 제품 및 프로젝트의 설치 과정 및 설정에 대해 작성한다.

 

▶ Development Environment - 개발 환경

  - 개발할 환경에 대해 작성한다.

 

▶ Test Environment - 테스트 환경

  - 테스트 전략에 대해 작성한다.

 

▶ Configuration Management - 형상 관리

  - 형상관리에 대한 내용을 작성한다.

  EX) 산출물 위치, 소스코드 위치, 문서 위치

 

4. External Interface Requirements - 외부 인터페이스

▶ Hardware Interface - 하드웨어 인터페이스

  - 하드웨어와 소프트웨어 간의 모든 인터페이스를 작성한다.

 

▶ User Interface - 사용자 인터페이스

  - 사용자가 사용할 인터페이스에 대해 작성한다.

 

▶ Software Interface - 소프트웨어 인터페이스

  - 소프트웨어와 소프트웨어간의 모든 인터페이스를 작성한다.

 

▶ Communication Interface - 통신 인터페이스

  - 통신에 필요한 모든 인터페이스 규격을 작성한다.

 

5. Other Nonfunctional Requirements - 기능 이외의 다른 요구사항

▶ Performance Requirements - 성능 요구사항

  - 해당 제품, 프로젝트가 달성해야 하는 최소한의 성능 예측

  - 다양한 관점에서의 성능 예측 작성

  EX) 동시성 제어, 최대 저장 row, TPS 등

 

위 작성한 내용은 다른 정형화된 SRS 문서 양식과 다를 수 있다. 가령, usecase 를 포함한다거나, 안전, 보안 관련 내용을 추가할 수 있고, Environment 관련해서는 작성되어있지 않은 양식도 볼 수 있다. 해당 내용은 프로젝트 및 제품에 성격과 목적에 따라 가감될 수 있다.

반응형

'R&D' 카테고리의 다른 글

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

관련글 더보기