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

8 (Software Issues Risks and Liabilities)

This document discusses software issues related to risks and liabilities. It covers definitions of key terms, causes of software failures, risks involved, consumer protections, and ways to improve software quality. The causes of failures include human and technical factors. Risks arise from issues like complexity, unrealistic schedules, and changing requirements. Consumer protections involve contracts, warranties, and tort laws. Improving quality requires techniques during development like reviews, inspections, and phased testing.

Uploaded by

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

8 (Software Issues Risks and Liabilities)

This document discusses software issues related to risks and liabilities. It covers definitions of key terms, causes of software failures, risks involved, consumer protections, and ways to improve software quality. The causes of failures include human and technical factors. Risks arise from issues like complexity, unrealistic schedules, and changing requirements. Consumer protections involve contracts, warranties, and tort laws. Improving quality requires techniques during development like reviews, inspections, and phased testing.

Uploaded by

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

Chapter 8: Software Issues: Risks and Liabilities

 Definitions
 Causes of Software Failures
 Risks
 Consumer Protection
 Improving Software Quality
 Producer Protection

Ethical and Social...J.M.Kizza


June 26, 2023 1
Who Will Pay Price for Flawed Software

June 26, 2023 2


Who Will Pay Price for Flawed Software
Discussion Questions
1. Is Peter Efon wrong?
2. What damage would Cybersoft have suffered had there
been a delay?
3. What do you think would have been the right course of
action for Peter and Cybersoft?
4. Can you estimate the damage?

June 26, 2023 3


Definitions
 Software- computer programs made up of a logical
sequence of commands to perform a task.
 The software producer/developer creates
computer programs to meet either general or
specific needs of the consumer
 A buyer gets the benefits of a computer program to
solve a specific task/problem.
 Whenever there is a software there are producers
and consumers.

Ethical and Social...J.M.Kizza


June 26, 2023 4
Definitions…
 There is, therefore, a relationship between software
producers and users made up of: user expectations
and developer limits
 For a healthy relationship all the following must be
agreed on:
 Standards – universally accepted level of confidence

Ethical and Social...J.M.Kizza


June 26, 2023 5
Standards
 Standards depend on:
 Development testing

Testing tries to assure that the program satisfies its
specifications and it detects and prevents design and
implementation faults
 Verification and Validation

The process of verification and validation (V&V) involves
static formal mathematical techniques such as proof of
correctness and dynamic techniques such as testing to
show consistency between the code and the basic initial
specifications.

It works from the specifications of the software and develops
tests that can show that software under review is faulty.

June 26, 2023 6


Definitions
 Reliability – software reliability does not depend on
age and wear and tear like hardware
 Software reliability - is the probability that the
software does not encounter an input sequence
resulting into failure.
 A software product, is reliable if it can continue to
function on numerous unpredictable input
sequences

June 26, 2023 7


Definitions…
 Security- software is secure if it does not contain trapdoors through
which an intruder can access the system.
 Safety – the safety of a software product means the absence of a
likelihood of an accident, a hazard, or a risk
 A number of life critical systems depend on software,

therefore, software safety is important.


 Quality- a software product has quality if it maintains a high degree of
excellence in standards, security, safety, and dependability.
 Improvement of software quality through Total Quality Management
(TQM)
 Quality of Service (QoS)- for a software product, quality of service
(QoS) means providing consistent, predictable service delivery that
will satisfy customer application requirements
 For example, in the case of the Internet, QoS would mean that the network
elements like routers and hosts expect a high level of assurance that its
traffic and service requirements can be satisfied.

June 26, 2023 8


Causes of Software Failures
 There are factors that contribute to software
failures:
 Human factors (page 208/209)

Memory lapses and attentional failures: For example, someone
was supposed to have removed or added a line of code, tested, or
verified but did not because of simple forgetfulness.
 Rush to finish: The result of pressure, most often from
