Software Requirement Specification(SRS)

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

CS 411W - Notes Product Development Documentation.
Lecture 5: Requirements Specifications
Requirements Specification
CO2401 Software Development Teaching structure –Lecture –Labs Assessment –Assignment 50% –Exam 50%
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
A summary of the PSS-05 URD template
Software Requirements
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
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.
Requirements Engineering
The Software Development Life Cycle: An Overview
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Lecture 18: Specifications
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
Introduction to Software Quality Assurance (SQA)
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.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
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.
Software System Engineering: A tutorial
ECE450 – Software Engineering II
1 Lecture 5.2a: SEF Ch 8 SE Outputs Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Feasibility Study.
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Engineering CSE 305 Lecture-2.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Lecture 7: Requirements Engineering
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 ++
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.
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
(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.
Systems Development Life Cycle
1 Quality Attributes of Requirements Documents Lecture # 25.
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
System Requirements Specification
Software Requirements
Software Requirements Specification Document (SRS)
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Classifications of Software Requirements
2012 Spring Simulation Interoperability Workshop
Chapter 5 – Requirements Engineering
SYSTEM ANALYSIS AND DESIGN
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
Software Requirements Specification Document
Software Requirements Specification (SRS) Template.
CEN 5035, Software Engineering
Lecture # 7 System Requirements
Requirements Document
Requirements Engineering Lecture 6
Presentation transcript:

Software Requirement Specification(SRS)

Introduction SRS is: Requirements specification for a software system May include a set of use cases.  Also contains non-functional requirements.

Topics IEEE 830 format explored under 5 subtopics: Scope of SRS. References made to other standards. Consideration of good SRS. Definitions of specific terms used. Essential part of SRS.

Scope of SRS SRS is recommended in important part of software development cycle as: Used in design implementation Used in Project Monitoring Used in Verification Used in Validation Used as legal documents of agreement

References List of few references for writing a SRS: IEEE Std 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 730-1998, IEEE Standard for Software Quality Assurance Plans. IEEE Std 730.1-1995, IEEE Guide for Software Quality Assurance Planning. IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans. IEEE Std 1028-1997, IEEE Standard for Software Reviews.

Nature of SRS: The SRS should address following issues: Functionality External Interfaces Performance Attributes Design Constraints. Should avoid: Design and implementation details Additional constraints

Characteristics of Good SRS(Contd).. Correct Unambiguous Complete Consistent Ranked for importance and/or stability Verifiable Modifiable Traceable

Other Consideration of Good SRS Environment of the SRS. Joint preparation of the SRS. SRS evolution. Prototyping. Embedding design in the SRS. Embedding project requirements in the SRS.

Definitions contract: A legally binding document includes the technical and organizational requirements, cost, and schedule for a product.

Parts of SRS

Introduction (Section 1 of the SRS) It should contain the following subsections: a) Purpose; b) Scope; c) Definitions, acronyms, and abbreviations; d) References; e) Overview.

Overall description (Section 2 of the SRS) This section usually consists of six subsections, as follows: a) Product perspective; b) Product functions; c) User characteristics; d) Constraints; e) Assumptions and dependencies; f) Apportioning of requirements.

Product perspective (2.1 of the SRS) Describe how the software operates inside various constraints. For example, these constraints could include a) System interfaces b) User interfaces c) Hardware interfaces d) Software interfaces e) Communications interfaces f) Memory h) Site adaptation requirements

Hardware Interfaces e.g. from iTest SRS For the communication protocol the program needs these protocols to be installed: Tcp for the client to connect to the server in online mode. Storing devices(flash,optical disks etc.) for the client to take a test in offline mode.

Product functions (2.2 of the SRS) This subsection of the SRS should provide a summary of the major functions that the software will perform. e.g. from iTest SRS Sorting questions: Sort questions from A-Z or Z- A. Filter questions: Show questions based on their difficulty or flag category.

User characteristics (2.3 of the SRS) This subsection of the SRS should describe those general characteristics of the intended users of the product including educational level, experience, and technical expertise. It should not be used to state specific requirements, but rather should provide the reasons why certain specific requirements are later specified in Section 3 of the SRS.

Constraints (2.4 of the SRS) This subsection of the SRS should provide a general description of any other items that will limit the developer’s options like a) Hardware limitations (e.g., signal timing requirements); b) Interfaces to other applications; c) Control functions; d) Reliability requirements; e) Safety and security considerations.

Assumptions and dependencies (2.5 of the SRS) This subsection of the SRS should list each of the factors that affect the requirements stated in the SRS. These factors are not design constraints on the software but are, rather, any changes to them that can affect the requirements in the SRS. e.g. from iTest SRS Language editor for additional translations.

Apportioning of requirements (2.6 of the SRS) This subsection of the SRS should identify requirements that may be delayed until future versions of the system.

Specific requirements (Section 3 of the SRS) This section of the SRS should contain all of the software requirements to a level of detail sufficient to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements.

External Interface This should be a detailed description of all inputs into and outputs from the software system

Functional Requirements Functional requirements should define the fundamental actions that must take place in the software in accepting and processing the inputs and in processing and generating the outputs. These are generally listed as ‘shall’ statements

Logical database requirements This should specify the logical requirements for any information that is to be placed into a database. This may include the following: a) Types of information used by various functions b) Frequency of use c) Accessing capabilities d) Data entities and their relationships e) Integrity constraints f) Data retention requirements

Design Constraints This should specify design constraints that can be imposed by other standards, hardware limitations, etc. e.g. from iTest SRS This program is created using C++ programming language and uses the Qt4 libraries for the main iTestClient and iTestServer modules. So a minimum PC having at least 64mb of RAM and CPU over 400mhz is required to run the program with good speed. Also the program uses at least 15 megabytes of hard disk space to store the program libraries.

Standard Compliance This subsection should specify the requirements derived from existing standards or regulations.

Software system attributes There are a number of attributes of software that can serve as requirements. Reliability Availability Security Maintainability Portability

Organizing the specific requirements Different classes of systems lend themselves to different organizations of requirements in Section 3 of the SRS. System mode User class Objects Features Stimulus Response Functional Hierarchy

e.g. from iTest organised by system feature

Supporting information The supporting information makes the SRS easier to use. It includes the following: Table of contents and index Appendixes.

References [1] IEEE-SRS-format-830-1998 [2] Software_Requirements_Specification-iTest