1 advanced information systems development (sd3043) quality management

24
1 Advanced Information Systems Development (SD3043) Quality Management Quality Management

Upload: allison-clay

Post on 26-Mar-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Advanced Information Systems Development (SD3043) Quality Management

1

Advanced Information Systems Development (SD3043)

Quality ManagementQuality Management

Page 2: 1 Advanced Information Systems Development (SD3043) Quality 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

Page 3: 1 Advanced Information Systems Development (SD3043) Quality Management

Topics covered

Process and product quality Quality assurance and standards Quality planning Quality control

Page 4: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 5: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 6: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 7: 1 Advanced Information Systems Development (SD3043) Quality Management

Scope of quality management

Quality management is particularly important for large, complex systems.

For smaller systems, quality management needs less documentation.

Page 8: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 9: 1 Advanced Information Systems Development (SD3043) Quality Management

Quality management and software development

Software developmentprocess

Quality managementprocess

D1 D2 D3 D4 D5

Standards andprocedures

Qualityplan

Quality review reports

Page 10: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 11: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 12: 1 Advanced Information Systems Development (SD3043) Quality Management

Problems with standards

They may not be seen as relevant and up-to-date by software engineers.

Page 13: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 14: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 15: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 16: 1 Advanced Information Systems Development (SD3043) Quality Management

Product quality attributes

Page 17: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 18: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 19: 1 Advanced Information Systems Development (SD3043) Quality Management

Measurement and metrics

Product or process measurements are concerned with deriving a numeric value for an attribute of a software product or process.

Page 20: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 21: 1 Advanced Information Systems Development (SD3043) Quality Management

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

Page 22: 1 Advanced Information Systems Development (SD3043) Quality Management

Data collection for measurement

Data should be collected immediately (not in retrospect) and, if possible, automatically.

Don’t collect unnecessary data.

Page 23: 1 Advanced Information Systems Development (SD3043) Quality Management

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.

Page 24: 1 Advanced Information Systems Development (SD3043) Quality Management

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.