0% found this document useful (0 votes)
3 views33 pages

SQE Chapter 1

The document introduces software quality and quality assurance, detailing assessment methods and the importance of meeting customer expectations. It outlines key aspects of quality, including design, functionality, reliability, and the need for a structured approach to achieve quality through various principles and standards. Additionally, it discusses the challenges in software quality management and the significance of continuous monitoring and improvement in software processes.

Uploaded by

stdameer19176
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views33 pages

SQE Chapter 1

The document introduces software quality and quality assurance, detailing assessment methods and the importance of meeting customer expectations. It outlines key aspects of quality, including design, functionality, reliability, and the need for a structured approach to achieve quality through various principles and standards. Additionally, it discusses the challenges in software quality management and the significance of continuous monitoring and improvement in software processes.

Uploaded by

stdameer19176
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction to Software Quality

& Software Quality Assurance

Week 01
Student Assessment and Marks
Distribution:

S. No. Assessments Marks Weight

1 Midterm Examination 20 %

Assignments, Quizzes, Projects,


2 40%
Presentations & Class Participation

4 Final Exam 40%


Course Website

Google Classroom: [Link]

Class Name: SQE FALL 2021

Class Code: Will be provided in Class


Quality Evolution
Definition of term “Quality”
?
GOOD QUALITY
• MERCEDES-BENZ OR SUZUKI MEHRAN
Software Quality
Software Quality
To Customers:
– Satisfaction
– Improved Reliability
– Reduced Errors in Operations
– Matching with Requirements

To the Organization:
– Meeting Customer Requirements
– Stable Requirements
– Verification that Requirements are Met
– Consistent Application of Processes
– Improvement Over Time
QUALITY

Two Views of Quality Definition

• Popular View: Quality is directly related to CLASS.


• Technical View: To meets Customer Level of
Satisfaction within Time Budget and Scope.
Key Aspects of Quality
• Good design – looks and style
• Good functionality – it does the job well
• Reliable – acceptable level of breakdowns or failure
• Consistent
• Durable – lasts as long as it should
• Good after sales service
• Value for money
Quality- The Elusive Element
• David Garvin studied how quality is perceived in
various domains, including philosophy, economics,
marketing, and operations management. He
conclude that
“ Quality is a complex and multifaceted
concept” that can be described from five
different perspective
Quality- The Elusive Element
• The transcendental view sees Quality as something
that can be recognized but not defined.
• The user sees Quality as fitness for purpose.
• The manufacturing view sees quality as
conformance to specification
• The product view sees quality as tied to inherent
characteristic of the product.
• The value-based view sees quality as dependent on
the amount a customer is willing to pay for it.
What is Quality?
Software Quality is conformance to:
• explicitly stated functional and performance
requirements,
• explicitly documented development
standards,
• implicit characteristics that are expected of all
professionally developed software.
Software Quality
(IEEE Standard Glossary)

• 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 = Meeting the


customer’s requirement + At
agreed cost + Within the agreed
timelines
QUALITY IS CENTERED AROUND SATISFYING
THE CUSTOMER
• If a product performs as needed and expected, and satisfies
its customer, then it is said to be a quality product.

• Product must satisfy the customer’s problems and needs,


and it must meet the customer expectation. The
expectations include function, cost, minimal defects,
reliability, good level of service, and so on.
QUALITY IS CENTERED AROUND
SATISFYING THE CUSTOMER
User satisfaction= compliant product +

good quality +

delivery within budget and schedule


• Quality applies to the life of the product and covers
all aspects.
Software Quality Types
• Quality of Design
– Quality of Design (Also called Quality of Engineering): It is the degree to
which design parameters meet customer's needs and expectations.
– is defined as a fit between a product's (service's) design and customer needs;
• Quality of Conformance
– It is the degree to which the product meets design parameters.
– is defined as a fit between the attributes of an actual product and its specification.

Fitness for use (quality of design) and conformance to specification


