Review the code
in javafx-phonebook.zip
and
complete the sequence diagram
in phonebook-exercise.qea
by filling in the redo
and removeEntry
operations
(where redo
will re-execute the add operation and
removeEntry
will remove it with a new command). As shown in
the existing diagram,
capture these down to the level of calling Java library methods on classes
like Stack
and Map
as well calls
to Entry.name()
. Note that your sequences
start with Handler
method calls; you do not have to document
the (JavaFX) GUI code that calls the Handler
methods. If your group has three students, also document the
sequence diagram for undo
ing the remove command.
Assuming you are working with a group, have each person open
the .qea
file on their own machine and create sequence
diagrams covering each of the cases (with one person documenting each case
on their own machine). If you are working by yourself, you can create a
single diagram with both cases on it. Note that the correct symbol for
creating a new object is a dashed line (rather than a solid
line). See these
directions to make arrows that create new objects. The basic trick is
to first create the arrow, then change its LifeCycle
to New. The EA
resources page has a number of useful tips. Use
a diagram
note to document who helped write each diagram.
Export your modified sequence diagram(s) as SVGs (scalable vector graphics). If necessary, reorganize the diagrams (maybe squeezing elements together) so there is minimal whitespace and the full diagram fits on a page. You might also print in landscape mode. Create a Microsoft Word document with minimal borders and copy in the exported images, ensuring each fills the page side-to-side. Submit a PDF version of this document. Be sure the submissions are easy to read and the images are as wide as possible; if the details are fuzzy, the diagrams will be too hard to grade.
Be sure to see the Enterprise Architect Notes page if you run into problems. For example, a number of students get into a state where they cannot see the project browser on the left. See the resource page for notes on how to fix that (in the first few bullets).