SQM Notes
SQM Notes
SQM Notes
Unit 1
Software quality management is concerned with ensuring that software meets its
required standards
Quality assurance procedures should be documented in an organisational quality
manual
Software standards are an encapsulation of best practice
Reviews are the most widely used approach for assessing software quality
Software measurement gathers information about both the software process and the
software product
Product quality metrics should be used to identify potentially problematical
components
Quality Assurance:
Quality Planning:
Quality control:
Software Functional Quality − It reflects how well it satisfies a given design, based
on the functional requirements or specifications.
A hierarchical model of software quality is based upon a set of quality criteria, each
of which has a set of measures or metrics associated with it.
Boehm’s Model
The highest level of Boehm’s model has the following three primary uses stated as
below
1. As is the utility: The extent to which, we can use software as-is.
2. Maintainability: Effort required detecting and fixing an error during maintenance.
3. Portability: Effort required changing the software to fit in a new environment.
o DEVICE INDEPENDENCE,
O ACCURACY,
O COMPLETENESS,
O CONSISTENCY,
O DEVICE EFFICIENCY,
O ACCESSIBILITY,
O COMMUNICATIVENESS,
O SELF-DESCRIPTIVENESS,
O LEGIBILITY,
O STRUCTURED NESS,
O CONCISENESS,
O AUGMENT-ABILITY.
McCall’s Software Quality Model was introduced in 1977. This model is incorporated
with many attributes, termed as software factors, which influence software. The model
distinguishes between two levels of quality attributes:
Quality Factors
Quality Criteria
Quality Factors: The higher-level quality attributes which can be accessed directly are
called quality factors. These attributes are external attributes. The attributes at this level are
given more importance by the users and managers.
Quality Criteria: The lower or second-level quality attributes that can be accessed either
subjectively or objectively are called Quality Criteria. These attributes are internal
attributes. Each quality factor has many second-level of quality attributes or quality criteria.
The difference between Boehm’s and McCall’s Models is that McCall’s Quality
Model primarily focuses on precise measurement of high-level characteristics,
whereas Boehm’s Quality Model is based on a wider range of characteristics.
Parts of Standard
Part-1: Software Engineering: Product Quality “Quality model”: It describes the quality
model framework which explains relationships between different approaches to quality as
well as identifying quality characteristics and sub-characteristics of software products.
Part-2: Software Engineering: Product Quality “External Metrics”: Its use is to describe
external metrics that are used to measure characteristics and sub-characteristics which are
identified in part 1.
Part-3: Software Engineering: Product Quality “Internal Metrics”: Its use is to describe
internal metrics that are used to measure characteristics and sub-characteristics which are
identified in part 1.
Part-4: Software Engineering: Product Quality “Quality in use metrics”: Its use is to
identify metrics that are used to measure the effects of combined quality characteristics for
users.
Quality model is classified into two categories as depicted in the following figure:
Product:
In the context of software engineering, Product includes any software manufactured based
on the customer’s request. This can be a problem solving software or computer based
system. It can also be said that this is the result of a project.
Process:
Process is a set of sequence steps that have to be followed to create a project. The main
purpose of a process is to improve the quality of the project. The process serves as a
template that can be used through the creation of its examples and is used to direct the
project.
The main difference between a process and a product is that the process is a set of steps that
guide the project to achieve a convenient product. while on the other hand, the product is
the result of a project that is manufactured by a wide variety of people.
Product is the final production of While the process is a set of sequence steps that have
the project. to be followed to create a project.
A product focuses on the final Whereas the process is focused on completing each
result. step being developed.
Software metrics are used to find defects in code, predicting defective code, predicting
project success, and predicting project risk.
Quality is the degree to which any product or service possesses a desired combination of
attributes, to satisfy the stated and implied needs.
• KLOC – this classic metric measures the size of software by thousands of code lines.
KLOC (thousands of lines of code) is a traditional measure of how large a computer
program is or how long or how many people it will take to write it. The code
measured is usually source code
LLOC = Number of logical lines of code LLOC counts all logical lines except the
following:
Class LLOC <= 1500 File LLOC <= 2000 Minimum acceptable LLOC Procedure LLOC >=
3 Class LLOC >= 3 File LLOC >= 1
Function points are a unit measure for software much like an hour is to measuring time,
miles are to measuring distance or Celsius is to measuring temperature. Function Point
Analysis, systems are divided into five large classes and general system characteristics:
⦿External Inputs
⦿External Outputs
⦿External Inquires
⦿Logical Files
⦿External Interface Files Transactions Logical Information
External Inputs (EI): It is an elementary process in which data crosses the boundary from
outside to inside. This data may come from a data input screen or another application. The
data may be used to maintain one or more internal logical files. The data can be either
control information or business information. The graphic represents a simple EI that updates
2 ILF's (FTR's).
External Outputs (EO): Is an elementary process in which derived data passes across the
boundary from inside to outside. Additionally, an EO may update an ILF. The data creates
reports or output files sent to other applications. These reports and files are created from one
or more internal logical files and external interface file. The following graphic represents on
EO with 2 FTR's there is derived information (green) that has been derived from the ILF's
External Inquiry (EQ) An elementary process with both input and output components that
result in data retrieval from one or more internal logical files and external interface files. The
input process does not update any Internal Logical Files, and the output side does not contain
derived data. The graphic below represents an EQ with two ILF's and no derived data.
Internal Logical Files (ILF’s) - a user identifiable group of logically related data that resides
entirely within the applications boundary and is maintained through external inputs.
External Interface Files (EIF’s) - a user identifiable group of logically related data that is
used for reference purposes only. The data resides entirely outside the application and is
maintained by another application. The external interface file is an internal logical file for
another application.
Project Metrics are the measures of Software Project and are used to monitor and control the
project. Project metrics usually show how project manager is able to estimate schedule and
cost.
1. Simple scoring: In this method, each criterion is allocated a score. The overall quality is
given by the mean of the individual scores.
2. Weighted scoring: This scheme allows the user to weight each criterion according to how
important they consider them to be. Each criterion is evaluated to produce a score between 0
and 1. Each score is weighted before summation and the resulting figure reflects the relative
importance if the different factors.