Chapter 07: Ethical Decisions in Software Development
True / False
1. The impact of software defects is always trivial.
a.
True
b.
False
2. Software quality is the degree to which a software product meets the needs of its users.
a.
True
b.
False
3. A primary cause of poor software quality is that developers do not know how to design quality into software
from the very start, or do not take the time to do so.
a.
True
b.
False
4. When software is well-designed, programmers make no mistakes in turning design specifications into lines of
code.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
5. When forced to choose between adding more user features and doing more testing, most software companies
decide in favor of more testing.
a.
True
b.
False
6. The first release of a software product typically meets all its users’ expectations.
a.
True
b.
False
7. Software defects are commonly lethal and many personal injuries are related to software failures.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
8. Software product liability claims are typically based on strict liability, negligence, breach of warranty, or
misrepresentation.
a.
True
b.
False
9. There is no federal product liability law.
a.
True
b.
False
10. Under the doctrine of supervening event, the original seller is not liable if the software was materially
altered after it left the seller’s possession and the alteration caused the injury.
a.
True
b.
False
11. Software suppliers attempt to limit their liability by specifying that although software is warranted to run on
a given machine configuration, no assurance is given as to what that software will do.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
12. A successful defense against a product liability case is typically expensive in terms of legal fees.
a.
True
b.
False
13. In integration testing, special software programs called static analyzers are run against the new code.
a.
True
b.
False
14. User acceptance testing is performed by trained end users to ensure that the system operates as they expect.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
15. Capability Maturity Model Integration (CMMI) is a process improvement approach that defines the
essential elements of effective processes.
a.
True
b.
False
16. From 2007 to June 2016, the percentage of organizations determined to be at a high-maturity level is 50.
a.
True
b.
False
17. When developing safety-critical systems, a key assumption must be that safety will automatically result
from following an organization’s standard development methodology.
a.
True
b.
False
18. Risk analysis is important for safety-critical systems, but is useful for other kinds of software development
as well.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
19. Software developers do not typically work closely with safety and software engineers.
a.
True
b.
False
20. In the context of developing safety-critical systems, the safety engineer’s role is limited to producing a
hazard log.
a.
True
b.
False
21. Black-box testing treats the software unit as a device that has expected input and output behaviors but
whose internal workings are known.
a.
True
b.
False
Chapter 07: Ethical Decisions in Software Development
22. Risk is the potential of gaining or losing something of value.
a.
True
b.
False
23. Risk mitigation involves the reduction in either the likelihood or the impact of the occurrence of a risk.
a.
True
b.
False
24. Transference is the provision of multiple interchangeable components to perform a single function in order
to cope with failures and errors.
a.
True
b.
False
25. A failure mode describes how a product or process could fail to perform the desired functions described by
the customer.
a.
True
Chapter 07: Ethical Decisions in Software Development
b.
False
Multiple Choice
26. Software quality is defined as the degree to which a software product meets:
a.
the needs of its users.
b.
the standards of its competitors.
c.
sustainability and environmental protection needs.
d.
the minimum financial return standards.
27. Which of the following is true of strategies for engineering quality software?
a.
High-quality software systems are tough to learn and use because they perform slowly.
b.
Software defects never lead to injury.
c.
Developers develop high-quality software instantaneously without a set of principles.
d.
The first release of any software rarely meets all its users’ expectations.
28. Which of the following is true of software testing?
a.
White-box testing involves viewing the software unit as a device that has expected input and output
behaviors but whose internal workings are unknown.
Chapter 07: Ethical Decisions in Software Development
b.
Black-box testing treats the software unit as a device that has expected input and output behaviors
but whose internal workings, unlike the unit in whitebox testing, are known.
c.
Static testing involves software programs called static analyzers which are run against new code.
d.
Integration testing involves independent testing that is performed by trained end users to ensure that
the system operates as they expect.
29. In the context of Capability Maturity Model Integration, process is ad hoc and chaotic; organization tends to
overcommit and processes are often abandoned during times of crisis in which of the following maturity levels?
a.
quantitatively managed
b.
managed
c.
defined
d.
initial
30. Products, such as statements of requirements, flowcharts, and user documentation, are known as which of
the following?
a.
project systems
b.
information systems
c.
objects
d.
deliverables
Chapter 07: Ethical Decisions in Software Development
31. Which of the following are defined as a set of interrelated components that include hardware, software,
databases, networks, people, and procedures that collect data, process it, and disseminate the output?
a.
Management information systems
b.
Decision support systems
c.
Business information systems
d.
Data information systems
32. A type of business system which is used to develop accurate forecasts of customer demand, recommend
stocks and bonds for an investment portfolio is known as which of the following?
a.
upgrade management system
b.
decision support system
c.
executive information system
d.
data information system
33. Process-control computers enable the process to be monitored for variations from operating standards and to
eliminate product defects before they affect which of the following?
a.
quality
b.
delivery
c.
testing
d.
development
Chapter 07: Ethical Decisions in Software Development
34. An airline’s online ticket-reservation system and an electronic funds transfer system that moves money
among banks, are examples of which of the following?
a.
order-processing systems
b.
decision support systems
c.
software development systems
d.
quality assurance systems
35. If the product fails to meet the terms of its written guarantee, the buyer or lessee can sue for which of the
following?
a.
breach of warranty
b.
comparative negligence
c.
contributory negligence
d.
strict liability
36. In which of the following is a defendant held responsible for injuring another person, regardless of
negligence or intent?
a.
Contributory negligence
b.
Misrepresentation
c.
Strict liability
d.
Breach of warranty
Chapter 07: Ethical Decisions in Software Development
a.
manuals
b.
warnings
c.
warranties
d.
sureties
37. When sued for which of the following, a software supplier is not held responsible for every product defect
that causes customer or third-party loss?
a.
breach of warranty
b.
misrepresentation
c.
strict liability
d.
negligence
38. Which of the following can be oral, written, or inferred from the seller’s conduct?
a.
Indemnity
b.
Strict liabilities
c.
Warranty tolling
d.
Express warranties
39. In an attempt to limit their liability in the event of nonperformance, software suppliers frequently write
which of the following?
Chapter 07: Ethical Decisions in Software Development
40. Which of the following is a standard, proven work process that enables those involved to make controlled
and orderly progress in developing high-quality software?
a.
software guide
b.
software development methodology
c.
software manual
d.
software project management
41. Which term refers to methods within the development process that guarantee reliable operation of the
product?
a.
Quality assurance
b.
Software development methodology
c.
Documentation
d.
Software project management
42. One approach to quality assurance is to test the code for a completed unit of software by actually entering
test data and comparing the results with the expected results in a process known as which of the following?
a.
dynamic testing
b.
user acceptance testing
c.
integration testing
d.
static testing
Chapter 07: Ethical Decisions in Software Development
43. What form of testing involves viewing the software unit as a device that has expected input and output
behaviors but whose internal workings are unknown?
a.
Integration testing
b.
Black-box testing
c.
User acceptance testing
d.
Static testing
44. After successful unit testing, the subsystems are combined to test the entire system as a complete entity
using what form of testing?
a.
system testing
b.
black-box testing
c.
integration testing
d.
static testing
45. After an organization decides to adopt which of the following, it must conduct an assessment of its software
development practices to determine where they fit in the capability model?
a.
QA
b.
software development methodology
c.
software quality management
Chapter 07: Ethical Decisions in Software Development
d.
CMMI-DEV
46. At which of the Capability Maturity Model Integration maturity levels, are processes well defined,
understood, and consistent across the organization?
a.
Initial
b.
Managed
c.
Defined
d.
Quantitatively managed
47. The safety engineer uses a logging and monitoring system to track which of the following?
a.
standards
b.
objectives
c.
hazards
d.
deliverables
48. Which of the following is an approach to minimizing the impact of software errors by independently
implementing the same set of user requirements N times, where N could be 2, 3, 4, or more?
a.
Acceptance programming
b.
Risk management programming
Chapter 07: Ethical Decisions in Software Development
c.
N-version programming
d.
Avoidance programming
49. Which of the following terms is defined as the potential of gaining or losing something of value?
a.
Risk
b.
Redundancy
c.
Liability
d.
Certainty
50. A complex system used in IT is a redundant array of independent disks (RAID), which is commonly used in
which type of file servers?
a.
high-volume data storage
b.
low-volume data storage
c.
unpredictable-volume data storage
d.
irregular-volume data storage
51. What type of programming is commonly found in airplane and spacecraft control systems?
a.
Structured programming
b.
Triple version programming
Chapter 07: Ethical Decisions in Software Development
c.
Object programming
d.
Root programming
52. In the context of development of safety critical systems, if an undesirable event has a ten percent probability
of occurring and a potential cost of $50,000, then the risk can be calculated as which of the following?
a.
$5000
b.
$7000
c.
$2500
d.
$9500
53. Which of the following is true of the International Organization for Standardization?
a.
It is an American organization founded in 2001.
b.
The ISO 9000:2007 provides a set of standardized requirements for a quality management system.
c.
It issued the 9000 series of business standards in 1987.
d.
It is a worldwide federation of national standards bodies from 161 countries.
54. Which family of standards serves many industries and organizations as a guide to quality products, services,
and management?
a.
ISO 7498-4
Chapter 07: Ethical Decisions in Software Development
b.
ISO 9595/DAM 1
c.
ISO 9596
d.
ISO 9001
55. An important technique used to develop ISO 9001-compliant quality systems by both evaluating reliability
and determining the effects of system and equipment failures is which of the following?
a.
DO-178B/EUROCCAE ED-128
b.
N-version programming
c.
Failure mode and effects analysis (FMEA)
d.
Capability Maturity Model Integration (CMMI)
Subjective Short Answer
56. What are the standards that the warranty of merchantability requires to be met?
Chapter 07: Ethical Decisions in Software Development
57. Discuss intentional misrepresentation.
58. Define the five maturity levels of CMMI.
59. Discuss the failure of safety-critical software systems through an example.
Chapter 07: Ethical Decisions in Software Development
60. Define reliability.