Matthew's Design Study

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
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.

Initial development. Please note some of the composition/dependency connections are wrong.
Initial development with functional groupings.

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?

First Design

Personal tools