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