Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Summer 2006 Milestone 3
For Milestone 3, you will implement the design you created for Milestone 2. In addition, you will add one of these two extensions to your system:
These extensions should allow you to further tailor your design towards your user. In addition to implementation, you will use SUnit testing to make sure that your implementation works and generate UML class diagrams to document your system. You should also update your CRC Cards and User Description to match your implementation.
- Hook it up to Squeak e-Toys: e-Toys is a system in Squeak designed for kids to play with CS concepts. The car demo given in class is an example of e-Toys. If you hooked your system into e-Toys, it would be possible to do things like a working traffic light example.
- Oscilloscope to monitor signals: if you have a digital logic circuit, it would be nice to see how the inputs relate to the outputs as the clock switches. This oscilloscope should be able to record several signals over time and provide a graph of these values.
Check List of Things to Complete
- Get started early! There is a reason that the time allotted to this milestone is more than any other milestone. Implementation takes time. As you procrastinate, team problems become less fixable, getting help becomes harder, group coordination becomes more difficult, and bugs become more frustrating. Doing a bad job on this milestone will also cause you major headaches for Milestone 4, which builds upon this milestone.
- Show up in class for coding demonstration. At least one lecture will be dedicated to helping you with the hard parts of implemeting this milestone. If you begin your work early, you may be able to suggest what gets done in class.
- Update CRC Cards, Scenarios, and User Description
- Be sure to address any deficiencies that the TA pointed out.
- SUnit Tests
- These should properly cover your design. For each class X, there should be a corresponding XTest class.
- In eXtreme Programming, you do unit testing before programming. In general, you should do unit testing once you are pretty happy with the design of a class. Unit testing will actually make implementing new features easier.
- UML Class Diagrams
- UML is a good language to communicate your design to your team members when working on different parts of the system. You may want to have some parts of the system diagrammed early for this purpose.
- Your UML Class Diagram should represent the system as it is. So, update it before you submit it.
- Turn in your code here
- Make sure that it works and is well documented.
- Include a README file that tells us how to use your system.
- Get feedback from the TA
- Have someone from your team, demo your work to the TA after you turn it in.
- Demoing is to your advantage as you can gloss over weaker parts of your implementation.
- Implementation (75)
- Basic Gates - 10
- Flip-flops and Clock - 10
- Inputs and Outputs - 5
- You can connect gates to each other through the GUI - 15
- Outputs cannot be connected to outputs - 5
- Either e-Toy connectivity or oscilloscope - 10
- The unit tests cover the system - 15
- Good object-oriented style, comments (class and method), and readable code - 5
- Documentation (25)
- UML Class Diagrams - 10
- CRC Cards and Scenarios are updated to match the implementation - 10
- The User Desciption agrees with the implementation - 5
Post Questions to the Newsgroup
Links to this Page