This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have just received notification that I failed my SJCD assignment with an automatic failure. I am very disappointed with the lack of information provided by the accessor. All that is provided is that message that my application displays when it has not be configured. There is no indication of the "must" I have missed.
I believe the quality of feedback is extremely poor. Is this consistent with what others have experienced? Is there anyway to get better feedback?
I would also wish to ask for some advice on what my problem is? I believe it is that my application starts unconfigure. This means the user must enter the database and port using the GUI (required functionality) to use its full functionality. Will I need to simply default it to the database that is to be submitted back with my completed?
As Ronald wrote it would be helpful to read the exact statement the assessor made. It could be that you are not saving the state changes made with your GUI, so on restarting the application everything had to be configured again.
" Comment: Automatic Failure: Assessor Comments: Fatal Application Error: An error was encountered starting the application. This application provides sales services through the RMI registry. Usage: java -jar URLyBirdServer Possible error causes are: The database file does not exist The file is not a valid sales database. An incorrect path was provided to the file. Some other application is using port."
This was on the CertManager website under the details from my failure.
Everything following the Assessor Comments is from the message box that I display when my application starts with no database configured. The user can close this dialog and select a Configure menu item from the File menu. This is described in the User Manual which is available via the Help menu.
This is stored persistently between runs and it is stored in the property file as required.
There is an error in the message regarding how to start the application. It should be "java -jar runme.jar server" as specified in the requirements. My application does follow the runme.jar with alone, server or nothing requirement.
The automatic failure is probably because of the error in your error message then. Maybe a bit harsh for an automatic failure, but it's a very serious documentation error indeed and would likely have caused you enough points lost in your documentation or general considerations grading to fail you anyway.
Did you provide an indication that your documentation is available through online help? If not, the assessor might never have looked at it at all (not knowing where to find it).
Also, this seems to be the client application that caused your failure. You should start that with the connect dialog open and not try to connect it to something by default (not even when you have defaults recorded).
As it is the asessor probably reacted similarly to your error as would a first time user when starting the application with a "ohoh, what did I do wrong? Or is this thing broken, I'd better call the helpdesk." That's BAD.
Joined: May 23, 2006
Thanks for your assistance.
I am surprised that this dialog gets such a reaction. My thought when I created it was that if you could not connect to anything then the application is pretty useless and hence the fatal error.
I have tested the scenario you have suggested and all is fine.
Starting with a connection dialog is interesting. A problem with this is that the user will be required to interact with this dialog even when they have entered the information in a previous run of the application.
How does softing the error and switching to the configuration dialog if a configuration problem is encountered sound?
Jeroen T Wenting
Joined: Apr 21, 2006
If no configuration is found, just pop up the configuration dialog with no error and load it with application defaults which you can hardcode. If a configuration is found, pop up the configuration dialog loaded with those details, all the user needs to do is press OK (or Connect) to connect.
Never connect to anything by default (this goes for the server as well). Users may wish to connect to something else for example, or the default they used the last time might not be valid for this run. Let the user see what he will connect to, and allow him to change that before making the connection.
Similarly the server should not start automatically with the saved settings either, but should present its saved (or default) settings and allow them to be changed before it is explicitly started.
As to the strong response to your error, that's natural. If you've worked with non-technical people (as customers or testers for example) you'll have seen such responses happen regularly.
Joined: May 23, 2006
Joined: May 23, 2006
Thanks all. Based on the results of this thread I passed today. It was only a couple of minor changes and I got a 371/400. Most missed points were in the GUI. Hope to see you in the SCEA.
Originally posted by Al Purvis: Thanks all. Based on the results of this thread I passed today. It was only a couple of minor changes and I got a 371/400. Most missed points were in the GUI. Hope to see you in the SCEA.