1 advanced information systems development (sd3043) quality management
TRANSCRIPT
1
Advanced Information Systems Development (SD3043)
Quality ManagementQuality Management
Objectives
To introduce the quality management process and key quality management activities
To explain the role of standards in quality management
To explain the concept of a software metric, predictor metrics and control metrics
To explain how measurement may be used in assessing software quality and the limitations of software measurement
Topics covered
Process and product quality Quality assurance and standards Quality planning Quality control
Current status of software quality
Microsoft Windows XP End-User License Agreement:
11. LIMITED WARRANTY FOR PRODUCT ACQUIRED IN THE US AND CANADA. Microsoft warrants that the Product will perform substantially in accordance with the accompanying materials for a period of ninety days from the date of receipt.(…) If an implied warranty or condition is created by your state/jurisdiction and federal or state/provincial law prohibits disclaimer of it, you also have an implied warranty or condition, BUT ONLY AS TO DEFECTS DISCOVERED DURING THE PERIOD OF THIS LIMITED WARRANTY (NINETY DAYS). (…)Some states/jurisdictions do not allow limitations on how long an implied warranty or condition lasts, so the above limitation may not apply to you.(…)YOUR EXCLUSIVE REMEDY. Microsoft's and its suppliers' entire liability and your exclusive remedy shall be, at Microsoft's option from time to time exercised subject to applicable law, (a) return of the price paid (if any) for the Product, or (b) repair or replacement of the Product, that does not meet this Limited Warranty and that is returned to Microsoft with a copy of your receipt. (..)This Limited Warranty is void if failure of the Product has resulted from accident, abuse, misapplication, abnormal use or a virus.
Software quality management
Concerned with ensuring that the required level of quality is achieved in a software product.
Involves defining appropriate quality standards and procedures and ensuring that these are followed.
What is quality?
Quality, simplistically, means that a product should meet its specification.
Quality requirements are efficiency, reliability, maintainability, reusability, etc.;
Software specifications are usually incomplete and often inconsistent which causes problems in defining software quality.
Scope of quality management
Quality management is particularly important for large, complex systems.
For smaller systems, quality management needs less documentation.
Quality management activities
Quality assurance Establish organisational procedures and
standards for quality. Quality planning
Select applicable procedures and standards for a particular project and modify these as required.
Quality control Ensure that procedures and standards are
followed by the software development team.
Quality management and software development
Software developmentprocess
Quality managementprocess
D1 D2 D3 D4 D5
Standards andprocedures
Qualityplan
Quality review reports
Define process standards such as how reviews should be conducted.
Monitor the development process to ensure that standards are being followed.
Report on the process to project management and software procurer.
Practical process quality
Encapsulation of best practice- avoids repetition of past mistakes.
They provide continuity - new staff can understand the organisation by understanding the standards that are used.
Importance of standards
Problems with standards
They may not be seen as relevant and up-to-date by software engineers.
ISO 9000 An international set of standards for
quality management. Applicable to a range of organisations
from manufacturing to service industries.
ISO 9001 applicable to organisations which design, develop and maintain products.
ISO 9001 is a generic model of the quality process that must be instantiated for each organisation using the standard.
Quality planning
A quality plan sets out the desired product qualities and how these are assessed and defines the most significant quality attributes.
The objective is the discovery of system defects and inconsistencies.
Quality plans
Quality plan structure Product introduction; Product plans; Process descriptions; Quality goals; Risks and risk management.
Quality plans should be short, succinct documents If they are too long, no-one will read them.
Product quality attributes
A group of people carefully examine part or all of an information system and its associated documentation.
Code, designs, specifications, test plans, standards, etc. can all be reviewed.
Software or documents may be 'signed off' at a review which signifies that progress to the next development stage has been approved by management.
Quality reviews
Comments made during the review should be classified
No action. No change to the software or documentation is required;
Refer for repair. Designer or programmer should correct an identified fault;
Reconsider overall design. The problem identified in the review impacts other parts of the design. Some overall judgement must be made about the most cost-effective way of solving the problem;
Requirements and specification errors may have to be referred to the client.
Review results
Measurement and metrics
Product or process measurements are concerned with deriving a numeric value for an attribute of a software product or process.
Any type of measurement which relates to a software system, process or related documentation
Lines of code in a program, number of person-days required to develop a component.
Product metrics can be used for general predictions or to identify anomalous components.
We can measure Internal attributes which can derive external attributes.
Software metric
Internal and external software attributes
Reliability
Number of procedureparameters
Cyclomatic complexity
Program size in linesof code
Number of errormessages
Length of user manual
Maintainability
Usability
Portability
Data collection for measurement
Data should be collected immediately (not in retrospect) and, if possible, automatically.
Don’t collect unnecessary data.
Dynamic and static product metrics
Dynamic metrics are closely related to software quality attributes
It is relatively easy to measure the response time of a system (performance attribute) or the number of failures (reliability attribute).
Static metrics have an indirect relationship with quality attributes
You need to try and derive a relationship between these metrics and properties such as complexity, understandability and maintainability.
Software product metrics
Software metric Description
Fan in/Fan-out Fan-in is a measure of the number of functions or methods that call some other functionor method (say X). Fan-out is the number of functions that are called by function X. Ahigh value for fan-in means that X i s tightly coupled to the rest of the design andchanges to X will have extensive knock-on effects. A high value for fan-out suggeststhat the overall complexity of X m ay be high because of the complexity of the controllogic needed to coordinate the called components.
Length of code This is a measure of the size of a program. Generally, the larger the size of the code of acomponent, the more complex and error-prone that component is likely to be. Length ofcode has been shown to be one of the most reliable metrics for predicting error-proneness in components.
Cyclomatic complexity This is a m easure of the control complexity of a p rogram. This control complexity maybe related to program understandability. I discuss how to compute cyclomaticcomplexity in Chapter 22.
Length of identifiers This is a measure of the average length of distinct identifiers in a p rogram. The longerthe identifiers, the more likely they are to be m eaningful and hence the moreunderstandable the program.
Depth of conditionalnesting
This is a measure of the depth of nesting of if-statements in a program. Deeply nested ifstatements are hard to understand and are potentially error-prone.
Fog index This is a measure of the average length of words and sentences in documents. The higherthe value for the Fog index, the more difficult the document is to understand.