1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

13
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006

Transcript of 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

Page 1: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

1

Lecture 5.2.b: Requirements Specifications (IEEE 830)

Dr. John MacCarthyUMBC CMSC 615Fall, 2006

Page 2: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

2

Requirements Standards Active DOD Standards <http://

www.dsp.dla.mil>: Defense and Program-Unique Specifications

Format and Content [MIL-STD-961E, August, 2003]

Software Life Cycle Processes [IEEE 12207.0, May 1998]

Software Life Cycle Processes - Life Cycle Data [IEEE 12207.1, May 1998]

Software Life Cycle Processes – Implementation Considerations [IEEE 12207.2, May 1998]

Data Item Descriptions (DIDs) [MIL-STD-963] IEEE Standards <http://www.ieee.org>:

IEEE Guide for Developing of System Requirements Specification [IEEE-1233-1998]

IEEE Recommended Practice for Software Requirements Specifications [ANSI/IEEE 830-1998]

Cancelled Standards: Software Development and

Documentation [MIL-STD-498, May, 1994] [Replaced by IEEE/EIA 12207 series]

Defense System Software Development [MIL-STD-2167A, December 1994] [Replaced by MIL-STD-498]

IEEE Recommended Practice for Software Requirements Specifications [IEEE 830-1994] http://www.cs.njit.edu/~campbell/CIS673/IEEE.pdf [Replaced by ANSI/IEE 830-1998]

Page 3: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

3

Industry Standard Software Requirements Specifications (SRS)

IEEE Std 830-1998, IEEE Recommended Practices for Software Requirements Specifications.

There are 8 different recommended SRS Templates for Section 3

System Mode (2) User Class Objects Features (Services) Stimulus (Input) Functional Hierarchy

(Information Flow) Hybrid Response (Output)

1. Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions Acronyms, and Abbreviations 1.4. References 1.5. Overview

2. Overall Description

2.1. Product Perspective 2.2. Product Functions 2.3. User Characteristics 2.4. Constraints 2.5. Assumptions and Dependencies

3. Specific Requirements 3.1. External Interfaces 3.2. Functions 3.3. Performance Requirements 3.4. Design Constraints 3.5. Software System Attributes 3.6. Other Requirements

Appendixes Index

Page 4: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

4

Considerations for an SRS (4)

Nature of the SRS (4.1) Functionality External Interfaces Performance Attributes Design Constraints

Environment of the SRS (4.2): Correctly define SW

requirements Should not describe design or

implementation details Should not impose

unnecessary constraints on the SW

Characteristics of a good SRS (4.3)

Correct Unambiguous Complete Consistent Ranked for importance

and/or stability Verifiable Modifiable Traceable

Page 5: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

5

Constraints Section Section 2.4 Constraints

Regulatory Policies Hardware Limitations Interfaces to Other Applications Parallel Operation Audit Functions Control Functions Higher-Order Language Requirements Signal Handshake Protocols Reliability Requirements Criticality of the Application Safety and Security Considerations

Page 6: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

6

Section 3 Structure3.1 External Interface

Requirements3.1.1 User Interfaces3.1.2 Hardware Interfaces3.1.3 Software Interfaces3.1.4 Communications

Interfaces

3.2 Functions3.3 Performance

Requirements

3.4 Design Constraints3.5 SW System

Attributes3.5.1 Reliability3.5.2 Availability3.5.3 Security3.5.4 Maintainability3.5.5 Portability

3.6 Other Requirements

Page 7: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

7

Section 3 Organized by Mode [1]3. Specific Requirements

3.1 External Interface Requirements3.1.1 User Interfaces3.1.2 Hardware Interfaces3.1.3 Software Interfaces3.1.4 Communications Interfaces

3.2 Functional Requirements3.2.1 Mode 1

3.2.1.1 Functional Requirement 13.2.1.2 Functional Requirement 2..

3.2.2 Mode 2….

3.3 Performance Requirements3.4 Design Constraints3.5 SW System Attributes3.6 Other Requirements

Page 8: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

8

Section 3 Organized by Mode [2]3. Specific Requirements

3.1 Functional Requirements3.1.1 Mode 1

3.1.1.1 External Interface Requirements3.1.1.1.1 User Interfaces3.1.1.1.2 Hardware Interfaces3.1.1.1.3 Software Interfaces3.1.1.1.4 Communications Interfaces

3.1.1.2 Functional Requirements3.1.1.2.1 Functional Requirement 13.1.1.2.2 Functional Requirement 2

3.1.1.3 Performance Requirements3.2.1 Mode 2….

3.2 Design Constraints3.3 SW System Attributes3.4 Other Requirements

Page 9: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

9

Section 3 Organized by User Class3. Specific Requirements

3.1 External Interface Requirements3.1.1 User Interfaces3.1.2 Hardware Interfaces3.1.3 Software Interfaces3.1.4 Communications Interfaces

3.2 Functional Requirements3.2.1 User Class 1

3.2.1.1 Functional Requirement 13.2.1.2 Functional Requirement 2..

3.2.2 User Class 2….

3.3 Performance Requirements3.4 Design Constraints3.5 SW System Attributes3.6 Other Requirements

Page 10: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

10

Section 3 Organized by Object3. Specific Requirements

3.1 External Interface Requirements3.1.1 User Interfaces3.1.2 Hardware Interfaces3.1.3 Software Interfaces3.1.4 Communications Interfaces

3.2 Class Objects3.2.1 Class Object 1

3.2.1.1 Attributes3.2.1.2 Functions (Services, methods)3.2.1.3 Messages

3.2.2 Class Object 2….

3.3 Performance Requirements3.4 Design Constraints3.5 SW System Attributes3.6 Other Requirements

Page 11: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

11

Other Organizations Section 3 Organized by Feature Section 3 Organized by Stimulus Section 3 Organized by “Functional

Hierarchy” Section 3 Multiple Organizations

Page 12: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

12

Section 3 Organized by Functional Hierarchy (2) (My Recommendation)

3. Specific Requirements 3.1 External Interface Requirements

3.1.1 User Interfaces 3.1.2 Hardware Interfaces 3.1.3 Software Interfaces (including data) 3.1.4 Communications Interfaces

(including data) 3.2 Functional Requirements

(Statement of Top-Level Function) 3.2.1 Function 1.1

3.2.1.1 Function 1.1.1 3.2.1.2 Function 1.1.2 …

3.2.2 Function 1.2 ….

3.3 Performance Requirements 3.4 Design Constraints 3.5 SW System Attributes 3.6 Other Requirements

Suggest a Logical Data Model Annex to support data structures addressed in Sections 3.1.3, 3.1.4, and 3.2

Suggested Functional Leaf Node Requirements Format:

Paragraph Number “Shall” statement with Function

statement Outputs Triggers Inputs Rule Model Performance (Context/Notes)

Note: Non-leaf node function is considered accomplished (from a functional perspective) if all its leaf nodes are accomplished

Note: Non-leaf node functions may have performance requirements/attributes that are not simply roll-ups of leaf-node performance

Note: One may want to specify the scenario(s) that are to be used to verify performance

Page 13: 1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.

13

Example Format 3.2.X.Y The system shall

[verb phrase]: where the system generates

the following outputs: .. where the activity is triggered

by the following conditions: … where the activity is provided

the following input: … where the activity follows the

following business rules: … where process is completed

subject to the following performance requirements: …

Context/Notes: …

3.X.Y The system shall [verb phrase]

where this function consists of the subfunctions that follow

where this function is completed subject to the following performance requirements: …

Context/Notes: …