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

This preview shows page 1-2-3-4-5-6 out of 18 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 18 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 18 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 18 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 18 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 18 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 18 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 18 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

University of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1Lecture 16:Non-Functional Requirements (NFRs) Refresher: Modeling notations we’ve met What are NFRs? Quality factors, design criteria; metrics Example NFRs Product-oriented approaches to NFRs Making quality factors specific Example: Reliability Process-oriented approaches to NFRs Softgoal analysis for design tradeoffsUniversity of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2We’ve seen these UML diagrams…Class Diagramsinformation structurerelationships betweendata itemsmodular structure forthe systemStatechartsresponses to eventsdynamic behaviorevent ordering,reachability,deadlock, etcActivity diagramsbusiness processesconcurrency andsynchronizationdependenciesbetween tasksSequence Diagramsindividual scenariointeractions betweenusers and systemSequence ofmessagesUse Casesuser’s viewLists functionsvisual overview of themain requirementsUniversity of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3…and the following non-UML diagrams: Goal Models Capture strategic goals of stakeholders Good for exploring ‘how’ and ‘why’ questions with stakeholders Good for analysing trade-offs, especially over design choices Fault Tree Models (as an example risk analysis technique) Capture potential failures of a system and their root causes Good for analysing risk, especially in safety-critical applications Strategic Dependency Models (i*) Capture relationships between actors in an organisational setting Helps to relate stakeholders’s goals to their organisational setting Good for understanding how the organisation will be changed Entity-Relationship Models Capture the relational structure of information to be stored Good for understanding constraints and assumptions about the subject domain Good basis for database design Mode Class Tables, Event Tables and Condition Tables (SCR) Capture the dynamic behaviour of a real-time reactive system Good for representing functional mapping of inputs to outputs Good for making behavioural models precise, for automated reasoningUniversity of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4What 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 metUniversity of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5Example 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.University of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6Approaches 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.University of TorontoDepartment of Computer Science© 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7Software 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


View Full Document

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

Documents in this Course
Scoping

Scoping

10 pages

Load more
Download Lecture 16 - 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 16 - 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 16 - 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?