Grading Form for Assignment 2, CS-701, Fall 1997
Grading Form for Object Broker Project
Project Management (3 points)
- Is the project directory empty except for the RCS subdirectory?
- Does a make command build the latest version of the
project?
- Does "make COFLAGS=<n>" build use case <n> from a
clean project directory?
- Are RCS $Id$ and $Log$ keywords present in all source files, man
pages, and the Makefile?
- Was each revision checked in with a meaningful log message?
- Is there a version string in each
.cc
file?
- How well are header files integrated into the Makefile? Is there
a "depend" rule that handles this?
- How well is installation of man pages integrated into the
Makefile? Is there an "install" rule that handles this?
User Documentation (2 points)
- Are there man pages for each use case for each program?
- Are man pages named properly and installed in the proper
directory?
- Are they structured in standard man page format, with only
the appropriate sections included? (Note: There should not be an
"Availability" section, and "Examples" are normally not needed because
the "Synopsis" should tell the user what to type.)
- Is the writing clear, succinct, accurate, and appropriate for the
audience who would read them?
Coding Style (2.5 points)
- Does code and documentation conform to the Coding Guidelines for this
course?
- Does the structure of the code make sense? For example, is the
processing of the requests actually being done in the processing
functions?
Functionality (2.5 points)
- Use Case 1: om and ou Exchange Datagrams (1
point).
- Does the ou "listClasses" command line option work?
- Does the ou "exit" command line option work?
- Use Case 2: om Writes a Log File (0.5 point).
- Does the log file have the proper name and is it located in the
current directory, regardless of where the program itself is
located?
- Does each line of the log file start with a properly formatted
timestamp, and is the associated message on the same line as the
timestamp?
- Are all significant events written to the log file?
- Is the log file easy to read?
- Use Case 2a: Change Structure of om code (0.5
point).
- Are header files and function prototypes set up properly for
the log file and dispatch table modules?
- Are the header files used properly in the source modules that
define and reference the functions whose prototypes are in the
header files?
- Does om link and run properly using the new structure?
- Use Case 3: The Object Broker First Appears (0.5).
- Is a proper log file generated, using the shared module
developed for Use Case 2a?
- Is the dispatch table set up properly, using the shared module
developed for Use Case 2a?
- Does ou send the four request types to ob
properly?
- Does ob respond properly to each of the four request
types?
- Does ob respond reasonably to invalid request types?
- Use Case 4: ob and om Communicate (Multiply
project
grade by 1.05).
- Does ob generate unique names properly in response to
"hello" requests, and are they written to the log file properly?
- Does ob respond to "list managers" requests with a proper
list of managers?
- Does ob respond reasonably to "list" requests that are
not for "managers"?
- Does the list of managers accurately reflect intermixed "hello"
and "good-bye" requests?
- Does a "shutdown" request cause "exit" requests to be sent to
managers by ob before it exits itself?
- Use Case 5: ou and om Communicate Through
ob
(Multiply project grade by 1.10).
- Does "list classes <manager>" produce the proper list of
classes, provided <manager> is valid?
- Does "list classes <manager>" generate reasonable behavior
if <manager> is not valid?
Christopher Vickery
Computer Science Department,
Queens College of CUNY