18-649 Project 6
More Implementation and Test
Please submit all project-related correspondence to
Changelog:
- 19th Feb 2011: Added Handin
points for peer reviews.
Assignment
In this project you will finish implementing your elevator,
complete your unit testing, and do more integration tests.
The procedures and requirements for this project are identical to
those of project 5; you'll just be implementing and testing
different
controllers. So, all the requirements from project 5 and the Testing
Requirements document apply to this project as well.
- Make sure you have the latest version of the simulator code
from
the download page.
- Implement (in Java) the CarPositionControl, Dispatcher, and
LanternControl objects using your statecharts. All the
rules and
procedures for implementing these objects are the same as they
were for
implementing the other objects in project 5.
- Update statecharts to code traceability to include the new
objects.
- Write complete unit tests to informally test every state and
transition
of the CarPositionControl, Dispatcher, and
LanternControl statecharts, like the unit tests you created
for the DriveControl in project 5.
- After you have written the new tests, execute all the unit
tests from Project 5 and 6 and log the results in the test
log.
- Note: For this
project, your design MUST pass all unit tests for all seven
controllers
(the three from this project and the four from project 5).
- Write and execute additional integration tests to informally
test a total of ten (10) of
your
sequence
diagrams
- The ten tests may include the test your created in Project
5.
- The ten tests MUST include the sequence diagrams for
scenarios 4A, 5B, 6A, and 9A.
- Complete all the steps outlined in Project 5 for integration
tests.
- Note: For this
project, your design MUST pass eight out of ten of the
integration tests (8/10).
Team Design Portfolio
The portfolio you submit should contain the most up-to-date design
package for your elevator system organized into the following
directories. You are going to update
your
portfolio every week, so be sure to keep an up to date working
copy.
Files that you should update for this week are:
- Portfolio Table of Contents
- Scenarios and Sequence Diagrams
- Improvements Log
- Requirements II
- Sequence Diagrams to Requirements Traceability
- Requirements to Constraints Traceability
- Issue Log
- Statechart to Code Traceability
- Elevator Control Package (be sure to include a complete,
compilable submission in the elevatorcontrol folder)
- Unit and Integration Test Logs (be sure to include
all relevant input and output files from the tests)
Ensure your design portfolio is complete and consistent.
The following is a partial list of the characteristics your
portfolio should exhibit:
- Changes requested by the TAs in previous projects have been
applied.
- All required documents are complete and up-to-date to the
extent required by the projects (you do not need to update files
or
links related to future projects).
- All documents include group # and member names at the top of
the
document. (This includes code, where this information
should
appear in the header field)
- Individual documents have a uniform appearance (i.e., don't
look
like they were written by 4 individual people and then pieced
together)
- The issue log is up to date and detailed enough to track
changes
to the project.
Handing In Results
Each team shall submit exactly one copy of the
assignment.
Follow the handin instructions detailed in the
Project FAQ to submit your portfolio into the afs handin directory
(/afs/ece/class/ece649/Public/handin/project6/group#/ontime/).
Be sure you
follow the required format for the directory structure of the
portfolio
and its location in the handin directories.
Be sure to follow ALL
the
portfolio guidelines detailed in the Portfolio Layout
page.
Any submission that contains files with modification dates
after the project deadline will be considered late and subject
to a
grade deduction (see course
policy
page for more information).
Grading (160 points):
This assignment counts as one team grade. If you choose to divide
the work, remember that you will be graded on the whole
assignment.
General
grading will be as follows. A
detailed grading rubric is
available here. Pay
special
attention that you submit code
that will compile correctly with the current version of the
simultor. You stand to lose at least 23% of the grade if
your
code will not compile!
25 points - for the
implementations of the CarPositionControl, Dispatcher, and
LanternControl.
30 points - for
statecharts-to-code traceability
40 points - for complete
unit
testing, unit test log, and passing all unit tests
30 points - for
completing 10
integration tests, and passing 8 of them.
30 points - for completing
14
peer reviews (8 Integration tests, 3 Unit Tests, 3 Code)
5 points - For an entry
in the
Improvements Log that tells us what can be improved about this
project.
If you encountered any minor bugs that we haven't already
addressed,
please mention them so we can fix them. If you have no
suggestions, say
so in your entry for this project.
NOTE: To receive full credit for the assignment the test
files you create must be formatted correctly and fully commented to
explain what they are doing.
Back to course
home
page