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.
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 ratings0% 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.
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