1 Software Requirements Engineering (CS 708) Dr. Ghulam Ahmad Farrukh.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements and Design
Human Computer Interaction G52HCI
Introduction to Software Engineering
SWE Introduction to Software Engineering
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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
SE 555 – Software Requirements & Specifications Introduction
Requirements Engineering Process – 1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Requirements Engineering
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
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 Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
What are Requirements?. "The hardest single part of building a system is deciding what to build... No other part of the work so cripples the resulting.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
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.
Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
1 Quality Attributes of Requirements Documents Lecture # 25.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Software Engineering REQUIREMENT ENGINEERING. Software Engineering Phases.
Software Requirements
Requirements Analysis
Software Engineering, 8th edition. Chapter 6 1 Courtesy: ©Ian Sommerville 2006 March 05 th, 2009 Lecture # 8 Software Requirements.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Software Requirement Engineering SE Resource Person: Ikram Ullah Khan.
1 Software Requirements Descriptions and specifications of a system.
Software Engineering, COMP201 Slide 1 Software Requirements.
Software Requirements Engineering (CS 708)
Types and Characteristics of Requirements
Chapter 4 – Requirements Engineering
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 5 – Requirements Engineering
Software Requirements
Software Requirements
SNS College of Engineering Coimbatore
Software Requirements
Software Requirements Engineering
Software Engineering Furqan Rustam.
Software Engineering Lecture #3
Requirements Engineering Process – 1
Requirements Document
Requirement Engineer Terms and Conditions
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 Software Requirements Engineering (CS 708) Dr. Ghulam Ahmad Farrukh

2 Introduction Requirements form the basis for all software products Requirements engineering is the process, which enables us to systematically determine the requirements for a software product

3 Software Requirements Lecture # 1

4 Requirement Something required, something wanted or needed –Webster’s dictionary There is a huge difference between wanted and needed and it should be kept in mind all the time

5 Software Requirements - 1 A complete description of what the software system will do without describing how it will do it is represented by the software requirements

6 Software Requirements - 2 Software requirements are complete specification of the desired external behavior of the software system to be built They also represent External behavior of the system

7 Software Requirements - 3 Software requirements may be: –Abstract statements of services and/or constraints –Detailed mathematical functions

8 Software Requirements - 4 Software requirements may be: –Part of the bid of contract –The contract itself –Part of the technical document, which describes a product

9 IEEE Definition A condition or capability that must be met or possessed by a system...to satisfy a contract, standard, specification, or other formally imposed document –IEEE Std 729

10 Sources of Requirements Stakeholders –People affected in some way by the system Documents Existing system Domain/business area

11 Levels of Software Requirements Stakeholders describe requirements at different levels of detail –“What versus How” –“One person’s floor is another person’s ceiling”

12 What Versus How User needs Product space Actual product’s behavior Architecture/data flow Module specifications Algorithms Code What How What How What How What How What How What How

13 Importance of Software Requirements The hardest single part of building a software system is deciding what to build...No other part of the work so cripples the resulting system if done wrong. No other part is difficult to rectify later –Fred Brooks

14 Examples of Requirements - 1 The system shall maintain records of all payments made to employees on accounts of salaries, bonuses, travel/daily allowances, medical allowances, etc.

15 Examples of Requirements - 2 The system shall interface with the central computer to send daily sales and inventory data from every retail store

16 Examples of Requirements - 3 The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections of transparencies, CD- ROMs, DVDs, etc.

17 Examples of Requirements - 4 The system shall allow users to search for an item by title, author, or by International Standard Book Number The system’s user interface shall be implemented using a web browser

18 Examples of Requirements - 5 The system shall support at least twenty transactions per second The system facilities which are available to public users shall be demonstrable in ten minutes or less

19 Kinds of Software Requirements

20 Kinds of Software Requirements Functional requirements Non-functional requirements Domain requirements Inverse requirements Design and implementation constraints

21 Functional Requirements

22 Functional Requirements - 1 Statements describing what the system does Functionality of the system

23 Functional Requirements - 2 Statements of services the system should provide –Reaction to particular inputs –Behavior in particular situations

24 Functional Requirements - 3 Sequencing and parallelism are also captured by functional requirements Abnormal behavior is also documented as functional requirements in the form of exception handling

25 Functional Requirements - 4 Functional requirements should be complete and consistent Customers and developers usually focus all their attention on functional requirements

26 Functional Requirements Example # 1 The system shall solve a quadratic equation using the following formula x = (-b+sqrt(b 2 – 4*a*c))/2*a

27 Functional Requirements Example # 2 The user shall be able to search either the entire database of patients or select a subset from it (admitted patients, or patients with asthma, etc.)

28 Functional Requirements Example # 3 The system shall provide appropriate viewers for the user to read documents in the document store

29 Functional Requirements Example # 4 Every order shall be allocated a unique identifier (ORDER_ID) which the user shall use to access that order

30 Functional Requirements Example # 5 The system shall allow customers to return non-perishable items within fifteen days of the purchase. A customer must present the original sale receipt to return an item

31 Comments on Examples Notice the level of detail in different requirements described above. Some are very detailed compared to others

32 Comments on Examples Notice the ambiguity in the requirement, which uses the term ‘appropriate viewers’ This requirement does not mention the formats of documents and types of viewers, which can be used

33 Comments on Examples Notice the ambiguity in the requirement for solving the quadratic equation. The requirement does not speak about the possibility when the value of ‘a’ is zero x = (-b+sqrt(b 2 – 4*a*c))/2*a

34 Comments on Examples Incomplete and ambiguous requirements are open to multiple interpretations and assumptions This can lead to the development of poor quality, or faulty, software products

35 Summary Requirements form the basis of all software engineering projects Functional requirements capture the behavioral aspects/functions of the proposed automated system Functional requirements are the backbone of all software products

36 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 Engineering 6 th Edition, by I. Sommerville, 2000 Software Engineering 5 th Edition, by R. Pressman