Computer Reliability
Computer as a reliable machine
• The computer is a reliable machine which is responsible for
performing all the tasks and operations at high speed and almost
100% accuracy.
• The computers software and hardware works according to the
request or demand given to them by users.
• There are several attributes that we should check while buying,
making, and using a computer.
• People who sell computers often talk about the product’s reliability,
since reliable products contain no technical errors.
Reliability of computer system
• The computer preforms all activities for which that are designed and
developed with great accuracy this makes them very reliable
machines. This is considered as the main reliability of computer
system.
• Reliability is an attribute of any computer-related component
(software, or hardware, or a network, for example) that consistently
performs according to its specifications.
• Computer reliability in its simplest terms means whether the
computer will be available when you need it.
Reliability Characteristics of Computer
• When computing mathematical calculations, a computer works much
faster and accurately and can perform millions of instructions per
second.
• Although the computer performs calculations with 100% accuracy,
errors may occasionally occur due to data inconsistency or inaccuracy.
• A computer is reliable as it gives consistent results for a similar set of
data; when commanded for similar set of instructions multiple times.
• The results of computer entirely depend upon the instructions given
to them.
Benefits and Advantages of Reliability in Computer
• A business reputation is over dependent on the reliability of its
computer system.
• We can expect more accurate results compared to humans.
• All tasks and operations are performed at high speed therefore jobs and
tasks are completed at given time which builds good reputations in
client’s eyes.
• The modern computer can store enormous amount of data almost
permanently that makes us free from worries and this considered as the
major advantages of reliability in computer system
• The accountings are done with the help of computer system due to their
reliability.
Importance of Network Reliability
• In computer networks the data and instructions are transferred from
one computer to another with speed.
• The computer networks are good source of data communications.
• The internet is considered as the best source of data communications
which is cheap and fast.
• The networks plays and important role in data and information
sharing around the globe which saves money and time.
• These helps in great deal of consistency and reliability.
• Voice call or video conferencing is made simple in networking that
connects and helps in easy communication.
Why is Computer Reliability Important?
• Reliability is how well the computer system performs; they require
functions that it has been designed for and do them form without
failure.
• This is important because if the system is not reliable, then the
system may not function as it was supposed to do when the system
fails, then they cause a massive amount of damage.
Computer failure causes:
• Faulty design
• Careless or insufficiently trained users
• Poor user interfaces
• Hardware/Software malfunctions
• Scope/Application inconsistency
Computer users:
• Should understand limitations of the computers
• Need for proper training
• Need for responsible use
• Difference between good products and bad ones
• Computer Professional should:
• Study computer failures (reasons)
• Study computer ethics
Three Categories of Failures
1. Problems for individuals
2. System failures that affect large numbers
of people or cost large amounts of money
3. Problems in safety-critical applications
Problems for Individuals
• Errors is design and/or implementation of programs
• Not enough care
• Not enough testing - reasonable range
• Not enough training
Database Accuracy Problems
• Information in database is not accurate
• Automatic entering of info - mistakes can be
overlooked
• Copies of incorrect info can be sent to other
systems
• Not knowledgeable enough about the system
Causes
• Large population
• Most of our financial interactions are with
strangers
• Automated processing without human common
sense
• Overconfidence in accuracy of data
• Lack of accountability/responsibility
Consumer Hardware and Software
• Usually have more serious errors in their first releases
• Regularly sold with known bugs/virus
• Hardware also has flaws
• Tradeoff between cost, debugging, and marketing
• Dishonesty, denials of problems, lack of adequate
response to complaints
System Failures
• Lots of money $$$$
• Complete shutdown of basic services
• Areas:
• Communications related companies
• Business and financial systems
• Military
WHY?
• Not enough testing
• Technical difficulties
• Poor management decisions
• Dishonesty in promoting the system and
responding to problems
Communications
• Phone Service providers (PTA, Ufone..)
• How Bad?
• phone calls
• Communications for airports
• cellular phones (Samsung, apple)
Business and financial systems
• Incorrect information affects
business
• Loss of data
• Stock exchange companies
• ATM
• Data accuracy (customers.
Employees)
Military
• Data management
• Weapons system design
• Battle simulation
• Battle management
• command/control
• communications
• intelligence
• Nuclear war
Safety Critical Applications
• Use of computers is increasing rapidly in these areas
• Use of computers in these areas can save $
• Areas
• Military Medical Applications
• Power plants
• Aircraft Safety-critical systems are those systems whose
failure could result in loss of life, significant property
• Trains damage or damage to the environment. There are
• Automobiles many well-known examples in application areas such
as medical devices, aircraft flight control, weapons
and nuclear systems.
Ways to prevent problems
• Good computer systems
• Good training
• Accountability
• Individual responsibility
• Management responsibility
• IEEE/ACM Code of Ethics
Professional Techniques
• Use good software engineering techniques at all
stages of development:
• Requirements
• Specifications
• Design
• Implementation
• Documentation
• Testing
Professional Techniques
• Study the techniques and tools available
• Knowing or learning enough about the
application field and the software or systems
being used.
Laws and Regulations
• Criminal and Civil penalties
e.g., a company sues another company for damages
• Suits against company that designs or sells the
system
• Criminal charges when fraud or criminal
negligence occurs A developer knowingly ignores security flaws, leading to a major data breach negligence charges.
• Need contracts To avoid misunderstandings and legal problems, companies and clients need clear contracts when designing or selling computer systems.
• Need well designed laws and standards
Professional licensing
• Licensing of software development professionals
to protect against poor quality and unethical
behavior
• Specific training
• Passing competency exam
• Ethical requirements
• Continuing education
What is Reliability of Software?
• Assume data correctly fed into computerized system.
• System may still fail if there is an error in its
programming (a bug)
• The System software are the most important aspect of
computer system, operating system and device drivers
falls in the category of system software.
• The operating system once installed can help in
working with other application software’s like MS-
word, MS-Excel etc.
• The operating system (OS) is reliable software which
can be considered as backbone of any computer
system.
• Application software are installed and used when OS
is installed in computer. The application software is
used primarily for accounting and tracking complete
records of business.
• Majority of the business owner rely heavily on the
accounting software for accurate results this helps in
increasing reliability of software’s.
Software Errors - bugs
• Fixes are complex, expensive, and prevents use of
machine while fixing
• Bugs
• can be hard to detect
• importance of self checking
• importance of using good programming techniques