CSC 308 Milestones 5 and 6
CSC 308 Milestones 5 and 6
Due: seventh and eighth weeks.
-
Milestone 5 due by 11:59PM Tuesday 17 February: week
6 inspection test; (note that this inspection test is the only deliverable
for Milestone 5)
-
Milestone 6 due by 11:59PM Wednesday 25 February:
-
week 7 inspection test
-
updated requirements
-
updated model specification, including some preconditions and postconditions
-
updated work-breakdown and meeting minutes
-
During week 8 labs on Wed and Fri: model reviews,
presented by each team
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:
-
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.
-
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
|
-
You can prepare slides for your presentation, use the whiteboard, or a
combination of the two.
-
Using UML diagrams will likely be the most convenient way to present your high-
level design, presenting details of Java code as necessary.
-
Discuss interesting design issues you may have considered, such as the use of
inheritance, alternative designs you may have investigated, particularly
interesting aspects of the Spest.
-
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
-
be organized into packages
-
compile with the javac compiler and the
Spest checker
The model package directories and .java files are checked into the
project specification directory.
-
Write javadoc comments for all model packages, classes, methods, and
data fields, per the following standards:
-
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
-
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
-
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
-
each data field must have a brief javadoc comment that describes the purpose of
the field
-
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.
-
Perform the second and third rounds of inspection testing, for weeks 6 and 7.
-
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
-
By 11:59PM Monday of seventh week: Inspection test
results checked into the repository at testing/requirements/week6/.
-
By 11:59PM Monday of eighth week:
-
Inspection test results checked into the repository at
testing/requirements/week7/.
-
Updated and new requirements checked into the project repository
requirements directory.
-
Updated model check into the specification directory, including
preconditions and postconditions for at least five Java methods for each team
member.
NOTE: The model files must compile with javac and the Spest
checker.
-
Updated administration files.
-
Wednesday and Friday during eighth week labs:
modeling walkthroughs
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.