1 / 23

Moose Habitat Surveyor Final Presentation

Moose Habitat Surveyor Final Presentation. University of Alaska Anchorage CS 401 : Software Engineering Cold Moose Chasers (Cold MC’s) Max Konovalov Chris Kulhanek Jim Weller. Problem Statement.

shino
Download Presentation

Moose Habitat Surveyor Final Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Moose Habitat SurveyorFinal Presentation University of Alaska Anchorage CS 401 : Software Engineering Cold Moose Chasers (Cold MC’s) Max Konovalov Chris Kulhanek Jim Weller

  2. Problem Statement • Agencies like the forest service need a way to task biologists to measure and predict the amount of Moose edible biomass in an area • Take random samples with a computer and project the distribution onto an area.

  3. Scenarios • Biologists get a list of GPS waypoints from an Agency like the forest service • Biologists go to each Waypoint and sample 9 CurrentYearGrowth (CYG) of many PlantPatches • Biologists export the biomass data to a file and give it to the Agency

  4. Features • GUI Application • 3d Renderer • Model view • Data view of instance objects • Menus for • Collaboration: Import/Export • Persistence: Save/Load • Hardware • 3d Radio Pen (3drp) • Calipers

  5. Architecture • MVC • Model is well defined • Controller manipulates model • Win32 Application • Views render model • 3d Panel to show plant patches • TreeView control to show the model hierarchy • DataGrid control to show instance variables of model components

  6. Design • Façade Pattern (FieldTrip) • Wraps Model class hierarchy • Methods with integers • One Way wp = ft.getWp(wp_idx);pp = wp.getPp(pp_idx);cyg = pp.getCyg(cyg_idx);cyg.setCygBase(base3d) • Façade Way ft.cygSetBase( wp_idx, pp_idx, cyg_Idx, base3d )

  7. Design (con’t) • Façade • Advantages • Simple and fast to implement because you can use protected variables instead of set/get • Less function calls to manipulate model • Model innards can be changed without affecting interface • Disadvantages • Not great OO design • Model components not very reusable

  8. Design (con’t) • Bridge • Data inputs should be able to use ink, keyboard, or attached hardware • Provides flexibility in the field

  9. Expertise • Chris • Built 3D meshes because of architectural background • PlantPatch Model component • DataGrid GUI View Component • Max • C++ string parser research • Waypoint Model component • TreeView GUI View component

  10. Expertise (con’t) • Jim • Project Lead • .NET C++ research • CurrentYearGrowth Model component • 3D PictureBox GUI View component • Secretarial slave (coffee, lunch, notes etc.)

  11. Finished(?) Product • We didn’t know until 5 minutes ago what exactly we were going to show you all • Here it is… • Jim: Meshes • Chris: DataGrid • Max: TreeView from model file

  12. Lessons Learned: Facts • 50 files (70 expected) • 5 megs of source • 2500 Lines of code (3500 expected) • 85 pages of docs (120 expected) • 4 APIs (3drp, DirectX, TabletPC, .NET) • 103 CVS commits • 51 CVS commits for Model.h • 489 Total person hours (519 expected) • First 6 Weeks • 3 hours of meeting time per week • 2 hours of research/design/writing time per week • Last 8 Weeks • 10 hours of group time per week • 4-8 hours of code time per week

  13. Lessons: Things we did right • CVS is good, viewcvs makes it better, statcvs makes it even better • C++ or not, Visual Studio is sweet • Consistent meeting agendas and minutes increased traceability • Good division of labor • Long 8 hour work together meetings • Code walk throughs

  14. Lessons: Things that sucked • Too many new technologies (Cray quote) • Lack of experience in C++ and C++ .NET especially • No client buy in. Should have had a contract  • Prototype earlier, especially with new technologies • Specify expected application behavior better in scenarios • Old Libs and new libs (VC2003 vs. VC6) • Develop project schedule earlier and revise continually • Probably won’t achieve acceptance of original requirements

  15. Conclusions We should have majored in English Just kidding…

  16. Conclusions (for real) • Software engineering is challenging • 3 members does not equal 3 times the effort of a single member • Good planning can save time and effort downstream • Discipline is more important than genius • Conservative is better than exciting • Communication is the most important

  17. THE END

More Related