0% found this document useful (0 votes)
7 views

Softawre Quality

Software Engineering

Uploaded by

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

Softawre Quality

Software Engineering

Uploaded by

R. RAMAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 60

UNIT 5 SOFTWARE

PROJECT MANAGEMENT
(CSN 15101)

Dr. Manoj wairiya

1
UNIT-5
Software Quality

2
Table of Contents:

Software Quality Assurance


o Software Quality Assurance-Introduction
Software Quality-Definition
o Software Quality Attributes
Software Quality in Project Planning
Software Quality Models

3
Table of Contents…
o McCall Model
o FURPS Model
o Boehm Model
o ISO - 9126 Standards
• ISO - 9126 Quality Characteristics
• ISO - 9126 Standard
• ISO - 9126 Observations
 Product Quality Management
o Product Quality Management - Components
4
Table of Contents…

o Product Quality Management - Benefits


o Product Quality Management - Key Capabilities
o Process Quality Management
 Software Engineering Institute Capability Maturity Model
(SEICMM)
o Methods of SEICMM
o Levels of SEICMM
 Conclusion
5
Software Quality Assurance-
Introduction
Software Quality Assurance (SQA) as a ‘planned and
systematic pattern of all actions necessary to provide
adequate confidence that the item or product follows to
established technical requirements’.
SQA does this by checking that:
o plans are defined according to standards
o procedures are performed according to plans
o products are implemented according to standards
6
Software Quality Assurance-
Introduction…
A procedure defines how an activity will be conducted.
Procedures are defined in plans, such as a Software
Configuration Management Plan.
A product is a deliverable to a customer.
Software products are code, user manuals and technical
documents, such as an Architectural Design Document.

7
Software Quality Assurance-
Introduction…

Examples of product standards are design and coding


standards and the standard document templates.
SQA checks procedures against plans and output products
against standards whereas Software Verification and
Validation (SVV) checks output products against input
products.

8
SQA
Standard Check output SQA
s products report
Plans against s
standards and
plans

Input Output
Products Products
Developme
nt Activity
SVV SVV
Check output report
product against s
input products

SQA vs SVV
9
Formal SQA Definition:

The correct definition of Software Quality Assurance:


The function of software quality that assures that the
standards, processes, and procedures are appropriate for
the project and are correctly implemented.
Similar definitions for commercial SQA practitioners are:
It tells us little about what SQA is other than repeating the
definition. That is, it uses the defined terms “assures” and
“software”.
10
Formal SQA Definition…

It doesn’t provide a scope for someone responsible for


Software Quality Assurance.
It doesn’t address the role or relationship with Software
Testing.
In its pure form under which a separate ‘audit’ style group
needs to be established, it is difficult to apply to a small
development environment.
11
Software Quality Attributes:

FURPS+ model which was developed by Robert Grady at


Hewlett Packard is defined for Software Quality
Attributes.
Under the FURPS, the following characteristics are
identified:
o Functionality: The F in the FURPS+ acronym
represents all the system-wide functional requirements.
These usually represent the main product features that
are familiar within the business domain of the solution
12
being developed. The functional requirements can also
be very technically oriented. Each of these may
Software Quality Attributes…

o Usability: Usability includes looking at capturing and


stating requirements based around user interface
issues things such as accessibility, interface aesthetics,
and consistency within the user interface.
o Reliability: Reliability includes aspects such as
availability, accuracy, and recoverability. For example,
computations or recoverability of the system from shut-
down failure.
13
Software Quality Attributes…

o Performance: Performance involves things such as


throughput of information through the system, system
response time (which also relates to usability),
recovery time, and startup time.
o Supportability: Finally, we tend to include a section
called Supportability, where we specify a number of
other requirements such as testability, adaptability,
maintainability, compatibility, configurability,
installability, scalability, localizability, and so on. 14
Supportabi
lity

Functiona Performan
lity ce
FURP
S

Usability Reliability

FURPS Model 15
Software Quality in Project Planning:

 Quality planning is the process of developing a quality plan for a


project.
 The quality plan defines the quality requirements of software and
describes how these are to be assessed.
 The quality plan selects those organizational standards that are
appropriate to a particular product and development process.
 Quality plan has the following parts:
o Introduction of product
o Product plans
16
Software Quality in Project Planning…

