0% found this document useful (0 votes)
24 views18 pages

Part 1

Management of software systems

Uploaded by

u2203162
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)
24 views18 pages

Part 1

Management of software systems

Uploaded by

u2203162
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/ 18

Module 5 : Software Quality, Process Improvement and Technology

trends (6 hours)

Software quality, software quality dilemma, achieving


software quality elements of software quality assurance,
SQA tasks , software measurement and metrics. Software
process improvement(SPI), SPI process CMMI process
improvement framework, ISO 9001:2000 for software.
Cloud-based software - virtualisation and containers,
everything as a service(iaas, paas), software as a service.
Microservices architecture - microservices, microservices
architecture, microservice deployment
SOFTWARE QUALITY,
SOFTWARE QUALITY DILEMMA,
ACHIEVING SOFTWARE
QUALITY
[BOOK 2 - CHAPTER 19]
5.1
SOFTWARE QUALITY
• An effective software process applied in a manner that creates a useful product that
provides measurable value for those who produce it and those who use it.
• The definition serves to emphasize three main points:
• An effective software process establishes the infrastructure that supports any effort
at building a high-quality software product. Software engineering practices allow
the developer to analyze the problem and design a solid solution—both critical to
building high-quality software. Umbrella activities such as change management and
technical reviews have as much to do with quality.
• A useful product delivers the content, functions, and features that the end user
desires in a reliable, error-free way. A useful product always satisfies those
requirements that have been explicitly stated by stakeholders. In addition, it satisfies
a set of implicit requirements (e.g., ease of use) that are expected of all high-quality
software.
SOFTWARE QUALITY

• By adding value for both the producer and user of a software product, high-quality
software provides benefits for the software organization and the end-user
community. The software organization gains added value because high-quality
software requires less maintenance effort, fewer bug fixes, and reduced customer
support. This enables software engineers to spend more time creating new
applications and less on rework. The user community gains added value because the
application provides a useful capability in a way that expedites some business
process.
1 SOFTWARE QUALITY
• High-quality software provides benefits for the software organization and the
end-user community.
• The end result is
• (1) greater software product revenue,
• (2) better profitability when an application supports a business process, and/or
• (3) improved availability of information that is crucial for the business.
1.1GARVIN’S QUALITY DIMENSIONS
• Performance quality. Does the software deliver all content, functions, and features that are
specified as part of the requirements model in a way that provides value to the end user?
• Feature quality. Does the software provide features that surprise and delight first-time end
users?
• Reliability. Does the software deliver all features and capability without failure? Is it available
when it is needed? Does it deliver functionality that is error free?
• Conformance. Does the software conform to local and external software standards that are
relevant to the application? Does it conform to de facto Design and coding conventions? For
example, does the user interface conform to accepted design rules for menu selection or data
input?
• Durability. Can the software be maintained (changed) or corrected (debugged) without the
inadvertent generation of unintended side effects? Will changes cause the error rate or reliability
to degrade with time?
1.1GARVIN’S QUALITY DIMENSIONS

• Serviceability. Can the software be maintained (changed) or corrected (debugged) in an


