Software RequirementsSoftware Requirements Specification (SRS)courses.utep.edu/portals/870/fall 09...

Preview:

Citation preview

Software RequirementsSoftware Requirements Specification (SRS)

Complete description of external behavior Complete description of external behavior of software systemof software systemyy

Why write an SRS?

SRSSRSSRS is a complete yet concise description is a complete yet concise description

f h i l i f f hf h i l i f f h

Davis, A., Software Requirements

of the entire external interface of the system of the entire external interface of the system with its environment including other with its environment including other software communication ports hardwaresoftware communication ports hardwaresoftware, communication ports, hardware, software, communication ports, hardware, and human users. and human users. Includes:Includes:Includes:Includes:

BehavioralBehavioralNN b h i lb h i lNonNon--behavioralbehavioral

BehavioralBehavioral: Behavioral: define what the system does; define what the system does;

Davis, A., Software Requirements

InputsInputsOutputsOutputsOutputsOutputstransformation of inputs to outputstransformation of inputs to outputs

Non-behavioralNonNon--behavioral: behavioral: define the attributes of the define the attributes of the

i f i j bi f i j b

Davis, A., Software Requirements

system as it performs its jobsystem as it performs its jobEfficiencyEfficiencyReliabilityReliabilitySecuritySecurityMaintainabilityMaintainabilityPortabilityPortabilityStandards complianceStandards compliance

Attributes of a Well-Written SRS-1Davis, A., Software Requirements

CorrectCorrect

UnambiguousUnambiguous

Attributes of a Well-Written SRS-2Davis, A., Software Requirements

CompleteComplete

Attributes of a Well-Written SRS-3VerifiableVerifiable

Att ib t f W ll W itt SRS 4Attributes of a Well-Written SRS-4C i t tC i t tConsistentConsistent

Attributes of a Well-Written SRS-5Attributes of a Well Written SRS 5

TraceableTraceable

SRS is a resource

Organization is critical: Organization is critical:

Outline of SRS Document

DOCUMENT CONTROL1 INTRODUCTION1. INTRODUCTION2. GENERAL DESCRIPTION3. EXTERNAL INTERFACE REQUIREMENTSQ4. BEHAVIORAL REQUIREMENTS5. NON-BEHAVIORAL REQUIREMENTS6 OTHER REQUIREMENTS6. OTHER REQUIREMENTS7. APPENDIX A: ANALYSIS MODELS8. APPENDIX B: ISSUES LISTSSU S S

Introduction

1.1. PURPOSE AND SCOPE OF PRODUCT1.2. INTENDED AUDIENCE1.3. OVERVIEW1.4. DEFINITIONS, ACRONYMS, AND , ,

ABBREVIATIONS1.4.1. Definitions1.4.2. Acronyms and Abbreviations1.5. REFERENCES

General Description

2.1. PRODUCT PERSPECTIVE2.2. PRODUCT FEATURES2.2. PRODUCT FEATURES2.3. USER CHARACTERISTICS2 4 OPERATING ENVIRONMENT2.4. OPERATING ENVIRONMENT2.5. GENERAL CONSTRAINTS2.6. ASSUMPTIONS AND

DEPENDENCIES

3. External Interface

3.1. USER INTERFACES3.2. HARDWARE INTERFACES3.2. HARDWARE INTERFACES3.3. SOFTWARE INTERFACES3 4 COMMUNICATIONS INTERFACES3.4. COMMUNICATIONS INTERFACES

4 BEHAVIORAL4. BEHAVIORAL REQUIREMENTS4.1. SAME CLASS OF USER4.2. RELATED REAL-WORLD OBJECTS4.3. STIMULUS4.4. RELATED FEATURES4.5. FUNCTIONAL

5 NON-BEHAVIORAL5. NON BEHAVIORAL REQUIREMENTS5.1. PERFORMANCE REQUIREMENTS5.2. SECURITY5.3. QUALITATIVE REQUIREMENTS5.3.1. Availabilityy5.3.2. Maintainability5.3.3. Portability5.3.3. o tab ty5.3.4. Design and Implementation Constraints

The rest …

6.OTHER REQUIREMENTS6.1. DATABASE6.1. DATABASE6.2. OPERATIONS6 3 SITE ADAPTATION6.3. SITE ADAPTATION7.APPENDIX A: ANALYSIS MODELS8.APPENDIX B: ISSUES LIST

Groupings of requirements

Organize the SRS for understandingOrganize the SRS for understandingGroup requirements related byGroup requirements related byGroup requirements related byGroup requirements related by

Same External Stimulus

Put all the requirements related to some Put all the requirements related to some stimulus together. stimulus together. gg

Same System Feature

Example: Telephone switching systemExample: Telephone switching system

Same System Response

Example: payroll systemExample: payroll system

Same Real World Object

Example: Library systemExample: Library system

Same Class of User

Example: ATMExample: ATM

Same class of Function

(weakest, corresponds to unguided use of (weakest, corresponds to unguided use of stepwise decomposition)stepwise decomposition)p p )p p )

Recommended