Exercise Tracking/Planning System: System Design
CSA 348, Fall 2007
Due: 17 October (start of class)
This project has you transitioning from the Software Requirements to the Software Design. The template for your Software Design Document has been uploaded to the Course Documents section of myMiami.
We won't be building the system as a real distributed system. Instead, we will be developing it in a way where it could potentially be distributed. This means that you'll be breaking it into subsystems where you have a server and one or two clients. I will leave it up to you if the Exerciser and Trainer displays should be combined into one client or kept completely separate.
For your server, you should built a server interface object using the Facade design pattern where you isolate the interface into the server into a single class that would then delegate the method calls appropriately.
You should think about the amount of message traffic going between the client and the server. The client should only be sent as many meetings as it needs to display, for example.
For persistant storage, I would recommend that you use serialized objects - it's easy (you will get a chance to try this out in a homework assignment soon). You need to be able to deploy your application using executable Jar files - one or two depending on if the exerciser and trainer clients are together or separate.