- (6 points each, 36 points total)
Define each of the following terms, as used in software
engineering.
- Module
- Adaptive Maintenance
- Acceptance Test Plan
- External (describing a software quality)
- The USES relationship
- Module Interface ( not Java's interface construct)
- (10 points)
Consider this statement: ``Reliability is a byproduct of a
disciplined approach to design.'' (on p. 145)
Do you agree or disagree with this statement? State the case
for or against your position. Your argument should include
a definition of ``reliability'' as it pertains to software
engineering, and a definition of or example of ``disciplined''
design.
- (10 points)
Name and define two software process models other than the
waterfall model and the spiral model.
- (10 points)
``Information systems'' such as SubHub manage the storage and
retrieval of data by maintaining a database to which transactions
are applied to create, retrieve, updated, or delete items.
Information systems are data oriented and can be
characterized on the basis of the way they treat data.
(p. 36)
Although generic and general software qualities such as
correctness, maintainability, reliability, and user friendliness
certainly pertain to information systems, these systems can
also be evaluated by considering more specific qualities, which
might not apply to all software systems.
Identify and define two software qualities which are
particularly suitable to information systems and which do not
apply to all software systems.
- (16 points)
Give an operational specification for the justify
function in a word processor:
Give a descriptive specification for the justify function.
- (3 points) Why would a class in Java contain a field
designated as private (choose one)?
- So that it can be accessed by inherited classes.
- So that it retains its value for the life of the program.
- To make the program more efficient.
- To ensure high cohesion.
- To promote information hiding.
- (3 points) Which of the following was presented as the major
objection to design by stepwise refinement?
- It does not focus on maintainability and reliability.
- It is not an iterative process.
- It uses a divide and conquer approach.
- It results in larger amounts of source code.
- It forces consideration of too many design options.
- (3 points) Which of the following is not true of
integration testing?
- It determines whether modules make compatible assumptions about
each other.
- It should be performed after acceptance testing.
- It can be done in a top-down or bottom-up fashion.
- It can take advantage of the USES diagram.
- It can be started before all modules are fully coded.
- (3 points) In Object Oriented design, there is a single
type of module, which is (choose one)
- the interface.
- the sub-type module.
- the extends module.
- the ADT module.
- the USES module.
- (3 points) Which of the following is not one
of Boehm's Top 10 software risk items?
- Personnel shortfalls.
- Failure of information hiding.
- Shortfalls in externally furnished components.
- Developing the wrong user interface.
- Gold plating.
- (3 points) Which of the following activities
could be associated with the upper right
hand quadrant of the spiral model? (Choose one)
- Acceptance testing.
- Determing objectives.
- Developing software requirements.
- Prototyping and resolving risks.
- Software product design.