|
Design Problems
|
Problem Classification
|
The problems are divided into three groups:
- Larger problems that require a lot of work are marked with a star (*).
- Intermediate problems that require a medium amount of work have no
marker.
- Small problems that involve very little work are marked with a tilde
(~).
|
Grain Elevator
|
The Grain Elevator System is a
program for tracking the grain stored in a grain elevator as it arrives in
trucks from farms, and is shipped out in trains from the elevator.
- Make a use case diagram for the Grain Elevator System. (~)
- Make a stakeholders-goals list for the Grain Elevator System. (~)
- Make a complete use case model for the Grain Elevator system. Include
a use case diagram, actor briefs, use case descriptions for all use cases,
and a design rationale in which you discuss important design decisions.
(*)
- Make a conceptual model for the Grain Elevator System.
- Make a design class model for the Grain Elevator System.
- Co-design the components and component interactions of the Grain
Elevator System. Deliver a complete design class model (a UML class
diagram), interaction models for all interesting interactions (UML
sequence diagrams), and a design rationale in which you discuss important
design decisions. (*)
- Beginning with a mid-level design of the Grain Elevator System, write
operation specifications for all operations. (*)
- Beginning with some design documentation for the Grain Elevator
System, conduct a design inspection. As a first step, create an inspection
checklist appropriate for the design document you intend to inspect. (*)
- Beginning with some design documentation for the Grain Elevator
System, conduct an active design review. (*)
- Beginning with a design document for the Grain Elevator System,
attempt to improve the design by incorporating one or more
architectural styles.
- Beginning with a design document for the Grain Elevator System,
attempt to improve the design by incorporating one or more mid-level
design patterns.
|
SafeMessage System
|
The SafeMessage System is a
secure instant messaging system that provides various levels of secure
communication between individuals over the Internet.
- Make a use case diagram for the SafeMessage System. (~)
- Make a stakeholders-goals list for the SafeMessage System. (~)
- Make a complete use case model for the SafeMessage system. Include
a use case diagram, actor briefs, use case descriptions for all use cases,
and a design rationale in which you discuss important design decisions.
(*)
- Make a conceptual model for the SafeMessage System.
- Make an architectural profile for the SafeMessage System.
- Make an architectural profile and write a complete set of scenarios
for the SafeMessage System. (*)
- Devise two architectures for the SafeMessage System and use a scoring
matrix to compare them with one another. Use the scenarios from an
architectural profile to as criteria in your evaluation. (*)
- Make a design class model for the SafeMessage System.
- Co-design the components and component interactions of the
SafeMessage System. Deliver a complete design class model (a UML class
diagram), interaction models for all interesting interactions (UML
sequence diagrams), and a design rationale in which you discuss
important design decisions. (*)
- Beginning with a mid-level design of the SafeMessage System, write
operation specifications for all operations. (*)
- Beginning with some design documentation for the SafeMessage System,
conduct a design inspection. As a first step, create an inspection
checklist appropriate for the design document you intend to inspect. (*)
- Beginning with some design documentation for the SafeMessage System,
conduct an active design review. (*)
- Beginning with a design document for the SafeMessage System, attempt
to improve the design by incorporating one or more architectural
styles.
- Beginning with a design document for the SafeMessage System, attempt
to improve the design by incorporating one or more mid-level design
patterns.
|
Song Scheduling System
|
The Song Scheduling System
allows radio station personnel to create and modify song schedules based on
song popularity, frequency of play, and time since last play.
- Make a use case diagram for the Song Scheduling System. (~)
- Make a stakeholders-goals list for the Song Scheduling System. (~)
- Make a complete use case model for the Song Scheduling system. Include
a use case diagram, actor briefs, use case descriptions for all use cases,
and a design rationale in which you discuss important design decisions.
(*)
- Make a conceptual model for the Song Scheduling System.
- Make a design class model for the Song Scheduling System.
- Co-design the components and component interactions of the Song
Scheduling System. Deliver a complete design class model (a UML class
diagram), interaction models for all interesting interactions (UML
sequence diagrams), and a design rationale in which you discuss important
design decisions. (*)
- Beginning with a mid-level design of the Song Scheduling System, write
operation specifications for all operations. (*)
- Beginning with some design documentation for the Song Scheduling System,
conduct a design inspection. As a first step, create an inspection
checklist appropriate for the design document you intend to inspect. (*)
- Beginning with some design documentation for the Song Scheduling System,
conduct an active design review. (*)
- Design a data structure for the portion of the Song Scheduling System
program that stores data about songs and document it with one or more data
structure diagrams. Design an algorithm to use this data structure to
prioritize songs and generate a song schedule, and document it with
pseudocode.
- Beginning with a design document for the Song Scheduling System,
attempt to improve the design by incorporating one or more
architectural styles.
- Beginning with a design document for the Song Scheduling System,
attempt to improve the design by incorporating one or more mid-level
design patterns.
|
Single Page Pager
|
The Single Page Pager is a
very simple electronic pager device.
- Make a use case diagram for the Single Page Pager. (~)
- Make a complete use case model for the Single Page Pager. Include a
use case diagram, actor briefs, use case descriptions for all use cases,
and a design rationale in which you discuss important design decisions.
- Describe the behavior of the Single Page Pager using a UML state
diagram.
- Make a conceptual model for the Single Page Pager.
- Make a design class model for the Single Page Pager.
- Co-design the components and component interactions of the Single Page
Pager. Deliver a complete design class model (a UML class
diagram), interaction models for all interesting interactions (UML
sequence diagrams), and a state model describing interesting state-based
behavior (UML state diagram).
- Beginning with a mid-level design of the Single Page Pager, write
operation specifications for all operations. (*)
- Beginning with some design documentation for the Single Page Pager,
conduct a design inspection. As a first step, create an inspection
checklist appropriate for the design document you intend to inspect. (*)
- Beginning with some design documentation for the Single Page Pager,
conduct an active design review. (*)
- Beginning with a design for the Single Page Pager, implement the
design in a simulator. The simulator should have a text display
representing the pager display, and two buttons representing the pager
buttons. (*)
|