22
Lecture 14 NONFunctional Requirements SE3821 Software Requirements and Specification Dr. Rob Hasker (based on slides by Dr. Brad Dennis)

What are non-functional requirements? What are some NFR taxonomies?

Embed Size (px)

Citation preview

Page 1: What are non-functional requirements? What are some NFR taxonomies?

Lecture 14NONFunctional Requirements

SE3821 Software Requirements and SpecificationDr. Rob Hasker (based on slides by Dr. Brad Dennis)

Page 2: What are non-functional requirements? What are some NFR taxonomies?

The Volere Process

• What are non-functional requirements?

• What are some NFR taxonomies?

Page 3: What are non-functional requirements? What are some NFR taxonomies?

Recall: ticketing requirements• A ticket issuing system is intended to automate the sale of rail

tickets. Users select their destination, input a credit card, and input a personal identification number. The rail ticket is issued and their credit card account charged with its cost. When the user presses the start button, an attractive menu display of potential destinations is activated along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked against a relational database on a central server or one of the two backup servers, and the user is then requested to input a personal identifier. It is believed that the existance of two backup servers will ensure very close to 100% uptime rates for the system under all situations. When the credit transaction has been validated by the centeral server or one of its two backups, the ticket is issued.

Based on exercise 7.2 on p. 135 of Software Engineering, 5th edition, Sommerville

In groups: besides not having numbered requirements, what are some issues? Find 3.

Page 4: What are non-functional requirements? What are some NFR taxonomies?

Revised requirementsSYSTEM PURPOSE: Automate sale of rail tickets.INPUTS: Credit/debit card, personal identification numberOUTPUTS:Rail ticketPurchasing a ticket:1. Upon startup, the system shall present the customer with a menu of potential

destinations.2. Each destination in the list for (1) shall include a location name, estimated arrival time,

and cost.3. After the user has selected a destination, the system shall request the user insert a credit

or debit card for payment.4. If a debit card has been inserted, the system shall prompt the user for a PIN.5. After the card information has been collected, the system shall transmit the information

to a payment processing agency for verification.6. All information transmitted to and received from the payment processing agency shall be

encrypted.7. Upon receiving an approval from the payment processing agency, the system shall issue

a ticket for the specified destination.

Page 5: What are non-functional requirements? What are some NFR taxonomies?

Revised requirementsSYSTEM PURPOSE: Automate sale of rail tickets.INPUTS: Credit/debit card, personal identification numberOUTPUTS:Rail ticketPurchasing a ticket:1. Upon startup, the system shall present the customer with a menu of potential

destinations.2. Each destination in the list for (1) shall include a location name, estimated arrival time,

and cost.3. After the user has selected a destination, the system shall request the user insert a credit

or debit card for payment.4. If a debit card has been inserted, the system shall prompt the user for a PIN.5. After the card information has been collected, the system shall transmit the information

to a payment processing agency for verification.6. All information transmitted to and received from the payment processing agency shall be

encrypted.7. Upon receiving an approval from the payment processing agency, the system shall issue

a ticket for the specified destination.

What non-functional

requirements do we need?

• Are there any here?

• What others?

• see also original

stmt

Page 6: What are non-functional requirements? What are some NFR taxonomies?

Exercise

Requirement• The product shall appear familiar to new

engineers.• The product shall not use any terms that

might offend Inuit's.• The product shall retain a journal of all

account transactions.• The product shall identify whether or

not an aircraft is hostile or friendly within 0.25s

• The product shall appear mysterious.• The product shall comply to HIPPA.• The product shall support the public

release of an API

Category

• Usability • Cultural• Security• Performance• Look & Feel• Legal• Maintainability

Page 7: What are non-functional requirements? What are some NFR taxonomies?

Key Terms• Non-functional requirement – describes how well the

product does the things it does.• Look & Feel – the spirit of the product’s appearance.• Usability – the product’s ease of use and any special

considerations needed for a better UX.• Performance – how fast, how safe, how available, and

how accurate the functionality must be.• Operational – the operating environment of the

product and any considerations that must be taken into account.

Page 8: What are non-functional requirements? What are some NFR taxonomies?

Key Terms• Maintainability – expected changes and the time

needed to make them.• Security – access, confidentiality, recoverability,

auditability of the product.• Cultural & Political – special requirements that come

about because of the culture or customs of people who come in contact with the product.• Legal – any laws or standards that apply to the product.

Page 9: What are non-functional requirements? What are some NFR taxonomies?

Key Concepts• Think of functional requirements as those that cause

the product to do the work, the non-functional requirements as those that give character to the work. They are the properties that the functionality must have.• Non-functional requirements might map to a specific

functional requirement, a specific use case step, a use case, or to the entire product.

Page 10: What are non-functional requirements? What are some NFR taxonomies?

What are some NFR taxonomies?• FURPS(+) - developed at HP and appeared in public in Grady,

Robert; Caswell, Deborah (1987). Software Metrics: Establishing a Company-wide Program. Prentice Hall. p. 159. ISBN 0-13-821844-7.• Functionality - Capability, Reusability (Compatibility,

Interoperability, Portability), Security• Usability - Human Factors, Aesthetics, Consistency, Documentation,

