COM 3205
Grading of Assignment #3

System Architecture and Control Flow

For full score, it was necessary for the criteria and arguments to be reasonable and also for the rationale to be properly arranged. Simply writing a paragraph explaining your argument was not adequate. Furthermore the information in each part of the rationale had to be appropriate. It is not correct to put arguments in the Criteria or the Decision sections.

Statechart

The statechart did not have to have many states, but it did have to show these features of negotiation:

  1. There must be a loop in the diagram.
  2. There must be a time limit on the negotiation.
  3. The states and transitions must be clearly labeled and unambiguous.

Class Diagram

Some diagrams included attributes and methods. These were ignored. It is important for relationships between classes to be represented in some way. Associations, generalizations (inheritance) and dependencies should all be employed. Furthermore, associations should have names and cardinality constraints. Exception classes are not usually related to other classes by associations. When methods of a class throw an exception, the class is related to the Exception class by a dependency relationship.

Design Patterns

There should be a separate rationale for each design pattern being used. There should be several of these. It is not adequate to have a single rationale for all of your design patterns, as the arguments are then ambiguous. As in the case of the Control Flow rationale, it is necessary for the rationale to be properly arranged, with the various parts clearly labeled and information in each part appropriate for that part.

Components

The requirements do not have to be lengthy, but they should be precise and specific. Here are some examples:
SpecificationComments
A database is required.Much too vague. Poor specification.
A relational database supporting SQL is required. Better but misses all of the performance requirements.
A relational database supporting SQL and capable of processing 10 standard transactions per second with a maximum response time of 100 milliseconds. This is the right level of detail.

All components must be specified:

  1. Database
  2. GPS
  3. Sensors
  4. Communication network

Javadoc Construction

The Javadoc processing should not generate any warnings or errors. Some warnings were minor, but others were more serious. For example, it is a serious error to specify in Javadoc that a method throws an exception but the method does not actually throw that exception.

Design Evaluation

Issues here included compatibility with the Class Diagram and having a sufficient number of classes (including Exception classes).

Other Issues

The preconditions, postconditions and invariants were mostly not adequate. However, it takes a long time to learn how to formulate these, so no points were deducted for this.

The formula for the grade was computed as follows:

  1. Let score[i] be the score on part i.
  2. Let grade[1] be the sum score[1] + ... + score[5].
  3. Let grade[2] be the sum score[1] + ... + score[7].
  4. The grade on the third assignment was: max (grade[1] + 10, (grade[2] + 10) / 80 * 60).