|
SE281 -- Lab 4: Creational Patterns
Spring 2004
Objectives Addressed
- understand and apply object-oriented design patterns
- understand the use of UML in the design process
- be able to design and implement small software components and systems
- be able to use computer-aided software engineering (CASE) tools in the design process
Overview
The purpose of this assignment is develop a better understanding
of creational patterns.
Problem Statement
Identify all of the functions in the Folder
class that are dependent on the subclasses of the
DesktopItem class. Rewrite all of the identified
functions so that they no longer are dependent on the subclasses.
You should run the same test program that you used for the previous
lab assignment.
Lab Report (due 11:00pm, the day prior to week 7 lab)
Here is a template file to use as a starting point
for this report.
The lab report should consist of the following:
- A link to your Rational Rose model file and two
.png images: one with the UML diagram
describing the complete class hierarchy and the other showing
a sequence diagram for Folder::open where
open reads at least one of each kind of
DesktopItem object.
- Your reaction (a couple of paragraphs on what you learned and what you
thought about while working on this assignment) In your reaction
you should indicate which pattern you chose to implement for this
assignment and justify your decision.
- Any suggestions you have for how the assignment could be improved.
- Results from your testing program.
- An activity log indicating how much time you spent on each phase of the
assignment. You should use the format found in the
template XML file and report the time in
the following categories:
- Modeling
- Design
- Coding
- Debug (before you think it's working)
- Test (after you think it's working)
- Writing Report
- Other
- The documented source code
for your program.
As with any report you submit, correct spelling
and grammar are required. In addition, your report should be submitted
electronically following the
Electronic submission guidelines.
(You may wish to consult the XML help video
and/or sample report
before submitting your report.) Be sure to keep copies of all your
files, in case something gets lost.
Acknowledgment
This laboratory was developed by Dr. Chris Taylor.
|