User:BenMcDonald
From CSSEMediaWiki
(Difference between revisions)
BenMcDonald (Talk | contribs) (New page: == Ben McDoanld's page == I am doing my design study for my COSC426:Augmented Reality project. I need a design for a boxing skills trainer. No code has been written so far. I have made a...) |
BenMcDonald (Talk | contribs) |
||
Line 2: | Line 2: | ||
− | I am doing my design study for my COSC426:Augmented Reality project. I need a design for a boxing skills trainer. No code has been written so far. I have made a sketch of the requirements for the design of the software. | + | I am doing my design study for my COSC426:Augmented Reality project. I need a design for a boxing skills trainer. No code has been written so far. I have made a sketch of the requirements for the design of the software. The project is in C++ using the libraries open scene graph (osg) and augmented reality tool-kit open scene graph (ARTosg) |
− | * A score needs to be generated from a set of tested skills: | + | Requirements: |
+ | * A score needs to be generated from a set of tested skills: | ||
** Consistent guard | ** Consistent guard | ||
** Eyes forward and on opponent | ** Eyes forward and on opponent | ||
Line 12: | Line 13: | ||
* The performance on the skills needs to be evaluated and for additional activities to be recommended to the athlete. | * The performance on the skills needs to be evaluated and for additional activities to be recommended to the athlete. | ||
* An athlete’s evaluation history, progress and general details to be recorded and recoverable. | * An athlete’s evaluation history, progress and general details to be recorded and recoverable. | ||
+ | |||
+ | == Iteration One == | ||
+ | [[Image:BenM's UMLI1.png|border|700px]] | ||
+ | == Design: == | ||
+ | [[Observer|Observer Pattern]]: | ||
+ | * Subject - Observable | ||
+ | * ConcreteSubject - Athlete | ||
+ | * Observer - Observer | ||
+ | * ConcreteObserver - Trainer | ||
+ | Maxims that have been useful: | ||
+ | * [[Command query separation]] - One plus of C++ is that you can mark queries, and enforce them, with the const keyword. | ||
+ | * [[Design by contract]] - Using assert's to enforce preconditions at the moment | ||
+ | |||
+ | This is only the beginning of the design. I hope to remove the update methods from and add inheritance to the athlete class by creating a WiiMoteAthlete. |
Revision as of 08:39, 15 September 2009
Ben McDoanld's page
I am doing my design study for my COSC426:Augmented Reality project. I need a design for a boxing skills trainer. No code has been written so far. I have made a sketch of the requirements for the design of the software. The project is in C++ using the libraries open scene graph (osg) and augmented reality tool-kit open scene graph (ARTosg)
Requirements:
- A score needs to be generated from a set of tested skills:
- Consistent guard
- Eyes forward and on opponent
- Bobbing and weaving
- Timing of punches
- Each skill needs to be modelled and the evaluation method for each skill also needs to be modelled.
- The performance on the skills needs to be evaluated and for additional activities to be recommended to the athlete.
- An athlete’s evaluation history, progress and general details to be recorded and recoverable.
Iteration One
Design:
- Subject - Observable
- ConcreteSubject - Athlete
- Observer - Observer
- ConcreteObserver - Trainer
Maxims that have been useful:
- Command query separation - One plus of C++ is that you can mark queries, and enforce them, with the const keyword.
- Design by contract - Using assert's to enforce preconditions at the moment
This is only the beginning of the design. I hope to remove the update methods from and add inheritance to the athlete class by creating a WiiMoteAthlete.