Software Requirements Lecture # 3. 2 Kinds of Software Requirements Functional requirements Non-functional requirements Domain requirements Inverse requirements.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
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
CS 425/625 Software Engineering Software Requirements
SWE Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
Chapter 4 Requirements engineering Chapter 4 – Requirements Engineering Lecture 1 1.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Chapter 4 – Requirements Engineering 1Chapter 4 Requirements engineering.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
1 Quality Attributes of Requirements Documents Lecture # 25.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 / 54 Software Requirements.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Week 3: Requirement Analysis & specification
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
CS223: Software Engineering Lecture 6: Requirement Engineering.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
Software Requirements. Objectives: l To introduce the concepts of user and system requirements l To describe functional / non-functional requirements.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
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.
CS628 - Object Oriented Analysis And Design. The Four Pillars of Successful Software Development -Avoid Classic Mistakes -Apply Development Fundamentals.
Software Requirement Engineering SE Resource Person: Ikram Ullah Khan.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Engineering (CS 708) Dr. Ghulam Ahmad Farrukh.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Chapter 3 – Requirements Engineering Lecture 1 1Chapter 4 Requirements engineering.
1 Software Requirements Engineering (CS 708) Dr. Ghulam Ahmad Farrukh.
1 Review of Lectures 1-21 Lecture # Introduction Requirements form the basis for all software products Requirements engineering is the process,
Chapter 4 Requirements engineering 1 Chapter 4 – Requirements Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
EKT 421 SOFTWARE ENGINEERING
Classifications of Software Requirements
Pepper modifying Sommerville's Book slides
Chapter 4 – Requirements Engineering
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Requirements Engineering
Software Requirements
Software Requirements Engineering
Software requirements
Requirements Document
Chapter 3 Requirements Engineering
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Requirements
Software Requirements
Presentation transcript:

Software Requirements Lecture # 3

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

3 Non-Functional Requirements Discussion NFRs are very important to capture the emergent behavior of the system in these there major dimensions Product –Usability, reliability, portability, efficiency (performance, space) Organizational –Standards, implementation, delivery External –Interoperability, ethical, legislative (privacy, safety)

4 NFRs as Goals Non-functional requirements are sometimes written as general goals, which are difficult to verify They should be expressed quantitatively using metrics (measures) that can be objectively tested

5 Example: Goal converted into an NFR Goal (unverifiable) –The system should be easy to use by experienced controllers and should be organized in such a way that user errors are minimized Non-functional requirement (verifiable) –Experienced controllers shall be able to use all the system functions after a total of two hours’ training. After this training, the average number of errors made by experienced users shall not exceed two per day

Metrics for Non-Functional Requirements (NFRs)

7 Metrics for NFRs - 1 PropertyMeasure Speed 1.Processed transactions/second 2.Response time 3.Screen refresh time Requirements related to “Speed” can use different measures to quantify the goal

8 Metrics for NFRs - 2 PropertyMeasure Size 1.K bytes 2.Number of function points Requirements related to “Size” can use different measures to quantify the goal

9 Metrics for NFRs - 3 PropertyMeasure Ease of use 1.Training time 2.Number of help frames Requirements related to “Ease of use” can use different measures to quantify the goal

10 Metrics for NFRs - 4 PropertyMeasure Reliability 1.Mean time to failure 2.Probability of unavailability 3.Rate of failure occurrence 4.Availability Requirements related to “Reliability” can use different measures to quantify the goal

11 Metrics for NFRs - 5 PropertyMeasure Robustness 1.Time to restart after failure 2.Percentage of events causing failure 3.Probability of data corruption on failure Requirements related to “Robustness” can use different measures to quantify the goal

12 Metrics for NFRs - 6 PropertyMeasure Portability 1.Percentage of target- dependent statements 2.Number of target systems Requirements related to “Portability” can use different measures to quantify the goal

13 Discussion on Metrics for NFRs With the help of these measures the NFRs can be verified quantitatively It should also be noted that the cost of quantitatively verifying each NFR may be very high

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

Domain Requirements

16 Domain Requirements - 1 Requirements that come from the application domain and reflect fundamental characteristics of that application domain These can be both the functional or non-functional requirements

17 Domain Requirements - 2 These requirements, sometimes, are not explicitly mentioned Domain experts find it difficult to convey domain requirements Their absence can cause significant dissatisfaction

18 Domain Requirements - 3 Domain requirements can impose strict constraints on solutions. This is particularly true for scientific and engineering domains Domain-specific terminology can also cause confusion

19 Domain Requirements - 4 Example: In a commission-based sales businesses, there is no concept of negative commission. However, if care is not taken novice developers can be lured into developing systems, which calculate negative commission

20 Domain Requirements - 5 Banking domain has its own specific constraints, for example, most banks do not allow over-draw on most accounts, however, most banks allow some accounts to be over-drawn

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

Inverse Requirements

23 Inverse Requirements - 1 They explain what the system shall not do. Many people find it convenient to describe their needs in this manner These requirements indicate the indecisive nature of customers about certain aspects of a new software product

24 Inverse Requirements - 2 Example: The system shall not use red color in the user interface, whenever it is asking for inputs from the end-user

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

Design and Implementation Constraints

27 Design and Implementation Constraints - 1 They are development guidelines within which the designer must work These requirements can seriously limit design and implementation options Can also have impact on human resources

28 Design and Implementation Constraints Examples The system shall be developed using the Microsoft.Net platform The system shall be developed using open source tools and shall run on Linux operating system

29 Summary Discussed different kinds of requirements including domain, inverse, and implementation constraints Requirements should be explored from different perspectives and categorized differently

30 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