User:BenMcDonald

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
m
Line 14: Line 14:
 
* 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 ==
+
== Iteration Two ==
[[Image:BenM's UMLI1.png|border|700px]]
+
[[Image:BenM's UMLI2.png|border|700px]]
 
== Design: ==
 
== Design: ==
 +
[[State|State Pattern]]:
 +
* Context - Trainer
 +
* State - TrainingState
 +
* ConcreteStates - PunchingDrill, BobbingAndWeaving
 
[[Observer|Observer Pattern]]:
 
[[Observer|Observer Pattern]]:
 
* Subject - Observable
 
* Subject - Observable
Line 22: Line 26:
 
* Observer - Observer
 
* Observer - Observer
 
* ConcreteObserver - Trainer
 
* ConcreteObserver - Trainer
 +
[[Observer|Observer Pattern]]:
 +
* Subject - Observable
 +
* ConcreteSubject - Trainer
 +
* Observer - Observer
 +
* ConcreteObserver - TrainerAnimation
 
Maxims that have been useful:
 
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.
 
* [[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 conditions at the moment
 
* [[Design by contract]] - Using assert's to enforce conditions 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 09:43, 19 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 Two

BenM's UMLI2.png

Design:

State Pattern:

  • Context - Trainer
  • State - TrainingState
  • ConcreteStates - PunchingDrill, BobbingAndWeaving

Observer Pattern:

  • Subject - Observable
  • ConcreteSubject - Athlete
  • Observer - Observer
  • ConcreteObserver - Trainer

Observer Pattern:

  • Subject - Observable
  • ConcreteSubject - Trainer
  • Observer - Observer
  • ConcreteObserver - TrainerAnimation

Maxims that have been useful:

Personal tools