1 Quality Attributes of Requirements Documents Lecture # 25.

Slides:



Advertisements
Similar presentations
Lecture 5: Requirements Engineering
Advertisements

Software Quality Assurance Plan
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Characteristics of a good SRS
Requirements and Design
Software Requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Software Requirements
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
S R S S ystem R equirements S pecification Specifying the Specifications.
Software Requirement Specification(SRS)
Examining the Software Specification [Reading assignment: Chapter 4, pp ]
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Lecture 18: Specifications
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Typical Software Documents with an emphasis on writing proposals.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Software Configuration Management (SCM)
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software System Engineering: A tutorial
Negotiation and Specification Process
Software Requirements Specification CS 4310 Fall 2012 Davis, A., Software Requirements. Prentice Hall, Peters, J. and W. Pedrycz, Software Engineering.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Presented By Dr. Shazzad Hosain.
Lecture 7: Requirements Engineering
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Chapter 4 Software Requirements
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Requirements Engineering
Software Requirements Specification (SRS)
System Requirements Specification
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements
Software Requirements Specification Document (SRS)
Requirements Analysis
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
The Quality Gateway Chapter 11. The Quality Gateway.
Chapter 5 – Requirements Engineering
SYSTEM ANALYSIS AND DESIGN
Software Requirements analysis & specifications
Examining the Specification
Requirement Documentation &
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Requirements Engineering Lecture 6
Software Reviews.
Presentation transcript:

1 Quality Attributes of Requirements Documents Lecture # 25

2 Specifying Requirements Requirements are specified in a document called software requirements specifications (SRS) SRS is used for communication among customers, analysts, and designers Supports system-testing activities Controls the evolution of the system

3 Validation Objectives Certifies that the requirements document is an acceptable description of the system to be implemented Checks a requirements document for –Completeness and consistency –Conformance to standards –Requirements conflicts –Technical errors –Ambiguous requirements

4 What Should Be Included in SRS? Functional requirements –They define what the system does. These describe all the inputs and outputs to and from the system as well as information concerning how the inputs and outputs interrelate.

5 What Should Be Included in SRS? Non-functional requirements –They define the attributes of a system as it performs its job. They include system’s required levels of efficiency, reliability, security, maintainability, portability, visibility, capacity, and standards compliance –Some of these are quality attributes of a software product

6 What Should Not Be Included in SRS? Project requirements (for example, staffing, schedules, costs, milestones, activities, phases, reporting procedures) Designs Product assurance plans (for example, configuration management plans, verification and validation plans, test plans, quality assurance plans)

7 SRS Quality Attributes - 1 Correct Unambiguous Complete Verifiable Consistent

8 SRS Quality Attributes - 2 Understandable by customer Modifiable Traced Traceable Design independent

9 SRS Quality Attributes - 3 Annotated Concise Organized

10 Correct An SRS is correct if and only if every requirement stated therein represents something required of the system to be built

11 Unambiguous An SRS is unambiguous if and only if every requirement stated therein has only one interpretation At a minimum all terms with multiple meanings must appear in a glossary All natural languages invite ambiguity

12 Example of Ambiguity “Aircraft that are nonfriendly and have an unknown mission or the potential to enter restricted airspace within 5 minutes shall raise an alert” Combination of “and” and “or” make this an ambiguous requirement

13 Complete - 1 An SRS is complete if it possesses the following four qualities –Everything that the software is supposed to do is included in the SRS –Definitions of the responses of the software to all realizable classes of input data in all realizable classes of situations is included

14 Complete - 2 –All pages are numbered; all figures and tables are numbered, named, and referenced; all terms and units of measure are provided; and all referenced material and sections are present –No sections are marked “To Be Determined” (TBD)

15 Verifiable An SRS is verifiable if and only if every requirement stated therein is verifiable. A requirement is verifiable if and only if there exists some finite cost effective process with which a person or machine can check that the actual as-built software product meets the requirement

16 Consistent - 1 An SRS is consistent if and only if: –No requirement stated therein is in conflict with other preceding documents, such as specification or a statement of work – No subset of individual requirements stated therein conflict

17 Consistent - 2 Conflicts can be any of the following –Conflicting behavior –Conflicting terms –Conflicting characteristics –Temporal inconsistency

18 Understandable by Customers Primary readers of SRS in many cases are customers or users, who tend to be experts in an application area but are not necessarily trained in computer science

19 Modifiable An SRS is modifiable if its structure and style are such that any necessary changes to the requirements can be made easily, completely, and consistently Existence of index, table of contents, cross- referencing, and appropriate page- numbering This attribute deals with format and style of SRS

20 Traced An SRS is traced if the origin of its requirements is clear. That means that the SRS includes references to earlier supportive documents

21 Traceable An SRS is traceable if it is written in a manner that facilitates the referencing of each individual requirement stated therein

22 Techniques for Traceability Number every paragraph hierarchically and never include more than one requirement in any paragraph Assign every requirement a unique number as we have discussed this earlier Use a convention for indicating a requirement, e.g., use shall statement

23 Traced and Traceability - 1 Backward-from-requirements traceability implies that we know why every requirement in the SRS exists Forward-from-requirements traceability implies that we understand which components of the software satisfy each requirement

24 Traced and Traceability - 2 Backward-to-requirements traceability implies that every software component explicitly references those requirements that it helps to satisfy Forward-to-requirements traceability implies that all documents that preceded the SRS can reference the SRS

25 Design Independent An SRS is design independent if it does not imply a specific software architecture or algorithm Sometimes, it is not possible to have no design information due to constraints imposed by the customers or external factors

26 Annotated The purpose of annotating requirements contained in an SRS is to provide guidance to the development organization Relative necessity Relative stability

27 Concise The SRS that is shorter is better, given that it meets all characteristics

28 Organized An SRS is organized if requirements contained therein are easy to locate. This implies that requirements are arranged so that requirements that are related are co-related We had discussed organization of SRS in the last lecture

29 Phrases to Look for in an SRS - 1 Always, Every, All, None, Never Certainly, Therefore, Clearly, Obviously, Evidently Some, Sometimes, Often, Usually, Ordinarily, Customarily, Most, Mostly Etc., And So Forth, And So On, Such As

30 Phrases to Look for in an SRS - 2 Good, Fast, Cheap, Efficient, Small, Stable Handled, Processed, Rejected, Skipped, Eliminated If…Then…(but missing Else)

31 The Balancing Act Achieving all the preceding attributes in an SRS is impossible Once you become involved in writing an SRS, you will gain insight and experience necessary to do the balancing act There is no such thing as a perfect SRS

32 References ‘Requirements Engineering: Processes and Techniques’ by G. Kotonya and I. Sommerville, John Wiley & Sons, 1998 ‘Software Requirements: Objects, Functions, and States’ by A. Davis, PH, 1993 ‘Software Testing’ by R. Patton, Techmedia, 2000