ISO/IEC/IEEE 29148:2018은 소프트웨어 요구사항 명세(software requirements specification, SRS)를 소프트웨어의 필수 요구사항(기능, 성능, 설계 제약, 속성)과 외부 인터페이스를 모아 구조화한 것으로 정의한다.[1] 표준 자체는 ISO/IEC/IEEE 29148에서 다룬다.

쓰임

ISO/IEC/IEEE 24765 용어집은 소프트웨어 요구사항 검증을, SRS가 아키텍처 설계의 기반으로 충분한지 등을 확인하는 과정으로 정의한다. 이 용어집은 테스트 케이스를 설계하고 구현하는 기준이 되는 정보를 테스트 기준으로 정의하고, 요구사항 명세가 그 한 형태일 수 있다고 둔다.[2]

SRS의 내용

IEEE 830-1998은 좋은 SRS의 내용과 품질을 기술하고 SRS의 목차 예를 여럿 제시했다. 이 권고 관행은 ISO/IEC/IEEE 29148:2011로 대체되었다.[3] ISO/IEC/IEEE 29148:2018은 SRS를 요구사항 프로세스가 만드는 정보 항목의 하나로 두고 그 내용을 정한다.[1]

명확성

ISO/IEC/IEEE 24765 용어집은 명확하다(unambiguous)를 필요하면 정의의 도움을 받아 한 가지로만 해석되게 서술된 것으로 정의한다.[2] 산출물 사이의 일관성은 추적성에서 다룬다.

표기의 정형도

ISO 26262-1:2018은 서술 기법을 문법과 의미가 얼마나 완전히 정의되었는지에 따라 비정형, 반정형, 정형 표기로 정의한다.[4]

  • 비정형 표기(informal notation): 문법이 완전히 정의되지 않은 서술 기법이다. 문법 정의가 불완전하면 의미도 완전히 정의되지 않는다.
  • 반정형 표기(semi-formal notation): 문법은 완전히 정의되었지만 의미의 정의는 불완전할 수 있는 서술 기법이다. 이 표준은 UML(Unified Modeling Language)을 예로 든다.
  • 정형 표기(formal notation): 문법과 의미가 모두 완전히 정의된 서술 기법이다. 이 표준은 예로 Z 같은 명세 언어와 수식을 든다.[4]

SWEBOK V4.0a에 따르면 정형 명세 언어는 타입, 집합, 순서열, 논리 명제 같은 수학의 기본 개념에 기반한다. Z 같은 정형 모델링 언어는 의미가 매우 정밀하게 정의되어 명세를 기계로 분석할 수 있고, 요구사항 모델이 정형적일수록 덜 모호해 소프트웨어 엔지니어가 요구사항을 잘못 해석할 여지가 줄어든다.[5]

자연어 요구사항을 정해진 문장 틀로 가볍게 제약하는 방법은 EARS에서 다룬다.

[1]
ISO/IEC/IEEE, “ISO/IEC/IEEE 29148:2018 Systems and software engineering — Life cycle processes — Requirements engineering (OBP preview).” 2018. Accessed: Oct. 02, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:29148:ed-2:v1:en
[2]
IEEE Computer Society, “SEVOCAB: Software and Systems Engineering Vocabulary (ISO/IEC/IEEE 24765).” 2026. Accessed: Oct. 02, 2026. [Online]. Available: https://pascal.computer.org/sev_display/index.action
[3]
IEEE, “IEEE 830-1998 IEEE Recommended Practice for Software Requirements Specifications.” 1998. Accessed: Oct. 02, 2026. [Online]. Available: https://web.archive.org/web/20260914134123/https://standards.ieee.org/ieee/830/1222/
[4]
ISO, “ISO 26262-1:2018 Road vehicles — Functional safety — Part 1: Vocabulary (OBP preview).” 2018. Accessed: Sep. 29, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:26262:-1:ed-2:v1:en
[5]
H. Washizaki, Ed., “Guide to the Software Engineering Body of Knowledge (SWEBOK Guide), Version 4.0a,” IEEE Computer Society, 2026. Accessed: Oct. 02, 2026. [Online]. Available: https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf