CSC 308 Milestones 5 and 6

CSC 308 Milestones 5 and 6

Due: seventh and eighth weeks.

Activities

Your work for Milestones 5 and 6 involves continuation of preceding milestones, formalization of the model, inspection testing, oral model review, and administrative activities. The specific tasks are as follows:

  1. Continue to refine and add new functional requirements scenarios to Section 2, based in particular on customer feedback. NOTE: At least one scenario per team member must be complete, to the level of detail exemplified in the Milestone 6 example excerpts for Sections 2.2 and 2.3.x [ HTML , PDF ] Complete means that all figures are done and the prose narrative is in finished form.

    For the purposes of this task, a scenario corresponds to one (sub)section of the requirements. If a sections has multiple subsections, then completing any one of the subsections will satisfy this "must be complete" task. That is, you do not have to have all of the requirements in complete form.

  2. Present your modeling work in a formal walkthrough, to be given during eighth week lab meetings on Wednesday and Friday. The presentation schedule is as follows:

    Time Day Team
    10:56 - 11:16 Wed 25 Feb Fire Breathing Rubber Duckies
    11:18 - 11:38 Wed 25 Feb Node
    11:40 - 12:00 Wed 25 Feb Team #1
    10:56 - 11:16 Fri 27 Feb DJ Cars
    11:18 - 11:38 Fri 27 Feb TokenCSC
    11:40 - 12:00 Fri 27 Feb Team 0

  3. Begin work on the fully formal Java model of your system, by adding Spest preconditions and postconditions to model methods. Each team member is responsible for preconditions and postconditions for at least five model methods.

    Lecture Notes 6-7 cover details of Spest, and there are concrete compilable specs in the Milestone 6 example. As with Milestone 4, your model must

    1. be organized into packages

    2. compile with the javac compiler and the Spest checker

    The model package directories and .java files are checked into the project specification directory.

  4. Write javadoc comments for all model packages, classes, methods, and data fields, per the following standards:

    1. there must be a package.html file that describes the contents of each package; the description must include one or more links to the section(s) of the requirements document where the object and operations of the package are initially or most clearly introduced; see the Milestone 6 example for what these links look like

    2. each class must have a descriptive javadoc comment; the text of the comment can be taken from the requirements narrative that describes the object 1

    3. each method must have a descriptive javadoc comment that describes what the method does; for the methods with Spest preconditions and postconditions, there must be a comment above the requires clause that describes the precondition in English, followed by the compilable Spest logic for the precondition; similarly the ensures clause must have a descriptive comment and Spest logic

    4. each data field must have a brief javadoc comment that describes the purpose of the field

    5. all of the javadoc commentary must be generated into the directory specification/.javadoc. Note the dot in the first character in the .javadoc directory. This dot prefix will cleanly separate the .javadoc directory from the package directories.

  5. Perform the second and third rounds of inspection testing, for weeks 6 and 7.

  6. Produce an updated work breakdown file. As necessary, add new requirements files for team members in the Requirements Files column. Add model .java files in the Specification Files column. Note that if a team member is individually responsible for all the java files in a particular package, then the you can list the package name in the work- breakdown file instead of all the individual .java files in that package.

We will discuss details of these tasks in lecture during the sixth and seventh weeks.

Summary of Deliverables

Reading





index | lectures | handouts | examples | textbook | doc | grades

Footnotes:

1 In the Milestone 6 example, some class comments include links to the sections of the requirements from which the class objects are derived. These class-level links are optional for Milestone 6, but they will be required for Milestone 8. Note that the requirements links in the package.html files are required for Milestone 6.