Non Functional Requirement

Preview:

DESCRIPTION

Non-functional details.

Citation preview

Non Functional Requirements

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

REQUIREMENT TYPES

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

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.”

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.

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

Furps +

Requirements

Packaging

+

Boehm’s NFR list

Classification of NFR’s

Continuing with FURPS + model

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.

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,

Cont.

• Measureable criteria:

Time taken to learn how to use.

• Realization of the metrics:

Minutes taken for some user’s task

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

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.

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.

PERFORMANCE

USER’S CONCERN

• Proper resource utilization

• Efficiency

• Security

• Ease-of-use

EXAMPLE

TYPES OF PERFORMANCE REQUIREMENTS:

A. Response Requirements

B. Throughput Requirements

C. Availability requirements

FACTORS AFFECTING PERFOMANCE:

• CPU speed

• Type of graphics card

• RAM size

• The number of applications running.

HOW TO INCREASE PERFORMANCE:

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

SUPPORTABILITY

CONCERN

• Adaptability

• Maintainability

• Internationalization

• Portability

• Tailorability

• Replaceability

ADAPTABILITY

To adapt the changes after deployment efficiently

MAINTAINABILITY:

To deal with new technology or to fix the defects

INTERNATIONALIZATION:

Ability to deal with deal with international conventions

PORTABILITY

Can easily be transferred from one environment to another

TAILORABILITY:

Changing aspects of an application’s functionality

REPLACEABILITY:

Replacing another system that performs the same functionality

Implementation requirements

Physical requirements

Interface requirements

Packaging requirements

Operation requirements.

Legal requirements.

Furps +:

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.

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

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

Example:

• Material

• Shape

• Size

• Weight

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.

Operation Requirements.

6. Legal requirements.

• Piracy Control

• Copyright laws

• Privacy Laws

• Safety Instructions

Recommended