Matthew's Design Study
From CSSEMediaWiki
(Difference between revisions)
Line 2: | Line 2: | ||
==Existing Code Base== | ==Existing Code Base== | ||
− | This system is my first attempt at developing this system. | + | This system is my first attempt at developing this system. At first glance it appears fairly logical; however, some more serious OOD issues lurk beneath the surface... |
[[Image:StartingClassDia2.png|thumb|left|Initial development. Please note some of the composition/dependency connections are wrong.]][[Image:StartingClassDiagram.png|thumb|left|Initial development with functional groupings.]] | [[Image:StartingClassDia2.png|thumb|left|Initial development. Please note some of the composition/dependency connections are wrong.]][[Image:StartingClassDiagram.png|thumb|left|Initial development with functional groupings.]] |
Revision as of 03:30, 28 July 2009
For my design study, I am going to be working to improve the design of my COSC460 project. The project is a plug-in for Eclipse designed to provide a tool for visualising software metrics directly onto source code. The plug-in is written in Java and is approximately 5K LOC.
Contents |
Existing Code Base
This system is my first attempt at developing this system. At first glance it appears fairly logical; however, some more serious OOD issues lurk beneath the surface...
Design Discussion/Overview
In this section I will briefly discuss each of the current components and their roles. Please note that these functional groupings do not directly correspond to existing packages.
- Plugin:
- Document Monitor:
- Editor Listeners:
- The Model:
- Display & Editor Manipulation:
- API:
- Serialisation:
- Eclipse View:
Areas of Greatest Concern
- API: Is the architectural model appropriate? Is the use of the Observer pattern correct here?
- Model: Are there any possible improvements?
- String Manipulation: Is there any way to avoid the current String manipulation in Mapping Properties?
- Display Strategies: Is there any way of simplifying this hierarchy? Are the current methods of instantiation appropriate?