+ All Categories
Home > Technology > 05 nonfunctional requirements

05 nonfunctional requirements

Date post: 12-May-2015
Category:
Upload: rap-payne
View: 1,886 times
Download: 0 times
Share this document with a friend
Popular Tags:
26
Nonfunctional Requirements
Transcript
Page 1: 05 nonfunctional requirements

Nonfunctional Requirements

Page 2: 05 nonfunctional requirements

There are several different types of requirements ¡  Business Requirements ¡  Business Rules ¡  System Functional Requirements ¡  Non-Functional Requirements ¡  Data Requirements ¡  User Interface Requirements ¡  Enterprise Requirements

Page 3: 05 nonfunctional requirements

No, they're not requirements that don't work

Page 4: 05 nonfunctional requirements

Nonfunctional requirements describe the characteristics of the system

Functional Requirements Nonfunctional Requirement

What the system shall do What the system shall be

What the system does How well the system does it

The things it should do Measurements of how it does it

Page 5: 05 nonfunctional requirements

Windows Linux A computer operating system for running personal computers and enterprises

A computer operating system for running personal computers and enterprises

Very simple to use Purposely difficult to use

Expensive Free

Secretive Open

Takes huge amounts of disk space Very conservative in disk usage

Memory hog Very conservative in memory usage

Lets look at an example

Page 6: 05 nonfunctional requirements

Users have expectations about how well our software works ¡  How easy the software is to use, ¡  how quickly it executes, ¡  how reliable it is, and ¡  how well it behaves when unexpected

conditions arise.

Page 7: 05 nonfunctional requirements

Specify as precisely as possible by using numbers ¡ Max seconds it must take to perform some task ¡ Min concurrent users supported ¡ Max minutes per year a system may be down ¡ Max size of database ¡ Max millisecond response time

Page 8: 05 nonfunctional requirements

But what kinds of things should be measured?

Page 9: 05 nonfunctional requirements

Capacity ¡  Throughput – how many transactions per hour

does the system need to be able to handle? ¡  Storage – how much data does the system need

to be able to store? ¡  Predictions of growth

Page 10: 05 nonfunctional requirements

Flexibility ¡  If the organization intends to

increase or extend the functionality of the software after it is deployed, that should be planned from the beginning

¡  It influences choices made during the design, development, testing, and deployment of the system.

Page 11: 05 nonfunctional requirements

Recoverability ¡ Recovery process ¡ Recovery time scales ¡ Backup frequencies ¡ Backup generations

Page 12: 05 nonfunctional requirements

Auditability

¡ Audited elements – what business elements will be audited?

¡ Audited fields – which data fields will be audited?

¡ Audit file characteristics - before image, after image, user and time stamp, etc.

Page 13: 05 nonfunctional requirements

Reliability ¡ Reliability ¡ Mean Time Between Failures ¡ Mean Time To Recovery

Page 14: 05 nonfunctional requirements

Compatibility ¡  Portability specifies the ease with

which the software can be installed on all necessary platforms, and the platforms on which it is expected to run.

¡ Compatibility with shared applications – What other systems does it need to talk to?

¡ Compatibility with 3rd party applications – What other systems does it have to live with amicably?

¡ Compatibility on different operating systems – What does it have to be able to run on?

Page 15: 05 nonfunctional requirements

Scalability ¡  Software that is scalable has the ability to handle

a wide variety of system configuration sizes. The nonfunctional requirements should specify the ways in which the system may be expected to scale up (by increasing hardware capacity, adding machines, etc.)

¡  How many more users can it handle? ¡ Can we easily add capacity when it slows down? ¡ Can we add additional servers easily? ¡ Can we upgrade the current hardware easily?

Page 16: 05 nonfunctional requirements

Security/Integrity ¡  Integrity: Integrity requirements

define the security attributes of the system, restricting access to features or data to certain users and protecting the privacy of data entered into the software

¡  Login requirements - access levels, CRUD levels

¡  Password requirements - length, special characters, expiry, recycling policies

¡  Inactivity timeouts – durations, actions

Page 17: 05 nonfunctional requirements

Performance ¡  The performance constraints specify the timing

characteristics of the software. Certain tasks or features are more time-sensitive than others; the nonfunctional requirements should identify those software functions that have constraints on their performance.

¡  Response times - application loading, screen open and refresh times, etc

¡  Processing times – functions, calculations, imports, exports

¡ Query and Reporting times – initial loads and subsequent loads

Page 18: 05 nonfunctional requirements

Efficiency ¡  How well the software utilizes

scarce resources: CPU cycles, disk space, memory, bandwidth, etc.

Page 19: 05 nonfunctional requirements

Availability ¡ Availability: A system's availability, or "uptime," is

the amount of time that it is operational and available for use. This is specified because some systems are designed with expected downtime for activities like database upgrades and backups.

¡  Hours of operation – when is it available? Consider weekends, holidays, maintenance times, etc

¡  Locations of operation – where should it be available from, what are the connection requirements?

Page 20: 05 nonfunctional requirements

Robustness and Integrity ¡ A robust system is able to handle error

conditions gracefully, without failure. This includes a tolerance of invalid data, software defects, and unexpected operating conditions.

¡  Fault trapping (I/O) – how to handle electronic interface failures, etc

¡  Bad data trapping - data imports, flag-and-continue or stop the import policies, etc

¡ Data integrity – referential integrity in database tables and interfaces

¡  Image compression and decompression standards

Page 21: 05 nonfunctional requirements

Maintainability ¡ Conformance to architecture standards – What

are the standards it needs to conform to or have exclusions from?

¡ Conformance to design standards – What design standards must be adhered to or exclusions created?

¡ Conformance to coding standards – What coding standards must be adhered to or exclusions created?

Page 22: 05 nonfunctional requirements

Usability ¡  Usability: Ease-of-use

requirements address the factors that constitute the capacity of the software to be understood, learned, and used by its intended users.

¡  Look and feel standards - screen element density, layout and flow, colors, UI metaphors, keyboard shortcuts

¡  Internationalization / localization requirements – languages, spellings, keyboards, paper sizes, etc

Page 23: 05 nonfunctional requirements

Documentation ¡  Required documentation items and audiences

for each item

Page 24: 05 nonfunctional requirements

Reusability

¡  Reusability indicates the extent to which software components should be designed in such a way that they can be used in applications other than the ones for which they were initially developed.

¡ Many systems are developed with the ability to leverage common components across multiple products.

Page 25: 05 nonfunctional requirements

You may want to put them on cards to record them

Page 26: 05 nonfunctional requirements

Conclusion

¡  Scalability ¡  Security ¡  Integrity ¡  Robustness ¡  Recoverability ¡  Usability

¡ Documentation ¡ Maintainability ¡  Flexibility ¡  Reliability ¡ Auditability ¡  Performance

¡  Efficiency ¡ Capacity ¡ Availability

¡  Software can work as designed but still be unusable ¡  Nonfunctional requirements tell how the software

should do its job ¡  They should be quantified to make them precise ¡  Some of the things we require may be:


Recommended