Software Requirements Specification. Requirements Specification: An Overview Basic goal: To understand the problem as perceived by the user. Activities.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Lecture 5: Requirements Engineering
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Object-Oriented Software Development CS 3331 Fall 2009.
Alternate Software Development Methodologies
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Software Engineering COMP 201
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Chapter 6: Design of Expert Systems
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
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
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.
Overview of Software Requirements
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Examining the Software Specification [Reading assignment: Chapter 4, pp ]
The Software Development Life Cycle: An Overview
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 Shawlands Academy Higher Computing Software Development Unit.
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.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
T Project Review Magnificent Seven Project planning iteration
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Software Requirements Engineering CSE 305 Lecture-2.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Chapter 7 Applying UML and Patterns Craig Larman
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,
Software from Requirements Brent Haines April 12, 2007 Why Methodology Doesn’t Really Matter.
Chapter 4 Software Requirements
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.
The Software Development Process
(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
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
SWE 513: Software Engineering
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Requirements Analysis
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Team Skill 3: Defining the System The Vision Document (16) 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
 System Requirement Specification and System Planning.
Requirements Determination
Chapter 4 – Requirements Engineering
Classifications of Software Requirements
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Software Requirements Specification

Requirements Specification: An Overview Basic goal: To understand the problem as perceived by the user. Activities of specification are problem oriented. –Focus on what, not how (this is design) –Don’t cloud the specification with unnecessary detail. –Don’t pre-constrain design in the specification. After specification is done, do software design: –solution oriented –how to implement the what

Requirements Specification: An Overview Key to specification is good communication between customer and developers. Work from specification document as guide.

Requirements Specification Basically, it’s the process of determining and establishing the precise expectations of the customer about the proposed software system.

Two kinds of requirements Functional: The precise tasks or functions the system is to perform. –e.g., details of a flight reservation system Non-functional: Usually, a constraint of some kind on the system or its construction –e.g., expected performance and memory requirements, process model used, implementation language and platform, compatibility with other tools, deadlines,...

The purpose of specification Raw user requirements are often: –vague –contradictory –impractical or impossible to implement –overly concrete –just plain wrong The purpose of specification is to get a usable set of requirements from which the system may be designed and implemented, with minimal “surprises”.

Specification process Requirements Analysis Requirements Definition Requirements Specification Software Specification System Models Requirements Definition Requirements Specification Requirements Document Software Specification included in produces leads to

The Specification document The official statement of what is required of the system developers. –Includes system models, requirements definition, and requirements specification. –Not a design document. –States functional and non-functional requirements. Serves as a reference document for maintenance.

Specification document “requirements” Should be easy to change as requirements evolve. Must be kept up-to-date as system changes.

Specification should state... Foreseen problems: – “won’t support Win-3.x apps” Expected evolution: –“will port to MacOS in next version” Response to unexpected events/usage: – “if input data in old format, will auto- convert”

Specification structure Introduction (describe need for system) Functional Requirements Non-Functional Requirements System Evolution (describe anticipated changes) Glossary (technical and/or new jargon) Appendices Index

To summarize … Specification focuses on determining what the customer wants, and not how it will be implemented. Specification is hard to get correct; it requires good communication skills. Requirements may change over time. Requirements specification requires iteration. The customer often doesn’t have good grasp of what he wants. Bugs created in the requirements stage are very expensive to fix later.