what are non-functional requirements? what are some nfr taxonomies?
Post on 18-Jan-2016
230 Views
Preview:
TRANSCRIPT
Lecture 14NONFunctional Requirements
SE3821 Software Requirements and SpecificationDr. Rob Hasker (based on slides by Dr. Brad Dennis)
The Volere Process
• 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.
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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”.
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.
How do you find requirements?
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
top related