acceptably short time period? Can support staff acquire all information they need to make
changes or correct defects?
• Aesthetics. There’s no question that each of us has a different and very subjective vision of what
is aesthetic. And yet, most of us would agree that an aesthetic entity has a certain elegance, a
unique flow, and an obvious “presence” that are hard to quantify but are evident nonetheless.
Aesthetic software has these characteristics.
• Perception. In some situations, you have a set of prejudices that will influence your perception of
quality. For example, if you are introduced to a software product that was built by a vendor who
has produced poor quality in the past, your guard will be raised and your perception of the current
software product quality might be influenced negatively. Similarly, if a vendor has an excellent
reputation, you may perceive quality, even when it does not really exist.
1.2 MCCALL’S QUALITY FACTORS
1.2 MCCALL’S QUALITY FACTORS
• Correctness: The extent to which a program satisfies its specification and fulfills
the customer’s mission objectives
• Reliability: The extent to which a program can be expected to perform its
intended function with required precision.
• Efficiency: The amount of computing resources and code required by a program
to perform its function.
• Integrity: Extent to which access to software or data by unauthorized persons
can be controlled.
• Usability: Effort required to learn, operate, prepare input for, and interpret
output of a program.
• Maintainability: Effort required to locate and fix an error in a program.
1.2 MCCALL’S QUALITY FACTORS
• Flexibility: Effort required to modify an operational program.
• Testability: Effort required to test a program to ensure that it performs its
intended function.
• Portability: Effort required to transfer the program from one hardware and/or
software system environment to another.
• Reusability: Extent to which a program [or parts of a program] can be reused in
other applications—related to the packaging and scope of the functions that the
program performs.
• Interoperability: Effort required to couple one system to another.
1.3 ISO 9126 QUALITY FACTORS
• The ISO 9126 standard was developed in an attempt to identify the
key quality attributes for computer software. The standard identifies
six key quality attributes:
• Functionality: The degree to which the software satisfies stated needs as
indicated by the following sub attributes: suitability, accuracy,
interoperability, compliance, and security.
• Reliability: The amount of time that the software is available for use as
indicated by the following sub attributes: maturity, fault tolerance,
recoverability.
• Usability: The degree to which the software is easy to use as indicated by the
following sub attributes: understandability, learnability, operability.
1.3 ISO 9126 QUALITY FACTORS
• Efficiency: The degree to which the software makes optimal use of system
resources as indicated by the following sub attributes: time behavior, resource
behavior.
• Maintainability: The ease with which repair may be made to the software as
indicated by the following sub attributes: analyzability, changeability,
stability, testability.
• Portability: The ease with which the software can be transposed from one
environment to another as indicated by the following sub attributes:
adaptability, install ability, conformance, replaceability
2 SOFTWARE QUALITY DILEMMA
• The term "SOFTWARE QUALITY DILEMMA" encapsulates a challenging situation or
conflict related to achieving optimal software quality, often involving difficult trade-offs
or decisions in development or maintenance.
• The quality dilemma is basically two fold:
• If you produce a software system that has terrible quality, you lose because no one will
want to buy it.
• Spend too much time on quality measures and no one gets to buy/use it because it either
costs too much, or is still being worked on.
• Either you missed the market window, or you simply exhausted all your resources.
• So people in industry try to get to that magical middle ground where the product is good
enough not to be rejected right away, such as during evaluation, but also not the object
of so much perfectionism and so much work that it would take too long or cost too much
to complete.
2 SOFTWARE QUALITY DILEMMA

• Good enough software: good enough software delivers high-quality functions


and features that end users desire, but at the same time it delivers other more
obscure or specialized functions and features that contain known bugs.
• The software vendor hopes that the vast majority of end users will overlook the
bugs because they are so happy with other application functionality.
• The cost of quality includes all costs incurred in the pursuit of quality or in
performing quality-related activities and the downstream costs of lack of quality
2.1THE COST OF QUALITY
• Prevention costs include
• (1) the cost of management activities required to plan and coordinate all quality control and
quality assurance activities,
• (2) the cost of added technical activities to develop complete requirements and design models,
• (3) test planning costs, and
• (4) the cost of all training associated with these activities.

• Appraisal costs include activities to gain insight into product condition the “first
time through” each process. Examples of appraisal costs include:
• (1) the cost of conducting technical reviews for software engineering work products,
• (2) the cost of data collection and metrics evaluation and
• (3) the cost of testing and debugging
2.1THE COST OF QUALITY
• Failure costs are those that would disappear if no errors appeared before shipping
a product to customers. Failure costs may be subdivided into internal failure costs
and external failure costs. Internal failure costs are incurred when you detect an
error in a product prior to shipment.
• Internal failure costs include:
• (1) the cost required to perform rework (repair) to correct an error,
• (2) the cost that occurs when rework inadvertently generates side effects that must be
mitigated, and
• (3) the costs associated with the collection of quality metrics that allow an organization to
assess the modes of failure

• External failure costs are associated with defects found after the product has been
shipped to the customer
3 ACHIEVING SOFTWARE QUALITY
• Management and practice are applied within the context of four broad activities
that help a software team achieve high software quality
• Software engineering methods
• To build high-quality software, you must understand the problem to be solved.

• Project management techniques


• (1) a project manager uses estimation to verify that delivery dates are achievable,
• (2) schedule dependencies are understood and the team resists the temptation to use shortcuts,
• (3) risk planning is conducted so problems do not breed chaos, software quality will be affected in a
positive way.

• Quality control
• Quality control encompasses a set of software engineering actions that help to ensure that each work
product meets its quality goals. Models are reviewed to ensure that they are complete and consistent.
Code may be inspected in order to uncover and correct errors before testing commences
3 ACHIEVING SOFTWARE QUALITY

• Quality assurance
• Quality assurance establishes the infrastructure that supports solid software engineering
methods, rational project management, and quality control actions—all pivotal if you intend
to build high-quality software
• The goal of quality assurance is to provide management and technical staff with the data
necessary to be informed about product quality, thereby gaining insight and confidence that
actions to achieve product quality are working

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy