Matthew's Design Study

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
Line 8: Line 8:
 
===Design Discussion/Overview===
 
===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.
 
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:
+
* '''Plugin:'''
* Document Monitor:
+
* '''Document Monitor:'''
* Editor Listeners:
+
* '''Editor Listeners:'''
* The Model:
+
* '''The Model:'''
* Display & Editor Manipulation:
+
* '''Display & Editor Manipulation:'''
* API:  
+
* '''API:'''
* Serialisation:
+
* '''Serialisation:'''
* Eclipse View:  
+
* '''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?
+
* '''API:''' Is the architectural model appropriate? Is the use of the [[Observer]] pattern correct here?
* Model: Are there any possible improvements?
+
* '''Model:''' Are there any possible improvements?
* String Manipulation: Is there any way to avoid the current String manipulation in Mapping Properties?
+
* '''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?
+
* '''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:28, 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