management, to get the product on the market either to cut
development costs or to meet a client deadline can cause
problems.

Overconfidence and use of nonstandard or untested algorithms:
Before algorithms are fully tested by peers, they are put into the
product line because they seem to have worked on a few test runs.

June 26, 2023 9


Causes of Software Failures
 Malice: Software developers, like any other
professionals, have malicious people in their ranks.
Bugs, viruses, and worms have been known to be
embedded and downloaded in software as is the case
with Trojan horse software, which boots itself at a timed
location.
 Complacency: When either an individual or a software
producer has significant experience in software
development, it is easy to overlook certain testing
and other error control measures in those parts of
software that were tested previously in a similar or
related product, forgetting that no one software can
conform to all requirements in all environments.

June 26, 2023 10


Causes of Software Failures
 Nature of software
 Complexity: Unlike hardwired programming in which it
is easy to exhaust the possible outcomes on a given set
of input sequences, in software programming a similar
program may present billions of possible outcomes on
the same input sequence.
 Difficult testing: There will never be a complete set of
test programs to check software exhaustively for all
bugs for a given input sequence.
 Ease of programming: The fact that software
programming is easy to learn encourages many people
with little formal training and education in the field to
start developing programs, but many are not
knowledgeable about good programming practices or
able to check for errors.
 Misunderstanding of basic design specifications: This
affects the subsequent design phases including coding,
documenting, and testing
June 26, 2023 11
Risk
 Risk is a hazard level together with the likelihood of an accident to
occur and the severity of the potential consequences
 A hazard is a state or set of conditions of a system or an object
that, together with other conditions in the environment of the
system, or object, will lead inevitably to an accident
 Software risks are caused by:
 Personnel shortfalls
 Unrealistic schedules and budgets
 Developing the wrong functions and properties
 Developing the wrong user interface
 Continuing stream of requirements changes
 Shortfalls in externally furnished components
 Shortfalls in externally performed tasks
 Real-time performance shortfalls
 Straining computer-science capabilities

June 26, 2023 12


Risk Assessment and Management
 Risk is an important aspect of the design process.
 Two constituent components must be included. These are
assessment and control.
 To implement these two components, there must be a
requirement that no software project may be delivered or
accepted until and unless a risk assessment or risk control
evaluation has been carried out on it.

June 26, 2023 13


Causes of Software Failures…
 Examples of safety-critical failures:
 The Indian Union Carbide - Bhopal
 The Therac-25.
 The Space Shuttle Challenger
 The Chernobyl Nuclear Power Plant Accident

June 26, 2023 14


Consumer Protection and the Law
 Buyer’s rights:
 Replacement
 Refunds
 Updates
 Understanding software complexity- software as:
 Product
 Tangible form with intrinsic value
 Service

Intrinsic value with no tangible form
 Mix

June 26, 2023 15


Consumer Protection and the Law…
 Costumer protection tools:
 contract (used with products):
 Express warranties
 Implied warranties
 Third-party beneficiary
 If a software product injures a user other than the buyer,
under a third-party beneficiary contract, the user may
sue the producer for benefits due to injuries or loss of
income resulting from the product
 Breach of contract – lack of compliance
 (2) Tort (used with services):
 Intentional
 Unintentional

June 26, 2023 16


Consumer Protection and the Law…
 Torts include:
 Negligence – careless, lack of competence, etc..
 Malpractice
 Strict liability
 Misrepresentation

June 26, 2023 17


Improving Software Quality
 The safety and reliability of a software product
defines the quality of that software
 Software quality can only be improved during the
development cycle
 The following techniques done during the software
development phase can improve software quality :
 Final review
 Inspection
 Walk-throughs
 Phased-inspection

June 26, 2023 18


Producer Protection and the Law
 Protection against:
 Piracy
 Illegal copying/downloading of copyrighted software
 Fraudulent lawsuits by customers
 Seek protection from the courts

June 26, 2023 19

You might also like