Responsiveness• Reliability - Availability, Failure Extent, Recoverability, Accuracy• Performance - Speed, Efficiency, Resource Consumption (power,

ram, cache, etc.), Throughput, Capacity, Scalability• Supportability - Serviceability, Maintainability, Testability,

Flexibility, Installability, Localizability

Page 11: What are non-functional requirements? What are some NFR taxonomies?

What are some NFR taxonomies?• Performance: 100 transactions per minute• Interface: capable of importing data with EDI format• Operational: must not require more than 1 megabyte of main memory• Resource: will use wireless encryption algorithm that is “better” than WEP • Verification: all data updates must be traceable• Acceptance: must pass a user defined system test bucket • Documentation: user manual is needed for novice users only• Security: user request to access any data must be authorized first • Portability: the system must operate with “any” relational db systems• Quality: the system must install with zero defect• Reliability: the system must be accessible 99.9 % of the time• Maintainability: the system must be modifiable (e.g. designed with exits) • Safety: the system must not perform “chemical material discard” functions without

“explicit” user authorization.

Page 12: What are non-functional requirements? What are some NFR taxonomies?

What are some NFR taxonomies?

1. Look & Feel – the spirit of the product’s appearance.2. Usability – the product’s ease of use and any special considerations

needed for a better UX.3. Performance – how fast, how safe, how available, and how accurate the

functionality must be.4. Operational – the operating environment of the product and any

considerations that must be taken into account. 5. Maintainability – expected changes and the time needed to make them.6. Security – access, confidentiality, recoverability, auditability of the

product.7. Cultural & Political – special requirements that come about because of

the culture or customs of people who come in contact with the product.8. Legal – any laws or standards that apply to the product.

Page 13: What are non-functional requirements? What are some NFR taxonomies?

How Do Look & Feel Reqs Look?• These requirements specify the intention of the

appearance, not a detail design of the interface.

• The product shall comply with corporate branding standards.• The product shall be professional looking.• The product shall be attractive to an older audience.• The product shall conform to the established look and

feel of the owning organization’s products.

Page 14: What are non-functional requirements? What are some NFR taxonomies?

How Do Usability Reqs Look?• Usability requirements make the product conform to

the user’s abilities and expectations.

• The product shall be usable by customers with limited experience using computers.• The product shall avoid asking the user to duplicate

any entered data.• The product shall be easy to use on the first attempt

by a member of the public without training.

Page 15: What are non-functional requirements? What are some NFR taxonomies?

How Do Performance Reqs Look?• These describe the manner in which your product

needs to perform some tasks per unit time, to a specific level of accuracy, or some throughput, etc.

• The product shall support 2,000 concurrent users.• The product shall have the capacity for 5,000 roads.• The product shall schedule-deicing activities so that

the minimum necessary amounts of material are spread on roads.

Page 16: What are non-functional requirements? What are some NFR taxonomies?

How Do Operational Reqs Look?• These describe what the product has to do if it is to

operate correctly in its environment.

• The product shall conserve battery life.• The product shall be usable in Internet Explorer 6.0.• The product shall support the Authorize.Net payment

gateway.

Page 17: What are non-functional requirements? What are some NFR taxonomies?

How Do Maintainability Req’s Look?• Usually you don’t know how much maintenance your

product will go through in a lifetime, but maintenance and support can be foreseen in some situations.

• The product shall be readily portable to Android and iOS.• The product shall be translatable to various foreign

languages.• The product shall be updatable via a push mechanism.

Page 18: What are non-functional requirements? What are some NFR taxonomies?

How Do Security Reqs Look?• Consider security from four aspects;

• Access – what features or data need authorization?• Privacy – what data needs to be protected from unauthorized

disclosure• Integrity – the product data needs to be the same as if it was from the

source. (Meaning, unchanged.)• Audit – what operations and data need verification trails.

• The product shall ensure only authorized users have access to the saved credit card information.• The product shall prevent personal data from being printed.• The product shall contain a journal of account changes for a

period of 3 years.

Page 19: What are non-functional requirements? What are some NFR taxonomies?

How Do Cultural Reqs Look?• We take our own culture for granted, we often don’t

give much thought to how other people perceive our products and services.

• The product shall use American spelling for labor, color, and center.• The product shall not display any religious icons or

symbols.• The product shall use the term “y’all”.

Page 20: What are non-functional requirements? What are some NFR taxonomies?

How Do Legal Reqs Look?• You may need to consult lawyers to determine which

laws are applicable to your product.

• The product shall comply with the 2010 ADA Standards for Accessible Design.• The product shall comply with the Public Company

Accounting Reform and Investor Protection Act of 2002.

Page 21: What are non-functional requirements? What are some NFR taxonomies?

How do you find requirements?

Page 22: What are non-functional requirements? What are some NFR taxonomies?

Exercise• In groups of 2-3 spend 5 minutes coming up with one

requirement description for a bathroom faucet for each of the following categories:

1. Look & feel2. Usability3. Performance4. Operational5. Maintainability6. Security7. Cultural8. Legal