Matthew's Design Study
From CSSEMediaWiki
(Difference between revisions)
Line 6: | Line 6: | ||
[[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.]] | ||
− | ===Design Discussion=== | + | ===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=== | ===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? | ||
==First Design== | ==First Design== |
Revision as of 03:24, 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.
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?