360 likes | 465 Views
Sediment / Habitat Management Tool. Montana DEQ Water Quality Planning Bureau William Puknat. May 14, 2013. OBJECTIVES. History Understanding & Building Requirements Mock-up Approval Why Use EQuIS dB? Handling Errors User data entry, Run-time Demo Conclusion. HISTORY.
E N D
Sediment / Habitat Management Tool Montana DEQ Water Quality Planning Bureau William Puknat May 14, 2013
OBJECTIVES • History • Understanding & Building Requirements • Mock-up Approval • Why Use EQuIS dB? • Handling Errors • User data entry, Run-time • Demo • Conclusion
HISTORY • planners contract with vendor to generate report • originated from field forms • one contractor developed software to assist in reporting • the contractor demonstrates software to planners • planners want it… but also want some changes • two years later…
SURPRISE! Can you fix this for us?
INVESTIGATION • analysis • .exe (VB6) • user guide • dB • source code? • complexity? • exploitable? • serviceability? • will contractor assist? • recommendation • proceed or not? • internal vs. external development?
DECISION • go forth! • internal development • use VB.NET to create client application • start from scratch • temporary programmer • generate requirements from existing application and documentation
REQUIREMENTS • define forms • database structure • identify and define algorithms • user interviews • gap analysis
MOCK-UP • build forms for user to see • identify/define missing data fields • update requirements document • user sign-off
WHICH dB? • MS Access • Oracle • MS SQL Server • update requirements document • IT sign-off
The EQuIS Advantage • MS SQL Server Readily available • No additional hosting costs • Ability to use the EQuIS Report Engine • Future integration with web application(s)/services • EQuIS Professional as back-end tool
ALGORITHMS • interview subject matter experts • research • verify • update requirements document • SME sign-off
HANDLING ERRORS • run-time • cryptic Microsoft error System.Number,StringToNumber(String str, NumberBuffer& number) at System.Number.ParseInt32(String s) at System.String.System.Iconvertible.ToInt32(IFormatProvider provider) at System.Convert.ToInt32(object value)… • provide English for potential errors “Permission denied at dB when attempting to save Cross Section. ” • sub-routine identification “Permission denied at dB when attempting to save Cross Section. |Error code CS351” • data entry • one at a time when attempting to save • concatenate till the end • immediate
DEMO Field form Database tables Front-end Reports
CONCLUSION • Now successfully deployed and in production! • next step • data entry • reports need to be defined • For more info / details on this application, contact Bill Puknat wpuknat@mt.gov