soft dev True or False Prelim drei

75 flashcardsby Diandrei
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
If every individual software component in a system is proven to be reliable, the reliability of the entire integrated system is automatically guaranteed
FALSE
2
In a sociotechnical system, the "Application Layer" sits directly on top of the "Equipment Layer" without any intermediaries
FALSE
3
"Wicked problems" are difficult primarily because the mathematical algorithms required to solve them are too complex for modern computers
FALSE
4
A software engineer must consider the "Organizational Layer" because office politics and power structures can cause a technically sound system to be rejected by users
TRUE
5
Non-deterministic behavior in a sociotechnical system is often viewed as a failure, but it can also be beneficial when human operators use their judgment to handle unexpected situations
TRUE
6
"Repairability" is considered a functional property because it describes a specific function the system performs
FALSE
7
The "Communications and Data Management" layer in the system stack typically includes the operating system
FALSE
8
Success in a sociotechnical system is defined solely by whether the software code executes without crashing
FALSE
9
A change in the "Society Layer" (such as a new privacy law) can force mandatory changes all the way down to the "Application Layer" code
TRUE
10
Hardware reliability, software reliability, and operator reliability are independent factors that do not influence one another
FALSE
11
Emergent properties can only be measured or evaluated once the system components have been integrated together
TRUE
12
It is generally easier to define success criteria for a technical computer-based system than for a sociotechnical system
TRUE
13
When investigating a system failure, it is sufficient to look only at the software logs, as human error is rarely the root cause in modern engineering
FALSE
14
A system's "Volume" (the space it occupies) is an example of an emergent property that can be easily calculated by summing the volume of its parts
TRUE
15
The primary goal of the "Procurement" phase is to write the software code
FALSE
16
A system that is 100% available is automatically considered 100% reliable
FALSE
17
It is possible for a system to be safe (cause no harm) even if it is unreliable (crashes frequently)
TRUE
18
In the context of dependability, a "fault" and a "failure" are synonymous terms that can be used interchangeably
FALSE
19
Adding redundancy (e.g., duplicate code modules) strictly increases system reliability without introducing any negative side effects or complexity
FALSE
20
Risk-driven specification suggests that it is economically wasteful to apply the highest level of dependability assurance to every single component of a software system
TRUE
21
Security is considered a functional requirement because it describes a specific service the system provides to the user (e.g., logging in)
FALSE
22
A "hazard" is the actual damage caused by a system failure
FALSE
23
Reliability is a deterministic property; if you know the inputs and the code, you can predict exactly when the system will fail
FALSE
24
The use of COTS (Commercial Off-The-Shelf) software generally increases the difficulty of proving the safety of a critical system because the source code is often unavailable for analysis
TRUE
25
If a software system is mathematically proven to be correct according to its specification, it is impossible for the system to cause an accident
FALSE
26
Diversity in engineering (e.g., N-version programming) is used to prevent common-mode failures where the same error exists in multiple backup systems
TRUE
27
Operational profiles are used during testing to simulate how the system will likely be used in the real world, rather than testing every theoretical path
TRUE
28
Safety-critical systems should be designed so that if they fail, they fail into a known safe state (fail-safe)
TRUE
29
Improving the "Repairability" of a system increases its overall "Availability"
TRUE
30
It is generally cheaper to add security features to a system after it has been deployed and vulnerabilities are discovered, rather than during the design phase
FALSE
31
It is generally possible to test a software system to prove that it has a failure rate of 1 in 100 million (very low probability of failure)
FALSE
32
The POFOD (Probability of Failure on Demand) metric is the best choice for a standard banking transaction system that processes millions of requests per day
FALSE
33
Functional safety requirements define specific behaviors or functions the system must perform to ensure safety, whereas non-functional requirements define the required level of reliability
TRUE
34
The ALARP principle dictates that all risks must be eliminated completely, regardless of the cost
FALSE
35
Hazard identification should ideally be performed after the software implementation phase to ensure the code is stable
FALSE
36
A "safety case" is a legal lawsuit filed against an engineer after an accident occurs
FALSE
37
If a system has a high Mean Time To Failure (MTTF), it automatically implies that the system is safe
FALSE
38
Quantitative reliability requirements (using numbers) are often difficult to verify because software failure is usually caused by design errors, not physical wear and tear
TRUE
39
A "hazard" and an "accident" are the same thing in safety engineering terminology
FALSE
40
Reducing the probability of a hazard occurring is one form of risk reduction; another form is mitigating the damage after the failure occurs
TRUE
41
Formal methods (mathematical analysis) can be used to prove that a specification conforms to safety requirements, but they are expensive to implement
TRUE
42
Software safety requirements often evolve from an analysis of the hardware and the wider system, rather than just the software itself
TRUE
43
Availability is calculated solely based on how many times the system crashes, regardless of how long it takes to fix
FALSE
44
In safety-critical systems, it is common practice to identify "excluded" hazards—events that are considered so unlikely they are ignored in the design
TRUE
45
A system can meet all its functional requirements (do everything it is supposed to do) and still be considered unsafe
TRUE
46
Implementing redundancy in a software system (e.g., N-version programming) reduces the overall development cost because it simplifies the testing phase
FALSE
47
Forward error recovery is generally faster than backward error recovery because it does not require restoring a large amount of state data
TRUE
48
In a Triple Modular Redundancy (TMR) system, the system can successfully mask a failure even if two of the three modules fail simultaneously
FALSE
49
Software diversity (e.g., N-version programming) guarantees that the system will be reliable because it is impossible for independent teams to make the same logic error
FALSE
50
The "Acceptance Test" in a Recovery Block architecture must be completely independent of the primary algorithm to be effective
TRUE
51
Hardware fault tolerance is generally considered more straightforward to implement than software fault tolerance because hardware components do not typically suffer from "design errors" in the same way software does
TRUE
52
Backward error recovery is ill-suited for real-time systems where the output is needed immediately, as the rollback process introduces unpredictable delays
TRUE
53
A "fail-stop" system is designed to output incorrect data for a short period before shutting down to allow the user to see the error
FALSE
54
Fault tolerance focuses on keeping the system running, whereas fault avoidance focuses on preventing bugs from entering the code in the first place
TRUE
55
In N-version programming, the different versions of the software run sequentially (one after the other)
FALSE
56
Exception handling in high-level programming languages (like Java try-catch) is a form of forward error recovery
TRUE
57
Using Commercial Off-The-Shelf (COTS) components usually increases the risk of common-mode failures if the exact same COTS component is used in redundant channels
TRUE
58
Recovery blocks rely on a voting system to determine which output is correct
FALSE
59
Checkpointing is a necessary prerequisite for implementing efficient backward error recovery
TRUE
60
It is possible to apply diversity to data representations (e.g., storing altitude in meters and feet) to detect computation errors
TRUE
61
It is generally considered good engineering practice to delay security considerations until the implementation phase to ensure the functional requirements are fully met first
FALSE
62
A system that is 100% secure is theoretically possible if enough resources are invested in formal verification and testing
FALSE
63
There is often a direct conflict between security and usability; increasing security controls (like complex passwords) often makes the system more difficult to use
TRUE
64
Security risk assessment should be a one-time activity performed at the beginning of the project
FALSE
65
The "weakest link" in a security chain is often the human operator rather than the cryptographic algorithms
TRUE
66
If a system uses standard 256-bit encryption, the security of the data is guaranteed regardless of how the encryption keys are managed
FALSE
67
Asset identification includes intangible items such as the organization's reputation and customer trust, not just physical servers and databases
TRUE
68
Authorization must always precede authentication in a standard security interaction
FALSE
69
Commercial Off-The-Shelf (COTS) software helps reduce security risks because the vendor assumes full responsibility for all vulnerabilities
FALSE
70
An "Attack Tree" is a visual diagram used to model the different paths an attacker might take to compromise a system goal
TRUE
71
Security is classified as a functional requirement because it describes specific functions (like logging in) that the system performs
FALSE
72
Design for security involves explicit decisions to avoid shared data and to isolate critical assets from public interfaces
TRUE
73
Social engineering attacks target the software code directly to bypass firewalls
FALSE
74
System availability is considered a component of security because a Denial of Service (DoS) attack aims to compromise it
TRUE
75
A security policy should be generic and high-level to allow developers total freedom in how they implement specific controls
FALSE
Study all 75 cards for free