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 undoing 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.

In this assignment, it is important to use the correct arrow when creating objects. This arrow should be horizontal dashed line as opposed to the solid line used for standard message calls. To create a dashed line:

  1. Click on the object that is doing the creating (would call new)
  2. Click on the Quick Connect icon (an upwards arrow ⇧)
  3. Drag a line to the lifeline of the object being created
  4. Double-click on the new line to open its Properties window
  5. Scroll to the bottom of the Properties window and set Lifecycle to New

When you are done, edit the note on the diagram (that talks about a third person) to be the names of all people who worked on the diagram.

Use a diagram note to document who helped write each diagram. Then Export your modified sequence diagram(s) in SVG (scalable vector graphics) format. If necessary, reorganize the diagrams by squeezing elements together so the full diagram fits on a single page. Convert the diagram to a PDF with minimal margins and submit it to Canvas.

Frequent Issues

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. The resource page has notes on how to fix that in the first few bullets.