There are a number of stages to the development and not all students will manage all the stages. Each stage will be awarded the marks up to the maximum allocated ONLY when handed in AND accompanied by a relevant section in the final report.
In addition, you cannot get marks for a particular stage unless you have made a reasonable attempt at all of the previous stages. You may also lose marks if your code contains runtime errors, or your report is missing one or more sections.
Design a suitable GUI for this application with sketches of the layout. You should allow for your design to simulate of input of the selection of drivers and such. You will also need to include a ‘cancel’ facility that allows the dispatcher to reset any selection made.
Implement the system which you designed in stage 1 in prototype form WITHOUT functionality (just the GUI appearance). You may use any of the examples supplied in the course material as a basis on which to get started – typically you will need radio buttons and/or a drop-down menu (JComboBox), buttons, and text fields. You might also consider using spinners.
Implement the system designed in Stage 1.
Design an intuitive GUI that allows the dispatcher to enter the journey data into the system. The dispatcher should be able to see a listing of all the days’ journeys. Input fields should have data validation.
The GUI should be able to show the dispatcher the data shown in the picture on the right.
Adapt the code to perform validation, i.e. checking for bad input such as a value of ‘four’ rather than ‘4’. Ensure that the software works as expected in the required environment (the University’s lab machine).
Design white box testing of your system (using a test table) and provide evidence of both the functionality of your program and the testing results. Discuss your plan explaining why/how you chose your tests. Discuss the results of your testing, pointing out any deficiencies/strengths of your programme.
Extend the program further with an auxiliary class, which uses a text or CSV file to load and save the data.
This program may be improved in several ways:
a) The use of a JTable for input and/or output (see sample code on Moodle).
b) There is a map facility.
c) Using a database such as JavaDB (Derby): Details of the journeys are to be stored in a suitably designed database, which you should design and populate with data yourself. You should have data for at least 20 journeys and four drivers.
d) Enhance GUI by using images, audio or combine multiple GUIs into single one.
e) A reporting system using calendar for date selection.
f) An innovation of your own devising which you have discussed with your tutor beforehand. For stage 6, depending on the difficulty of these enhancements, and the quality of your design, implementation and documentation, a maximum mark of 30% is possible.