Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving.

Similar presentations


Presentation on theme: "Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving."— Presentation transcript:

1 Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving Software Quality Producer Protection

2 Ethical and Social...J.M.Kizza 2 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.

3 Ethical and Social...J.M.Kizza 3 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

4 Ethical and Social...J.M.Kizza 4 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.

5 Ethical and Social...J.M.Kizza 5 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.

6 Ethical and Social...J.M.Kizza 6 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.

7 Ethical and Social...J.M.Kizza 7 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

8 Ethical and Social...J.M.Kizza 8 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

9 Ethical and Social...J.M.Kizza 9 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:

10 Ethical and Social...J.M.Kizza 10 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

11 Ethical and Social...J.M.Kizza 11 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

12 Ethical and Social...J.M.Kizza 12 Consumer Protection and the Law Buyer’s rights: –Replacement –Refunds –Updates Understanding software complexity- software as: –Product –Service –Mix

13 Ethical and Social...J.M.Kizza 13 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): IntentionalUnintentional

14 Ethical and Social...J.M.Kizza 14 Consumer Protection and the Law… Torts include: –Negligence – careless, lack of competence, etc.. –Malpractice –Strict liability –Misrepresentation

15 Ethical and Social...J.M.Kizza 15 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

16 Ethical and Social...J.M.Kizza 16 Producer Protection and the Law Protection against: –Piracy –Illegal copying/downloading of copyrighted software –Fraudulent lawsuits by customers Seek protection from the courts


Download ppt "Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving."

Similar presentations


Ads by Google