Rollout
The final delivery of the full project is to be scheduled in the
Development Plan, but delivery MUST be between 9:00 AM on Mon Dec 12,
and noon on Fri, Dec 16. NOTE: The drop-dead date for this
project is noon, Fri, Dec 16. NO Project deliveries will be
accepted after this time.
In addition to deliverable content (listed below), rollout will
include a final delivery meeting with the CLIENT. At this time, the
group must demonstrate the full functionality of its project, provide
a walk-through of usage, demonstrate example test code, etc.
Deliverable content for this project includes:
- JCiv.jar
- A jar archive file containing all
class files necessary to run the JCiv program(s) and provide all
specified functionality. Optionally, the designers may provide a
separate jar archive for the client and for the server.
- Java source files
- A subdirectory named src/ MUST be
provided that includes the entire Java source code tree for all
.class files in the JCiv.jar file, as well as
any other support code (e.g., programs used in testing the
code that are not part of the JCiv program itself).
Note: if these programs depend on external library code other
than the Java JDK or the gnu.getopt suite, the submission
archive MUST either include the library whole or provide easy and
explicit instructions on how and where to access such libraries. This
documentation MUST be provided in the README.TXT file. The
designer is responsible for ensuring that all copyright and
distribution conditions are adhered to.
- README.TXT
- This file MUST describe how to compile,
configure, and install the JCiv program suite, including how to
construct the .jar file from the raw source code. It MUST
also list any dependencies on additional software support libraries.
Furthermore, if the software suite provides more than one executable
(e.g., a MAP editor or graphical debugger is provided), the
README.TXT file should indicate what programs are included in
the suite and how to run them. Complete documentation for such
auxiliary programs MUST be included in the user documentation.
- Internal documentation
- The handin MUST also include the full,
compiled JavaDoc documentation for all Java source files in the
submission archive. This documentation MUST include full descriptions
of every public or protected method, field, sub-class, enclosed class,
or constructor employed by the code. This documentation hierarchy
MUST be included in a sub-directory named documentation/
within the submission archive.
- Player/User documentation
- The handin submission MUST include
complete player (user-level) documentation for the JCiv program suite.
This documentation MUST include descriptions of how to use the main
game client program as well as any auxiliary programs (e.g., a
separate MAP editor). It must describe the User Interface of the
program, how to interpret output/buttons/dialogs/screens/etc., and at
least one step-by-step example of running the program, playing a game,
interpreting the results, etc. In particular, this document MUST
explicitly describe both behavior required by this
specification and any extensions or modifications provided by
designers (e.g., OPTIONAL RULEs).
This document SHOULD describe both client operation and behavior and
server operation, configuration, and behavior. The designers MAY,
however, choose to offer a separate administrator's guide that
describes how to run and configure the server. In either case, there
MUST be clear and distinct directions on how to install, run, and
configure the server.
This document MUST be named PLAYERGUIDE.extension, but it MAY
be a plain text, HTML, PDF, or PostScript document (with the
appropriate extension). It MUST NOT be a Microsoft Word or
other nonportable format document.
- Design documentation
- The final submission must also include one
or more documents that describe both the initial design of the system
(as proposed in Milestone 1), the final design and features of the
system (as delivered in the Rollout), and a rationale justifying the
modifications (if any). Note: Modifications to the original
design are not bad. In fact, they are expected and encouraged. But
the design documentation MUST describe why any such changes are
made. For example, refined understanding of the specification, design
discussions with the CLIENT, improved efficiency or modularity,
improved use of Java language features, scaling back design to meet
deadlines, untenable original design, improved support for
requirements, etc. are typical reasons for modifying the design.
- Test cases and documentation
- The submission archive MUST
include a subdirectory named tests/ that includes all of the
data or test cases used in unit, regression, or integration testing of
the JCiv system. In addition, the submission MUST include a document
named TESTING.extension that describes the testing
methodology, result of test cases, etc. This document is responsible
for convincing the CLIENT that the JCiv suite performs correctly and
meets this specification document. This document MAY be be a plain
text, HTML, PDF, or PostScript document (with the appropriate
extension). It MUST NOT be a Microsoft Word or other
nonportable format document.
- CVS log file(s)
- For each Java source file, the submission
archive MUST include a corresponding .log file including the
CVS log for that sourcecode.
- Team evaluations
- Each team member must independently provide
a written assessment of their own performance within the design team
as well as the performance of the other team members. This is to be
delivered by email directly to the CLIENT and is not to be included
in the group submission package. This information will be kept
strictly confidential by the CLIENT. See Section
for details on this document.
Terran Lane
2005-11-10