DOC PREVIEW
Toronto CSC 340 - Lecture 18 - Non-Functional Requirements (NFRs)

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

11University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookLecture 18:Non-Functional Requirements (NFRs) Definitions Quality criteria; metrics Example NFRs Product-oriented Software Qualities Making quality criteria specific Catalogues of NFRs Example: Reliability Process-oriented Software Qualities Softgoal analysis for design tradeoffs2University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookWhat are Non-functional Requirements? Functional vs. Non-Functional Functional requirements describe what the system should do things that can be captured in use cases things that can be analyzed by drawing sequence diagrams, statecharts, etc. Functional requirements will probably trace to individual chunks of a program Non-functional requirements are global constraints on a software system e.g. development costs, operational costs, performance, reliability,maintainability, portability, robustness etc. Often known as the “ilities” Usually cannot be implemented in a single module of a program The challenge of NFRs Hard to model Usually stated informally, and so are: often contradictory, difficult to enforce during development difficult to evaluate for the customer prior to delivery Hard to make them measurable requirements We’d like to state them in a way that we can measure how well they’ve been met3University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookExample NFRs Interface requirements how will the new system interfacewith its environment?User interfaces and “user-friendliness”Interfaces with other systems Performance requirements time/space boundsworkloads, response time, throughputand available storage spacee.g. ”the system must handle 1,000transactions per second" reliabilitythe availability of componentsintegrity of information maintained andsupplied to the systeme.g. "system must have less than 1hrdowntime per three months" securityE.g. permissible information flows, orwho can do what survivabilityE.g. system will need to survive fire,natural catastrophes, etc Operating requirements physical constraints (size, weight), personnel availability & skill level accessibility for maintenance environmental conditions etc Lifecycle requirements “Future-proofing”MaintainabilityEnhanceabilityPortabilityexpected market or product lifespan limits on developmentE.g development time limitations,resource availabilitymethodological standardsetc. Economic requirements e.g. restrictions on immediate and/orlong-term costs.4University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookApproaches to NFRs Product vs. Process? Product-oriented Approaches Focus on system (or software) quality Aim is to have a way of measuring the product once it’s built Process-oriented Approaches Focus on how NFRs can be used in the design process Aim is to have a way of making appropriate design decisions Quantitative vs. Qualitative? Quantitative Approaches Find measurable scales for the quality attributes Calculate degree to which a design meets the quality targets Qualitative Approaches Study various relationships between quality goals Reason about trade-offs etc.25University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookSoftware Qualities Think of an everyday object e.g. a chair How would you measure it’s “quality”? construction quality? (e.g. strength of the joints,…) aesthetic value? (e.g. elegance,…) fit for purpose? (e.g. comfortable,…) All quality measures are relative there is no absolute scale we can sometimes say A is better than B… … but it is usually hard to say how much better! For software: construction quality? software is not manufactured aesthetic value? but most of the software is invisible aesthetic value matters for the user interface, but is only a marginal concern fit for purpose? Need to understand the purpose6University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookFitness Software quality is all about fitness to purpose does it do what is needed? does it do it in the way that its users need it to? does it do it reliably enough? fast enough? safely enough? securely enough? will it be affordable? will it be ready when its users need it? can it be changed as the needs change? Quality is not a measure of software in isolation it measures the relationship between software and its application domain cannot measure this until you place the software into its environment… …and the quality will be different in different environments! during design, we need to predict how well the software will fit its purpose we need good quality predictors (design analysis) during requirements analysis, we need to understand how fitness-for-purpose will be measured What is the intended purpose? What quality factors will matter to the stakeholders? How should those factors be operationalized?Source: Budgen, 1994, pp58-97University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookFactors vs. Criteria Quality Factors These are customer-related concerns Examples: efficiency, integrity, reliability, correctness, survivability, usability,... Design Criteria These are technical (development-oriented) concerns such as anomalymanagement, completeness, consistency, traceability, visibility,... Quality Factors and Design Criteria are related: Each factor depends on a number of associated criteria: E.g. correctness depends on completeness, consistency, traceability,... E.g. verifiability depends on modularity, self-descriptiveness and simplicity There are some standard mappings to help you… During Analysis: Identify the relative importance of each quality factor From the customer’s point of view! Identify the design criteria on which these factors depend Make the requirements measurable8University of TorontoDepartment of Computer Science© 2000-2003, Steve EasterbrookBoehm’s NFR listGeneral utilityportabilityAs-is


View Full Document

Toronto CSC 340 - Lecture 18 - Non-Functional Requirements (NFRs)

Documents in this Course
Scoping

Scoping

10 pages

Load more
Download Lecture 18 - Non-Functional Requirements (NFRs)
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 18 - Non-Functional Requirements (NFRs) and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 18 - Non-Functional Requirements (NFRs) 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?