requirements templates - se3a04 tutorial · outline requirements documents requirements document...

28
Outline Requirements Documents Requirements Document Templates IEEE/Volere Hybrid Template Some Tips for Writing Requirements Documents References Questions Requirements Templates SE3A04 – Tutorial Andrew LeClair Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada Modified from slides by Jason Jaskolka [email protected] January 27/28, 2016 Andrew LeClair Requirements Templates 1 / 28

Upload: vanlien

Post on 05-Oct-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Requirements TemplatesSE3A04 – Tutorial

Andrew LeClair

Department of Computing and SoftwareFaculty of EngineeringMcMaster University

Hamilton, Ontario, CanadaModified from slides by Jason Jaskolka

[email protected]

January 27/28, 2016

Andrew LeClair Requirements Templates 1 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Outline

1 Requirements Documents

2 Requirements Document Templates

3 IEEE/Volere Hybrid TemplateSection 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

4 Some Tips for Writing Requirements Documents

5 References

6 Questions

Andrew LeClair Requirements Templates 2 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

What is a Requirements Document?

Definition (Software Requirements Specification (SRS))

A software requirements specification (SRS) or requirementsdocument is a complete description of the behaviour of a systemto be developed. It may include a set of use cases that describeinteraction between the system and the user/environment.

Andrew LeClair Requirements Templates 3 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Requirements Document Templates

There are several different formats or templates suggested forrequirements documents by different groups

Example: IEEE, Volere, etc.We are recommending a hybrid template

IEEE for context and scopeIEEE for functional requirementsVolere for non-functional requirements

Andrew LeClair Requirements Templates 4 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 1: Introduction

This section of the SRS should provide an overview of theentire SRSIt should contain the following subsections:

1 Purpose2 Scope3 Definitions, Acronyms, and Abbreviations4 References5 Overview

Andrew LeClair Requirements Templates 5 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 1: Introduction

1.1 Purposea) Delineate the purpose of the SRSb) Specify the intended audience for the SRS

1.2 Scopea) Identify the software product(s) to be produced by name (e.g.,

Host DBMS, Report Generator, etc.)b) Explain what the software product(s) will, and, if necessary, will

not doc) Describe the application of the software being specified,

including relevant benefits, objectives, and goalsd) Be consistent with similar statements in higher-level

specifications (e.g., the system requirements specification), ifthey exist

Andrew LeClair Requirements Templates 6 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 1: Introduction

1.3 Definitions, Acronyms, and Abbreviationsa) Provide the definitions of all terms, acronyms, and abbreviations

required to properly interpret the SRS1.4 References

a) Provide a complete list of all documents referenced elsewhere inthe SRS

b) Identify each document by title, report number (if applicable),date, and publishing organisation

c) Specify the sources from which the references can be obtained1.5 Overview

a) Describe what the rest of the SRS containsb) Explain how the SRS is organised

Andrew LeClair Requirements Templates 7 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 2: Overall Description

This section of the SRS should describe the general factorsthat affect the product and its requirementsIt does not state specific requirements – it provides abackground for those requirements and makes them easier tounderstandIt usually contains the following subsections:

1 Product Perspective2 Product Functions3 User Characteristics4 Constraints5 Assumptions and Dependencies6 Apportioning of Requirements

Andrew LeClair Requirements Templates 8 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 2: Overall Description

2.1 Product Perspectivea) Put the product into perspective with other related products,

i.e., contextb) If the product is independent and totally self-contained, it should

be stated herec) If the SRS defines a product that is a component of a larger

system, as frequently occurs, then this subsection should relatethe requirements of that larger system to functionality of thesoftware and should identify interfaces between that system andthe software

d) A block diagram showing the major components of the largersystem, interconnections, and external interfaces can be helpful

Andrew LeClair Requirements Templates 9 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 2: Overall Description

2.2 Product Functionsa) Provide a summary of the major functions that the software will

perform.Example: An SRS for an accounting program may use this partto address customer account maintenance, customer statement,and invoice preparation without mentioning the vast amount ofdetail that each of those functions requires.

b) Functions should be organised in a way that makes the list offunctions understandable to the customer or to anyone elsereading the document for the first time

c) Textual or graphical methods can be used to show the differentfunctions and their relationships

Such a diagram is not intended to show a design of a product,but simply shows the logical relationships among variables

Andrew LeClair Requirements Templates 10 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 2: Overall Description

2.3 User Characteristicsa) Describe those general characteristics of the intended users of

the product including educational level, experience, and technicalexpertise

b) Do not state specific requirements, but rather provide thereasons why certain specific requirements are later specified

2.4 Constraintsa) Provide a general description of any other items that will limit

the developer’s options

Andrew LeClair Requirements Templates 11 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 2: Overall Description

2.5 Assumptions and Dependenciesa) List each of the factors that affect the requirements stated in the

SRSb) These factors are not design constraints on the software but are,

rather, any changes to them that can affect the requirements inthe SRS

Example: An assumption may be that a specific operatingsystem will be available on the hardware designated for thesoftware product. If, in fact, the operating system is notavailable, the SRS would then have to change accordingly.

2.6 Apportioning of Requirementsa) Identify requirements that may be delayed until future versions of

the system

