(Additional file, clock design specification, is required to complete. Can send PDF file via email)
For this assignment you implement a system in Java that
faithfully realizes a set of UML class and sequence diagrams. You will be
provided a set of Java files that reflect the static structure contained in the
class diagrams. Some of the classes will be fully implemented and require only
commenting. Some classes will be partially implemented and will require you to
complete the implementation and provide comments. Others will require you
implement the entire class.
The system design is contained in the Clock Design Specification document. Each class is
described by a class diagram (using the methodology discussed in previous
lessons) and written descriptions of each attribute and operation. For many of
the operations there is an associated sequence diagram that illustrates the
interactions that result from an invocation. Some of the simple operations,
like gets and sets, do not have a corresponding sequence diagram as their
implementations should be obvious.
The Java source code is zip file with the necessary set
of .java files. The files will be one of the following types:
These files require no editing and will indicate so at the top of the
These classes will have defined methods for one or more of the operations.
Each is labeled as implemented and require no comments. Operations which
require implementation contain a comment with a "TODO". These
you are required to implement and provide a description of the operation
as well as comment the method code. You will also need to comment each of
the attributes as well as complete the header for the file.
These classes will contain no implemented operations and you will need to
supply all code. You need to provide a description of the operation as
well as comment the method code. You will also need to comment each of the
attributes as well as complete the header for the file.
For each class you may add attributes as this may well be
necessary. You are permitted to add operations but it shouldn't be necessary.
You may not create any other classes.
Important: Do not use packages. All Java files should be in the default package. Packages
lead to a complex nesting of folders and files that make managing the
submissions difficult. Each each class must
be contained in its own file and begin with a header of the form.
Typo in the Clock DocumentOn the sequence diagram for Clock.start() there are two start() calls on the SixtySecondTimer participant. There should only be one. If you implement it as is what happens is that two timers are created and both tell TimeManager to
advance the time. This results in time moving forward two minutes each timeout.