Subtopics in this chapter
- 8.1Software process and requirements
- 8.2Software design
- 8.3Software testing, cost estimation, quality management, and configuration management
- 8.4Object-oriented fundamentals and analysis
- 8.5Object-oriented design
- 8.6Object-oriented design implementation
What is usually tested
Software-engineering questions cover process models (agile, V-model, prototyping), functional and non-functional requirements, design concepts such as coupling and cohesion, architectural and control styles, the levels of testing, cost estimation with COCOMO, quality assurance, CMMI and configuration management. The object-oriented part asks about use cases, UML diagrams, conceptual models, GRASP and common design patterns, visibility, and mapping a design to code.
Sample questions with answers
Choose an answer to check it, or open "Show answer". These 12 are taken from the 172 questions for this chapter in the practice bank.
-
Which SDLC model emphasizes risk analysis in each iteration?
Show answer
Answer: A. Spiral
The spiral model includes explicit risk analysis in every cycle.
-
Which statement about software, compared with hardware, is correct?
Show answer
Answer: A. Software is engineered, and it does not wear out physically
Software deteriorates only because of the changes made to it, not because of physical wear.
-
A good software design aims for:
Show answer
Answer: D. Low coupling, high cohesion
Modules should be independent (low coupling) and focused (high cohesion).
-
Software design is the activity that:
Show answer
Answer: C. Transforms the requirements into a blueprint for building the software
It covers architectural, interface, component and data design.
-
Which of the following is a black-box testing technique?
Show answer
Answer: C. Equivalence partitioning
Equivalence partitioning uses inputs/outputs without looking at code.
-
Unit testing is the testing of:
Show answer
Answer: C. Individual modules or components in isolation
It is normally carried out by the developers themselves.
-
Which UML diagram shows object interactions ordered in time?
Show answer
Answer: D. Sequence diagram
Sequence diagrams show messages exchanged over time.
-
In object-oriented development, analysis is concerned with:
Show answer
Answer: A. Investigating the problem and what the system must do
Design then works out a conceptual solution, that is, how the requirements will be met.
-
The central task in moving from object-oriented analysis to design is:
Show answer
Answer: B. Assigning responsibilities to software objects and deciding how they collaborate
Interaction diagrams and design class diagrams record these decisions.
-
A real use case differs from an essential use case in that it:
Show answer
Answer: C. Describes the process in terms of its concrete design, such as the user interface
An essential use case is abstract and independent of technology and implementation.
-
In an iterative object-oriented development process, the design artifacts are used during implementation as:
Show answer
Answer: A. Input for generating the code
Class definitions come from design class diagrams and method bodies from interaction diagrams.
-
In test-first programming, the unit tests are written:
Show answer
Answer: B. Before the code that they test
Writing the test first clarifies what the code must do.
Practise this chapter
The full mock tests mix 10 questions from this chapter with 10 from each of the other nine, under the real 2-hour limit. Chapter practice mode lets you work through this chapter alone, untimed, with the explanation shown after every question. Go to the mock tests