730 likes | 732 Views
Requirements Engineering. Southern Methodist University CSE 7316 – Chapter 6, Quality Requirements. Introduction. How well a system must perform its functions Response time Usability Security Maintainability Non-functional requirements Absent in many specifications. Introduction.
E N D
RequirementsEngineering Southern Methodist University CSE 7316 – Chapter 6, Quality Requirements
Introduction • How well a system must perform its functions • Response time • Usability • Security • Maintainability • Non-functional requirements • Absent in many specifications
Introduction • Some are mandatory • Response time requirements in a process control system • Others not as mandatory • Soft targets, lower cost • Tactics have been to focus on functional early and let non-functional catch up • Simulation systems
Quality factors • McCall (US Air force) • Operation; daily use by end users • Revision; maintenance/extension of SW • Transition; use of SW in new technical settings
Operation • Integrity • Correctness • Reliability • Usability • Efficiency
Revision • Maintainability • Testability • Flexibility
Transition • Portability • Interoperability • Reusability
ISO 9126 • Functionality • Reliability • Usability • Efficiency • Maintainability • Portability • Suitability • Compliance and conformance • New sub factors
IEEE 830 • Performance • Software system attributes • Reliability • Availability • Security • Maintainability • Portability • Ease of use
The quality grid • Some quality factors are important while others are not • Quality grids are used to find important quality factors in a systematic way • Select factors • Assess importance • Specify concerns • Be balanced
Open metric and open target • A quality requirement will normally have a numerical target to reach • Open target approach is to ask the supplier to specify what response time they can provide (R5) • Customer specify expectation and ask supplier to specify what they can offer • Open metric; customer may not know how to measure the quality of the system
Planguage • Tag; factor we talk about • Gist; what we are after in broad terms • Scale; measurement scale • Meter; how we measure in practice • Must; absolutely critical level • Plan; level where we can claim success • Wish; what the user expects • Past; what the old system did
Cost/benefit of quality • Response time is a matter of cost and benefit • Cost; if the response time has to decrease, the system will be more expensive. Typically the customer has to buy more HW • Benefit; if the response time decreases, the system will save more money because users can work faster
Capacity and accuracy requirements • Simplest kind of quality requirement • Usually mandatory in the sense that a smaller target value makes the system useless • Capacity requirements are computer resources that the product can occupy for some time
Accuracy requirements • These requirements cover both the range and the precision of the data • How large and how small can data values be and how accurate should they be?
Performance requirements • How fast the product shall be • Can also be domain related such as the maximum time it takes for an experienced user to perform a specific task
Psychological limits • Performance limits can be based on human psychology • Mental preparation during typing (this is when temp files are saved) • Waiting more than 20 seconds • Task changes are a large mental effort
Average and upper limits • Don’t insist on stated response time in all cases • This can be very expensive
Response time probabilities • Worst case is extremely rare • There are several ways to do this (see following slides) • When you specify response times in multi user systems, never specify maximum response times. • Maximum is exceedingly rare. • Specifying for instance the 95% limit is OK
Multi user systems • In some cases the supplier cannot take responsibility for end user requirements because other parties are involved • Internet • Response time as seen by end user • Response time from server • Delay in the internet • Supplier cannot take responsibility for both • Customer should specify response time for the server (assume internet has zero delay) • Customer should specify delay on the internet in contract with the ISP
Usability • Most agree that a computer system should be easy to use • But it must be verifiable • Tailor made or COTS • What is a “new user”? • We can develop systems to get high usability
Usability problems • A situation where a user cannot figure out how to carry out a task or finds it too cumbersome • Other defect types • Bugs • Missing functionality
Usability tests • Most effective technique to find the usability problems is a usability test • Have the user carry out realistic tasks using the system or a mockup of it • Observe only • Think aloud
Heuristic evaluation • Hire an expert and have them look at the screens and point out problems • The user interface equivalent of what programmers call code inspection or review • Finds a lot of problems but always the right ones
Usability factors • Usability = fit for use + ease of use • Fit for use means that the system can support the tasks that the user has in real life • From a requirements viewpoint this is what the functional requirements deal with
Usability factors • Ease of use means that that the system is easy o learn, efficient in day to day work, etc • Usability factors • Ease of learning • Task efficiency • Ease of remembering • Subjective satisfaction • Understandability
Security • Security requirements aim at preventing misuse cases. • Other kinds of requirements aim at supporting use cases • Threats • Input process • Storage process • Output process
Security risk assessment • Hard to specify all security risks • Identify the more critical threats by means of a security risk assessment producing an estimate of frequency of each threat and the loss if it occurs • Illegal access • Disk crash • Computer crash • Sabotage • Fraud • Virus
Safeguards • Prevention • Detection • Repair
Input process • Physical distortion • Disaster • Simple user errors • Program errors • Sabotage • Illegal access • Stealing passwords • Wire tapping • Programmed crime
Timing Constraints • Define response time requirements for software and/or the environment • Many simple cases • key press response time < 10 msec • Four basic types of timing constraints • stimulus-response • response-response • stimulus-stimulus • response-stimulus
Timing Constraints • Stimulus is an action performed by the user or environment on the system • Response is an action by the system on the user or environment
Stimulus-Response • Stimulus-response; constraint that the system must produce a response in accordance with a specified timing relationship to an earlier user stimulus to the system