730 likes | 737 Views
This guide explores the importance of quality requirements in system development, focusing on factors like usability, security, maintainability, and more. Learn how to assess, prioritize, and define quality concerns to ensure a balanced approach to system design.
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