Module 7: Ethical Decisions in Software Development Flashcards

1
Q

When an organization decides to accept a risk because the cost of avoiding the risk outweighs the potential loss of the risk. A decision to accept a risk can be extremely difficult and controversial when dealing with safety-critical systems because making that determination involves forming personal judgments about the value of human life, assessing potential liability in case of an accident, evaluating the potential impact on the surrounding natural environment, and estimating the system’s costs and benefits.

A

acceptance

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

A software development methodology in which a system is developed in iterations lasting from one to four weeks. Unlike the waterfall system development model, agile development accepts the fact that system requirements are evolving and cannot be fully understood or defined at the start of the project.

A

agile development

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

The estimated loss from a potential risk event over the course of a year. The following equation is used to calculate the annual loss expectancy: A× SLE = ALE. Where ARO is the annualized rate of occurrence, an estimate of the probability that this event will occur over the course of a year and SLE is the single loss expectancy, the estimated loss that would be incurred if the event happens.

A

annualized loss expectancy (ALE)

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

An estimate of the probability that a risk event will occur over the course of a year.

A

annualized rate of occurrence (ARO)

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

The elimination of a vulnerability that gives rise to a particular risk in order to avoid the risk altogether. This is the most effective solution but often not possible due to organizational requirements and factors beyond an organization’s control.

A

avoidance

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

A method or technique that has consistently shown results superior to those achieved with other means and that is used as a benchmark within a particular industry.

A

best practice

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

A type of dynamic testing that involves viewing the software unit as a device that has expected input and output behaviors but whose internal workings are unknown (a black box).

A

black-box testing

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

When a product fails to meet the terms of its warranty.

A

breach of warranty

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

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

A

business information system

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

Collection of best practices that help organizations improve their processes.

A

Capability Maturity Model Integration (CMMI) models

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

A specific application of CMMI frequently used to assess and improve software development practices.

A

CMMI-Development (CMMI-DEV)

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

When the plaintiffs’ own actions contributed to their injuries

A

contributory negligence

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

A type of business information system used to improve decision making in a variety of industries.

A

decision support system (DSS)

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

Products created during various stages of the development process, including statements of requirements, flowcharts, and user documentation.

A

deliverable

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

A QA process that tests the code for a completed unit of software by actually entering test data and comparing the results to the expected results.

A

dynamic testing

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

A description of how a product or process could fail to perform the desired functions described by the customer.

A

failure mode

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

An important technique used to develop ISO 9000-compliant quality systems by both evaluating reliability and determining the effects of system and equipment failures.

A

failure mode and effects analysis (FMEA)

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

A logging and monitoring system used by safety engineers to track hazards from a project’s start to its finish.

A

hazard log

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

Systems that are easy to learn and use because they perform quickly and efficiently; they meet their users’ needs; and they operate safely and reliably so that system downtime is kept to a minimum

A

high-quality software system

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

Software testing done after successful unit testing, where the software units are combined into an integrated subsystem that undergoes rigorous testing to ensure that the linkages among the various subsystems work successfully.

A

integration testing

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

A set of standards written to serve as a guide to quality products, services, and management. It provides a set of standardized requirements for a quality management system.

A

ISO 9000 family of standards

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

The reduction in either the likelihood or the impact of the occurrence of a risk.

A

mitigation

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

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); the N-versions of software are run in parallel; and, if a difference is found, a “voting algorithm” is executed to determine which result to use

A

N-version programming

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

The liability of manufacturers, sellers, lessors, and others for injuries caused by defective products.

A

product liability

25
Q

Methods within the development process that are designed to guarantee reliable operation of a product.

A

quality assurance (QA)

26
Q

The defining, measuring, and refining of the quality of the development process and the products developed during its various stages. The objective of quality management is to help developers deliver high-quality systems that meet the needs of their users

A

quality management

27
Q

The provision of multiple interchangeable components to perform a single function in order to cope with failures and errors.

A

redundancy

28
Q

A measure of the rate of failure in a system that would render it unusable over its expected lifetime

A

reliability

29
Q

The potential of gaining or losing something of value. Risk can be quantified by three elements: a risk event, the probability of the event happening, and the impact (positive or negative) on the business outcome if the risk does actually occur.

A

risk

30
Q

A logging and monitoring system used by safety engineers to track hazards from a project’s start to its finish.

A

risk management

31
Q

A system whose failure may cause human injury or death.

A

safety-critical system

32
Q

The estimated loss that would be incurred if a risk event occurs

A

single loss expectancy (SLE)

33
Q

Any error that, if not removed, could cause a software system to fail to meet its users’ needs.

A

software defect

34
Q

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.

A

software development methodology

35
Q

The degree to which a software product meets the needs of its users.

A

software quality

36
Q

A software-testing technique in which software is tested without actually executing the code. It consists of two steps—review and static analysis.

A

static testing

37
Q

A situation in which the defendant is held responsible for injuring another person, regardless of negligence or intent.

A

strict liability

38
Q

Someone who has explicit responsibility for ensuring that a system will operate in a safe and reliable manner while meeting its users’ needs.

A

system safety engineer

39
Q

Software testing done after successful integration testing, where the various subsystems are combined to test the entire system as a complete entity.

A

system testing

40
Q

A risk management strategy in which the risk, should it happen, does not rest solely on one individual or organization. For example, a common way to accomplish risk transference is for an individual or an organization to purchase insurance, such as auto or business liability insurance. Another way to transfer risk is to outsource the risk by contracting with a third party to manage the risk.

A

transference

41
Q

A software-testing technique that involves testing individual components of code (subroutines, modules, and programs) to verify that each unit performs as intended.

A

unit testing

42
Q

Software testing done independently by trained end users to ensure the system operates as expected

A

user acceptance testing

43
Q

Assures buyers or lessees that a product meets certain standards of quality.

A

warranty

44
Q

A software development methodology that involves a sequential, multistage system development process in which development of the next stage of the system cannot begin until the results of the current stage are approved or modified as necessary.

A

waterfall system development model

45
Q

A type of dynamic testing that treats the software unit as a device that has expected input and output behaviors but whose internal workings, unlike the unit in black-box testing, are known.

A

white-box testing

46
Q

A software _________ is any error that, if not removed, could cause a software system to fail.

A

defect

47
Q

_______________the development process and the products developed during its various stages.

A

Quality management

48
Q

_____________ means that the defendant is held responsible for injuring another person, regardless of negligence or intent.

A

Strict liability

49
Q

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 is called a software _____________

A

development methodology

50
Q

The cost to identify and remove a defect in an early stage of software development is typically much less than the cost of removing a defect in an operating piece of software after it has been distributed to many customers. True or False?

A

True

51
Q

A system development methodology in which systems are developed in iterations, often called “sprints,” lasting from one to four weeks is called _______ development.

A

agile

52
Q

A software-testing technique in which the software is tested without actually executing the code is _____________.

A

static testing

53
Q

_____________ is a collection of best practices that help organizations assess and improve their software development practices.

A

CMMI-DEV

54
Q

If the annualized rate of occurrence is one percent and the annual loss expectancy is $100,000, the single loss expectancy is _____________.

A

$10 million

55
Q

The provision of multiple interchangeable components to perform a single function to cope with failures and errors is called _____________.

A

redundancy

56
Q

________ is a measure of the rate of failure in a system that would render it unusable over its expected lifetime

A

Reliability

57
Q

One of the most important and challenging areas of safety-critical system design is the system–human interface. True or False?

A

True

58
Q

_____________ is an important technique used to develop ISO 9000–compliant quality systems by both evaluating reliability and determining the effects of system and equipment failures.

A

FMEA