Software Requirements

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

CS 411W - Notes Product Development Documentation.
Characteristics of a good SRS
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
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
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
©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)
Introduction to Software Quality Assurance (SQA)
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
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.
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
ECE450 – Software Engineering II
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Engineering CSE 305 Lecture-2.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
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.
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 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
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.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
1 Quality Attributes of Requirements Documents Lecture # 25.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Requirements Specification (SRS)
System Requirements Specification
Software Requirements
Software Requirements Specification Document (SRS)
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
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.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 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 ,
Requirements Analysis and Specification
System Requirements Specification
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Requirements Specification Document
Requirement Documentation &
Software Requirements Specification (SRS) Template.
Lecture # 7 System Requirements
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Software Requirements
Requirements Engineering Lecture 6
Software Reviews.
Presentation transcript:

Software Requirements Specification

Software Requirements Specification: A Contract Document Requirements document is a reference document. SRS document is a contract between the development team and the customer. Once the SRS document is approved by the customer, any subsequent controversies are settled by referring the SRS document.

SW Requirements Specification Purpose of SRS communication between the Customer, Analyst, system developers, maintainers, ... contract between Purchaser and Supplier firm foundation for the design phase support system testing activities support project management and control controlling the evolution of the system

SRS Document (CONT.) The SRS document is known as black-box specification: the system is considered as a black box whose internal details are not known. only its visible external (i.e. input/output) behavior is documented. Input Data Output Data S

SRS Document (CONT.) SRS document concentrates on: what needs to be done carefully avoids the solution (“how to do”) aspects. The SRS document serves as a contract between development team and the customer. Should be carefully written

SRS Document (CONT.) The requirements at this stage: If necessary: written using end-user terminology. If necessary: later a formal requirement specification may be developed from it.

Software Requirements Specification (SRS) Defines the customer’s requirements in terms of : Function Performance External interfaces Design constraints The SRS is the basis of contract between the purchaser and supplier

Specification Principles Separate functionality from implementation Develop model of desired behavior of the system Establish the context in which s/w operates Define the environment in which system operates Create a cognitive model Specifications must be tolerant of incompleteness & augmentable Content & structure of a specifications should be amenable to change

What is not included in an SRS ? Project requirements cost, delivery schedules, staffing, reporting procedures Design solutions partitioning of SW into modules, choosing data structures Product assurance plans Quality Assurance procedures, Configuration Management procedures, Verification & Validation procedures

Benefits of SRS Forces the users to consider their specific requirements carefully Enhances communication between the Purchaser and System developers Provides a firm foundation for the system design phase Enables planning of validation, verification, and acceptance procedures Enables project planning eg. estimates of cost and time, resource scheduling Usable during maintenance phase

Types of Requirements Functional requirements Non functional requirements Performance requirements Interface requirements Design constraints Other requirements

Functional Requirements Transformations (inputs, processing, outputs) Requirements for sequencing and parallelism (dynamic requirements) Data Inputs and Outputs Stored data Transient data Exception handling Nature of function: Mandatory/ Desirable/ Optional / Volatile / Stable

Performance Requirements Capacity no. of simultaneous users, processing requirements for normal and peak loads, static storage capacity, spare capacity Response time System priorities for users and functions System efficiency Availability Fault recovery All these requirements should be stated in measurable terms so that they can be verified.

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 SW meets the requirement.

External Interface Requirements User interfaces eg. if display terminal used, specify required screen formats, menus, report layouts, function keys Hardware interfaces characteristics of the interface between the SW product and HW components of the system Software interfaces specify the use of other SW products eg. OS, DBMS, other SW packages

Design Constraints SW design constraints HW design constraints standards for design, coding, naming, etc. SW interfaces (to OS, DBMS, other SW) use a specific application package constraints on program size, data size etc. HW design constraints specific type of HW, reliability requirements HW interfaces requirements for spare capacity or spare performance

Design Constraints (contd) User-interface design constraints features of operator/user with details of working environment any special features required

Other Requirements Security Safety Environmental Reusability Training ...

SRS Standards ANSI/IEEE SRS Standard 830-1984 BS 6719: 1986 European Space Agency Standards (ESA PSS-05-0, Jan 1987) US DoD-Std-7935A ...

SRS Prototype Outline 1. Introduction [ IEEE SRS Standard ] 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms and Abbreviations 1.4 References 1.5 Overview

SRS - Introduction Section Purpose delineate the purpose of the particular SRS specify the intended audience for the SRS Scope identify the SW products to be produced by name explain what the SW product will do, and if necessary, what it will not do describe the application of the SW being specified. ie. benefits, objectives, goals as precisely as possible Overview describe what the rest of the SRS contains how the SRS is organized

SRS Prototype Outline 2. General description [ IEEE SRS Standard ] 2.1 Product perspective 2.2 Product function summary 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies

Product Perspective State whether the product is independent and totally self contained If the product is component of a larger system then: describe the functions of each component of the larger system and identify interfaces overview of the principal external interfaces of this product overview of HW and peripheral equipment to be used Give a block diagram showing the major components of the product, interconnections, and external interfaces.

Product Functions User Characteristics Provide a summary of functions the SW will perform The functions should be organized in such a way that they are understandable by the user User Characteristics Describe the general characteristics of the eventual users of the product. (such as educational level, experience and technical expertise )

General Constraints Regulatory policies HW limitations Interfaces to other applications Parallel operation Audit functions Control functions Criticality of the application Safety and security considerations

SRS Prototype Outline Specific Requirements [ IEEE SRS Standard ] 3.1 External Interface Requirements 3.1.1. Graphical User Interfaces 3.1.1.1 RN C1000, Login Screen 3.1.1.1.1 RN C1000-A1, User Name 3.1.1.1.2 RN C1000-A2, Password 3.1.1.1.3 RN C1000-M1, Display 3.1.1.1.3 RN C1000-M2, Click Login 3.1.1.1.3 RN C1000-M3, Click Cancel …………………………

SRS Prototype Outline Specific Requirements [ IEEE SRS Standard ] 3.1 External Interface Requirements 3.2 Functional requirements 3.2.1 RN C1, System 3.2.2 RN C2, Person 3.2.3 RN C3, System Role 3.2.4 RN C4, Version/Release 3.2.5 RN C5, Work Request ……………..

SRS Prototype Outline Specific Requirements Appendices Index [ IEEE SRS Standard ] Specific Requirements 3.1 External Interface Requirements 3.2 Functional requirements 3.3 Performance requirements - Design constraints - Attributes eg. security, availability, maintainability, transferability/conversion - Other requirements Appendices Index

Functional Requirements Introduction describe purpose of the function and the approaches and techniques employed Inputs and Outputs sources of inputs and destination of outputs quantities, units of measure, ranges of valid inputs and outputs timing

Functional Requirements Processing validation of input data exact sequence of operations responses to abnormal situations any methods (eg. equations, algorithms) to be used to transform inputs to outputs

External Interface Requirements User interfaces Hardware interfaces Software interfaces Communications interfaces Other requirements database: frequency of use, accessing capabilities, static and dynamic organization, retention requirements for data operations: periods of interactive and unattended operations, backup, recovery operations site adaptation requirements

Appendices Not always necessary It may include: sample I/O formats DFD, ERD documents results of user surveys, cost analysis studies supporting documents to help readers of SRS

Characteristics of a Good SRS Unambiguous Complete Verifiable Consistent Modifiable Traceable Usable during the Operation and Maintenance phase

Examples of Requirements statements The data set will contain an end of file character. The product should have a good human interface. The program shall never enter an infinite loop. The output of the program shall usually be given within 10 secs. The output of a program shall be given within 20secs of event X 60% of the time. Ambiguous Non-verifiable Verifiable

Examples of Bad SRS Documents Unstructured Specifications: Narrative essay --- one of the worst types of specification document: Difficult to change, difficult to be precise, difficult to be unambiguous, scope for contradictions, etc.

Examples of Bad SRS Documents Noise: Presence of text containing information irrelevant to the problem. Silence: aspects important to proper solution of the problem are omitted.

Examples of Bad SRS Documents Overspecification: Addressing “how to” aspects For example, “Library member names should be stored in a sorted descending order” Overspecification restricts the solution space for the designer. Contradictions: Contradictions might arise if the same thing described at several places in different ways.

Examples of Bad SRS Documents Ambiguity: Literary expressions Unquantifiable aspects, e.g. “good user interface” Forward References: References to aspects of problem defined only later on in the text. Wishful Thinking: Descriptions of aspects for which realistic solutions will be hard to find.

Complete All significant requirements are included Definition of responses of the SW to all realizable classes of input data in all situations. Conformity to a standard Full labeling and referencing of all figures, tables etc. and definition of all terms and units of measure

Verifiable Consistent 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 SW meets the requirement. Consistent No two requirements are in conflict

Modifiable Structure and style of SRS is such that changes to requirements can be made easily, completely and consistently. SRS organisation -- table of contents, index, explicit cross-referencing no redundancy

Traceable An SRS is traceable if the origin of each requirement is clear and it facilitates the referencing of each requirement in future. Backward traceability requirement explicitly referencing its source in previous documents Foward traceability each requirement has a unique name or reference number and it can be traced to design documents, program implementation.

SRS Review Formal Review done by Users, Developers, Managers, Operations personnel To verify that SRS confirms to the actual user requirements To detect defects early and correct them. Review typically done using checklists.

Sample SRS Checklist Are all HW resources defined ? Have response times been specfied for functions ? Have all the HW, external SW and data interfaces been defined ? Is each requirement testable ? Is the initial state of the system defined ? Are the responses to exceptional conditions specified ? Are possible future modifications specified ?