Download Restrained re-engineering

Transcript
Review of HC-Sim GUI
This section contains my own evaluation of the HC-Sim GUI project. To begin with, what
I feel were the successes and drawbacks of the project are listed, followed by some
aspects of the project that I still feel reflect uncertainties. Finally, a list of ideas for future
functionality of HC-Sim GUI is also provided.
Successes
Light integration
The general idea of a "light" form of integration with the original system turned out very
well. HC-Sim GUI makes use of existing data structures and information of HC-Sim to
produce a rich graphical presentation, without hardly any code needing to be added to the
original program. HC-Sim GUI is also completely detachable from HC-Sim through the
C pre-processor macro USE_HCSIM_GUI.
Expandability
The design of HC-Sim GUI makes use of many small parts forming a whole. Each part
has a well-defined class structure and interface towards interacting components. The areas
that will probably be most subject to future expansion are graphs and numerical statistics,
which both have a clear hierarchical structure and base classes providing much of the
functionality.
Compatibility with HC-Sim
When operating in two-machine mode, either HC-Sim or HC-Sim GUI can be used on
either side. The operation of the program is not affected by the introduction of the GUI,
which uses the exact same test case scenarios and configurations. The main difference, of
course, is than the command-line interface has been replaced by a graphical user interface.
Presentation of data
Although the graphical presentation provided by HC-Sim GUI is by no means complete, it
still exceeds the data presentation capabilities of the original system by many times. Its
main benefits are the capability to present much data at once and allowing the user to
focus on the information that he wants.
Control
Claiming that more settings means happier users is not always justified. Nevertheless, the
user does have the ability to control several aspects of the simulation flow, data
acquisition and presentation. Allowing the user to adapt the program to his needs is what
makes a good user interface.
Drawbacks
Polling
The general idea behind using polling to check whether the simulation status has been
changed was to provide a simple implementation that would not add much code to
HC-Sim. Although this is true of polling, the general idea that a function call be made
each time an event is carried out in HC-Sim, and between each reading of data from the
network, may affect the performance of the program more than necessary.
63