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

Slides:



Advertisements
Similar presentations
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
Advertisements

PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
Alternate Software Development Methodologies
Reliability and Safety Lessons Learned. Ways to Prevent Problems Good computer systems Good computer systems Good training Good training Accountability.
Informatics 43 – April 28, Fun with Models Fashion Student Model = Ideal.
Paper Prototyping.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Software Quality Assurance
Introduction to Software Testing
Module 8: Software Issues: Risks and Liabilities
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Evaluation of Safety Critical Software -- David L. Parnas, -- A. John van Schouwen, -- Shu Po Kwan -- June 1990 Presented By Zhuojing Li.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Software System Engineering: A tutorial
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
1 Can We Trust the Computer? What Can Go Wrong? Case Study: The Therac-25 Increasing Reliability and Safety Perspectives on Failures, Dependence, Risk,
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Security and Reliability THERAC CASE STUDY TEXTBOOK: BRINKMAN’S ETHICS IN A COMPUTING CULTURE READING: CHAPTER 5, PAGES
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
ERP. What is ERP?  ERP stands for: Enterprise Resource Planning systems  This is what it does: attempts to integrate all data and processes of an organization.
1 Project Risk Management Project Risk Management Dr. Said Abu Jalala.
Software Requirements Engineering: What, Why, Who, When, and How
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
ETHICS, POLICY & SECURITY ISSUES
An Introduction to Software Engineering. Communication Systems.
Pre-Project Components
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
System Implementation. © 2011 Pearson Education, Inc. Publishing as Prentice Hall 2 Chapter 13 FIGURE 13-1 Systems development life cycle with the implementation.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
Software Project Management Lecture 5 Software Project Risk Management.
Program Development Cycle
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
CS223: Software Engineering Lecture 25: Software Testing.
Can We Trust the Computer? FIRE, Chapter 4. What Can Go Wrong? What are the risks and reasons for computer failures? How much risk must or should we accept?
Ethics in Information Technology Chapter 7 Software Development Ethics in Information Technology.
1 Chapter 9: Design for People; Ergonomics, Repairability, Safety, and Product Liability 9.1 Important Definitions Ergonomics (or Human engineering, or.
MANAGEMENT INFORMATION SYSTEM
Information Systems Development
Principles of Information Systems Eighth Edition
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
Looking Over the Legal Edge at Unsuccessful Software Projects
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Information Systems Development
Introduction to Software Testing
Baisc Of Software Testing
Welcome to Corporate Training -1
Week 13: Errors, Failures, and Risks
CS385T Software Engineering Dr.Doaa Sami
INFS 452 – Computer Ethics & Society
Chapter # 7 Software Development
Computer in Safety-Critical Systems
Presentation transcript:

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

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.

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

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.

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.

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.

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

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

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:

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

Ethical and Social...J.M.Kizza 11 Causes of Software Failures… Examples of safety-critical failures (pages ): –The Indian Union Carbide - Bhopal –The Therac-25. –The Space Shuttle Challenger – The Chernobyl Nuclear Power Plant Accident

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

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

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

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

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