40
Non Functional Requirements

Non Functional Requirement

Embed Size (px)

DESCRIPTION

Non-functional details.

Citation preview

Page 1: Non Functional Requirement

Non Functional Requirements

Page 2: Non Functional Requirement

Where Do RequirementsCome From?

Stakeholders

• Product user group

• Project customer

• An analyst/requirement engineer

• Project leader

• Project team members

• Upper management

• Project testers

• Licensing entities

• Outside vendors or suppliers

• Government entities

Page 3: Non Functional Requirement

REQUIREMENT TYPES

Page 4: Non Functional Requirement

Functional

• Describe the behaviors (functions or services) of

the system

• Support user goals, tasks or activities

• F(input, system state) (output, new state)

Output, new state

Input, initial state

Page 5: Non Functional Requirement

Non Functional

• Non functional requirement – in software system engineering is, a software requirement that describes not what the software will do, but how the software will do it, for example, software performance requirements, software external interface requirements, design constraints, and software quality attributes. Nonfunctional requirements are difficult to test; therefore, they are usually evaluated subjectively.”

Page 6: Non Functional Requirement

Cont.

• Involves

• ilities: understandability, usability, modifiability, reliability, portability, dependability, flexibility, availability, maintainability, scalability etc.

• ities: security, safety etc.

• ness: user-friendliness, robustness, timeliness, responsiveness, correctness, completeness, conciseness etc.

• Others like: convenience, comfort, performance, efficiency, accuracy, consistency, cost, development time, time-to-market etc.

Page 7: Non Functional Requirement

Non Functional vs. Functional

FR

Verbs

Mandatory

Captured in use case

Product feature

Easy to capture

NFR

Attributes

Not mandatory

Captured in quality attribute scenario

Product properties

Difficult to capure

Page 8: Non Functional Requirement

Furps +

Page 9: Non Functional Requirement

Requirements

Packaging

+

Page 10: Non Functional Requirement

Boehm’s NFR list

Page 11: Non Functional Requirement

Classification of NFR’s

Page 12: Non Functional Requirement

Continuing with FURPS + model

Page 13: Non Functional Requirement

Usability

How easy is it for the user to accomplish a desired task?

• Learning system features

• Using system effectively

• Minimizing impact of errors

• Adapting to user needs

• Increasing confidence

• Performing the tasks quickly

• Re-establishing the proficiency while using a system after a long time.

Page 14: Non Functional Requirement

General Scenario

• Source – User

• Stimulus – What the user wants to do

• Artifact – System

• Environment – Runtime or configuration time (compiled at deployment time )

• Response – What the system does

• Response Measure – time, tries, number of errors or solutions,

Page 15: Non Functional Requirement

Cont.

• Measureable criteria:

Time taken to learn how to use.

• Realization of the metrics:

Minutes taken for some user’s task

Page 16: Non Functional Requirement

Reliability

• Reliability measures the level of risk and the likelihood of potential application failures.

• It is the probability that software will work without failure for a specified period of time in a specified environment.

• Technically reliability is the ability of a system to behave consistently in the user-acceptable environment.

• Reliability is based on the probability that a system will break i.e., the more likely it is to break, the less reliable it is

Page 17: Non Functional Requirement

Reliability measures

• Reliability of software is measured in terms of Mean Time Between Failure (MTBF). For eg if MTBF = 10000 hours for an average software, then it should not fail for 10000 hours of continuous operation.

• Failure Rate (λ), which is defined as: number of failures / total time in service.

• Realization of metrics:

Run it and count no. of crashes per hour.

Page 18: Non Functional Requirement

Cont.

Reliability is measured to find

• The performance of software

• Life of the software

• Cause of failure

• No. of failures occurring in a particular time of a software.

• Reliability is considered important because it eliminates the failure mode of the software.

Page 19: Non Functional Requirement

PERFORMANCE

Page 20: Non Functional Requirement

USER’S CONCERN

• Proper resource utilization

• Efficiency

• Security

• Ease-of-use

Page 21: Non Functional Requirement

EXAMPLE

Page 22: Non Functional Requirement

TYPES OF PERFORMANCE REQUIREMENTS:

A. Response Requirements

B. Throughput Requirements

C. Availability requirements

Page 23: Non Functional Requirement

FACTORS AFFECTING PERFOMANCE:

• CPU speed

• Type of graphics card

• RAM size

• The number of applications running.

Page 24: Non Functional Requirement

HOW TO INCREASE PERFORMANCE:

Performance of a computer can be increased by proper care of hardware maintenance.

Page 25: Non Functional Requirement

SUPPORTABILITY

Page 26: Non Functional Requirement

CONCERN

• Adaptability

• Maintainability

• Internationalization

• Portability

• Tailorability

• Replaceability

Page 27: Non Functional Requirement

ADAPTABILITY

To adapt the changes after deployment efficiently

Page 28: Non Functional Requirement

MAINTAINABILITY:

To deal with new technology or to fix the defects

Page 29: Non Functional Requirement

INTERNATIONALIZATION:

Ability to deal with deal with international conventions

Page 30: Non Functional Requirement

PORTABILITY

Can easily be transferred from one environment to another

Page 31: Non Functional Requirement

TAILORABILITY:

Changing aspects of an application’s functionality

Page 32: Non Functional Requirement

REPLACEABILITY:

Replacing another system that performs the same functionality

Page 33: Non Functional Requirement
Page 34: Non Functional Requirement

Implementation requirements

Physical requirements

Interface requirements

Packaging requirements

Operation requirements.

Legal requirements.

Furps +:

Page 35: Non Functional Requirement

1.Implementation requirements:

Examples:

• Direct changing.

• Parallel running of coding.

• Third party component involving.

• Implementation languages.

• Platform support.

• Limited resources.

• Required standards

• Rights for database integrity.

• Operation environments.

Operation environments.

Implementation languages.

Required standards

Parallel running of coding.

Direct changing.

Page 36: Non Functional Requirement

2.Interface Requirements:•Buttons•Images•Colors•Labels•Panels•Icons•Short cut keys.

Page 37: Non Functional Requirement

3. Physical requirements:A physical requirement specifies a physical constraint imposed on the hardwaresuse for a software.

Example:

• Material

• Shape

• Size

• Weight

Page 38: Non Functional Requirement

4. Packaging requirements:These tools cover every aspect of building, installing and maintainingsoftware packages and include the ability of having multiple versions of a single software package installed concurrently.

Example:Windows vista.Windows 7,8 and 8.1.

Page 39: Non Functional Requirement

Operation Requirements.

Page 40: Non Functional Requirement

6. Legal requirements.

• Piracy Control

• Copyright laws

• Privacy Laws

• Safety Instructions