Выбрать главу

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

180. a. The purpose of decision tables is to provide a clear and coherent analysis of complex logical combinations and relationships. This method uses two-dimensional tables to concisely describe logical relationships between Boolean program variables (for example, AND and OR). Advantages of decision tables include (i) their conciseness and tabular nature enables the analysis of complex logical combinations expressed in code and (ii) they are potentially executable if used as specifications. Disadvantages include that they require tedious effort. The requirements analysis, which is a part of initiation phase, is the best place to use the decision table.

181. Data-flow diagrams are used in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

181. a. Data-flow diagrams are used to describe the data flow through a program in a diagrammatic form. They show how data input is transformed to output, with each stage representing a distinct transformation. The diagrams use three types of components:

1. Annotated bubbles represent transformation centers, and the annotation specifies the transformation.

2. Annotated arrows represent the data flow in and out of the transformation centers; annotations specify what the data is.

3. Operators (AND and OR) link the annotated arrows.

Data-flow diagrams describe only data and should not include control or sequencing information. Each bubble can be considered a black box that, as soon as its inputs are available, transforms them to outputs. Each bubble should represent a distinct transformation, whose output is somehow different from its input.

182. Desk-checking is practiced in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

182. c. In desk-checking, programming code is read by an expert, other than the author of the code, who performs any of the following: (i) looking over the code for obvious defects, (ii) checking for correct procedure interfaces, (iii) reading the comments to develop a sense of what the code does and then comparing it to its external specifications, (iv) comparing comments to design documentation, (v) stepping through with input conditions contrived to exercise all paths including those not directly related to the external specifications, (vi) checking for compliance with programming standards and conventions, or (vii) any combination of these. As can be seen, desk-checking is a technical exercise performed by programmers.

183. Finite state machines (FSMs) are used in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

183. a. The purpose of a finite state machine (FSM) is to define or implement the control structure of a system. Many systems can be defined in terms of their states, inputs, and actions. By defining a system’s actions for each input in every state, you can completely define a system. The resulting model of the system is an FSM, which can detect incomplete or inconsistent requirements specifications.

184. Mutation analysis is performed in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

184. c. The purpose of mutation analysis is to determine the thoroughness with which a program has been tested and, in the process, detect errors. This procedure involves producing a large set of version or mutation of the original program, each derived by altering a single element of the program (for example, changing an operator, variable, or constant). Each mutant is then tested with a given collection of test data sets. Because each mutant is essentially different from the original, the testing should demonstrate that each is different. If each of the outputs produced by the mutants differs from the output produced by the original program and from each other, then the program is considered adequately tested and correct. Mutation analysis requires good automated tools to be effective.

185. Sensitivity analysis is conducted in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

185. c. Sensitivity analysis is a new method of quantifying ultra-reliable software during the implementation phase. It is based on a fault-failure model of software and is based on the premise that software testability can predict the probability that failure occurs when a fault exists given a particular input distribution. A sensitive location is one in which faults cannot hide during testing. The internal states are disturbed to determine sensitivity. This technique requires instrumentation of the code and produces a count of the total executions through an operation, an infection rate estimate, and a propagation analysis.

186. Boundary-value analysis is conducted in which of the following phases of a system development life cycle (SDLC)?

a. Requirements

b. Design

c. Implementation

d. Maintenance

186. c. The purpose of boundary-value analysis is to detect and remove errors occurring at parameter limits or boundaries. The input domain of the program is divided into a number of input classes. The tests should cover the boundaries and extremes of the classes. The tests check that the boundaries of the input domain of the specification coincide with those in the program. Test cases should also be designed to force the output to its extreme values. If possible, a test case that causes output to exceed the specification boundary values should be specified. If output is a sequence of data, special attention should be given to the first and last elements and to lists containing zero, one, and two elements.

187. Error-seeding is planted in which of the following phases of a system development life cycle (SDLC)?

a. Initiation

b. Development/acquisition

c. Implementation

d. Operation/maintenance

187. c. The purpose of error-seeding is to determine whether a set of test cases is adequate. Some known error types are inserted into the program, and the program is executed with the test cases under test conditions. If only some of the seeded errors are found, the test case set is not adequate. One can estimate the number of errors remaining by subtracting the number of real errors found from the total number of real errors. The remaining test effort can then be estimated. If all the seeded errors are found, this indicates that either the test case set is adequate or that the seeded errors were too easy to find.

188. Formal methods or verification of application software is performed in which of the following phases of system development life cycle (SDLC)?