Hi all.
I'm having trouble understanding some of the requirements in my assignment.
Assignment quotes
1a) "Your programs must not require use of command line arguments other than the single mode flag, which must be supported..."
1b) "...The mode flag must be either "server", indicating the server program must run, "alone", indicating standalone mode, or left out entirely, in which case the network client and gui must run."
2) "...In either case, the program must allow the user to specify the location of the database, and it must also accept an indication that a local database is to be used, in which case, the networking must be bypassed entirely."
3) Your programs must not require use of command line property specifications. All configuration must be done via a GUI, and must be persistent between runs of the program. Such configuration information must be stored in a file called suncertify.properties which must be located in the current working directory.
My questions
1) From the plural tense of "programs" in quote 1, it seems that I'm expected to write (at least) 2 applications. However the command line arguments seems to indicate only 1 application which can run in 3 modes. If I make 2 applications, the 3 command line arguments doesn't make sense as far as I can see.
Am I worrying too much about the plural of 'programs'? Or did I miss something?
2) Quote 2 and 3 say that it must be possible to specify the location of the DB, and if local is chosen no network traffic must occur. Should this be specified in the client GUI, or should I make a server GUI for specifying this?
It would seem more natural to keep GUI out of the server, but on the other
hand, it is the server which handles the DB access, so it would be a bit strange for the clients to be able to specify the DB location.
Unless clients could have separate DB files, so for instance 3 clients could work on 3 different DB files, through 1 server instance? Hmm.. Confusing. :/
No idea how I am supposed to understand these requirements.
3) Quote 1 tells me that the command line arguments controls whether to run standalone or network version. Quote 2 and 3 tells me the same thing should be controlled from the GUI.
If both is implemented, the requirements are actually broken, if a server is running as 'local', and then later changed to non-local, since that would cause it start using the network.
Very confused about this too...
Help needed
I can't imagine a solution which I am sure will not auto-fail.
So I hope some of you will be able to help out, come with ideas or just post how you understand the quoted requirements.