Skip to content

Instantly share code, notes, and snippets.

@goddoe
Last active September 10, 2025 03:54
Show Gist options
  • Select an option

  • Save goddoe/815705fdd656ab51fd841b3f73a8a223 to your computer and use it in GitHub Desktop.

Select an option

Save goddoe/815705fdd656ab51fd841b3f73a8a223 to your computer and use it in GitHub Desktop.
소프트웨어 요구사항 명세서 (SRS).md

SRS(Software Requirements Specification) 구성

IEEE 830, ISO/IEC 29148 같은 표준을 따르기도 하는데, 보통 다음 섹션들이 많이 쓰임

  1. 서론 (Introduction)
  • 목적 (Purpose)
  • 범위 (Scope)
  • 정의 및 약어 (Definitions, Acronyms, Abbreviations)
  • 참조 문서 (References)
  1. 전체 설명 (Overall Description)
  • 제품 관점 (Product Perspective) → 시스템 아키텍처, 기존 시스템과 관계
  • 제품 기능 요약 (Product Functions)
  • 사용자 특성 (User Characteristics)
  • 제약 조건 (Constraints: OS, DB, 법규, 표준 준수 등)
  • 가정 및 의존성 (Assumptions and Dependencies)
  1. 기능 요구사항 (Functional Requirements)
  • ID를 붙여 추적 가능하게 작성 (FR-01, FR-02…)
  • 표나 Use Case 형식으로 상세히 기술
  1. 비기능 요구사항 (Non-functional Requirements)
  • 성능 (성능 목표, 처리량, 응답시간)
  • 보안 (인증, 암호화, 접근제어)
  • 가용성, 확장성, 유지보수성 등
  1. 외부 인터페이스 요구사항
  • 사용자 인터페이스(UI/UX)
  • 하드웨어 인터페이스
  • 소프트웨어 인터페이스(API, DB 스키마)
  • 통신 인터페이스(프로토콜, 포트 등)
  1. 시스템 아키텍처 / 설계 개요 (선택적으로 포함)
  • 블록 다이어그램, 데이터 플로우 다이어그램, 시퀀스 다이어그램
  1. 요구사항 추적성 매트릭스 (RTM, Requirements Traceability Matrix)
  • 요구사항 ↔ 테스트 케이스 매핑
  • 나중에 QA/테스트팀이 검증할 때 매우 중요
  1. 부록 (Appendices)
  • 용어집, 추가 제약사항, 참고 자료

실무에서는 보통?

  • 대기업/정부과제/외부 발주: 위의 거의 풀 세트를 작성
  • 사내 신규 서비스/스타트업: 3~5번 (기능·비기능 요구사항, 인터페이스)까지만 문서화하고 나머지는 협업 툴(Jira/Confluence/Notion)로 대체
  • 애자일 조직: SRS 전체 대신 User Story + Acceptance Criteria를 계속 업데이트하면서 관리

결론

  • “공식 문서”로 내야 한다면 제가 위에 쓴 1~8 섹션 정도를 갖춘 SRS 템플릿이 표준입니다.
  • 하지만 실제 내부 개발에서는 너무 무겁지 않게, 3~5번까지만 충실히 작성하는 경우가 많습니다.

소프트웨어 요구사항 명세서 예시(SRS)

  1. 서론 (Introduction)

1.1 목적 (Purpose)

본 문서는 음성 → 텍스트 변환 서비스 개발을 위한 요구사항을 정의한다. 개발자, QA, PM, 운영팀이 시스템을 설계·구현·테스트하는 과정에서 참조한다.

1.2 범위 (Scope)

  • 사용자: 일반 기업 직원, 회의 참여자
  • 기능: 오디오 파일 업로드, 자동 텍스트 변환, 결과 다운로드
  • 목표: 회의록 작성 효율성 향상 및 다국어 지원

1.3 정의 및 약어 (Definitions, Acronyms, Abbreviations)

  • STT: Speech-to-Text
  • API: Application Programming Interface
  • SRS: Software Requirements Specification

1.4 참조 문서 (References)

  • IEEE 830-1998: Software Requirements Specification 표준
  • ISO/IEC/IEEE 29148:2018

  1. 전체 설명 (Overall Description)

