Presentation is loading. Please wait.

Presentation is loading. Please wait.

Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software.

Similar presentations


Presentation on theme: "Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software."— Presentation transcript:

1 Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software programs have too many pop ups or unwanted software tied to them like weather bug. Getting confusing information on weather warnings and watches from inaccurate sources.

2 Proposed Solution Conceptual Perspective: Develop a program which would run in the background and inform the user when a warning and/or watch has been issued in the selected area. When a warning and/or watch has been issued, the user clicks on the link and reads the actually forecast message issued by the National Weather Service.

3 Innovation: Design a plain, no clutter, software program which will monitor the National Weather Service web site and send an alert message to the user when it discovers a warning and/or watch notice from the NWS. Allow the user to rapidly access the National Weather Service warning/watch message via the internet. Allow the user to have access to current weather conditions through the program system tray icon.

4 Software Architecture: Program was written in C# using Microsoft Visual Studio.NET. The program uses an Access database to hold the ZIP code and county code information. SQL commands are used to search and retrieve data from the database. The program automatic links up to the National Weather Service web site and Yahoo weather site and uses XML commands to search for weather information. Interface into the program is for a single user.

5 Design Pattern- What & Why? a widely accepted solution to a recurring design problem in OOP provides a general blueprint to follow when implementing part of a program does not describe how to structure the entire application does not describe specific algorithms focuses on relationships between classes makes code more readable to other programmers

6 Design Pattern- the Observer Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically Key objects: subject and observer Subject: have dependents; it changes Observer: is notified whenever a subject undergoes a change in state

7 The Observer Pattern in WMP! For example, WeatherReporter class stores latest weather data When the weather changes, WeatherReporter sends updates to the objects under the class (text and graphic) Each object deals with the update in its own way

8 Why the Observer Pattern? Observer makes the application easy to change Easy to add new kinds of weather reports For example, we can easily add a SoundReport class to provide the spoken weather report when the new class is added, the WeatherReporter class does not need to change! Thus, the Observer allows new functionality to be added/removed at runtime with minimal effort

9 Sequence Diagram:

10 Implementation Details: Convert zip code to forecast area code Goal: User prefers to a simple input, such as a zip code, while the hazardous weather forecast is based on an entirely different code system. We must design a database to convert the user’s zip code into the forecast area code.

11 Resources: A table containing 42k zip codes, and corresponding counties, cities and states: e.g. “64112, Jackson, Kansas City, MO” From NOAA website, a table of forecast area codes can be created based on county, e.g. “MOZ037, Jackson, MO”.

12 Statement Problem and solution Methods: Use MS Access to join the two tables where county names are equivalent. Result: Only 60 % of the 42k zip codes matched a forecast area code. Problem: Some zip codes in central area failed to match because their forecast area code represents not a county, but an area of partial or multi- counties, e.g. “West of xxx County”. Solution: Use approximate equal: SQL command “JOIN WHERE table1.county LIKE table2.county” to set up the relationship. Then, 37k zip codes matched their forecast area code. Still no match for 11% zip codes because their forecast area names are not related to any county, at all.

13 Implementation Details on C# program: C# program written on MS Visual Studio.NET Provide interface between the user and database. Performs search operations on web sites whose data is in XML format. Alerts the user by placing a warning box on the computer screen. This warning box will have a link to the NWS forecast message.

14 Implementation Details on C# program: Provides a direct connection to the Yahoo weather web site. This web site will provide the data for the current conditions. Install an icon in the system tray which is used to provide an interface with the program and to check current weather conditions.

15 Testing: Testing was done using the NUnit program and manual testing. NUnit testing. The first test case was to verify the ZIP code to county code conversion worked properly. The first check condition was to see if a valid ZIP code would bring up the right county code. The second check condition was to see if an invalid ZIP code would not change the previous entered ZIP value. The second test case was to see if the program would be able to access the team’s web site and search and retrieve the test files information. Manual testing. Running the program and entering ZIP codes from around the country to see if the correct information was displayed to the user.

16 Nunit test results

17 Demo: Demo Scenario Review: Run program Enter bad ZIP code. Enter good ZIP code. Show the outputs associated with the different warnings, watches and advisories. Show current conditions. Show about screen

18 Conclusion: Contributions: Everybody worked together to make this project possible.

19 Future Work: Database modification/update Update the latest zip code - forecast code database with an XML file obtained from NOAA recently.


Download ppt "Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software."

Similar presentations


Ads by Google