User:David Thomson
From CSSEMediaWiki
(Difference between revisions)
Line 11: | Line 11: | ||
== The Plan == | == The Plan == | ||
− | * Set up original JITAS project in Eclipse | + | * Set up original JITAS project in Eclipse - DONE |
− | * Ensure all unit tests work as expected | + | * Ensure all unit tests work as expected - DONE |
* Redesign and Refactor Code | * Redesign and Refactor Code | ||
* Ensure all unit tests (still) work as expected | * Ensure all unit tests (still) work as expected | ||
− | The existing unit test will help a lot, and it fits very well into the refactoring process. If the unit tests work after my redesign, I can be sure that I | + | The existing unit test will help a lot, and it fits very well into the refactoring process. If the unit tests work after my redesign, I can be sure that I haven't changed the logic - only the design. The Tutor interface should not change (so the tests will still run), but the internal details of the other classes will. The main objective of this refactoring is to decrease the coupling between classes, therefor making extending and maintaining the system theoretically easier. |
Revision as of 01:53, 20 August 2008
Davids home page
Design Study
For my design study I am going to re-design the WETAS base classes (aka JITAS), which we developed in COSC314 in 2007. I think the design is not very good, and in particular has very high coupling between classes. Here is the original UML diagram.
The Plan
- Set up original JITAS project in Eclipse - DONE
- Ensure all unit tests work as expected - DONE
- Redesign and Refactor Code
- Ensure all unit tests (still) work as expected
The existing unit test will help a lot, and it fits very well into the refactoring process. If the unit tests work after my redesign, I can be sure that I haven't changed the logic - only the design. The Tutor interface should not change (so the tests will still run), but the internal details of the other classes will. The main objective of this refactoring is to decrease the coupling between classes, therefor making extending and maintaining the system theoretically easier.