Lecture 2
Lecture 2
software error
software fault
software failure
The nine causes of software errors are:
1. Faulty requirements definition
2. Client-developer communication failures
3. 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. User interface and procedure errors
9. Documentation errors
Software quality is:
• Deals with the system security, namely, the prevention of the access
to unauthorized persons.
• Also deals with distinguishing the privilege (read, copy, write, …
permit) to the information of the personnel.
Usability
• Deals with the scope of staff resources needed to train a new
employee and to operate the system.
- Deals with software maintenance activities: corrective
maintenance, adaptive maintenance, perfect maintenance.
• Maintainability
• Flexibility
• Testability
Maintainability
• Determines the efforts that will be needed by users and maintenance
personnel to identify the reasons for failures, to correct the failures,
and to verify the success of correctness.
• Refers to modular structure (size), program documentation
(standards), manuals, etc.
Flexibility
• Refers to the capabilities & efforts required to support adaptive
maintenance & perfect maintenance, including human resources,
extents of activities, etc.
• E.g., The system should be suitable for teachers of all subjects and all
school levels.
Testability
• Deals with the testing of the system as well as with the operation.
- For ease of testing, such as providing predefined intermediate results and log
files.
- For operation, such as automatic diagnostics performed by the system prior to
starting the system; automatic generating report about detected faults.
- For maintenance, automatic diagnostic checks applied by maintenance
technicians to detect the causes of failures.
- Refers to adaptation to other environments and
interaction with other systems.
• Portability
• Reusability
• Interoperability
Portability
• Refers to adaptation to other environments consisting of different
hardware, operating systems, and so forth.
Reusability
• Deals with the use of software modules originally designed for one
project in a new software project being developed.
• Can save resources, shorten time and provide higher quality modules.
Interoperability
Focus on:
1. resource usage
2. schedule
3. risk management activities
4. the budget
Software quality metrics
• Quality of software development and maintenance
activities
• Development teams’ productivity
• Help desk and maintenance teams’ productivity
• Software faults density
• Schedule deviations.
Software quality costs
• Cost of control (prevention costs, appraisal costs, managerial
preparation and control costs) + costs of failure
• Expanding the resources allocated to control activities yields much
larger savings in failure costs while reducing total quality costs
Appraisal Cost
• Appraisal costs are a specific category of quality control costs.
Companies pay appraisal costs as part of the quality control process
to ensure that their products and services meet customer
expectations and regulatory requirements.
• These costs could include expenses for field tests and inspections.
Failure Cost
• Cost of quality (COQ) is defined as a methodology that allows an
organization to determine the extent to which its resources are used for
activities that prevent poor quality, that appraise the quality of the
organization's products or services, and that result from internal and
external failures.
1. External Failure Cost: Cost associated with defects found after the
customer receives the product or service. Example: Processing customer
complaints, customer returns, warranty claims, product recalls.
2. Internal Failure Cost: Cost associated with defects found before the
customer receives the product or service. Example: Scrap, rework, re-
inspection, re-testing, material review, material downgrades
Prevention Cost:
• Prevention Cost: Cost incurred to prevent (keep failure and appraisal
cost to a minimum) poor quality.
• Example: New product review, quality planning, supplier surveys,
process reviews, quality improvement teams, education and training.
• Project process standards (focus on “how”)
• Quality management standards (focus on “what”)
Objectives:
Utilization of international professional knowledge
Improvement of coordination with other organizations’
quality systems
Objective professional evaluation and measurement of the
organization’s SQA achievement
• Management’s role in SQA
• The SQA unit
• SQA trusties
• SQA committees
• SQA forums
Considerations guiding
construction of organization’s
SQA system
• The SQA organizational base
• The SQA components to be implemented within
the organization and the extent of their use
The main considerations affecting
the use of the components (1/2)
Organizational considerations
• Type of software development clientele
• Type of software maintenance clientele
• Range of software products
• Size of the organization
• Degree and nature of cooperation with other organizations carrying out
related projects
• Optimization objective (quality, productivity, efficiency, savings)
Project and maintenance service considerations
• Level of complexity and difficulty
• Degrees of experience with the project technology
• Extent of software reuse in the new projects
(2/2)
Professional staff considerations
• Professional qualifications
• Level of acquaintance with team members
The Software Quality Shrine
Pre-
proj
s ec t SQ
p o nent A co
co m mpo
QA ne n
j ec t S Project ts
pro Development plan
Pre-
Contract review and Quality Plan
Ch.5 Ch.6
Software Maintenance
Experts Opinion
Software Testing
Peer Reviews
Chs. 9-10
Sec. 8.2
Sec. 8.3
Sec. 8.5
Ch. 11
Ch 12
Quality Infrastructure components Quality Management Standards
Document- Project
Supporting Training Preventive Configuration Project Software Software Quality Process
Management
ation Progress Quality Quality Management Standards
Procedures Devices Instruction Actions Control Control Metrics Costs Standards
Ch. 14 Ch. 15 Ch. 16 Ch.17 Ch. 18 Ch. 19 Ch.24
Ch. 20 Ch. 21 Ch. 22 Ch. 23