COMP 303 (Fall 2006) Assignment 2
Please submit an electronic
version of your assignment using WebCT. Include your name and student
ID. This assignment will be marked out of 20. It is your
responsibility to hand this assignment in on time. Assignments not
submitted on time will not be marked and will receive a grade of 0.
By submitting your assignment you acknowledge your understanding of McGill University's academic
integrity policy.
Due Date: Tuesday 5 December 23:59.
Goals
To familiarize yourself with program understanding and reverse
engineering activities using lightweight tools.
Required Problems
In this assignment you will reverse engineer a feature of the jEdit
system you used for assignment 2 using ConcernMapper, Eclipse
JDT views, and an UML Drawing tool.
Setup:
- Make sure your version of jEdit is stable. Import it
again if necessary.
- Download and install ConcernMapper using the simple
instructions you will find at the other end of the link.
Task:
One of the features of jEdit is to allow users to mark
individual lines in a buffer (Markers menu).
- Using the Eclipse JDT Views, explore the code of jEdit
implementing this feature to reverse-engineer its design.
- As you work, use ConcernMapper to record the Java elements
associated with the implementation of the Markers feature.
- Once you feel you have a good understanding of the implementation
of the feature, create a UML class diagram and a sequence
diagram modeling the key structure and behavior of the feature. If you want, you can also produce multiple, simpler
diagrams. Think about what would work best to convey your
understanding of the feature's design.
- Answer the following questions:
- What's your assessment of the design and implementation of the
Markers feature? Is is good? Why/why not? Be specific.
- For each class involved in the implementation of the
feature, briefly explain which part you have chosen to include and
why. Be specific.
- Describe whether ConcernMapper helped you complete this task and
why/why not. Give small examples.
Submission instructions
Please follow these instructions carefully.
Submit the cm file describing your concern model (produced
with ConcernMapper) as a stand-alone, uncompressed file.
Submit your answers to the questions and your UML diagrams in a
single, uncompressed PDF file (not Microsoft Word).
Please organize your document clearly (e.g., with descriptive headers)
and proofread it for typos, etc.