View
230
Download
0
Category
Preview:
Citation preview
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
leclaial@mcmaster.ca
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
Recommended