2.1 제품 관점 (Product Perspective)

본 시스템은 클라우드 환경에서 동작하며, 웹/모바일 앱을 통해 접근한다. 아키텍처 개요:

  • Client → API Gateway → STT Engine → DB → File Storage

2.2 제품 기능 요약 (Product Functions)

  • 오디오 파일 업로드
  • 자동 음성 인식(STT)
  • 텍스트 결과 제공 및 다운로드
  • 관리자 대시보드 제공

2.3 사용자 특성 (User Characteristics)

  • 일반 사용자: IT 지식이 낮음, 직관적 UI 필요
  • 관리자: 시스템 모니터링 및 로그 조회 가능

2.4 제약 조건 (Constraints)

  • 운영 환경: AWS (EC2, S3, RDS)
  • 파일 크기: 최대 100MB
  • 법규: 개인정보보호법 준수

2.5 가정 및 의존성 (Assumptions and Dependencies)

  • STT 엔진은 Google Speech API 또는 오픈소스 Kaldi 기반
  • 네트워크 연결이 안정적일 것을 가정

  1. 기능 요구사항 (Functional Requirements)

ID 요구사항 설명 우선순위 비고 FR-01 사용자는 mp3, wav 파일을 업로드할 수 있어야 한다. Must 최대 100MB FR-02 시스템은 업로드된 오디오 파일을 STT 엔진을 통해 변환해야 한다. Must 한국어/영어 지원 FR-03 변환된 텍스트는 사용자가 다운로드 가능해야 한다. Must txt, docx FR-04 실패 시 사용자에게 에러 메시지를 반환해야 한다. Must HTTP 상태 코드 FR-05 관리자는 웹 대시보드를 통해 시스템 로그를 조회할 수 있어야 한다. Should 보안 인증 필요

  1. 비기능 요구사항 (Non-functional Requirements)

ID 요구사항 설명 기준치 비고 NFR-01 평균 응답 속도 2초 이내 1분 길이 파일 기준 NFR-02 동시 접속 처리 100명 이상 Auto Scaling NFR-03 데이터 전송 보안 HTTPS TLS 1.2 이상 NFR-04 데이터 저장 보안 AES-256 암호화 사용자 데이터 NFR-05 가용성 99.9% SLA 클라우드 환경

  1. 외부 인터페이스 요구사항

5.1 사용자 인터페이스 (UI/UX)

  • 웹: 파일 업로드 버튼, 진행률 표시, 결과 다운로드 버튼
  • 모바일: 동일 기능 제공, 반응형 UI

5.2 하드웨어 인터페이스

  • 클라이언트: PC(Windows/Mac), 모바일(Android/iOS)
  • 서버: AWS EC2 t3.large 이상

5.3 소프트웨어 인터페이스

  • API: RESTful, JSON 기반
  • DB: PostgreSQL 14
  • 스토리지: AWS S3

5.4 통신 인터페이스

  • 프로토콜: HTTPS (포트 443)
  • 인증: JWT 기반 토큰 인증

  1. 시스템 아키텍처 개요

[사용자] → [웹/모바일 클라이언트] → [API Gateway] → [STT Engine] → [DB/S3] → [결과 반환]

  • STT Engine: Python 기반 서비스 (PyTorch + STT 모델)
  • DB: 사용자 및 로그 저장
  • Storage: 오디오/텍스트 파일 저장

  1. 요구사항 추적성 매트릭스 (RTM)

요구사항 ID 테스트 케이스 ID 설명 FR-01 TC-01 mp3 업로드 성공 테스트 FR-02 TC-02 한국어/영어 변환 정확도 90% 이상 검증 NFR-01 TC-05 1분 파일 변환 2초 이내 응답 확인 NFR-03 TC-07 HTTPS 통신 암호화 적용 여부 확인

  1. 부록 (Appendices)

8.1 용어집

  • STT: Speech-to-Text
  • JWT: JSON Web Token

8.2 추가 제약사항

  • 무료 플랜 사용자는 하루 10회 변환으로 제한
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment