Ethics in Information Technology, Fifth Edition 9781285197159
Chapter 7
Software Development
Self-Assessment Questions
1. b. It meets its users’ needs.
Discussion Questions
1. Identify the three criteria you consider to be most important in determining whether
or not a system is a quality system. Briefly discuss your rationale for selecting these
criteria.
2. Briefly describe and give an example of a business information system, a decision
support system, and a control system.
3. Define and briefly discuss the difference between white box testing and black box
testing.
White-box testing is a software testing in which the software unit has expected input and
output behaviors, but whose internal workings are known, and all possible logic paths
4. Explain why the cost to identify and remove a defect in the early stages of software
development might be 100 times less than the cost of removing a defect in software
that has been distributed to customers. What are the implications for a software
development organization?
5. Explain the difference between strict liability and negligence.
6. Identify and briefly discuss two ways that the use of an effective software
development methodology can protect software manufacturers from legal liability for
defective software.
Two ways in which the use of an effective software development methodology can protect
software manufacturers from legal liability for defective software are as follows:
Reducing software errors—software errors can creep in at all stages of development.
Poor communication between the customer and the software designer can result in
software that does not meet the customers needs. Poor planning during the design or
7. Your company is considering using N-version programming with three software
development firms and three hardware devices for the navigation system of a guided
missile. Briefly describe what this means, and outline several advantages and
disadvantages of this approach.
N-version programming is a form of redundancy that involves the execution of a series of
program instructions simultaneously by two or more different systems. The systems use
different algorithms to execute instructions that accomplish the same result. The results
8. Why is the system-human interface one of the most important but difficult areas of
safety-critical systems? Do a search on the Internet and find three good sources of
information relating to how to design an effective system-human interface.
Human behavior is not nearly as predictable as the reliability of hardware and software
components in a complex system. The system designer must consider what human
9. What is the difference between system reliability and system safety? Give an example
of a system that operates reliably but not safely.
Reliability and safety are two different system characteristics. Reliability has to do with
the capability of the system to continue to perform; safety has to do with the ability of the
10. Identify and briefly discuss the implications to a project team of classifying a piece of
software as safety critical.
11. Your organization develops accounting software for use by individuals to budget and
forecast their expenses and pay their bills while keeping track of the amount of
money in their savings and checking accounts. Develop a strong argument for the
management of your firm as to why they must conduct an assessment of its current
software development practices.
12. Discuss why an organization might elect to use a separate, independent team for
quality testing rather than the group of people who originally developed the software.
What Would You Do?
1.
a. Although this is a fictional story, it is realistic and makes the point that quite often
when there is a major corporate breakdown, there is plenty of blame to go around.
Seldom is a major misdeed attributable to a single individual.
b. The first thing that should be mentioned is the implementation of a quality
2. Students’ responses may vary. Some of them may say that more weight should be given to
the firm that claims that all its software development practices are ISO 9001 compliant.
Firms that are ISO 9001 certified provide proof of their commitment to quality
3. Students’ responses will vary. In this case, it would be prudent to recalculate the taxes with
another software package or with a licensed reputable tax preparer, and file an amended
4. It would be unacceptable to release the software with two of its key features compromised
5. Students’ responses will vary. Students developed software that helped them make good
inventory control decisions in their shoe store. Their software did not perform well after it
was deployed at other shoe stores owned by the same person, exposing a software defect
6. Students’ responses will vary. If a safety critical system is defined as one whose failure
may cause injury or death, then a chemical reactor should definitely be considered safety
critical. Consequently, the software must go through a much more rigorous and
7. Students’ responses will vary. They should assess the reasons for the lack of improvement
in process maturity, identify the areas for improvement, and design the action plans
8. Students’ responses will vary. Since the software being discussed is not safety-critical, and
there are no obvious cash-flow issues evident in the discussion, the release of the current
Cases
Case 1: InterSystems Earns ISO 9001-2008 Certification
1. John Hopkins system described in the case is a mission critical system. Therac-25
Case 2: Apple Guidelines for App Approval
1. Yes, Apple should conduct extensive screening of apps before they are allowed to be sold
on the App Store. This should be done to not only ensure that Apple users have access to
high quality apps, but also to prevent malware attacks.
2. The European Union joined the FTC’s investigation into Apple’s opposition of the use of
Adobe Flash’s software on devices that use the iOS operating system. Even though Apple
loosened its policy toward third party iOS compilers, the FTC continues to scrutinize
3. The guideline is unclear and highly subjective. However, the company does make a
distinction between general freedom of speech and the Apple store: “We view Apps
Case 3: Software Errors Lead to Death
1. Developers should allow themselves additional time in production to ensure the software
is free from defects. Also, when faced with the decision to add more features or conduct