Markdown Editor

Software Requirements Specification Template (ISO/IEC/IEEE 29148)

Full SRS per ISO/IEC/IEEE 29148:2018 – interfaces, functions, quality attributes, verification matrix, traceability

Anforderungen & AnalyseVollständigISO/IEC/IEEE 29148:2018srsiso29148math

Anleitung: Contract, regulated or multi-team software. Write section 3 first, one testable statement per row with ID, priority, source and verification method; then fill section 4 so every requirement has an acceptance criterion. Delete non-applicable 1.3.x subsections but say why in 1.6.

Vorschau

Software Requirements Specification: [Product name]

Complete software requirements specification. The section structure follows the SRS information item of ISO/IEC/IEEE 29148:2018 (clause 9.6). Replace every [bracketed] value and every row marked Example, then delete the rows and sections that do not apply and say why in 1.6.

Document control

FieldValue
Document ID[SRS-PRODUCT-001]
Product / system[Product name] [release or increment]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@requirements-owner]
Classification[Internal / Confidential / Public]
Last updatedYYYY-MM-DD
Related documents[StRS-xxx], [SyRS-xxx], [Architecture description], [Test plan]

Approvals

RoleNameDecisionDate
Product owner[@name][Approved / Rejected / Approved with comments]YYYY-MM-DD
Engineering lead[@name][Decision]YYYY-MM-DD
Quality / test lead[@name][Decision]YYYY-MM-DD
Security reviewer[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]Initial draft for review
0.2YYYY-MM-DD[@name]Example: Incorporated review comments; added 3.4 performance targets
1.0YYYY-MM-DD[@name]Example: Baseline approved by the change control board

Contents

1. Introduction

1.1 Purpose

This specification defines the software requirements for [Product name] [release]. It is the agreed basis for design, implementation, verification and acceptance, and it is the reference for every change request raised after baseline.

Intended readers: product management, engineering, test, security, operations, documentation and [customer or regulator, if applicable].

1.2 Scope

  • Software item: [Product name], [version or increment].
  • Objective: [One sentence on the business outcome, for example "reduce order handling time for warehouse staff by 40%"].
  • In scope: [capability 1], [capability 2], [capability 3].
  • Out of scope: [capability explicitly excluded], [capability deferred to a later release], [capability owned by another system].
  • Benefits: [measurable benefit 1], [measurable benefit 2].

1.3 Product perspective

[Product name] is a [new / replacement / component] [web application / service / embedded software] that [one sentence on its role]. It replaces [legacy system, if any] and exchanges data with the systems in the context diagram.

1.3.1 System interfaces

InterfaceCounterpart systemPurposeDirection
Example: IF-SYS-01ERP systemRead stock levels, create sales ordersBidirectional
[IF-SYS-02][System][Purpose][In / Out / Bidirectional]

1.3.2 User interfaces

Describe the logical characteristics of each user interface: platforms, screen classes, accessibility level and localisation. Detailed layouts belong in design; requirements on them are stated in 3.1 and 3.3.

  • Supported clients: [desktop browsers, versions], [mobile, versions].
  • Accessibility target: [WCAG 2.2 level AA].
  • Languages: [en, vi, ...]; right-to-left support: [yes / no].

1.3.3 Hardware interfaces

[Devices the software controls or reads, for example barcode scanners, printers, sensors; protocols and supported models. Write "None" when the software runs only on general-purpose hosts.]

1.3.4 Software interfaces

SoftwareVersionUseInterface
Example: PostgreSQL16.xPrimary data storeSQL over TLS
[Library or service][Version][Use][API or protocol]

1.3.5 Communications interfaces

[Network protocols, message formats, encryption, ports, bandwidth or latency assumptions. Example: HTTPS (TLS 1.2+) for all client traffic; AMQP 0-9-1 for asynchronous events to the ERP.]

1.3.6 Memory constraints

[Limits on primary and secondary memory, for example "runs within 512 MiB RAM per instance" or "client bundle under 300 KB compressed". Write "No specific constraint" if none.]

1.3.7 Operations

[Normal and special operations: hours of service, unattended operation, batch windows, backup and recovery operations, data retention.]

1.3.8 Site adaptation requirements

[Configuration needed per installation site or tenant: locale, currency, time zone, feature flags, data migration steps.]

1.3.9 Interfaces with services

[External services the software depends on, such as payment, maps, identity, messaging; note the service level each one provides.]

1.4 Product functions

FunctionSummaryDetailed in
Example: Order captureCreate, edit and submit customer orders3.2.1
Example: Stock lookupShow real-time availability per warehouse3.2.2
[Function][Summary][3.2.x]

1.5 User characteristics

User classFrequencyDomain expertiseTechnical expertisePrivilegesNotes
Example: Warehouse clerkDaily, all shiftHighLowCreate and edit ordersUses handheld scanners, gloves
Example: AdministratorWeeklyMediumHighConfiguration, user management
[User class][Frequency][Level][Level][Privileges][Notes]

1.6 Limitations

