Professional Documents
Culture Documents
lecture 1
Contact Information
Email: rubabjavaid@ucp.edu.pk
Office C007 – C Block
Office Hours
◦ TBA
Assessments
Class Participation 8% (individual/in Pair)
Project 7 % (Group based)
Quiz 15% (Total = 6 )
Assignment 10% (Total = 4)
Mid Term 20%
Final 40 %
Nature of Course
Software Quality Engineering
◦ Software Quality Assurance
◦ Software Testing
Nature of Areas
◦ SQA Case Study based learning
◦ ST Application Based Learning
Complexity
Visibility
SDLC Aims for
High Quality
Satisfying Customer Expectations
Fulfill Cost Estimates
Fulfill Time Estimate
Quality
1. What is Quality?
Quality
1. What is Quality?
1. What is Quality?
(Kitchenham)
16
QUALITY
■ Software Quality is
1. The degree to which a system, component, or
process meets specified requirements, and
2. The degree to which a system, component, or
process meets customer or user needs or
expectations (IEEE)
18
Software Quality Engineering
An integrated approach to software quality, reliability,
and safety is described that is termed ‘software quality
engineering’.
21
Why SQA?
23
Software Quality
What do we mean by quality software?
Quality Factors
Internal
◦ Maintainability, Readability, Testability, Reusability,
Portability, Flexibility, Understandability
McCall’s Factor Model
This model classifies all software requirements into 11 software quality
factors. The 11 factors are grouped into three categories – product
operation, product revision, and product transition factors.
◦Correctness –
The extent to which a software meets its requirements specification.
◦Efficiency –
The amount of hardware resources and code the software, needs to perform a
function.
◦Integrity –
The extent to which the software can control an unauthorized person from the
accessing the data or software.
◦Reliability –
The extent to which a software performs its intended functions without failure.
◦Usability –
The extent of effort required to learn, operate and understand the functions of the
software.
2- Product Revision Factors
• Maintainability –
The effort required to detect and correct an error during maintenance phase.
• Flexibility –
The effort needed to improve an operational software program.
• Testability –
The effort required to verify a software to ensure that it meets the specified
requirements.
Business Goals or Quality Attributes
.
• Portability –
The effort required to transfer a program from one platform to another.
• Re-usability –
The extent to which the program’s code can be reused in other applications.
• Interoperability –
The effort required to integrate two systems with one another.
Factors – A few more examples!
Usability
Usability
0
Correctness
Reliability
Integrity
Adaptability
Accuracy
Robustness
Maintainability
Add features
Remove defects
Improve performance
Change features
Maintainability
Flexibility
An interface for visually impaired needs to be
added
Warehouse inventory hotel management
system
EMS BISE
Portability
Same app for different OS/HW.