0% found this document useful (0 votes)
58 views19 pages

Software Reliability1

Software reliability refers to the ability of software to perform as intended under normal operating conditions for a specified period of time. It can be measured using metrics like mean time between failures, probability of failure on demand, and rate of occurrence of failures. Software reliability is impacted by factors like complexity, quality assurance processes, development methodology, and testing coverage. The ISO 9000 standard provides a framework for quality management principles that can improve software reliability when followed.

Uploaded by

RITIKA
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)
58 views19 pages

Software Reliability1

Software reliability refers to the ability of software to perform as intended under normal operating conditions for a specified period of time. It can be measured using metrics like mean time between failures, probability of failure on demand, and rate of occurrence of failures. Software reliability is impacted by factors like complexity, quality assurance processes, development methodology, and testing coverage. The ISO 9000 standard provides a framework for quality management principles that can improve software reliability when followed.

Uploaded by

RITIKA
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
You are on page 1/ 19

SOFTWARE RELIABILITY

WHAT IS SOFTWARE RELIABILITY?

 Software Reliability means Operational reliability.


 It is described as the ability of a system or component to perform its
required functions under static conditions for a specific period.
 It also defined as the probability that a software system fulfills its assigned
task in a given environment for a predefined number of input cases,
assuming that the hardware and the input are free of error.
 Software Reliability is an essential connect of software quality, composed
with functionality, usability, performance, serviceability, capability,
maintainability, and documentation.
 While the complexity of software is inversely associated with software
reliability, it is directly related to other vital factors in software quality,
especially functionality, capability, etc.
Hardware Vs Software Reliability
Hardware Reliability Software Reliability
Hardware faults are mostly physical Software faults are design faults,
faults. which are tough to visualize, classify,
detect, and correct.
Hardware components generally fail Software component fails due to
due to wear and tear. bugs.
In hardware, design faults may also In software, we can simply find a strict
exist, but physical faults generally corresponding counterpart for
dominate. "manufacturing" as the hardware
manufacturing process, if the simple
action of uploading software modules
into place does not count. Therefore,
the quality of the software will not
change once it is uploaded into the
storage and start running
CLASSIFICATION OF SOFTWARE
FAILURES
 Transient failure: These failures only occur with specific inputs.
 Permanent failure: This failure appears on all inputs.
 Recoverable failure: System can recover without operator help.
 Unrecoverable failure: System can recover with operator help only.
 Non-corruption failure: Failure does not corrupt system state or data.
 Corrupting failure: It damages the system state or data.
WAYS OF CHARACTERISING SOFTWARE
FAILURES
 Time of failure
 Time interval between failures
 Cumulative failure experienced up to a given time
 Failures experienced in a time interval
 Failure behaviour is characterized by two factors: the number of faults in a
software being executed, the execution environment or operational profile
of execution.
SOFTWARE RELIABILITY MEASUREMENT
TECHNIQUES
 Reliability metrics are used to quantitatively expressed the reliability of the
software product.
 The option of which parameter is to be used depends upon the type of
system to which it applies & the requirements of the application domain.
 Measuring software reliability is a severe problem because we don't have a
good understanding of the nature of software.
 Even the software estimates have no uniform definition. If we cannot
measure the reliability directly, something can be measured that reflects
the features related to reliability.
SOME RELIABILITY METRICS IN TERMS OF
FAILURE
 Mean Time To Failure is described as the time interv al between the two successiv e failures.
An MTTF of 200 mean that one failure can be expected each 200-time units. The time units are
entirely dependent on the system & it can ev en be stated in the number of transactions.
 Mean Time To Repair: Once failure occurs, some-time is required to fix the error. MTTR measures
the av erage time it takes to track the errors causing the failure and to fix them.
 Mean Time Between Failure :We can merge MTTF & MTTR metrics to get the MTBF metric.
MTBF = MTTF + MTTR
 Probability of Failure on Demand (POFOD) is described as the probability that the system will fail
