ch 2 what is software quality

Post on 31-May-2015

498 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SE422 Software Quality Assurance CH2-Software Quality

Software EngineeringCollege of Arts, Media and Technology ,CMU.

Kittitouch S.1.1-8-11-12

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

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)

Software….

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

software system.

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.

Reading Assignment:Therac-25

Read the journal of Therac-25

Think about how to to prevent software failure disaster?

Youtube Therac-25

Software Error, Fault and failures

Software error: made by programmer.

Software fault: defect in product.

Software failure: software fault is activate.

Figure 2.1: Software errors, software faults and software failures

2.3 Classification of the causes of software errors

1. Faulty definition of requirements

2.3 Classification of the causes of software errors

2. Client–developer communication failures

Misunderstanding requirement, change, design,…,etc.

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.

2.3 Classification of the causes of software errors

4. Logical design error.

2.3 Classification of the causes of software errors

5. Coding error.

2.3 Classification of the causes of software errors

6. Non-compliance with documentation and coding instructions.

Document standard. Coding standard.

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.

2.3 Classification of the causes of software errors

8. Procedure errors :User error

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.

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

Assignment 2-1

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

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.

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.

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.

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.

Expanded SQA. definition

The IEEE SQA definition

The relevant ISO 9000-3 sections

CMM requirements.

CMM: Capability Maturity Model

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

Quality Control

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

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.

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.

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.

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

top related