I've started looking into GUI requirement so I can start implementing it. As read from the document, the gui requirement section only states that "book" and "search filter", "search result tables" are "must" items. My concern is that none of them uses the dao (Data.class) functions such as deleteRecord, createRecord. Would it be fine to not use them on the UI?
The link below helps me out a lot. I think I will pick the Java performance tuning course. The not necessary item designed in that GUI are "Unbook", "select all" only, right?
Although there are functionality (such as delete record, create record, unbook) that are not mentioned in the GUI requirement section, I am worried that I would get many points deducted if I don't have them in. I guess I am concerned because in background section, it says this app. is intended for "customer service representatives". So it implicitly implies, these audience should be exposed to all functionalities
From my understanding, you need to implement ALL methods (including create, delete, unbook etc) in the Data class.
As for the UI, ask yourself this question: How would you test it if such and such function work? Testing using the UI vs testing using the Data class is something you should consider. But then you will need to do some extra screens/forms for create.
For me, I had create, book/unbook, search, delete in my UI.
You must implement the Data class, so every method should be implemented.
The GUI section only has 2 requirements: book and search. So you only need to implement book and search in your GUI. And it's true some of the methods of the Data class will not be used. If you want to test these methods, just write a unit test using one of the testing frameworks (like JUnit or TestNG). In fact you should make sure that your Data class works flawlessly using nothing more than test cases. Once the Data class is finished you can proceed with the next step. That's how I handled the assignment.
Why would you in fact spend time to implement create functionality in your GUI? You won't get extra credits (clearly stated in instructions), you might lose points (because you have a bug) and maybe even the sales representatives won't use the create-functionality you provided, because insertions of new records is done through a batch job (so your create-function is useless)