[Regulatory policies, hardware limits, interfaces to other applications, parallel operation, audit functions, control functions, higher-order language requirements, signal handshake protocols, quality requirements such as reliability, criticality of the application, safety and security considerations, and physical or mental limitations of users that constrain the design options. List each with its source.]

1.7 Assumptions and dependencies

[Factors that, if they change, would change the requirements. Example: "The ERP exposes the stock API described in IF-SYS-01 by YYYY-MM-DD". The full register with owners and review dates is in 5.1.]

1.8 Apportioning of requirements

[Requirements allocated to later releases or to other system elements (hardware, people, other software). Reference the requirement IDs and the target release.]

RequirementAllocated toReason
Example: SRS-FR-020Release 2Depends on ERP upgrade
[ID][Release or element][Reason]

2. References

IDTitleVersion / dateSource
REF-01ISO/IEC/IEEE 29148:2018 Requirements engineering2018ISO / IEC / IEEE
REF-02[Stakeholder requirements specification][x.y][Location]
REF-03[Architecture description][x.y][Location]
REF-04[Applicable regulation or contract][Date][Location]

3. Specific requirements

3.0 Requirement conventions

Identifiers. SRS-<type>-<nnn>, never reused. Types: IF external interface, FR function, US usability, PR performance, DB logical database, DC design constraint, SC standards compliance, RA reliability and availability, SE security, MA maintainability, PO portability.

Wording. "The system shall ..." for mandatory requirements, "should" for goals, "may" for options. One requirement per statement; no "and/or", "etc.", "user-friendly", "fast" or other unmeasurable words.

Attributes. Every requirement carries:

AttributeValues
PriorityMust / Should / Could (MoSCoW)
SourceStakeholder need ID, regulation, or decision record
RationaleWhy the requirement exists
VerificationInspection (I), Analysis (A), Demonstration (D), Test (T)
StatusProposed, Approved, Implemented, Verified, Deleted

Quality check. Before approval each requirement must be necessary, appropriate to this level, unambiguous, complete, singular, feasible, verifiable, correct and conforming to these conventions. The set as a whole must be complete, consistent, feasible and bounded.

3.1 External interfaces

IDRequirementPrioritySourceVerification
SRS-IF-001Example: The system shall retrieve stock levels from the ERP stock API (IF-SYS-01) using the JSON schema in REF-03, appendix B.MustStRS-12T
SRS-IF-002Example: The system shall reject ERP responses that fail schema validation and record the rejection in the integration log within 1 s.MustDecision ADR-007T
[SRS-IF-nnn][Statement][M/S/C][Source][I/A/D/T]

3.2 Functions

3.2.1 [Function name, for example Order capture]

Description: [What the function achieves for which user class.]

IDRequirementPrioritySourceRationaleVerification
SRS-FR-001Example: The system shall let a warehouse clerk create an order with one or more order lines.MustStRS-03Core business processT
SRS-FR-002Example: The system shall reject an order line whose quantity is not a positive integer and show the reason next to the field.MustStRS-03Prevents invalid stock movesT
SRS-FR-003Example: The system shall save an unsubmitted order as a draft automatically at least every 30 s.ShouldUsability study U-4Avoids lost work on handheld devicesT

Abnormal situations: [behaviour on network loss, timeout, duplicate submission, concurrent edit].

3.2.2 [Function name, for example Stock lookup]

Description: [What the function achieves.]

IDRequirementPrioritySourceRationaleVerification
SRS-FR-010Example: The system shall display available quantity per warehouse for a searched product.MustStRS-05Clerks choose the source warehouseT
SRS-FR-011Example: The system shall mark stock data older than 5 minutes as stale.ShouldStRS-05Prevents oversellingD

3.3 Usability requirements

IDRequirementPriorityVerification
SRS-US-001Example: 90% of first-time warehouse clerks shall complete "create an order with three lines" in under 2 minutes without assistance.MustT (usability test)
SRS-US-002Example: All user interface screens shall conform to WCAG 2.2 level AA.MustI + T
[SRS-US-nnn][Statement][M/S/C][Method]

3.4 Performance requirements

Response times are measured server-side as the pp-th percentile over a rolling 5-minute window:

tp95=min⁡{ t:P(T≤t)≥0.95 }t_{p95} = \min\{\, t : P(T \le t) \ge 0.95 \,\}
IDRequirementLoad conditionPriorityVerification
SRS-PR-001Example: The system shall support 500 concurrent signed-in users.Peak shiftMustT (load test)
SRS-PR-002Example: Order submission shall complete with tp95≤800t_{p95} \le 800 ms.50 orders/sMustT
SRS-PR-003Example: Stock lookup shall complete with tp95≤300t_{p95} \le 300 ms.200 queries/sShouldT
[SRS-PR-nnn][Statement][Condition][M/S/C][Method]

3.5 Logical database requirements

IDRequirementPriorityVerification
SRS-DB-001Example: The system shall retain submitted orders for 7 years and then delete them.MustI + T
SRS-DB-002Example: Every order line shall reference exactly one product and one order.MustA
[SRS-DB-nnn][Statement][M/S/C][Method]

3.6 Design constraints