Andrew LeClair Requirements Templates 12 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 3: Functional Requirements

This section of the SRS should contain all of the softwarerequirements to a level of detail sufficient to enable designersto design a system to satisfy those requirements, and testersto test that the system satisfies those requirementsThroughout this section, every stated requirement should beexternally perceivable by users, operators, or other externalsystemsThese requirements should include at a minimum a descriptionof every input (stimulus) into the system, every output(response) from the system, and all functions performed bythe system in response to an input or in support of an output

Andrew LeClair Requirements Templates 13 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 3: Functional Requirements

You normally have two options for organising your functionalrequirements:

1 Organise first by business events, then by viewpoints2 Organise first by viewpoints, then by business events

Choose the one which makes the most sense

Andrew LeClair Requirements Templates 14 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 3: Functional Requirements

Example (Organisation By Business Events)

Consider a grocery store.BE1. Customer intends to buy an item

VP1.1 CustomerVP1.2 CashierVP1.3 . . .

BE2. Cashier wants to process an itemVP2.1 CustomerVP2.2 CashierVP2.3 . . .

Andrew LeClair Requirements Templates 15 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 3: Functional Requirements

Example (Organisation By Viewpoints)

Consider a grocery store.VP1. Customer

BE1.1 Places itemBE1.2 Propose a discountBE1.3 . . .

VP2. CashierBE2.1 Process itemBE2.2 Enact a discountBE2.3 . . .

Andrew LeClair Requirements Templates 16 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

1 Look and Feel Requirements1 Appearance Requirements2 Style Requirements

ExampleLF1. The product shall incorporate the company logo and colours.

Andrew LeClair Requirements Templates 17 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

2 Usability and Humanity Requirements1 Ease of Use Requirements2 Personalisation and Internationalization Requirements3 Learning Requirements4 Understandability and Politeness Requirements5 Accessibility Requirements

ExampleUR1. The product shall be easy to use on the first attempt by a

member of the public with training.

Andrew LeClair Requirements Templates 18 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

3 Performance Requirements1 Speed and Latency Requirements2 Safety-Critical Requirements3 Precision or Accuracy Requirements4 Reliability and Availability Requirements5 Robustness or Fault-Tolerance Requirements6 Capacity Requirements7 Scalability or Extensibility Requirements8 Longevity Requirements

ExamplePR1. The product shall identify whether an aircraft is hostile or

friendly within 0.25 seconds.

Andrew LeClair Requirements Templates 19 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

4 Operational and Environmental Requirements1 Expected Physical Environment2 Requirements for Interfacing with Adjacent Systems3 Productisation Requirements4 Release Requirements

ExampleOE1. The product shall be used in and around trucks at night and

during rainstorms, snow, and freezing conditions.

Andrew LeClair Requirements Templates 20 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

5 Maintainability and Support Requirements1 Maintenance Requirements2 Supportability Requirements3 Adaptability Requirements

ExampleMS1. The product shall be readily portable to Linux.

Andrew LeClair Requirements Templates 21 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

6 Security Requirements1 Access Requirements2 Integrity Requirements3 Privacy Requirements4 Audit Requirements5 Immunity Requirements

ExampleSR1. The product shall ensure that its air temperature data

corresponds to the data transmitted by the weather station.

Andrew LeClair Requirements Templates 22 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

7 Cultural and Political Requirements1 Cultural Requirements2 Political Requirements

ExampleCP1. The product shall use British spelling.

Andrew LeClair Requirements Templates 23 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Section 1: IntroductionSection 2: Overall DescriptionSection 3: Functional RequirementsSection 4: Non-Functional Requirements

Section 4: Non-Functional Requirements

8 Legal Requirements1 Compliance Requirements2 Standards Requirements

ExampleLR1. The product shall comply with the Accessibility for Ontarians

with Disabilities Act.

Andrew LeClair Requirements Templates 24 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Some Tips for Writing Requirements Documents

Be sure to include all sections of the template in yourdocument regardless whether you have something to write foreach or not

If you do not have anything to write in a section, indicate thisby N/A, void, none, etc.

Uniquely number each of your requirements for easyidentification and cross-referencingHighlight terms that are defined in Section 1.3 (Definitions,Acronyms, and Abbreviations) with bold, italic or underline

Andrew LeClair Requirements Templates 25 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Some Tips for Writing Requirements Documents

Special Note!For Deliverable 1, please highlight, in some fashion, all (you mayhave more than one) creative and innovative features.

Your creative and innovative features will generally be described inSection 2.2 (Product Functions), but it will depend on the typeof creative or innovative features you are including.

Andrew LeClair Requirements Templates 26 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

References

IEEE-SA Standards BoardIEEE 830-1998: IEEE Recommended Practice for Software RequirementsSpecificationsInstitute of Electrical and Electronics Engineers, October 1998.

Suzanne Robertson and James Robertson.Mastering the Requirements Process, 2nd EditionAddison-Wesley, 2006.

Andrew LeClair Requirements Templates 27 / 28

OutlineRequirements Documents

Requirements Document TemplatesIEEE/Volere Hybrid Template

Some Tips for Writing Requirements DocumentsReferencesQuestions

Questions

Questions?

Andrew LeClair Requirements Templates 28 / 28