CSCI 315 HW #1, Serialization Program

Object Model (done in Rational Rose)
Documentation (done with JavaDoc)
All my files including source code in a jar

*** NOTE *** All code was written and tested using JDK 1.3.1

READ ME

The above code is a java application. To run it you will need to unzip the files, and run the Biorythms class. You may do this by typing from the directory the files are in "java Biorythms"
This program is set up to store up to 50 people and their birthdays. Each person is stored uniquely by their name only (the first combo box). Enter a name in there, or select one from the drop down box (the first time you run, the box will be empty). You can now set/modify the birthday of that person and select for what days you want to see their biorythms, the default being today. To remove people from this list, just select their name, and hit the delete button. To add more people, just type a new name in the Name combo box. It's just that simple to use. The included jar files has 2 serialized objects already, myself (Chris), and my wife (Heather); to provide an example of retrieving a serialized object.

RETRIEVING SERIALIZABLE OBJECTS

The program retrieves the serializable objects for you in 2 ways. When the application is ran, it fills the name combo box with all the name elements that have been stored in the serializable class People. Also, when a name is selected, it retrieves the serializable birthday of that person. To provide an example of the retrieving of a serialized object, I have included 2 such objects in my jar file, one is my information (Chris), the other my wife's (Heather).

COMPLEXITY

The complexity in this program comes from there are that the retrieval of the serialized object happens in 2 different ways, for getting the name, and then getting the birthday as the name is selected. Also, the birthday is changing constantly and it is difficult to know when to save the birthday so I have to constantly modify the birthday rather then having the user go through a cumbersome done modifying process. Also, it is complex because I need to convert constantly between the Calendar variables, and the integer and string variables that store the same information.