1 Software Requirements Specification Lecture 14.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Requirements Specification and Management
Software Requirements
Characteristics of a good SRS
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Software Engineering COMP 201
Software Requirements
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Requirements
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
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.
SE 555 Software Requirements & Specification Requirements Validation.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
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.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: IEEE Standard, Daniel Amyot.
Software Requirement Specification(SRS)
The Software Development Life Cycle: An Overview
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
S/W Project Management
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.
Requirements Analysis
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
ITEC224 Database Programming
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Negotiation and Specification Process
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Lecture 7: Requirements Engineering
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
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 ++
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
(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.
1 Quality Attributes of Requirements Documents Lecture # 25.
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
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirements Quality Quality Measures Verification Validation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Software Requirements
SYSTEM ANALYSIS AND DESIGN
Requirement Documentation &
SOFTWARE REQUIREMENT SPECIFICATION
Lecture # 7 System Requirements
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Reviews.
Presentation transcript:

1 Software Requirements Specification Lecture 14

2 References IEEE Recommended Practice for Software Requirements Specifications by Software Engineering Standards Committee of the IEEE Computer Society.

3 Scope of the Specification It describes the process of creating a product and the content of the product. It is aimed at specifying requirements of software to be developed. It can also assist in selection of in-house and commercial software products. Its application to already developed software could be counterproductive.

4 Definitions Contract –A legally binding document agreed upon by customer and client. Customer –Entity that pays for the product. Supplier –Entity that produces the product for customer. User –Entity that operates or interacts directly with the product.

5 Details to be Considered for a Good SRS Nature of the SRS Environment of the SRS Characteristics of a good SRS Joint preparation of the SRS SRS evolution Prototyping Embedding design in the SRS Embedding project requirements in the SRS

6 Nature of the SRS It is a specification for a particular software product that performs certain functions in a specific environment. Usually written by one or more representatives of customer, supplier or by both. SRS writers should avoid placing either design or project requirements in the SRS.

7 Nature of the SRS (Contd…) Basic issues for SRS writers: –Functionality –External interfaces –Performance –Attributes –Design constraints imposed on an implementation

8 Environment of the SRS IEEE Std describes the steps in the software life cycle and the applicable inputs for each step. Boundaries of the SRS –It should correctly define all of the software requirements. –It should not describe any design or implementation detail. –It should not impose additional constraints on the software.

9 Characteristics of a Good SRS Correct –An SRS is correct, if and only if, every requirement stated therein is one that the software shall meet. –There is no tool or procedure that ensures correctness. Unambiguous –An SRS is unambiguous, if and only if, every requirement stated therein has only one interpretation.

10 Characteristics of a Good SRS (Contd…) –In cases where a term used in a particular context could have multiple meanings, the term should be included in a glossary where its meaning is made more specific. –Sub-clauses to avoid ambiguity Natural language pitfalls-An SRS should be reviewed by an independent party to identify ambiguous use of language. Requirements specification languages- An SRS can be written in a particular requirements specification language. Representation tools

11 Characteristics of a Good SRS (Contd…) Complete –An SRS is complete if, and only if, it includes the following elements: All significant requirements, especially any external requirements imposed by a system specification. –Definition of the responses of the software to all realizable classes of input data in all realizable classes of situations. –Full labels and references to all figures, table, and diagrams in the SRS and definition of all terms and units of measure. –Any SRS that users the phrase “to be determined” (TBD) is not a complete SRS.

12 Characteristics of a Good SRS (Contd…) Consistent –Consistency refers to internal consistency. If an SRS does not agree with some higher-level document, such a system requirements specification, then is not correct. –Internal consistency An SRS is internally consistent if, and only if, no subset of individual requirements described in it conflict. –Three main types of conflicts in SRS are: Specific characteristics of real world objects. Logical or temporal conflict between two actions. Use of different terms to describe the same real world object.

13 Characteristics of a Good SRS (Contd…) Ranked for importance and/or stability –An SRS is ranked for importance and/or stability if each requirement in it has an identifier to indicate either the importance or stability of that particular requirement. –One method of identifying requirements uses the dimension of stability. –Another way to rank requirements is to distinguish classes of requirements as essential, conditional or optional.

14 Characteristics of a Good SRS (Contd.) Verifiable –An SRS is verifiable if, and only if, every requirement stated therein is verifiable. –If a method cannot be devised to determine whether the software meets a particular requirement, then that requirement should be removed or revised. Modifiable –An SRS is modifiable if, and only if, its structure and style are such that any changes to the requirements can be made easily, completely, and consistently while retaining the structure and style. –Redundancy itself is not an error, but it can easily lead to errors.

15 Characteristics of a Good SRS (Contd.) Traceable –An SRS is traceable if, and only if, the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in the future development or enhancement documentation. –Backward tractability –Forward tractability

16 Joint preparation of the SRS The software development process should begin with the supplier and customer agreement on what the completed software must do.

17 SRS Evolution The SRS may need to evolve as the development of the software product progresses. Requirements should be specified as thoroughly and completely as is known at the time, even if evolutionary revisions seem to be inevitable. A formal change process should be initiated to identify, control, track and report projected changes.

18 Prototyping Prototyping is frequently used during the requirements portion of a project. Usefulness of prototyping –Provides quick feedback –Helps reach closure on the SRS –An SRS based on a prototype tends to undergo less changes during development.

19 Embedding Design in the SRS SRS writers should clearly distinguish between identifying required design constraints and projecting a specific design. Every requirement in the SRS limits design alternatives. However, not every requirement is design.

20 Embedding Project Requirements in the SRS The SRS should address the software product, not the process of producing the software product. –Project requirements should not be included in the SRS. These include, Cost Delivery schedules Reporting procedures Quality assurance Software development methods Validation and verification criteria Acceptance procedures