chapter 8

advertisement

Module 8: Software Issues: Risks and Liabilities

Definitions

Causes of Software Failures

Risks

Consumer Protection

Improving Software Quality

Producer Protection

1 Ethical and Social...J.M.Kizza

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.

2 Ethical and Social...J.M.Kizza

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:

– (1) Standards – universally accepted level of confidence

3 Ethical and Social...J.M.Kizza

Definitions…

– Standards depend on:

Development testing

Verification and Validation

– (2) 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.

4 Ethical and Social...J.M.Kizza

Definitions…

– (3) security - software is secure if it does not contain trapdoors through which an intruder can access the system.

– (4) 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.

– (5) Quality - a software product has quality if it maintains a high degree of excellence in standards, security, safety,and dependability.

Ethical and Social...J.M.Kizza

5

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.

6 Ethical and Social...J.M.Kizza

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 pr

Ethical and Social...J.M.Kizza

7

Nature of software (page 209)

– Complexity : Unlike hardwired programming in which it 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

Ethical and Social...J.M.Kizza

8

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:

9 Ethical and Social...J.M.Kizza

Risks cause 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

10 Ethical and Social...J.M.Kizza

Causes of Software Failures…

Examples of safety-critical failures (pages

214 - 223):

– The Indian Union Carbide - Bhopal

– The Therac-25.

– The Space Shuttle Challenger

– The Chernobyl Nuclear Power Plant Accident

Ethical and Social...J.M.Kizza

11

Consumer Protection and the

Law

Buyer’s rights:

– Replacement

– Refunds

– Updates

Understanding software complexity- software as:

– Product

– Service

– Mix

12 Ethical and Social...J.M.Kizza

Consumer Protection and the

Law…

Costumer protection tools:

– (1) contract (used with products):

Express warranties

Implied warranties

Third-party beneficiary

Breach of contract – lack of compliance

– (2) Tort (used with services):

Intentional

Unintentional

Ethical and Social...J.M.Kizza

13

Consumer Protection and the

Law…

Torts include:

– Negligence – careless, lack of competence, etc..

– Malpractice

– Strict liability

– Misrepresentation

Ethical and Social...J.M.Kizza

14

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 (see page 122):

– Final review

– Inspection

– Walk-throughs

– Phased-inspection

Ethical and Social...J.M.Kizza

15

Producer Protection and the

Law

Protection against:

– Piracy

– Illegal copying/downloading of copyrighted software

– Fraudulent lawsuits by customers

Seek protection from the courts

Ethical and Social...J.M.Kizza

16

Download