o Process descriptions
o Quality goals
o Risks and risk management
The quality plan defines the most important quality attributes for
the software and includes a definition of the quality assessment
process.
Table given shows, generally used software quality attributes that
can be considered during the quality planning process.
17
Safety Understandability Portability
Security Testability Usability
Reliability Adaptability Reusability

Resilience Modularity Efficiency

Robustness Complexity Learnability

Maintainability

Software Quality Attributes

18
Software Quality Models:

McCall Model
o McCall’s model was developed to improve the quality of
software products at software development companies.
o The model was developed to assess the relationships
between external factors and product quality criteria.
o The quality characteristics were classified in three
major types.

19
Software Quality Models:

o Eleven such factors which describe the external view of


the software (user view), twenty three quality criteria
which describe the internal view of the software
(developer view), and the metrics which define and are
used to provide a scale and method for measurement.
o The total number of factors was reduced to eleven in
order to simplify it.

20
Software Quality Models…

o Those factors are Correctness, Integrity, Reliability,


Efficiency, Usability, Flexibility, Maintainability,
Reusability, Testability, Portability, and Interoperability.
o The major contribution of this model is the relationship
between the quality characteristics and metrics.
o But, this model does not consider directly on the
functionality of software products.

21
Software Quality Models…

 Boehm Model
o Boehm added new factors to McCall’s model with
emphasis on the maintainability of software product
at software development companies.
o The main aim of this model is to address the
contemporary shortcomings of models that automatically
and quantitatively evaluate the quality of software.
22
Software Quality Models…

o Thus, Boehm model represents the characteristics of the


software product hierarchically in order to get contribute in
the total quality.
o Also, the software product evaluation considered with
respect to the utility of the program and suggest about
measuring the quality characteristics.

23
Software Quality Models…
FURPS Model
o FURPS model was proposed by and Hewlett-Packard
Co and Robert Grady.
o The attributes were classified into two main categories
according to the user’s requirements, the functional
and non-functional requirements.
o Functional requirements (F): Defined by input and
expected output.
o Non-functional requirements (URPS):Usability,
24

reliability, performance, supportability.


Software Quality Models…

o Also, this model was extended by IBM Rational


Software – into FURPS+.
o Thus, this model considered only the user’s
requirements and disregards the developer
consideration.
o But, this model fails to take into account the software
some of the product characteristics, like
maintainability and portability.
25
Software Quality Models…

ISO-9126 Standards
o ISO 9126 is an international standard for the
evaluation of software.
o The standard is divided into four parts which addresses
respectively the following subjects: quality model;
external metrics; internal metrics; and quality in use
metrics.
o ISO 9126 Part one, referred to as ISO 9126-1 is an
extension of previous work done by McCall (1977), 26

Boehm (1978), FURPS and others in defining a set of


Software Quality Models…

o ISO9126-1 represents the latest (and ongoing) research into


characterizing software for the purposes of software quality control,
software quality assurance and software process improvement (SPI).
o The ISO 9126 documentation itself from the official ISO 9126
documentation can only be purchased and is subject to copyright.
o SQA.net only reproduces the basic structure of the ISO 9126 standard
and any descriptions, commentary or guidance are original material
based on public domain information as well as our own experience.

27
Software Quality Models…

ISO-9126 Quality Characteristics

 The ISO 9126-1 software quality model identifies 6 main quality characteristics:

o Functionality

o Reliability o Efficiency
28

o Maintainability
Software Quality Models…

Functionality:
o Functionality is the essential purpose of any product or service.
o The more functions a product has, e.g. an ATM machine, then
the more complicated it becomes to define it's functionality.
o For software a list of functions can be specified, i.e. a sales order
processing systems should be able to record customer
information so that it can be used to reference a sales order.

29
Software Quality Models…
Reliability
o Once a software system is functioning as specified and
delivered, the reliability characteristic defines the
capability of the system to maintain its service
provision under defined conditions for defined periods
of time.
o One aspect of this characteristic is fault tolerance that
is the ability of a system to withstand component
failure.
30

o For example if the network goes down for 20 seconds


then comes back the system should be able to recover
Software Quality Models…

Usability:
o Usability only exists with regard to functionality and
refers to the ease of use for a given function.
o For example a function of an ATM machine is to
dispense cash as requested. Placing common amounts
on the screen for selection does not impact the function
of the ATM but addresses the Usability of the function.
o The ability to learn how to use a system (learnability) is
also a major sub characteristic of usability. 31
Software Quality Models…

