Sam Record (srecord@ccs.neu.edu) (NU ID 388-82-6792) COM3360 Fall 1997 Project: Implement a "help desk" application using both Demeter/Java and plain Java. Directory: /proj/demsys/com3360-f97/srecord/project/stageX, where X = 1, 2, or 3. Each directory contains all files from that stage of development. (See history.txt in the project directory for a more detailed description of the stages) stage1: Minimal functionality. stage2: Added file output and some additional use cases. stage3: Added GUI. Note: All work was done on a Linux system; code may need to be recompiled. Credits: I made extensive use of the LibrarySystem application code from the online labguide, especially in the early stages of the project. It was quite useful as a starting point and building block. For the GUI code which I added in stage 3, I used examples from "The Java Tutorial" by Mary Campione and Kathy Walrath (Addison/Wesley). Class Dictionary: HelpDesk.cd, found in the home directory of each stage. (helpdesk.cd/apcd/gcd in the project home directory contains the original draft) Growth plans: see history.txt. Points for future growth: These can be found in abundance. :-) A more robust querying capability is sorely needed. Multiple users should be supported. This would involve adding synchronization code, at least. Scalability is an issue. How will the system respond with larger amounts of data? This could be addressed by: splitting "SampleData" into multiple physical files so that all the data doesn't have to be read at once during initialization making use of more efficient data structures and algorithms, i.e. hashed lookup instead of linear search through a list The GUI code uses the now-deprecated API. It should be updated. In general, the GUI needs a lot of work. It works OK, but is not very friendly right now. The ...Dialog classes in the GUI are crying out to have much of their code merged into a common ancestor. The GUI should be rewritten so that the HelpDeskGUI class inherits from Applet. Bugs: Some strings have to be entered with quotes, while others don't. This is especially a problem with the GUI. The GUI dialogs don't behave well. Namely: the Query dialog can't be closed w/o exiting the whole application the dialogs all cover their parent, even though they aren't modal the layouts and field widths need to be fine-tuned When you attach a staff or user ID to a request or modification, the ID isn't properly validated. Test inputs: All input is in the stageX/SampleData files. Test outputs: oops... Area for improved behavior: Again, the query facility stands out. It is quite minimal right now. No changes to generated Java code were necessary (although, as noted, the GUI classes were written in pure Java.)