IDConstraintSourceVerification
SRS-DC-001Example: The server components shall run on the company's managed Kubernetes platform.IT policy P-14I
SRS-DC-002Example: The system shall store personal data only in EU data centres.GDPR, contract C-22I
[SRS-DC-nnn][Constraint][Source][Method]

3.7 Standards compliance

IDRequirementStandard or regulationVerification
SRS-SC-001Example: The system shall record who created, changed or deleted an order and when, and keep the record for 7 years.[Internal audit policy], [regulation]I + T
[SRS-SC-nnn][Statement][Standard][Method]

3.8 Software system attributes

3.8.1 Reliability

IDRequirementVerification
SRS-RA-001Example: The system shall lose no submitted order in the event of a single node failure.T (fault injection)
SRS-RA-002Example: Mean time between failures shall be at least 720 hours in production operation.A (operational data)

3.8.2 Availability

Availability is measured monthly over the service hours in 1.3.7:

A=service time−unplanned downtimeservice time×100%A = \frac{\text{service time} - \text{unplanned downtime}}{\text{service time}} \times 100\%
IDRequirementVerification
SRS-RA-010Example: Availability shall be at least 99.9% per calendar month.A (monitoring)
SRS-RA-011Example: After a full region outage the service shall be restored within 4 hours (RTO) with at most 15 minutes of data loss (RPO).D (recovery drill)

3.8.3 Security

IDRequirementVerification
SRS-SE-001Example: The system shall authenticate users through the corporate identity provider using OpenID Connect.T
SRS-SE-002Example: The system shall enforce role-based access so that clerks cannot change configuration.T
SRS-SE-003Example: All data in transit shall use TLS 1.2 or later; all personal data at rest shall be encrypted.I + T
SRS-SE-004Example: Security-relevant events (sign-in, permission change, export) shall be logged and retained for 1 year.I

3.8.4 Maintainability

IDRequirementVerification
SRS-MA-001Example: Automated tests shall cover at least 80% of lines in the business logic modules.A (coverage report)
SRS-MA-002Example: Configuration changes listed in 1.3.8 shall not require a code change or redeployment.D

3.8.5 Portability

IDRequirementVerification
SRS-PO-001Example: The client shall run on the two latest major versions of Chrome, Edge, Firefox and Safari.T
SRS-PO-002Example: The server shall run on any Linux host that provides a container runtime compatible with the OCI image specification.D

3.9 Supporting information

[Sample input and output formats, cost analysis studies, results of user surveys, background on the problem, and packaging instructions for code and media. Reference them as annexes when they are long.]

4. Verification

RequirementMethodAcceptance criterionTest or evidence IDResult
SRS-IF-001TStock values match ERP for 100 sampled productsTC-INT-001[Pass / Fail / Not run]
SRS-FR-002TInvalid quantities rejected with field messageTC-ORD-004[Result]
SRS-US-001T90% of 10 first-time users finish under 2 minUT-2026-01[Result]
SRS-PR-002Tp95 at or below 800 ms at 50 orders/s for 30 minPERF-003[Result]
SRS-RA-010AMonthly availability report at or above 99.9%OPS-REPORT-MM[Result]
SRS-SE-002TClerk role receives 403 on configuration endpointsSEC-TC-011[Result]
[ID][I/A/D/T][Criterion][Evidence][Result]

Verification status summary:

CategoryTotalVerifiedFailedNot yet verified
Functions (FR)[n][n][n][n]
Performance (PR)[n][n][n][n]
Security (SE)[n][n][n][n]
All requirements[n][n][n][n]

5. Appendices

5.1 Assumptions and dependencies register

IDAssumption or dependencyImpact if falseOwnerReview dateStatus
AD-01Example: ERP stock API is available in production by YYYY-MM-DDStock lookup (3.2.2) cannot ship[@name]YYYY-MM-DDOpen
AD-02[Assumption][Impact][@name]YYYY-MM-DD[Open / Confirmed / Invalid]

5.2 Acronyms, abbreviations and definitions

TermDefinition
ERPEnterprise resource planning system
RTORecovery time objective: maximum acceptable time to restore service
RPORecovery point objective: maximum acceptable data loss measured in time
p9595th percentile of a measured distribution
[Term][Definition used in this document]

5.3 Traceability matrix

SourceSRS requirementDesign elementVerification
StRS-03SRS-FR-001, SRS-FR-002Order serviceTC-ORD-001, TC-ORD-004
StRS-05SRS-FR-010, SRS-FR-011Stock adapterTC-INT-001
[Source ID][SRS IDs][Component][Test IDs]

5.4 Open issues

IDIssueRaised byOwnerDueResolution
OI-01Example: Confirm whether drafts expire after 30 days[@name][@name]YYYY-MM-DD[Open]
[OI-nn][Issue][@name][@name]YYYY-MM-DD[Resolution]

Standard and licence note

Structure aligned with ISO/IEC/IEEE 29148:2018, Systems and software engineering: Life cycle processes, Requirements engineering, software requirements specification information item. This template is original text written for this collection and reproduces no text from the standard; obtain the standard from ISO, IEC or IEEE for its normative requirements. Template licence: MIT.

Ähnliche Vorlagen