Efficiency:
o This characteristic is concerned with the system resources
used when providing the required functionality.
o The amount of disk space, memory, network etc. provides a
good indication of this characteristic.
o For example the usability of a system is influenced by the
system's Performance, in that if a system takes 3 hours to
respond the system would not be easy to use although the 32

essential issue is a performance or efficiency characteristic.


Software Quality Models…

Maintainability:
o The ability to identify and fix a fault within a software
component is what the maintainability characteristic
addresses.
o In other software quality models this characteristic is
referenced as supportability.
o Maintainability is impacted by code readability or
complexity as well as modularization.
33
Software Quality Models…

o Anything that helps with identifying the cause of a fault


and then fixing the fault is the concern of
maintainability.
o Also the ability to verify (or test) a system, i.e.
testability, is one of the sub-characteristics of
maintainability.

34
Software Quality Models…

Portability
o This characteristic refers to how well the software can adopt
to changes in its environment or with its requirements.
o The sub-characteristics of this characteristic include
adaptability.
o Object oriented design and implementation practices can
contribute to the extent to which this characteristic is
present in a given system.

35
Sub-Factors Suitability Maturity Sub-Factors
Fault
Accuracy Tolerance
Recoverabili
Factors Security
ty
Interoperabi Compliance
Functionalit lity
y Compliance Analyzability
Changeabilit
Reliability Time y
behavior Stability
Resource
Efficiency Behavior Testability
ISO/EC
Quality

9126

Compliance Compliance
Maintainabil
Understandab
ity Adaptability
ility
Install-
Portability Learnability
ability
Coexistence Operability
Usability Replace- Attractivene
ability ss
Compliance Compliance
Software Quality Models…
ISO – 9126 Observations:
 For the most part, the overall structure of ISO9126-1 is similar to past
models, McCall (1977) and Boehm (1978), although there are a couple
of notable differences.
 In many requirements specifications all characteristics that are
specified, that are not pure functional requirements are specified as
Non-Functional requirements.
 With ISO-9126 compliance is seen as a functional characteristic.
 Using the ISO 9126 (or any other quality model) for derivation of
system requirements brings clarity of definition of purpose and
operating capability. 37
Software Quality Models…
ISO – 9126 Observations…

The functionality for compliance could be implemented in


other ways but these other implementation methods may
not produce as strong an adaptability characteristic as a
rules, or some other component based, architecture.
Also, a designer typically will need to make trade offs
between two or more characteristics when designing the
system.
38
Software Quality Models…
ISO – 9126 Observations…

Consider highly modularized code, this code is usually


easy to maintain, i.e. has a good changeability
characteristic, but may not perform as well (for cpu
resource, as unstructed program code).
On a similar way, a normalized database may not perform
as well as a not normalized database. These trade offs
need to be identified, so that informed design decisions
can be made.
39
Product Quality Management:

Product quality management is a comprehensive set of


tools that enables organizations to control and manage the
data related to product quality across enterprises.
This product data includes product and manufacturing
defects, field failures, customer complaints, product
improvements and corrective and preventive actions
requests.

40
Product Quality Management -
Components:
Quality management includes four major components:

o Quality Planning: Continuous efforts to track defects and


determine the causes behind them.
o Quality Control: Reducing production, repair and warranty
costs through defect tracking and repair.
o Quality Assurance: Effective tracking of problem reports
and customer complaints in an effort to resolve the queries in
a timely fashion. 41
Product Quality Management -
Components...

o Quality Improvement: Interaction with other


enterprise customer relationship management systems
and integration with other enterprises for importing
customer complaints, quality related information and
manufacturing problems. This speeds up the quality
tracking process and provides a central repository for
tracking the data related to product quality.

42
Product Quality Management - Benefits:

Regulatory adherence and compliance


Respond to process variation in real-time
Productivity and cost of manufacturing improvements
Actionable, real-time quality-related information

43
Product Quality Management - Key
Capabilities:
 Data monitoring and alarming
 Best-in-class enterprise Statistical Process Control, with
database backbone
 Advanced, interactive trending and charting
 Government and regulatory reporting capabilities
 Historical data collection
 Integration with Laboratory Information Management Systems
(LIMS)
44
Process Quality Management:

Quality Process specializes in the efficient development


