ICT306 Software Architectures



This unit required a database to be programmed using Java, once the database was complete we had to create a GUI to manipulate the database add, delete, modify, view and save current records

Personal Requirements

This was an individual unit so I was required to complete the entire project by myself.

How it went

This unit was my first real Java programming unit and the first time trying to build a GUI.

I found Java to be an easy enough language although a little heavy on the unnecessary syntax at times, the Graphical interface however was extremely clunky and difficult to code involving far to much coding and manipulation to be entirely practical as a front end application, however the efficiency may have improved over the years since I took this unit in early 2005.

The default start-up screen displays a nice settling picture to calm the nerves of any database operator it displays the name student number and date last build above the quit button there is a option to load a pre-generated database values at the top left of the screen and create a new blank database of x elements at the top right to load the database left click the load database button The open file dialog where you can select files of type *.dbm dbm files are database management files this file contains instructions on loading default values into the GUI program select the dbm file click the open button
Once the database type pre-generated or empty number of elements has been selected the above screen will appear prompting for whether the user wants to delete add edit or just view data in the system lets click on view for now This picture shows the user selecting to view a consultant details a project or all current records in the database lets click on a consultant next.
The above screen shows the display consultant screen where you have a combo box to select a consultants name and various fields from the consultant object from DataBaseManager specifications. Select the combo box drop down list and choose a name from the list presented it will load the consultant selected into the fields provided and more will appear depending on the personal details of the consultant the user has chosen. Once selected a consultant page will be filled with that consultants details including the image of the consultant if there is one. If there is not a picture according to the data in the Consultant Image field then the string Image not found is displayed instead. If the consultant is currently a full time consultant the checkbox Full time will be visible along with the annual salary of the consultant otherwise the checkbox Part time will be visible and the maximum hours and hourly wage of the consultant. The text boxes will not allow edit or change of data in the viewing screens only. The user should now click the back button that will take you back a menu.
the view records screen where you can choose to view a consultant project or all current records select operation screen where you select what operation you currently which to perform on the database.
Shows the edit screen where you can select what to edit shows select project screen to edit where you must choose a project before editing anything

Problems Encountered

  • Clunky horrible syntax and code for java GUI
  • Lack of experience in Java
  • Complexity of Database system
  • Problems Resolved

  • The database was coded peice by peice gradually allowing the work to progress chunk by chunk helped me keep goal orientated and focused.
  • Lack of experience in Java was resolved by helping other students with thier own projects thereby giving me a greater understanding of the syntax, looking at online help and Java programming examples.
  • Conclusion

    Although I completed this unit quite some time ago I still remember it was extremely hard as the lecturer held a single brief overview of some of the features of a Java GUI then basically said go and make your own now and add in event catching and pictures and so on with no practice or knowledge beforehand, it was a hectic few weeks trying to learn program and release the GUI within such a short time.