ch 2 what is software quality

30
SE422 Software Quality Assurance CH2-Software Quality Software Engineering College of Arts, Media and Technology ,CMU. Kittitouch S. 1.1-8-11-12

Upload: kittitouch-suteeca

Post on 31-May-2015

497 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Ch 2 what is software quality

SE422 Software Quality Assurance CH2-Software Quality

Software EngineeringCollege of Arts, Media and Technology ,CMU.

Kittitouch S.1.1-8-11-12

Page 2: Ch 2 what is software quality

Topics

What is Software? Software Error, Fault and Failure

Case study:Therac-25 Classification of the causes of

software errors Software Quality Software Quality Assurance Quality Control The objectives of SQA activities

Page 3: Ch 2 what is software quality

What is Software?

Software – IEEE definitionSoftware is Computer programs, procedures, and possibly associated documentation and

data pertaining to the operation of a computer system.

Institute of Electrical and Electronics Engineers (IEEE)

Page 4: Ch 2 what is software quality

Software….

Computer programs (the “code”) Procedures Documentation Data necessary for operating the

software system.

Page 5: Ch 2 what is software quality

Software Error, Fault and failures

Software failure case study Therac-25

The Therac-25 was a radiation therapy machine produced by Atomic Energy of Canada Limited

A software failure disaster.

Page 6: Ch 2 what is software quality

Reading Assignment:Therac-25

Read the journal of Therac-25

Think about how to to prevent software failure disaster?

Youtube Therac-25

Page 7: Ch 2 what is software quality

Software Error, Fault and failures

Software error: made by programmer.

Software fault: defect in product.

Software failure: software fault is activate.

Page 8: Ch 2 what is software quality

Figure 2.1: Software errors, software faults and software failures

Page 9: Ch 2 what is software quality

2.3 Classification of the causes of software errors

1. Faulty definition of requirements

Page 10: Ch 2 what is software quality

2.3 Classification of the causes of software errors

2. Client–developer communication failures

Misunderstanding requirement, change, design,…,etc.

Page 11: Ch 2 what is software quality

2.3 Classification of the causes of software errors

3. Deliberate deviations from software requirements

The developer reuses software modules taken from an earlier project without sufficient analysis of the changes and adaptations needed to correctly fulfill all the new requirements.

Due to time or budget pressures, the developer decides to omit part of the required functions in an attempt to cope with these pressures.

Page 12: Ch 2 what is software quality

2.3 Classification of the causes of software errors

4. Logical design error.

Page 13: Ch 2 what is software quality

2.3 Classification of the causes of software errors

5. Coding error.

Page 14: Ch 2 what is software quality

2.3 Classification of the causes of software errors

6. Non-compliance with documentation and coding instructions.

Document standard. Coding standard.

Page 15: Ch 2 what is software quality

2.3 Classification of the causes of software errors

7. Shortcomings of the testing process.

Incomplete test plans leave untreated portions of the software or the application functions and states of the system.

Failures to document and report detected errors and faults.

Failure to promptly correct detected software faults as a result of in appropriate indications of the reasons for the fault.

Incomplete correction of detected errors due to negligence or time pressures.

Page 16: Ch 2 what is software quality

2.3 Classification of the causes of software errors

8. Procedure errors :User error

Page 17: Ch 2 what is software quality

2.3 Classification of the causes of software errors

9. Documentation errors.

Omission of software functions.

Errors in the explanations and instructions given to users, resulting in “dead ends” or incorrect applications.

Listing of non-existing software functions, that is, functions planned in the early stages of development but later dropped, and functions that were active in previous versions of the software but cancelled in the current version.

Page 18: Ch 2 what is software quality

2.3 The 9 causes of software errors

1. Faulty requirements definition2. Client–developer communication failures3. Deliberate deviations from software

requirements4. Logical design errors5. Coding errors6. Non-compliance with documentation and

coding instructions7. Shortcomings of the testing process8. Procedure errors9. Documentation errors

End of 2-1

Page 19: Ch 2 what is software quality

Assignment 2-1

3 students/team. Reading George Wise story. Discuss in team to find answer.

Page 20: Ch 2 what is software quality

Software quality

IEEE definition The degree to which a system,

component, or process meets specified requirements.

The degree to which a system, component, or process meets customer or user needs or expectations.

Page 21: Ch 2 what is software quality

Software quality

Software quality– Pressman’s definition Conformance to explicitly stated

functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.

Page 22: Ch 2 what is software quality

Pressman’s definition suggests three requirements for quality assurance.

1. Specific functional requirements, which refer mainly to the outputs of the software system.

2. The software quality standards mentioned in the contract.

3. Good Software Engineering Practices (GSEP), reflecting state-of-the-art professional practices, to be met by the developer even though not explicitly mentioned in the contract.

Page 23: Ch 2 what is software quality

Software Quality Assurance

IEEE. Definition. A planned and systematic pattern of all

actions necessary to provide adequate confidence that an item or product conforms to established technical requirements.

A set of activities designed to evaluate the process by which the products are developed or manufactured. Contrast with quality control.

Page 24: Ch 2 what is software quality

Expanded SQA. definition

The IEEE SQA definition

The relevant ISO 9000-3 sections

CMM requirements.

CMM: Capability Maturity Model

Page 25: Ch 2 what is software quality

Example of expanded SQA Definition

SQA Expanded definition

IEEE SQA definition

Relevant Sections from ISO9000-3

Relevant SEI-CMM Requirement

Systematic, planned actions are required

+ Managementresponsibilities(4.1)Quality system (4.2)Contract review (4.3)

-Software qualitymanagement-Requirement management-Software project planning-Software tracking and oversight

More in table 2.2

Page 26: Ch 2 what is software quality

Quality Control

Quality control is defined as “a set of activities designed to evaluate the quality of a developed or manufactured product”

Page 27: Ch 2 what is software quality

The objectives of SQA activities Software Development(process-

oriented):1. Assuring an acceptable level of confidence that the

software will conform to functional technical requirements.

2. Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements.

3. Initiating and managing of activities for the improvement and greater efficiency of software development and SQA activities.

Page 28: Ch 2 what is software quality

The objectives of SQA activities Software maintenance(Product-oriented):

1. Assuring with an acceptable level of confidence that the software maintenance activities will conform to the functional technical requirements.

2. Assuring with an acceptable level of confidence that the software maintenance activities will conform to managerial scheduling and budgetary requirements.

3. Initiating and managing activities to improve and increase the efficiency of software maintenance and SQA activities. This involves improving the prospects of achieving functional and managerial requirements while reducing costs.

Page 29: Ch 2 what is software quality

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software.

Page 30: Ch 2 what is software quality

Referrence

Chapter 2:Daniel Galin. SOFTWARE QUALITY ASSURANCE From theory to implementation. Pearson Education Limited,2004.

Therac-25:An Engineering Disaster Therac-25 Joanne Lim., October 1998