User:David Thomson

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
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 havn't changed the logic - only the design.
+
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

David.jpg

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.

JITAS original.png

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.

Personal tools