Design and Implementation - Review

A comprehensive review quiz covering Softwate Design and Implementation: object-oriented design using the UML (OO design process, use cases, architectural design, object identification, design models, interfaces), design patterns (Observer, Façade, Iterator, Decorator), implementation issues (reuse, configuration management, host-target development), and open-source development (licensing, business decisions, management practices)

download Export
search_insights Statistics
stylus_note White Board
Quran
calculate Calculator
dictionary Dictionary
fullscreen Full Screen
QUESTION OF

volume_mute Read quiz aloud
Views #: 216
Questions #: 17
Time: 15 minutes
Pass Score: 80.0%
Style
Mode

Build or Buy Decision

1 pts
volume_mute

One of the most important implementation decisions at an early stage is whether to build or buy the application software. Which of the following correctly describes the 'buy' approach?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


OO Design - Key Process Activities

1 pts
volume_mute

Which of the following correctly identifies activities in the object-oriented design process? Select ALL that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Listener Model Architecture

1 pts
volume_mute

The weather station architecture uses a 'listener model' where subsystems communicate by broadcasting messages on a shared Communication link, and each subsystem listens for the messages intended for it. What is the key benefit of this architecture?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Design Models - Two Kinds

1 pts
volume_mute

Drag the correct term into each placeholder.

When using the UML to develop a design, two kinds of model should be produced. (1) describe the static structure using object classes and their relationships - including generalization, uses/used-by, and composition relationships. (2) describe the dynamic structure and show expected runtime interactions between objects - including sequences of service requests and state changes.

Please drag and drop the selected option in the right place or type it instead
Structural models
Dynamic models
Process models
Deployment models
note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Interface Design Principle

1 pts
volume_mute

Why should data representation be hidden from an interface specification, with only operations included?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Observer Pattern - When to Use

1 pts
volume_mute

The Observer pattern is most appropriate in which of the following situations? Select ALL that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Pattern Identification

1 pts
volume_mute
Scenario
×A music player app must update a waveform display, a track-time counter, and lyrics view simultaneously whenever the playback position changes
×A shopping cart object must be able to iterate over its list of items without exposing whether items are stored in an array, a linked list, or a database
×A legacy codebase has dozens of interrelated subsystems with inconsistent interfaces; a new module needs a single clean interface to all of them
×A text editor needs to add spell-checking, grammar-checking, and auto-save features to documents at runtime without modifying the base Document class
Observer
Façade
Iterator
Decorator

Classify each design scenario into the pattern that best solves it.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Software Reuse - Levels

1 pts
volume_mute
Please drag and drop the options to sort them

Sort the four levels of software reuse from the highest level of abstraction (most abstract, least concrete code reused) to the lowest level (most concrete, directly reusing code).

Object level - directly reusing library objects
System level - reusing entire application systems (COTS)
Abstraction level - reusing design knowledge (patterns)
Component level - reusing frameworks of cooperating objects
note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Configuration Management Activities

1 pts
volume_mute
Tool or Scenario
×Git and Subversion - track all changes to source files and prevent developers overwriting each other's work
×Bugzilla - allows users to report bugs and developers to see who is working on each issue and when it is resolved
×GNU build system - automatically compiles and links the right component versions to create a system build
×A release notes document describing new features and bug fixes in version 3.2.0 shipped to customers
Version management
System integration
Problem tracking
Release management

Classify each tool or scenario into the correct configuration management activity.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Host vs Target Platform

1 pts
volume_mute
Items
×IDE (e.g., Eclipse)
×Compilers
×Testing tools (e.g., JUnit)
×Execution platform / runtime environment
×Production libraries used by the running application
×Related systems the application integrates with at runtime
Host platform
Target platform

Match each item to whether it belongs to the Host (development) platform or the Target (execution) platform.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Open-Source License Scenarios

1 pts
volume_mute
To complete the line match
  1. Click on an item in the first group
  2. Click on an item in the second group
  3. To delete a match, double click on a line

Company Goal

We want to allow unrestricted use in both open-source and proprietary systems with only attribution required; we impose no restrictions on derivative works
We want to ensure that all derivative works, including products that use our library, must also be open source
We want others to be able to use our library in proprietary products; we only require that if they modify our library itself, they publish those changes

License

GNU GPL
GNU LGPL
BSD / MIT License

A company is deciding which open-source license to use for its new library. Match each company goal to the most appropriate license.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Weather Station State Machine - Initial State

1 pts
volume_mute

In the weather station state diagram, which state is indicated as the initial state by the unlabelled arrow with a black blob, and what message causes the first transition out of it?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Key Points - Chapter 7 Summary

1 pts
volume_mute

Which of the following statements from the Chapter 7 key points are TRUE? Select ALL that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Use Case Description Format

1 pts
volume_mute
Please drag and drop the options to sort them

A structured use case description in the weather station format includes several fields. Arrange these fields in the order they typically appear in a structured use case description.

Response
System
Comments
Use case
Data
Stimulus
Actors
note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Abstraction Level Reuse - Example

1 pts
volume_mute

A development team is designing a new notification system. They do not reuse any existing code, but they use the Observer pattern as the basis for their design. At which level of software reuse are they operating?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Data Collection Subsystem Architecture

1 pts
volume_mute

The data collection subsystem architecture includes three objects working together. In the architecture where Transmitter and Receiver manage communications and WeatherData encapsulates collected information, which design pattern does this arrangement most closely resemble?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Why UML May Not Be Needed

1 pts
volume_mute

In which of the following situations would using the UML to document a design NOT be the right approach?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation