SWE 2410, Hasker's Section, Exercise 2:
Reverse Engineering the Command Pattern

Review the code in java-swing-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 (Java Swing) GUI code that calls the Handler methods.

Assuming you are working with a group, have each person open the .qea file on their own machine and create sequence diagrams covering the two cases (with one person documenting each case). If you are working by yourself, you can create a single diagram with both cases on it. 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 either PNGs or PDFs and submit that to Canvas. Make sure each diagram fits on a single page. You may need to move timelines and method calls closer together to make this work. Printing in landscape mode sometimes helps as well. Be sure the submissions are easy to read; if the details are fuzzy, it will be too hard to grade.