ssd9
.pdf_____ activities check the correctness of the product; _____ activities check that the software meets all behavioral specifications.
Verification, validation
_____ is the process of breaking the product into _____, which are self-contained pieces of code that interact with other _____.
Modular decomposition, modules, modules
A back-end CASE tool (lowerCASE tool) is one that assists with which phases of software development?
Implementation, integration, and maintenance
A complete and detailed description of the functionality available in a software product is found in the
User reference manual
A configuration-control tool is used to
specify which versions and which variations of each component are required for a complete product
A front-end CASE tool (upperCASE tool) is one that assists with which phases of software development?
Requirements, specification, and design
A good architectural design of a software system promotes which of the following?
I and III only
A module that either returns the information requested or returns appropriate hard-coded values for given input is called a stub
A program that helps the user construct data-flow diagrams is an example of which of the following?
I and II only
A single CASE tool assists in how many aspects of software production?
Just one
A software fault that occurs rarely, has low user productivity impact, and is expensive to fix should be given low priority but eventually be fixed
A software-versioning tool helps an organization manage which of the following?
I and II only
A thorough documentation process emphasizes that
I and II only
A way of minimizing the impact of a software fault that is too expensive or time consuming to fix is to use a workaround
Acceptance testing can be performed by which of the following?
I, II, and III
Adaptive maintenance occurs in response to which of the following?
Changes in the client's computing facilities and environment
Advantages of structural testing include which of the following?
II only
After a product has undergone changes during maintenance, the process of testing that the changes have not negatively impacted other functionality is called regression testing
An online interface checker is an example of a coding tool
An open modular architecture for software is a requirement of the incremental model
Application frameworks and code frameworks are ways of reusing design
Assembly languages are also called _____ and they_____. second-generation languages, reflect the architecture of the processor
Baselines and access control systems are used for what purpose?
To keep programmers from changing the same module(s) simultaneously
Black-box testing techniques are so named because testing is performed without examining any code
Black-box testing techniques include which of the following?
I and III only
Branch coverage testing consists of ensuring that
each branch in the code has been executed at least once
By assigning less skilled programmers to maintenance, management is perpetuating the bad reputation of maintenance programming
CASE tools can help in which of the following aspects of software production?
I, II, and III
CASE tools can help the documentation process for a software product in which of the following ways?
I, II, and III
CASE tools that are particularly useful in the maintenance phase include which of the following?
II and III only
Coding tools include which of the following?
I, II, and III
Consider implementing an algorithm for division and testing code with the values 2, 1, 0, -1, and -2. Which of the following techniques is (are) being applied?
II and III only
Constants should be used
for values that will never change
Criteria used for prioritizing software faults include which of the following?
I, II, and III
Deliberate reuse is better than any other kind of reuse because components are likely to be which of the following?
I, II, and III
Documentation in a module should be placed in which of the following places?
I and III only
Documentation of testing should be produced in which of the following phases of software development?
I, II, and III
Drawbacks of fourth-generation languages (4GLs) include which of the following?
II only
During a design review, which of the following issues concerning the detailed design is (are) considered?
I, II, and III
During code inspection of several modules for a software project, an inspection of other modules is warranted when a significant number of faults of a particular type are found while inspecting more than one of the modules
During product testing, which of the following techniques should be used to verify that the product satisfies its output specifications?
II only
For a software development project, a good way of making sure that the client's needs are met is to use the rapid prototyping model
For a software development project, what does it mean for specifications to be traceable?
Every statement in the specifications document is linked to a statement in the requirements document.
For a software development project, where should documentation for module interfaces and the dataflow among modules appear?
With general documentation for the system
For a software development project, who participates in design phase testing?
The developer's SQA group and the design team
For software development, which of the following indicates the order in which three kinds of integration testing should be carried out?
Integration testing, product testing, acceptance testing
Frequent integration testing is a feature of the synchronize-and-stabilize model
Glass-box testing includes which of the following?
I, II, and III
How should nonrepeatable faults that occur sporadically be handled?
They should be reported even without test data.
If a decision by a programmer results in a violation of coding standards, the programmer should check with the manager to determine whether the code can stand as is
If a programmer violates coding standards, the manager should
respond in a way that balances the benefit of the standards with the burden they put on the programmer
If the software product is replacing an existing product, the new product should be
run in parallel with the existing product until the client is satisfied that the new product is satisfactory
Impediments to functional testing of even a moderate size program include which of the following?
II and III only
Impediments to structural testing in even a moderate size program include which of the following?
I and II
Improvements in which of the following occur(s) when modularity of code is used instead of a single equivalent block of code?
I, II, and III
In a software development context, tool integration means that all tools communicate via the same data format
In a software development project, acceptance testing is performed by the client on the client's hardware with actual data
In a software development project, it is important to keep track of the rationale underlying design decisions for which of the following reasons?
I and III only
In a software testing activity, a driver refers to which of the following?
A module that has yet to be coded but passes the appropriate values to the module being tested.
In choosing a language for the final product, which of the following factors should be considered? I.Whether the language supports coincidental cohesionII.Whether the language supports informational cohesionIII.Whether the language is object-oriented
II and III only
In choosing a language for the final product, which of the following factors should be considered? I.The client's experience with, and tools for, the languageII.The language's suitability for the applicationIII.The costs, benefits, and risks of using the language
I, II, and III
In contract software, the issues that might limit reuse of code include which of the following?
I and II
In data-oriented design, the architecture of the system is based on which of the following?
II only
In general, a maintenance release for a software product should include only one type of maintenance per release
In general, reliability testing of a software product checks which of the following?
I and II only
In most situations, the language(s) used for rapid prototyping and final product development should be different languages
In nonexecution-based testing of software, an important product of the inspections process is the number of faults found, ranked by severity
In nonexecution-based testing of software, code inspection is a formal process that consists of five steps: overview, preparation, inspection, rework, follow-up
In nonexecution-based testing of software, the inspections team consists of
three to six people, including representatives from the current and future phases
In nonexecution-based testing of software, the inspections team includes which of the following roles?
I and III only
In object-oriented systems
small self-contained objects facilitate reuse, but other problems complicate it
In responsibility-driven programming
the called module checks input to ensure that it has not been called with inappropriate input
In software development, product testing includes performance testing, _____, _____, and documentation testing robustness testing, installation testing
In software development, what is integration testing?
Testing whether the software modules interface correctly together
In software development, which of the following testing approaches are used in integration testing?
I, II, and III
In statement coverage, which of the following is true?
Each statement in the code has been executed at least once.
In the Cleanroom technique, execution-based testing is used only after nonexecution-based testing
In the context of software development, a correctness proof is
a mathematical proof that some code satisfies its specifications
In which of the following places should the interface to a module be documented?
III only
Inheritance in object-oriented systems makes maintenance harder because definitions may be spread out all over the code
Installation testing is performed during which of the following kinds of testing?
II only
Installation testing of a software product checks to verify that it works with the client's other software
Installer/administrator documentation for a software product includes instructions about which of the following?
I and III only
Instructions for both the installation of the product and procedures for initialization are included in which of the following?
Installer/administrator documentation
Issues that arise with testing object-oriented code include which of the following?
I and III only
It is possible to reuse components from _____ phases of the software process, but _____ reuse is most common. all, module
It may be worth redesigning and recoding a module from scratch under which of the following conditions?
Many more faults are found in that module than in any other module.
Maintenance activities that remove residual faults in the software product are called corrective maintenance
Maintenance is normally required in almost all software products
Management integration refers to a CASE environment that supports which of the following?
I only
Measures of reliability of a software product include which of the following?
I and III only
Nested if statements can be simplified by using Boolean combinations
Nonexecution-based testing techniques can be applied to which of the following?
I, II, and III
Object-oriented design techniques include which of the following kind(s) of diagrams?
I and III only
Of the following coding style practices, which best facilitates future maintenance?
Making variable names meaningful to persons other than the code's author
Of the following software life-cycle models, which has the most danger of not meeting the client's requirements?
The waterfall model
One life-cycle model that incorporates features of all other models is the model
Other names for black-box testing techniques include which of the following?
I, II, and III
Other names for glass-box testing techniques include which of the following?
I, II, and III
Problem reporting systems can help manage the workflow of software maintenance by which of the following?
I and II only
Product testing for contract software includes which of the following?
I and II only
Product testing for contract software should include which of the following?
I, II, and III
Programming-in-the-large refers to which of the following?
Software development at the module level, including architectural design
Programming-in-the-many refers to which of the following?
Software production by a team, either at the module level or at the code level
Programming-in-the-small refers to which of the following?
Coding at the level of the code of a single module
Regression testing for a software development project is testing to determine whether
a component that was unchanged during changes to other components still performs correctly
Reliability analysis is based on which of the following ideas?
II only
Reliability analysis is used for which of the following purposes?
It is used to help determine how long to test in order to guarantee that the product's fault rate satisfies specification.
Responsibility-driven programming is better than defensive programming for which of the following reasons?
II only
Restructuring is the process of
improving the product without changing its functionality
Reusing an application framework usually means reusing control logic instead of specific code routines
Software maintenance is difficult for which of the following reasons?
It incorporates aspects of all other phases of development.
Structural testing is _____ and structured testing is _____. glass-box testing, black-box testing
Testing each procedure or function in a module is called functional testing
The architectural design document for a software development project contains a description of the modules in the system, their interface, and the data and control flow among them
The architectural design of a software system is used during which of the following phases of software construction?
II and III only
The basic idea behind the use of complexity metrics is that
the more complex a module is, the more likely it is to contain faults
The best time to develop a correctness proof is while the code is being written
The code walkthrough team should include representatives of which of the following?
I, II, and III
The decisions that management will have to make regarding testing include which of the following?
I, II, and III
The disadvantages of nonexecution-based techniques include which of the following?
II and III only
The documentation that must be prepared before delivering a software product to a client includes which of the following?
I and II only
The fragile-class problem comes about because of which of the following?
III only
The ideal order for module testing and integration testing is given by which of the following?
They should be done together.
The languages Fortran, Pascal, COBOL, and C++ are examples of which generation of programming languages? third
The life-cycle model that supports both iteration within phases and parallelism between phases is the
O-O model
The main criterion for choosing a language for rapid prototyping should be how quickly development can be accomplished with that language
The manager of the SQA group should run integration testing because
I, II, and III
The metrics that are useful during the maintenance phase of software development include which of the following?
I and II
The modules of a system with an optimal modular design have high cohesion and low coupling
The primary difference between code inspections and code walkthroughs is that inspections are more formal and have more steps
The primary purpose of careful code layout is to improve readability
The primary qualities tested during acceptance testing are robustness and which of the following?
Correctness, performance, and documentation
The primary use of complexity metrics is to determine which modules need attention
The reasons for documenting software development as early and completely as possible include which of the following?
I, II, and III
The results of applying the Cleanroom technique have been
encouraging: the resulting code has had very few faults per KLOC or has been fault free
The robustness of a product is tested by presenting it with illegal output
The strategies of top-down, bottom-up, and sandwich integration are suited to both object-oriented and non-object-oriented systems
The testing fault rate used in the Cleanroom technique computes the number of faults detected per thousand lines of code during the execution-based testing that follows nonexecution-based testing
The time limit on an effective walkthrough or code-review session is two hours
The ultimate responsibility for verifying the correctness of modules rests with the developer's SQA group
The validation measure concerned with the extent to which the product meets the customer's needs is called utility testing
There is no documentation activity in which of the following phases of the software life cycle?
III only
To make the process of developing and maintaining documentation for a software product as efficient as possible, the developer's organization should use which of the following?
I and III only
Two properties of object-oriented software that make it easier to maintain are encapsulation and information hiding
Typically, the bulk of the time spent in software maintenance is for which of the following kinds?
II only
Under which of the following conditions are two modules said to be data-coupled?
I and II only
Use of which of the following can be considered forms of code reuse?
II and III only
Useful metrics for tracking fault reports include which of the following?
I, II, and III
User interface integration usually refers to an environment that
provides tools having the same visual appearance and functional interface
User training materials should cover which of the following?
All major functionalities of the system with a gradual introduction of detail
Utility of a software product includes which of the following?
I, II, and III
What are the contents of the detailed design document for a software development project?
A description of the data structures and algorithms for each module
What is the most important reason for producing documentation for program code for a software product?
The people who maintain the code need documentation to understand it.
What possible types of testing might be needed as a result of changes made in the maintenance phase of the software life cycle?
I, II, and III
When and where is contract software validation performed?
It is performed during product testing at the developer's site.
When code is confusing, it should be rewritten
When the only documentation available for a software code is the code itself, the process of reconstructing the design and specifications is called reverse engineering
Which of the following activities are typically used to elicit requirements for a software project from a client?
I, II, and III
Which of the following activities may be performed during maintenance?
I, II, and III
Which of the following are advantages of bottom-up integration?
II and III only
Which of the following are advantages of sandwich integration?
I, II, and III
Which of the following are advantages of top-down integration testing of software?
I and III only
Which of the following are coding tools?
II and III only
Which of the following are disadvantages of bottom-up integration?
II only
Which of the following are disadvantages of top-down integration testing of software?
I only
Which of the following are goals of the requirements phase of the software development cycle?
I and III only
Which of the following are measures of code complexity?
I, II, and III
Which of the following are part of the system design phase of software development?
I, II, and III
Which of the following are possible documents that could be included in the maintainer's documentation?
II and III only
Which of the following are produced during the implementation phase of software development?
I, II, and III
Which of the following are reasons why polymorphism and dynamic binding make object-oriented software more difficult to understand?
I only
Which of the following are true of one-of-a-kind software product development?
I only
Which of the following are types of maintenance?
I and III only
Which of the following are updated after enhancements have been added to a software product?
I, II, and III
Which of the following are valid approaches when creating training materials for the first-time or novice end users of a software product?
II and III only
Which of the following artifacts serve as documentation for the analysis and specification phase?
II and III only
Which of the following belong in the specification document for a software project?
I and II only
Which of the following changes are typically carried out during the maintenance phase of the software life cycle?
I, II, and III
Which of the following characterizes the binary machine code instructions processed by computers?
A first-generation language
Which of the following defines traceability of the design document?
Each design choice, except choices of low-level detail, must be linked to statements in the specifications document, and each statement in the specification document must be reflected in some aspect of the design
Which of the following factors contribute to limiting software reuse?
II and III only
Which of the following indicates the order in which four of the phases in the software life cycle should be carried out?
Requirements, specifications, design, and implementation
Which of the following is (are) among the possible contents of the user quick reference for a software product?
I, II, and III
Which of the following is (are) considered a validation activity?
I only
Which of the following is (are) considered a verification activity?
I and II only
Which of the following is (are) part of inline documentation?
I and III only
Which of the following is (are) true about a build tool for software development?
I and III only
Which of the following is (are) true about a product when it is undergoing updates during maintenance?
I and II only
Which of the following is (are) true about documentation standards?
I and II only
Which of the following is (are) true about documentation standards for software products?
I and II only
Which of the following is (are) true about perfective maintenance of a software product?
I only
Which of the following is (are) true about specific classes in the Java class hierarchy that derive their code from classes higher up in the hierarchy?
I, II, and III
Which of the following is (are) true about the technique known as all-definition-use path coverage?
I only
Which of the following is (are) true in a module with high cohesion?
I and II only
Which of the following is (are) true in a module with informational cohesion?
I, II, and III
Which of the following is (are) true in a module with low cohesion?
II and III only
Which of the following is (are) true of maintaining uniformity in documentation for a software product?
II and III only
Which of the following is (are) true of maintenance of a software product?
I, II, and III
Which of the following is (are) true of modules that perform the characteristic functions of a software product?
I and II only
Which of the following is an important trade-off that must be kept in mind during the design phase of software development?
Generality vs. complexity
Which of the following is not a part of the software project management plan?
Rapid prototyping
Which of the following is the term for reuse of code made possible because someone realized that the code of a previously developed component could be reused?
Acidental reuse
Which of the following is true about coding style guidelines?
They are language specific.
Which of the following is true about defensive programming?
The calling module checks input to the called module to ensure that the input is appropriate.
Which of the following is true about maintenance for object-oriented software?
It has its own challenges, even though it is easier in some ways than maintenance for non-object-oriented software.
Which of the following is true about object-oriented design?
Equal emphasis is given to the structure of the data and the actions operating on the data
Which of the following is true about self-documenting code?
It exists but is extremely rare.
Which of the following is true in top-down integration testing of software?
Logic modules are coded and tested first with lower modules as stubs.
Which of the following is true of a logic module?
I and III only
Which of the following is true of a specification document for a software project?
It is a contract between the client and the developer.
Which of the following is true of alpha and beta testing of a shrink-wrapped software product?
Both occur at potential future customers' sites
Which of the following is true of maintenance in software development?
It is an integral part of the software process
Which of the following is true of nonexecution-based techniques?
They can find most faults in the design and implementation phases.
Which of the following is true of the requirements document for a software project?
It is a basis for the specification document.
Which of the following is true when a sandwich integration strategy is applied to integration testing?
I and II only
Which of the following is true when an inspection finds that 5 percent or more of a module must be reworked?
The inspection team must reinspect the module fully after it has been reworked.
Which of the following is true when bottom-up integration is used?
Operations modules are coded and tested first with higher modules as drivers.
Which of the following kinds of changes to a software product characterizes maintenance of the product?
Changes made after it has passed the acceptance test
Which of the following kinds of documentation should be produced as part of the implementation phase of software development?
II and III only
Which of the following kinds of integration is associated with an environment that supports a specific software process?
Process integration
Which of the following participate in a formal review of the specifications document for a software project?
I, II, and III
Which of the following problems afflict hard-and-fast coding standards?
II and III
Which of the following ranks three structural testing techniques from weakest to strongest?
Statement coverage, branch coverage, path coverage
Which of the following should be avoided in a specification document for a software project?
I and III only
Which of the following should be present in a module prologue?
I, II, and III
Which of the following statements are true of problem identification?
I only
Which of the following statements is (are) applicable to a situation where the client keeps wanting changes made after the product is delivered?
I, II, and III
Which of the following statements is (are) true of correctness proofs?
II only
Which of the following statements is (are) true of testing techniques?
I and II only
Which of the following statements is (are) true of third generation languages?
I and II only
Which of the following steps is (are) typically performed in a code walkthrough?
I and II only
Which of the following techniques create fault statistics?
I, II, and II
Which of the following typically occur(s) during a code walkthrough?
II and III only
Which of the following typically takes the responsibility of emphasizing the priority of allocating proper resources to the documentation of a software product?
The developer
Who is most likely to make changes to the software product during maintenance?
The developer
Who should be involved in requirements testing for a software project?
The developer's SQA group, the client, and the user