University of Toronto Department of Computer Science Lecture 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 tradeoffs 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 1 University of Toronto Department of Computer Science What are Non functional Requirements Functional vs Non Functional Functional requirements describe what the system should do functions that can be captured in use cases behaviours that can be analyzed by drawing sequence diagrams statecharts etc and 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 software qualities or just 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 met 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 2 Department of Computer Science University of Toronto Example NFRs Interface requirements how will the new system interface with its environment User interfaces and user friendliness Interfaces with other systems Performance requirements time space bounds workloads response time throughput and available storage space e g the system must handle 1 000 transactions per second limits on development E g development time limitations resource availability methodological standards etc security E g system will need to survive fire natural catastrophes etc Lifecycle requirements Maintainability Enhanceability Portability expected market or product lifespan the availability of components integrity of information maintained and supplied to the system e g system must have less than 1hr downtime per three months survivability physical constraints size weight personnel availability skill level accessibility for maintenance environmental conditions etc Future proofing reliability E g permissible information flows or who can do what Operating requirements Economic requirements e g restrictions on immediate and or long term costs 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 3 University of Toronto Department of Computer Science Approaches to NFRs Product vs Process Product oriented Approaches Focus on system or software quality Capture operational criteria for each requirement so that we can measure it once the product is built Process oriented Approaches Focus on how NFRs can be used in the design process Analyze the interactions between NFRs and design choices so that we can make 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 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 4 Department of Computer Science University of Toronto Software 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 is a marginal concern fit for purpose Need to understand the purpose 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 5 Department of Computer Science University of Toronto Fitness Source Budgen 1994 pp58 9 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 forpurpose will be measured What is the intended purpose What quality factors will matter to the stakeholders How should those factors be operationalized 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 6 University of Toronto Department of Computer Science Factors 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 anomaly management 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 measurable 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 7
View Full Document
Unlocking...