when a serv ice is requested. It is the number of system deficiency giv en several systems inputs.
 Rate of occurrence of failure (ROCOF) is the number of failures appearing in a unit time
interval. A ROCOF of 0.02 mean that two failures are likely to occur in each 100 operational time
unit steps. It is also called the failure intensity metric.
PRODUCT METRICS

 Product metrics are those which are used to build the artifacts, i.e., requirement
specification documents, system design documents, etc.
 Software size is thought to be reflective of complexity, development effort, and reliability.
Lines of Code (LOC), or LOC in thousands (KLOC), is an initial intuitive approach to
measuring software size
 Function point metric is a technique to measure the functionality of proposed software
development based on the count of inputs, outputs, master files, inquires, and interfaces.
 Test coverage metric size fault and reliability by performing tests on software products,
assuming that software reliability is a function of the portion of software that is successfully
verified or tested.
 Complexity is directly linked to software reliability, so representing complexity is essential.
The representative metric is McCabe's Complexity Metric.
 Quality metrics measure the quality at various steps of software product development. An
vital quality metric is Defect Removal Efficiency (DRE). DRE provides a measure of quality
because of different quality assurance and control activities applied throughout the
development process.
PROJECT MANAGEMENT METRICS

 Project metrics define project characteristics and execution.


 Higher reliability can be achieved by using a better development process,
risk management process, configuration management process.
 Number of software developers
 Staffing pattern over the life-cycle of the software
 Cost and schedule
 Productivity
PROCESS METRICS

 Process metrics quantify useful attributes of the software development


process & its environment.
 The goal of process metric is to do the right job on the first time through the
process.
 Process metrics can be used to estimate, monitor, and improve the
reliability and quality of software.
 The effort required in the process
 Time to produce the product
 Effectiveness of defect removal during development
 Number of defects found during testing
 Maturity of the process
SOFTWARE QUALITY ATTRIBUTES
Attribute domain Attributes
Reliability Correctness, Consistency and
Precision,Robustness,
Simplicity,Traceability
Usability Accuracy,Clarity and accuracy of
documentation , Conformity of
operational environment,
Completeness, Efficiency, Testability
Maintainability Clarity and accuracy of
documentation ,Modularity, Simplicity
and Readibility
Adaptability Modifiability,Expandibility,Portability
QUALITY FACTORS ACCORDING TO
McCall SOFTWARE QUALITY MODEL
BOEHM SOFTWARE QUALITY MODEL
ISO 9000 FOR SOFTWARE QUALITY

 The ISO 9000 standard determines the guidelines for maintaining a quality
system.
 Set of documents dealing with quality systems used for quality assurance
 Series of five related standards applicable to wide variety of industrial
activities including design/development, production, installation and
servicing. These are:
 Meet stakeholder needs
 Be usable by all sizes of organizations
 Be usable by all sectors
 Be simple and clearly understood
 Connect quality management system to business processes
QUALITY MANAGEMENT PRINCIPLES OF
ISO 9000
QUALITY MANAGEMENT PRINCIPLES

Principle Aim
Customer Focus Understand the needs of existing and
future customers,
Align organizational objectives with
customer needs and expectations
Meet customer requirements
Leadership Establish a vision and direction for the
organization
Set challenging goals
Model organizational values
Establish trust
Engagement of people Ensure that people’s abilities are used
and valued
Make people accountable
Enable participation in continual
improvement
Evaluate individual performance
Principle Aim
Process approach Manage activities as processes
Measure the capability of activities
Identify linkages between activities
Prioritize improvement opportunities
Improvement Improve organizational performance
and capabilities
Align improvement activities
Empower people to make
improvements
Measure improvement consistently
Evidence based decision making Ensure the accessibility of accurate
and reliable data
Use appropriate methods to analyze
data
Make decisions based on analysis

Relationship management Identify and select suppliers to


manage costs, optimize resources,
and create value
Establish relationships considering both

You might also like