and delivery of appealing and satisfying customer
experiences that aid our clients in their success.
An effective Quality Management process provides
support for rapid adoption, consistent and repeatable
application of quality improvement methodologies.
Quality can suffer in distributed environment if it’s not
made a priority.
45
Process Quality Management…

As manufacturers across the globe are experiencing


increased competitive pressure, price erosion and shorter
time-to-market requirements, they also face the challenge
of products being developed and manufactured by
dispersed teams and locations.
Many companies are now focused on improving overall
product quality and streamlining the processes across the
product development and manufacturing organizations.
46
Process Quality Management…

By adopting quality management processes, companies will be


able to implement a formalized quality process that is
optimized for their unique requirements.
It uses a common language and shared terminology across the
company, expose performance bottlenecks and drive
continuous yet controlled process improvements.
Ultimately, quality management process improvements lead to
time-to-market benefits, increased competitive advantage, and
happier customers.
47
Software Engineering Institute
Capability Maturity Model (SEICMM):
The Capability Maturity Model (CMM) is a procedure used
to develop and refine an organization's software
development process.
The model defines a five-level evolutionary stage of
increasingly organized and consistently more mature
processes.
CMM was developed and is promoted by the Software
Engineering Institute (SEI), a research and development
center promote by the U.S. Department of Defense (DOD).
48

Capability Maturity Model is used as a benchmark to


measure the maturity of an organization's software
Methods of SEICMM:

There are two methods of SEICMM:


Capability Evaluation:
o Capability evaluation provides a way to assess the software
process capability of an organization.
o The results of capability evaluation indicate the likely
contractor performance if the contractor is awarded a work.
o Therefore, the results of the software process capability
assessment can be used to select a contractor. 49
Methods of SEICMM…

Software Process Assessment:


o Software process assessment is used by an
organization to improve its process capability.
o Thus, this type of evaluation is for purely internal use.

50
SEICMM

Capability Software Process


Evaluation Assessment

51
Levels of SEICMM:

 Level 1: Initial
o Ad hoc activities characterize a software development
organization at this level.
o Very few or no processes are described and followed.
o Since software production processes are not limited,
different engineers follow their process and as a result,
development efforts become disorganized.
52
Levels of SEICMM…

Level 2: Repeatable
o At this level, the fundamental project management
practices like tracking cost and schedule are
established.
o Size and cost estimation methods, like function point
analysis, COCOMO, etc. are used.

53
Levels of SEICMM…

Level 3: Defined
o At this level, the methods for both management and
development activities are defined and documented.
o There is a common organization-wide understanding of
operations, roles, and responsibilities.
o The ways through defined, the process and product
qualities are not measured.
o ISO 9000 goals at achieving this level.
54
Levels of SEICMM…
Level 4: Managed
o At this level, the focus is on software metrics. Two kinds of
metrics are composed.
o Product metrics measure the features of the product being
developed, such as its size, reliability, time complexity,
understandability, etc.
o Process metrics follow the effectiveness of the process being
used, such as average defect correction time, productivity, the
average number of defects found per hour inspection, the
55
average number of failures detected during testing per LOC, etc.
Levels of SEICMM…

o The software process and product quality are


measured, and quantitative quality requirements
for the product are met.
o The process metrics are used to analyze if a project
performed satisfactorily.
o Thus, the outcome of process measurements is
used to calculate project performance rather than
improve the process. 56
Levels of SEICMM…

Level 5: Optimizing
o At this phase, process and product metrics are
collected.
o Process and product measurement data are
evaluated for continuous process improvement.

57
01
Level 5
Optimizing
Focus on process Improvement

02
Level 4 Processes Measured and Controlled
Quantitatively Managed

03 Processes Characterized for the


Level 3 organization and is proactive.
Defined (Projects tailors their processes from
organization’s standards)
05
Level 2 Processes characterized for projects and is
Repeatable often reactive

06
Level 1 Processes unpredictable, poorly controlled
Initial
and reactive

Levels of SEICMM
58
Conclusion:
 The function of software quality that assures that the
standards, processes, and procedures are appropriate for the
project and are correctly implemented.
 ISO 9126 is a worldwide standard for the evaluation of
software.
 ISO 9126-1 symbolizes the latest research into characterizing
software for the purposes of software quality control, software
quality assurance and software process improvement (SPI).
 Measuring software is a powerful way to track progress
towards project goals. 59
THANK
YOU!
60

You might also like