21.01.2022 Views

Sommerville-Software-Engineering-10ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

108 Chapter 4 ■ Requirements engineering

Non-functional

requirements

Product

requirements

Organizational

requirements

External

requirements

Efficiency

requirements

Dependability

requirements

Security

requirements

Regulatory

requirements

Ethical

requirements

Usability

requirements

Environmental

requirements

Operational

requirements

Development

requirements

Legislative

requirements

Performance

requirements

Space

requirements

Accounting

requirements

Safety/security

requirements

Figure 4.3 Types of

non-functional

requirements

2. An individual non-functional requirement, such as a security requirement, may

generate several, related functional requirements that define new system services

that are required if the non-functional requirement is to be implemented.

In addition, it may also generate requirements that constrain existing requirements;

for example, it may limit access to information in the system.

Nonfunctional requirements arise through user needs because of budget constraints,

organizational policies, the need for interoperability with other software or

hardware systems, or external factors such as safety regulations or privacy legislation.

Figure 4.3 is a classification of non-functional requirements. You can see from

this diagram that the non-functional requirements may come from required characteristics

of the software (product requirements), the organization developing the

software (organizational requirements), or external sources:

1. Product requirements These requirements specify or constrain the runtime

behavior of the software. Examples include performance requirements for how

fast the system must execute and how much memory it requires; reliability

requirements that set out the acceptable failure rate; security requirements; and

usability requirements.

2. Organizational requirements These requirements are broad system requirements

derived from policies and procedures in the customer’s and developer’s

organizations. Examples include operational process requirements that define

how the system will be used; development process requirements that specify the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!