Software Engineering
College of Arts, Media and Technology ,CMU.

Kittitouch S.
1.1-8-11-12



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


Software – IEEE definition
Software 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)





Computer programs (the “code”)
Procedures
Documentation
Data necessary for operating the software
system.
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.


Read the journal of Therac-25



Think about how to to prevent software
failure disaster?



Youtube Therac-25


Software error: made by programmer.



Software fault: defect in product.



Software failure: software fault is activate.
1.

Faulty definition of requirements
2.

Client–developer communication failures



Misunderstanding requirement, change,
design,…,etc.
Deliberate deviations from software
requirements

3.


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.
4.

Logical design error.
5.

Coding error.
Non-compliance with documentation and
coding instructions.

6.




Document standard.
Coding standard.
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.
8.

Procedure errors :User error
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.
Faulty requirements definition
Client–developer communication failures
Deliberate deviations from software
requirements
4. Logical design errors
5. Coding errors
6. Non-compliance with documentation and
coding instructions
7. Shortcomings of the testing process
8. Procedure errors
9. Documentation errors
1.
2.
3.

End of 2-1




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

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– 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.
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.


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.


The IEEE SQA definition



The relevant ISO 9000-3 sections



CMM requirements.

CMM: Capability Maturity Model
SQA Expanded
definition

Systematic,
planned
actions are required

IEEE SQA
definition

+

Relevant Sections from
ISO9000-3

Relevant SEI-CMM
Requirement

Management
responsibilities(4.1)
Quality system (4.2)
Contract review (4.3)

-Software quality
management
-Requirement
management
-Software project
planning
-Software tracking and
oversight
More in table 2.2


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

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.


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.


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

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

Ch 2 what is software quality

  • 1.
    Software Engineering College ofArts, Media and Technology ,CMU. Kittitouch S. 1.1-8-11-12
  • 2.
      What is Software? SoftwareError, 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
  • 3.
     Software – IEEEdefinition Software 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)
  • 4.
        Computer programs (the“code”) Procedures Documentation Data necessary for operating the software system.
  • 5.
    Software failure casestudy  Therac-25  The Therac-25 was a radiation therapy machine produced by Atomic Energy of Canada Limited  A software failure disaster.
  • 6.
     Read the journalof Therac-25  Think about how to to prevent software failure disaster?  Youtube Therac-25
  • 7.
     Software error: madeby programmer.  Software fault: defect in product.  Software failure: software fault is activate.
  • 9.
  • 10.
  • 11.
    Deliberate deviations fromsoftware requirements 3.  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.
  • 12.
  • 13.
  • 14.
    Non-compliance with documentationand coding instructions. 6.   Document standard. Coding standard.
  • 15.
    7. Shortcomings of thetesting 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.
  • 16.
  • 17.
    9. Documentation errors.  Omission ofsoftware 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.
  • 18.
    Faulty requirements definition Client–developercommunication failures Deliberate deviations from software requirements 4. Logical design errors 5. Coding errors 6. Non-compliance with documentation and coding instructions 7. Shortcomings of the testing process 8. Procedure errors 9. Documentation errors 1. 2. 3. End of 2-1
  • 19.
       3 students/team. Reading GeorgeWise story. Discuss in team to find answer.
  • 20.
     IEEE definition  Thedegree 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.
  • 21.
     Software quality– Pressman’sdefinition  Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.
  • 22.
    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.
  • 23.
     IEEE. Definition.  Aplanned 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.
  • 24.
     The IEEE SQAdefinition  The relevant ISO 9000-3 sections  CMM requirements. CMM: Capability Maturity Model
  • 25.
    SQA Expanded definition Systematic, planned actions arerequired IEEE SQA definition + Relevant Sections from ISO9000-3 Relevant SEI-CMM Requirement Management responsibilities(4.1) Quality system (4.2) Contract review (4.3) -Software quality management -Requirement management -Software project planning -Software tracking and oversight More in table 2.2
  • 26.
     Quality control isdefined as “a set of activities designed to evaluate the quality of a developed or manufactured product”
  • 27.
     Software Development(process-oriented): 1. Assuring anacceptable 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.
  • 28.
     Software maintenance(Product-oriented): 1. Assuring withan 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.
  • 29.
     The application ofa systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software.
  • 30.
     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