Module 7: Ethical Decisions in Software Development Flashcards

1
Q

What defines high-quality software systems?

A

High-quality software systems are easy to learn and use, perform quickly and efficiently to meet users’ needs, operate safely and reliably, and have high availability to minimize unexpected downtime.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is high-quality software essential in specific fields?

A

High-quality software has long been required to support fields like air traffic control, nuclear power, automobile safety, healthcare, military and defense, and space exploration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How integral are computers and software in business, and why is the demand for high-quality software increasing?

A

Computers and software are integral parts of almost every business. The demand for high-quality software is increasing because end users cannot afford system crashes, lost work, lower productivity, or security holes that allow intruders to spread viruses, steal data, or shut down websites.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a software defect?

A

A software defect is any error that, if not removed, could cause a software system to fail to meet its users’ needs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How is software quality defined and managed?

A

Software quality is the degree to which a software product meets the needs of its users. Quality management focuses on defining, measuring, and refining the quality of the development process and the products developed during its various stages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Why are software developers under extreme pressure to reduce time to market?

A

Developers are driven by the need to beat the competition in delivering new functionality to users, to begin generating revenue to recover the cost of development, and to show a profit for shareholders.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What trade-offs do software companies often face, and what decisions do they make under pressure?

A

Under intense pressure to ship a new software product, the resources and time needed to ensure quality are often cut. When forced to choose between adding more user features and doing more testing, many software companies decide in favor of more features.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What constitutes a business information system?

A

A business information system is a set of interrelated components—including hardware, software, databases, networks, people, and procedures—that collects and processes data and disseminates the output.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are software product liability claims based on?

A

Software product liability claims are typically based on strict liability, negligence, breach of warranty, or misrepresentation—sometimes in combination. Strict liability means that the defendant is held responsible for injuring another person regardless of negligence or intent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a warranty, and how does it protect consumers?

A

A warranty assures buyers or lessees that a product meets certain standards of quality and may be either expressly stated or implied by law. If the product fails to meet the terms of its warranty, the buyer or lessee can sue for breach of warranty.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a software development methodology?

A

A software development methodology is a standard, proven work process that enables systems analysts, programmers, project managers, and others to make controlled and orderly progress in developing high-quality software. It defines activities, responsibilities, techniques, and quality management guidelines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the waterfall system development model?

A

The waterfall system development model is a sequential, multistage system development process in which development of the next stage cannot begin until the results of the current stage are approved or modified as necessary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the agile development methodology?

A

Under the agile development methodology, a system is developed in iterations (often called sprints) lasting from one to four weeks. It accepts that system requirements are evolving and focuses on maximizing the team’s ability to deliver quickly and respond to emerging requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the benefits of using an effective development methodology?

A

An effective development methodology enables a manufacturer to produce high-quality software, forecast project-completion milestones, and reduce overall development and support costs. It also helps protect software manufacturers from legal liability for defective software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why is early defect identification important?

A

Identifying and removing a defect in the early stages of software development can be up to 100 times less costly than removing a defect in software that has been distributed to customers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is quality assurance (QA) in software development?

A

Quality assurance refers to methods within the development process designed to guarantee reliable operation of a product, ideally applied at each stage of the development cycle.

17
Q

What are some common types of software testing?

A

Common types of software testing include black-box and white-box dynamic testing, static testing, unit testing, integration testing, system testing, and user acceptance testing.

18
Q

What is Capability Maturity Model Integration (CMMI)?

A

CMMI models are collections of best practices that help organizations improve their processes. CMMI-Development (CMMI-DEV) is frequently used to assess and improve software development practices.

19
Q

What are the five levels of software development maturity defined by CMMI?

A

The five levels are initial, managed, defined, quantitatively managed, and optimizing. CMMI helps improve an organization’s ability to predict and control quality, schedule, costs, and productivity.

20
Q

What is a safety-critical system?

A

A safety-critical system is one whose failure may cause human injury or death. These systems require a much more rigorous and time-consuming development and testing process.

21
Q

How is risk quantified in software development?

A

Risk is quantified by three elements: a risk event, the probability of the event happening, and the impact on the business outcome if the risk occurs. The annualized loss expectancy (ALE) is calculated as the product of the annualized rate of occurrence (ARO) and the single loss expectancy (SLE).

22
Q

What is the ISO 9001 family of standards?

A

The ISO 9001 family of standards serves as a guide to quality products, services, and management, providing standardized requirements for a quality management system. Many businesses and government agencies specify that a vendor must be ISO 9001 certified to win a contract.

23
Q

What is Failure Mode and Effects Analysis (FMEA)?

A

FMEA is a technique used to evaluate reliability and determine the effects of system and equipment failures, helping develop ISO 9001–compliant quality systems.

24
Q
A