requirements and design analysis moose habitat surveyor (mhs)

20
1 3 2 View M odel W aypoint FieldTrip 1 * PlantPatch 1 * C urrentYearsG row th 1 9 C ontroller PolhemusW in32Service TCP Socket Eventdriven routines that m anipulate the M odeland tellthe V iew to refresh ExportForm at Requirements and Design Analysis http:// mhs.jimweller.net / PlantP atch1 PlantP atch4 PlantP atch2 P lantPatch3 WaypointArea N orth Moose Habitat Surveyor (MHS)

Upload: rafe-jacobs

Post on 25-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

1

3

2

View

Model

WaypointFieldTrip

1 *

PlantPatch

1 *

CurrentYearsGrowth

1 9

Controller

PolhemusWin32Service

TCP Socket

Event driven routines that manipulate the Model and

tell the View to refresh

Export Format

Requirements and Design Analysis http://mhs.jimweller.net/

PlantPatch1

PlantPatch4

PlantPatch2

PlantPatch3

Waypoint Area

North

Moose Habitat Surveyor (MHS)

Page 2: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Problem DomainHow many sticks?

• Biologists like guessing how many moose there will be

• They measure and count the tasty moose sticks• Tasty moose sticks are called Current Year’s

Growths (CYGs).• 4 Predominent ways to measure

– Exhaustive measuring of complete plants and sites – Static site grids much like archeology – Impedance techniques like sonar and infrared – Image processing techniques (aerial photos)

Page 3: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Problem SolutionCounting all those sticks

• Dr. Spalinger suggests a model where they measure 9 sticks per plant and then guess with statistics.

• 3 sticks per meter of depth

• Use a computer and measuring tools

• Biologists have USB toys for measuring.

That’s where we come in!

Page 4: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Scenario

• Agencies like the Forest Service give biologists a list of GPS waypoints in a Comma Separated file (CSV).

• Biologists go to the waypoints• Biologists measure moose forage using

USB hardware and tablet PCs• Biologists then export the measurement

data for each waypoint as a CSV file.What no XML?

Page 5: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The RequirementsMust Should Could Would (MSCW)

• Import GPS UTM latitude and longitude • Render and edit the process• Record PlantPatch’s species, distance and

diameters• Sample PlantPatch’s CYGs• Export data to CSV• Time stamp data• Attach biologists names• Save/Load application state• Hardware sensor Status• Undo/redo• Statistical projections and analysis• XML input/output

Page 6: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Toys

• Polhemus Patriot (3Drp)

• Mitutoyo Calipers

Page 7: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Plan: Management

• Unknowns– Client: Species first or species by patch?– Hardware: Pen math? Coordinate translations?– Software: 3Drp API is VC++ 6? Direct3D or VRML?

Prototyping Lifecycle• Tracking and Visibility

– Project Plan in MS Project– Blog at http://mhs.jimweller.net

Weekly MeetingsDisciplined Tracking

Page 8: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Plan: Schedule

Page 9: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Plan: Schedule

Page 10: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Architecture

• Create software to direct and record biologists’ field trips

• Model a framework to CYG sampling

• View realtime-ish 3d scenes

• Control the model data with USB hardware

Model View Controller (MVC)

Page 11: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: MVC ArchitectureView

Model

WaypointFieldTrip

1 *

PlantPatch

1 *

CurrentYearsGrowth

1 9

Controller

PolhemusWin32Service

TCP Socket

Event driven routines that manipulate the Model and

tell the View to refresh

Export Format

Page 12: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Model

• FieldTrip

• Façade interface class

• Contains waypoints

Model

WaypointFieldTrip

1 *

PlantPatch

1 *

CurrentYearsGrowth

1 9

Page 13: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Model

15 meter radius

PlantPatch1

PlantPatch4

PlantPatch2

PlantPatch3

Waypoint

SurveyPole2

SurveyPole1

Diameter

PlantPatch Near

Distance

PlantPatch Far Distance

Waypoint Area• Waypoint

• Centered on GPS coordinate

• 25m radius

• Contains PlantPatches

Page 14: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Model• PlantPatch • An instance of a species• 2 Diameters; longest and perpendicular• Contains CYGs

Survey Pole2

Survey Pole1

FieldBiologist

Diameter of Patch

Random Point on Diameter

3drp Pole

Page 15: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Model• PlantPatch

• Contains 9 CYGs 3

• 3 at each of 3 meters

• CYGs referenced against random 3D point

3drp Pole

CYG

Random 3D Point

Legend

3drp

1 meter

2 meters

3 meters

Page 16: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: Controller• CurrentYearsGrowth

• Respond to user interface and hardware

• Manipulates the Model

• 3Drp will be external component

Controller

PolhemusWin32Service

TCP Socket

Event driven routines that manipulate the Model and

tell the View to refresh

Page 17: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: View

• Main has Picture, TreeView, Datagrid

Page 18: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The Path: View• Sampling wizard walks biologists through a

waypoint• 81 ops per patch

Page 19: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

Implementation• Win32 3Drp service must be C++• Application main could be C#, Java, VB, or

anything. Hmm…

Page 20: Requirements and Design Analysis   Moose Habitat Surveyor (MHS)

The End