(quality of conformance) provide the fundamental basis for managing the
processes to produce quality products.

Good quality can be attained only when both, quality of


design and quality of conformance are good.
Problems with Software Quality
• Software specifications are usually incomplete and
often inconsistent
• There is tension between:
– customer quality requirements (efficiency, reliability, etc.)
– developer quality requirements (maintainability,
reusability, etc.)
• Some quality requirements are hard to specify in an
unambiguous way
– directly measurable qualities (e.g., errors/KLOC),
– indirectly measurable qualities (e.g., usability).

Quality managementPriesparnedoby:tNajzuishsNtoumaanbout reducing defects!


Hierarchical Quality Model
Define quality via hierarchical quality model, i.e. a number of
quality attributes (a.k.a. quality factors, quality aspects, ...)
Choose quality attributes (and weights) depending on the
project context
Quality attribute
...

Reliability may be further


refined into
Software Efficiency subattributes
Quality
Usability

Maintainability

Portability
Quality Attributes
Quality attributes apply both to the product and
the process.

• product: delivered to the customer


• process: produces the software product
• resources: (both the product and the process
require resources)
– Underlying assumption: a quality process leads to
a quality product
Productivity, Timeliness, Visibility ...

Timeliness
Function
• Ability to deliver the
System
product on time User needs capability
– important for
marketing (“short
time to market”)
– often a reason to Time
sacrifice other t0 t1 t2 t3 t4
quality attributes initial
delivery redesign
– incremental
development may
provide an answer
Productivity, Timeliness, Visibility ...

Visibility (Transparency)
• Current process steps and project status are
accessible
– important for management
– also deal with staff turn-over
Quality Assurance – What is it?
• Achieving Quality
– Product and software quality does not happen by accident
and is not something that can be added on after the fact.
– To achieve quality, we must plan for it from the beginning,
and continuously monitor it day to day
– This requires discipline
– Methods and disciplines for achieving quality results are
the study of Quality Assurance or QA
Quality Assurance – What is it?
• Three General Principles of QA
▪ Know what you are doing
▪ Know what you should be doing
▪ Know how to measure the difference
QA Principle 1: Know What You Are
Doing
• In the context of software quality, this means continuously
understanding what it is you are building, how you are
building it and what it currently does

• This requires organization, including having a management


structure, reporting policies, regular meetings and reviews,
frequent test runs, and so on

• We normally address this by following a software process with


regular milestones, planning, scheduling, reporting and
tracking procedures
QA Principle 2: Know What You Should
be Doing
• In the context of software quality, this means having
explicit requirements and specifications.

• These must be continuously updated and tracked as part


of the software development and evolution cycle.

• We normally address this by requirements and use-case


analysis, explicit acceptance tests with expected results,
explicit prototypes, frequent user feedback.

• Particular procedures and methods for this are usually


part of our software process
QA Principle 3: Know How to Measure
the Difference
• In the context of software quality, this means having
explicit measures comparing what we are doing to what
we should be doing
• Achieved using four complementary methods:
– Formal Methods - consists of using mathematical models or
methods to verify mathematically specified properties
– Testing - consists of creating explicit inputs or environments to
exercise the software, and measuring its success
– Inspection- consists of regular human reviews of requirements,
design, architecture, schedules and code
– Metrics- consists of instrumenting code or execution to
measure a known set of simple properties related to quality
Achieving Software Quality
• Software Process
– Software quality is achieved by applying these
techniques in the framework of a software
process
– There are many software processes proposed, of
which extreme Programming is one of the more
recent
Achieving Software Quality
• Standards and Disciplines
– Because of the importance of quality in software
production and the relatively bad track record of the past,
many standards and disciplines have been developed to
enforce quality practice
Examples are
– Total Quality Management (TQM),
– the Capability Maturity Model (CMM),
– the Personal Software Process (PSP),
– the Microsoft Shared Development Process (SDP),
– the Rational Unified Process (RUP),
– and ISO 9000

You might also like