You are on page 1of 5

Design Problems for Use with Introduction to Software

Engineering Design

Introduction
Introduction to Software Engineering Design contains many
Overview small problems as end-of-chapter exercises. This page
provides program descriptions and design problems that
may be used with them as larger projects or homework
assignments.

The systems descriptions are provided as separate PDF files


so that they can be used as the basis for the problems listed
on this page, as well as for problems that instructors may
come up with on their own.

Smaller versions of some of the problems are discussed in


the book, but many of these problems are original.

Design Problems
The problems are divided into three groups:
Problem  Larger problems that require a lot of work are
Classification 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 (~).
The Grain Elevator System is a program for tracking the
Grain grain stored in a grain elevator as it arrives in trucks from
Elevator farms, and is shipped out in trains from the elevator.
1. Make a use case diagram for the Grain Elevator
System. (~)
2. Make a stakeholders-goals list for the Grain
Elevator System. (~)
3. 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. (*)
4. Make a conceptual model for the Grain Elevator
System.
5. Make a design class model for the Grain Elevator
System.
6. 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. (*)
7. Beginning with a mid-level design of the Grain
Elevator System, write operation specifications for
all operations. (*)
8. 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. (*)
9. Beginning with some design documentation for the
Grain Elevator System, conduct an active design
review. (*)
10. Beginning with a design document for the
Grain Elevator System, attempt to improve the
design by incorporating one or more architectural
styles.

11. Beginning with a design document for the


Grain Elevator System, attempt to improve the
design by incorporating one or more mid-level
design patterns.
The SafeMessage System is a secure instant messaging
SafeMessage system that provides various levels of secure
System communication between individuals over the Internet.
1. Make a use case diagram for the SafeMessage
System. (~)
2. Make a stakeholders-goals list for the SafeMessage
System. (~)
3. 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. (*)
4. Make a conceptual model for the SafeMessage
System.
5. Make an architectural profile for the SafeMessage
System.
6. Make an architectural profile and write a complete
set of scenarios for the SafeMessage System. (*)
7. 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. (*)
8. Make a design class model for the SafeMessage
System.
9. 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. (*)
10. Beginning with a mid-level design of the
SafeMessage System, write operation specifications
for all operations. (*)
11. 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. (*)
12. Beginning with some design documentation
for the SafeMessage System, conduct an active
design review. (*)
13. Beginning with a design document for the
SafeMessage System, attempt to improve the design
by incorporating one or more architectural styles.

14. Beginning with a design document for the


SafeMessage System, attempt to improve the design
by incorporating one or more mid-level design
patterns.
The Song Scheduling System allows radio station
Song personnel to create and modify song schedules based on
Scheduling song popularity, frequency of play, and time since last
System play.
1. Make a use case diagram for the Song Scheduling
System. (~)
2. Make a stakeholders-goals list for the Song
Scheduling System. (~)
3. 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. (*)
4. Make a conceptual model for the Song Scheduling
System.
5. Make a design class model for the Song Scheduling
System.
6. 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. (*)
7. Beginning with a mid-level design of the Song
Scheduling System, write operation specifications
for all operations. (*)
8. 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. (*)
9. Beginning with some design documentation for the
Song Scheduling System, conduct an active design
review. (*)
10. 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.
11. Beginning with a design document for the
Song Scheduling System, attempt to improve the
design by incorporating one or more architectural
styles.

12. Beginning with a design document for the


Song Scheduling System, attempt to improve the
design by incorporating one or more mid-level
design patterns.
The Single Page Pager is a very simple electronic pager
Single Page device.
Pager 1. Make a use case diagram for the Single Page Pager.
(~)
2. 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.
3. Describe the behavior of the Single Page Pager
using a UML state diagram.
4. Make a conceptual model for the Single Page Pager.
5. Make a design class model for the Single Page
Pager.
6. 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).
7. Beginning with a mid-level design of the Single Page
Pager, write operation specifications for all
operations. (*)
8. 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. (*)
9. Beginning with some design documentation for the
Single Page Pager, conduct an active design review.
(*)

10. 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. (*)

Copyright © 2007 Pearson Education, Inc.

You might also like