Lecture 1: Life Cycle Models

advertisement
Lecture 5.2.b: Requirements
Specifications (IEEE 830)
Dr. John MacCarthy
UMBC CMSC 615
Fall, 2006
1
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 8301998]

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]
2
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
3
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
4
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
5
Section 3 Structure
3.1 External Interface
Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces
3.1.4 Communications Interfaces
3.2 Functions
3.3 Performance Requirements
3.4 Design Constraints
3.5 SW System Attributes
3.5.1 Reliability
3.5.2 Availability
3.5.3 Security
3.5.4 Maintainability
3.5.5 Portability
3.6 Other Requirements
6
Section 3 Organized by Mode [1]
3. Specific Requirements
3.1 External Interface Requirements
3.1.1
3.1.2
3.1.3
3.1.4
User Interfaces
Hardware Interfaces
Software Interfaces
Communications Interfaces
3.2 Functional Requirements
3.2.1 Mode 1
3.2.1.1 Functional Requirement 1
3.2.1.2 Functional Requirement 2
..
3.3
3.4
3.5
3.6
3.2.2 Mode 2
….
Performance Requirements
Design Constraints
SW System Attributes
Other Requirements
7
Section 3 Organized by Mode [2]
3. Specific Requirements
3.1 Functional Requirements
3.1.1 Mode 1
3.1.1.1 External Interface Requirements
3.1.1.1.1 User Interfaces
3.1.1.1.2 Hardware Interfaces
3.1.1.1.3 Software Interfaces
3.1.1.1.4 Communications Interfaces
3.1.1.2 Functional Requirements
3.1.1.2.1 Functional Requirement 1
3.1.1.2.2 Functional Requirement 2
3.1.1.3 Performance Requirements
3.2.1 Mode 2
….
3.2 Design Constraints
3.3 SW System Attributes
3.4 Other Requirements
8
Section 3 Organized by User Class
3. Specific Requirements
3.1 External Interface Requirements
3.1.1
3.1.2
3.1.3
3.1.4
User Interfaces
Hardware Interfaces
Software Interfaces
Communications Interfaces
3.2 Functional Requirements
3.2.1 User Class 1
3.2.1.1 Functional Requirement 1
3.2.1.2 Functional Requirement 2
..
3.3
3.4
3.5
3.6
3.2.2 User Class 2
….
Performance Requirements
Design Constraints
SW System Attributes
Other Requirements
9
Section 3 Organized by Object
3. Specific Requirements
3.1 External Interface Requirements
3.1.1
3.1.2
3.1.3
3.1.4
User Interfaces
Hardware Interfaces
Software Interfaces
Communications Interfaces
3.2 Class Objects
3.2.1 Class Object 1
3.2.1.1 Attributes
3.2.1.2 Functions (Services, methods)
3.2.1.3 Messages
3.3
3.4
3.5
3.6
3.2.2 Class Object 2
….
Performance Requirements
Design Constraints
SW System Attributes
Other Requirements
10
Other Organizations




Section
Section
Section
Section
3
3
3
3
Organized by Feature
Organized by Stimulus
Organized by “Functional Hierarchy”
Multiple Organizations
11
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.3
3.4
3.5
3.6

3.2.1 Function 1.1







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:
(Statement of Top-Level Function)



3.2 Functional Requirements




3.2.1.1 Function 1.1.1
3.2.1.2 Function 1.1.2
…
3.2.2 Function 1.2
….
Performance Requirements
Design Constraints
SW System Attributes
Other Requirements





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
12
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: …
13
Download