天氣預報系統設計報告_第1頁
天氣預報系統設計報告_第2頁
天氣預報系統設計報告_第3頁
天氣預報系統設計報告_第4頁
天氣預報系統設計報告_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程課程設計報告◆課題名稱:

天氣預報系統的分析與設計◆任課教師:

XXXX◆學院:XXXXXX學院◆專業:XXXXX◆班級:XXXXX

日期:2017年5月2日目錄8327_WPSOffice_Level11.項目概述 428601_WPSOffice_Level21.1背景 428789_WPSOffice_Level21.2各類天氣預報系統優缺點分析 414406_WPSOffice_Level21.3解決問題及好處 418167_WPSOffice_Level21.4研究內容

428601_WPSOffice_Level12.需求分析 523522_WPSOffice_Level22.1用戶現狀介紹 516344_WPSOffice_Level22.2天氣系統功能圖 515041_WPSOffice_Level22.3功能描述 526839_WPSOffice_Level22.4參與者描述 62200_WPSOffice_Level22.5用例圖 622521_WPSOffice_Level22.6外部接口需求 66101_WPSOffice_Level22.7性能需求 628601_WPSOffice_Level34G內存以上,CPU為inter的電腦 724693_WPSOffice_Level22.8系統質量需求 730570_WPSOffice_Level23.1文檔編寫目的 7955_WPSOffice_Level23.2背景 716423_WPSOffice_Level23.3設計工具 710231_WPSOffice_Level23.4可行性分析 728789_WPSOffice_Level3技術可行性 714406_WPSOffice_Level3經濟可行性 85562_WPSOffice_Level24.1城市列表模塊系統設計 818167_WPSOffice_Level34.1.1城市列表模塊功能詳細描述 823522_WPSOffice_Level34.1.2城市列表模塊用戶圖 816344_WPSOffice_Level34.1.3城市列表模塊用例圖 910120_WPSOffice_Level24.2天氣信息模塊概要設計 915041_WPSOffice_Level34.2.1天氣信息模塊功能詳細描述 926839_WPSOffice_Level34.2.2天氣信息模塊用戶圖 102200_WPSOffice_Level34.2.3天氣信息模塊用例圖 1016584_WPSOffice_Level24.3用戶管理模塊概要設計 1022521_WPSOffice_Level34.3.1用戶管理模塊功能詳細描述 106101_WPSOffice_Level34.3.2用戶管理模塊用戶圖 1124693_WPSOffice_Level34.3.3用戶管理模塊用例圖 1110554_WPSOffice_Level24.4后臺服務模塊概要設計 1230570_WPSOffice_Level34.4.1后臺服務模塊功能詳細描述 12955_WPSOffice_Level34.4.2后臺服務模塊用戶圖 1216423_WPSOffice_Level34.4.3后臺服務模塊用例圖 1212993_WPSOffice_Level25.1城市列表模塊詳細設計 1310231_WPSOffice_Level35.1.1城市列表模塊活動流程圖 135562_WPSOffice_Level35.1.2城市列表模塊事件流程描述 1310120_WPSOffice_Level35.1.3類圖設計 1428486_WPSOffice_Level25.2天氣信息模塊詳細設計 1416584_WPSOffice_Level35.2.1用戶界面模塊活動流程圖 1410554_WPSOffice_Level35.2.2天氣信息模塊事件流程描述 1412993_WPSOffice_Level35.2.3類圖設計 152394_WPSOffice_Level25.3用戶管理模塊詳細設計 1528486_WPSOffice_Level35.3.1用戶管理模塊活動流程圖 152394_WPSOffice_Level35.3.2用戶管理模塊事件流程描述 1631591_WPSOffice_Level35.3.3類圖設計 1731591_WPSOffice_Level25.4后臺服務模塊詳細設計 185844_WPSOffice_Level35.4.1后臺服務模塊活動流程圖 186278_WPSOffice_Level35.4.2后臺服務模塊事件流程描述 1823925_WPSOffice_Level35.4.3類圖設計 195844_WPSOffice_Level25.5網絡圖 196278_WPSOffice_Level25.6E-R圖 2023925_WPSOffice_Level26.1測試名稱 207879_WPSOffice_Level26.2測試目的 208165_WPSOffice_Level26.3被測試特性 2011518_WPSOffice_Level26.4測試環境 2230025_WPSOffice_Level26.5測試用例 227879_WPSOffice_Level3測試分類 2228789_WPSOffice_Level1一、黑盒測試 2210968_WPSOffice_Level26.6.1城市列表模塊功能性測試設計 228165_WPSOffice_Level3(1)城市列表模塊實現順序圖 221868_WPSOffice_Level26.6.2天氣信息模塊功能性測試設計 2311518_WPSOffice_Level3(1)天氣信息模塊實現順序圖 2316697_WPSOffice_Level26.6.3用戶管理模塊功能性測試設計 234484_WPSOffice_Level26.6.4后臺服務模塊功能性測試設計 2430025_WPSOffice_Level3(1)后臺服務模塊實現順序圖 2414406_WPSOffice_Level1二、白盒測試 248864_WPSOffice_Level27.1項目時間 2513512_WPSOffice_Level27.2進度甘特圖 2618167_WPSOffice_Level1附錄 2723522_WPSOffice_Level1部分源代碼實現 2716344_WPSOffice_Level1一.查詢天氣 2715041_WPSOffice_Level1二.更新天氣信息 3126839_WPSOffice_Level1三.解析和處理服務器返回的省級數據 322200_WPSOffice_Level1四.解析和處理服務器返回的市級數據 3222521_WPSOffice_Level1五.遍歷全國省市縣數據 33項目概述1.1背景隨著科技的發展,Android在中國的前景十分廣闊,它的社區也十分紅火,而這些社區為Android在中國市場的普及做了很好的推廣作用。國內廠商和許多大運營商也紛紛加入了Android的陣營,同時不僅僅是局限于手機上,國內的廠家也不斷的推出了Android系統的產品。

Android的主要競爭對手有蘋果的IOS以及RIM的Blackberry

OS。在2011年的第一季度中,Android在全球的市場份額首次超過了塞班系統,躍居全球第一。1.2各類天氣預報系統優缺點分析天氣預報是一種具有實用的信息服務,伴隨著智能手機的不斷普及和應用,各種智能手機平臺下都有不同的天氣預報軟件。Android作為現在主流的智能手機之一,自然也有這方面的軟件。但是現在很多的天氣預報也有不足之處,比如說央視的天氣,由于我國幅員遼闊,人口眾多,對于不在省會城市或附近地區來說,省會城市的天氣并不能反映這一地區的天氣總況;此外,氣象服務單一也是一個問題,央視對全國空氣質量問題、道路交通情況、農業生產和森林火險等更為影響公眾日常生活的信息播報不夠詳盡。1.3解決問題及好處天氣狀況常常關系到人們的日常生活,比如它能告知溫暖,提供方便出行等等。此外,它對未來天氣的預測還可以幫助農民對農作物的澆灌、施肥、收割等一系列的工作指導,以便讓他們提前做出防御措施,把氣象災害帶來的損失降到最低程度,并且能使得廣大公眾在第一時間方便、快捷地獲取最新的天氣預報信息。同時它也可以強化天氣公共服務的職能,改善公共服務手段、完善公共服務體系、提高公共服務質量,更好地發揮了氣象事業對社會發展的現實性作用。這款手機天氣預報系統給人們生活帶來方便的全方位信息,是人們在日常生活中必不可少的生活用品。此天氣預報軟件的界面明了,操作簡單,適合各類人士,對提高人們生活水平具有一定的促進作用。1.4研究內容

Android平臺的天氣預報系統是基于Android手機平臺,利用Java語言,從Google上獲取天氣預報的信息,開發出對使用Android平臺的手機天氣預報系統的一款應用軟件。為了讓智能手機用戶能夠隨時隨地查詢互聯網所提供的服務,讓手機能通過互聯網訪問Web網站并處理各項不同的業務,其中有一種非常高效的方法就是將應用系統的功能拓展到手機的客戶端。Android的一個最大特點就是它的開放性架構體系,它不僅僅具有非常好的調試環境和開發環境,而且它還具有各種各樣的可擴展功能,其中還包括豐富的多媒體功能和圖形組件的強大瀏覽器,而且其技術已經逐漸趨于成熟。通過對界面的布局和控件使用等相關知識的學習和應用,使我對Android平臺下的開發工作有了一個初步的了解,并且經過這次的開發,它使我能夠基本掌握這些重要內容。軟件開發以后,它能夠幫助用戶隨時搜索由中國氣象局提供的全國范圍內的城市的天氣信息,并且把數據顯示在一個界面美觀、布局合理窗口內,使用戶能夠舒適的享受此軟件帶來的簡便的服務。2.需求分析2.1用戶現狀介紹目前人們獲得天氣信息的主要途徑有手機短信、Android自帶的天氣軟件、網上查詢、電視臺報道等,但是對于偏僻的農村地區的人們來說,他們不會并上網。而我國是農業大國,所以一款簡單、易操作、精確的天氣系統軟件至關重要。2.2天氣系統功能圖2.3功能描述用戶管理模塊主要用于管理用戶的登錄注冊和退出以及用戶信息的更新。城市列表模塊主要是從后臺數據庫獲得直轄市每個省份的城市數據并顯示出來。天氣信息模塊主要從后臺數據獲得各個城市詳細的天氣信息。后臺服務模塊主要是時時從第三方的API獲得最新數據并在后臺更新。2.4參與者描述參與者包括系統總用戶,天氣信息模塊用戶,城市列表模塊用戶,用戶管理模塊用戶,后臺服務模塊用戶。關于如下圖:2.5用例圖2.6外部接口需求利用中國天氣網的接口,直接從中國天氣網上面獲得天氣數據。2.7性能需求軟件環境:基于java語言的androidapp開發,javaJDK版本為1.8,androidSDK4.0以上。硬件環境:4G內存以上,CPU為inter的電腦2.8系統質量需求系統僅支持在android系統中使用,使用者可以隨時隨地查看天氣的實時信息,并支持同時查看多個城市,天氣信息數據每天準時更新。用戶可以登錄,登陸后可獲得更多的操作權限。3.可行性研究3.1文檔編寫目的根據需求分析階段產生的天氣預報App的需求規格,擬定相應的系統說明書,建立管理系統的體系結構。此份文檔將確定系統中每個程序是由哪些模塊組成,及各個模塊的功能;確定模塊間的相互關系;設計全局數據庫和數據結構;制定測試計劃;審核和復審。3.2背景隨著科技的發展,人們的出行交通方式越來越多樣,出行范圍也不斷擴大,但天氣仍然是影響人們出行的主要因素,不僅僅是在出行,包括對用戶的穿著或者第二天的生產活動也有很大的影響,所以我們開發一款天氣預報App。這款天氣預報App可以根據定位確定所在城市,并且可以查看未來一周的天氣信息,天氣信息不僅僅再只是天氣狀況,也包括降水量、氣壓和空氣質量指數等內容,也可以手動查詢城市的天氣信息,及城市的添加刪除等管理,相對于在各大應用市場上的天氣預報App,我們這款更加符合時代的發展和客戶的需求。3.3設計工具一臺帶有Windows10系統的電腦。Microsoftvisio2013用于建模等畫圖操作。Microsoftword2010用于編寫文檔。3.4可行性分析技術可行性我們可以通過AndroidStudio進行編碼,各個省份的各個城市可以通過數據庫查詢獲得,每個城市的天氣信息通過調用中國天氣網的API獲得詳細信息,通過解析其中數據,根據用戶的需求有選擇地顯示在用戶的界面上。經濟可行性我們開發的這個天氣預報App需要用到穩定更新的API,所以會支付一部分費用,其余的費用支出即為開發者和測試人員的費用,但產品投入市場后,根據下載量的數量和用戶的數量我們可以添加一些廣告或者一些其他的增值業務用來盈利,也可以根據天氣狀況來為用戶推銷不同的產品,比如當天氣下雨時,可以用一個友好的交互設計提示用戶可以使用打車軟件出行,或者使用上門服務避免外出;當天氣很炎熱時,可以推薦一些消暑產品。因為我們的開發成本低,加上現在互聯網的發展相信我們這款天氣預報App能在半年內的用戶積累期過后盈利。4.概要設計4.1城市列表模塊系統設計4.1.1城市列表模塊功能詳細描述城市列表模塊包括以下內容:添加城市按鈕,可以添加全國各地的城市搜索按鈕,通過搜索添加某個城市定位按鈕,通過手機定位添加某個城市刪除按鈕,刪除添加的某個城市切換按鈕,添加的不同城市之間相互切換4.1.2城市列表模塊用戶圖4.1.3城市列表模塊用例圖4.2天氣信息模塊概要設計4.2.1天氣信息模塊功能詳細描述天氣信息模塊包括以下內容:首次進入該系統,自動定位城市,然后跳轉到天氣信息界面。顯示城市的實時天氣信息。包括未來七天里的天氣情況,風力指數、空氣質量和生活建議等等。天氣信息界面可以根據不同的天氣自動切換背景圖。菜單欄按鈕。添加城市,允許選擇多個城市,可以同時觀察多個城市的天氣信息,不用來回切換。天氣更新按鈕。讓用戶選擇是否允許后臺自動更新天氣,以及設計更新的頻率。4.2.2天氣信息模塊用戶圖4.2.3天氣信息模塊用例圖4.3用戶管理模塊概要設計4.3.1用戶管理模塊功能詳細描述用戶管理模塊包括以下內容:用戶管理模塊主要用于用戶的注冊登錄和退出,以及用戶信息的管理。在產品前期,用戶可以通過App注冊用戶,希望在有一定的用戶數量后可以通過各大社交軟件進行第三方賬號登錄。通過用戶管理可以讓用戶更換登錄環境或者清除手機緩存后為用戶同步之前的數據,并默認保存用戶的設置,通過大數據分析用戶的喜好用來投放相應的廣告,使得我們的App有更好的用戶體驗。4.3.2用戶管理模塊用戶圖4.3.3用戶管理模塊用例圖4.4后臺服務模塊概要設計4.4.1后臺服務模塊功能詳細描述后臺服務模塊包括以下內容:周期性的獲取API的天氣數據并存儲到本地數據庫。從數據庫讀取出要顯示的數據。定時更新天氣信息數據。根據用戶自身的現實位置同步本地城市數據。4.4.2后臺服務模塊用戶圖4.4.3后臺服務模塊用例圖5.系統設計5.1城市列表模塊詳細設計5.1.1城市列表模塊活動流程圖5.1.2城市列表模塊事件流程描述在城市列表模塊中,通過菜單欄進入城市列表,可以選擇添加城市,進入添加城市界面,在次界面可以通過搜索按鈕,添加搜索到的城市,也可以通過定位按鈕,定位手機位置,添加城市;在城市列表中,也可以點擊已添加的城市,然后點擊刪除按鈕,刪除已添加的城市。在天氣信息界面,可以通過左右滑動,在已添加的城市之間相互切換。5.1.3類圖設計5.2天氣信息模塊詳細設計5.2.1用戶界面模塊活動流程圖5.2.2天氣信息模塊事件流程描述用戶在天氣信息界面可以查看城市的實時天氣信息,包括未來七天里的天氣情況,風力指數、空氣質量和生活建議等等。天氣信息界面的背景圖可以隨當前城市的天氣情況而變化,比如,當前城市天氣為晴朗,背景圖就可能是一張藍天白云的動態圖片,若天氣為小雨,背景圖也會隨之變化為下雨的動態圖片等等。用戶若想查看更多城市的天氣信息,就可以點擊界面的菜單欄按鈕,再進行相應的操作。界面還提供了天氣更新按鈕,讓用戶選擇是否更新天氣數據以及天氣數據的更新頻率。5.2.3類圖設計5.3用戶管理模塊詳細設計5.3.1用戶管理模塊活動流程圖5.3.2用戶管理模塊事件流程描述普通用戶管理流程描述1.用戶通過登錄窗口,如果用戶選擇不登錄,進入初始化界面,如果用戶選擇登錄,輸入用戶名和密碼進行登錄,如果用戶登錄成功,系統先將用戶登錄信息寫入日志數據表;用戶名或密碼輸入錯誤,則用戶登錄失敗,系統顯示登錄失敗信息。2.用戶登錄后在用戶界面可以退出登錄或者更改密碼,后臺數據庫會同步記錄用戶修改的信息和狀態,修改密碼需要用戶重新輸入密碼和后臺數據庫用戶密碼比較相同后才可以修改,以避免用戶誤操作等。3.后臺數據庫會每隔一段時間就會備份用戶最新的數據,如果用戶刪除了緩存,下次登錄時會有彈窗提示用戶是否加載后臺數據,如果是加載最新的一次備份數據,否就進入用戶初始化界面,重新為用戶備份數據。4.用戶登錄后在用戶主界面可以點擊用戶設置,點擊相應的設置,如是否有后臺推送、檢查更新、清除緩存以及字體大小、意見反饋等設置。用戶修改設置后后臺自動保存,用戶下次登錄時自動為用戶加載這些設置。(2)管理員管理流程描述1.管理員用戶與普通用戶一樣在登錄窗口,可選擇是否登錄,如不登錄,則進入初始化界面,選擇登錄則輸入管理員特定的用戶名。登陸成功,系統將管理員的登錄信息寫入管理員日志數據表,輸入錯誤則和普通用戶一樣,系統顯示登錄失敗信息。2.管理員登陸后,可選擇進行管理備份用戶數據、修改用戶資料、查看用戶登錄狀態。3.管理備份用戶數據是將后臺備份數據庫中的用戶數據進行調用、查看、刪除、添加等操作。4.修改用戶資料是將用戶注冊時或后面修改的個人設置和個性化設置進行修改。5.查看用戶登錄狀態可以查看當前所有在線用戶的人數、地域分布等信息,從而可以進行數據分析。5.3.3類圖設計5.4后臺服務模塊詳細設計5.4.1后臺服務模塊活動流程圖5.4.2后臺服務模塊事件流程描述當用戶選中城市后,點擊查詢按鈕,數據庫先返回當前城市的編碼,根據編號生成對應的url去請求API的數據。當用戶設置了自動更新天氣,系統根據用戶設置的頻率自動執行上述操作。5.4.3類圖設計5.5網絡圖5.6E-R圖6.系統測試6.1測試名稱天氣預報系統測試6.2測試目的通過系統測試檢驗登錄系統是否符合用戶需求。為了保證軟件產品的最終質量,測試環節需盡可能的發現錯誤,檢驗個功能是否完善,測試各個模塊層次,并根據測試計劃和測試方案對測試的標準提出分析與實施,最后撰寫測試報告。功能性測試,能否根據用戶的需求完成相關工作。6.3被測試特性產品名稱天氣預報系統用戶文檔追蹤章節特性子特性特性簡要說明備注城市列表定位城市對所在城市定位城市位置更新連接數據實時跟新定位菜單欄彈出左右滑動與點擊事件產品名稱天氣預報系統軟件產品特性項目用戶文檔追蹤章節特性子特性特性簡要說明備注登錄服務登錄已注冊的用戶進行登錄注銷登錄已登錄的用戶注銷登錄查看個人信息已注冊的用戶查看個人信息修改個人信息已注冊的用戶修改個人信息修改密碼已注冊的用戶修改密碼產品名稱天氣預報系統軟件產品特性項目特性子特性特性簡要說明備注天氣服務天氣情況獲取當天氣氣溫情況當前氣溫與今日氣溫差推薦穿衣與出行穿衣指數與出行指南等一些溫馨提示天氣服務天氣更新連接數據更新天氣6.4測試環境Android移動設備,IDE開發環境窗口。6.5測試用例測試分類黑盒測試黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試地,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。

黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身有問題或規格說明的規定有誤,用墨盒測試方法是發現不了的。

黑盒測試法注重于測試軟件的功能需求,主要試圖發現下列幾類錯誤:

功能不正確或遺漏;界面錯誤;數據庫訪問錯誤;性能錯誤;初始化和終止錯誤等。6.6.1城市列表模塊功能性測試設計(1)城市列表模塊實現順序圖(點擊菜單欄的添加按鈕添加城市)6.6.2天氣信息模塊功能性測試設計(1)天氣信息模塊實現順序圖6.6.3用戶管理模塊功能性測試設計(1)用戶管理模塊實現順序圖6.6.4后臺服務模塊功能性測試設計(1)后臺服務模塊實現順序圖白盒測試白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。"白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。用白盒測試產生的測試用例能夠:

1)保證一個模塊中的所有獨立路徑至少被使用一次;

2)對所有邏輯值均需測試true和false;

3)在上下邊界及可操作范圍內運行所有循環;

4)檢查內部數據結構以確保其有效性。操作步驟序號操作步驟/輸入數據預期輸出實際結果1注冊賬號帶字母等提示錯誤F全數字可用賬號T2登錄輸入錯誤密碼提示密碼錯誤F輸入正確密碼進入賬戶界面T3修改密碼新密碼與舊密碼一致提示錯誤F新密碼與舊密碼不一致允許修改T4網絡連接時刷新天氣顯示最近天氣信息顯示最近天氣信息項目實施7.1項目時間7.2進度甘特圖產品報價序號工作內容工作量(人天)單價(元)金額(元)1項目調研2*320012002需求分析2*320012003系統分析2*330018004系統結構設計2*560060005界面和報表設計2*660072006數據庫設計2*460048007軟件配置管理2*9600108008文檔編寫2*830048009安裝調試1*120020010維護31000011合計8648000團隊介紹姓名學號分工XXXX(組長)XXXXXXXXXXXXXXXXXXXXXXXXXX附錄部分源代碼實現查詢天氣privatevoidqueryWeatherCode(StringcountyCode){Stringaddress="/data/list3/city"+countyCode+".xml";queryFromServer(address,"countyCode");}/***查詢天氣代號所對應的天氣。*/privatevoidqueryWeatherInfo(StringweatherCode){Stringaddress="/data/cityinfo/"+weatherCode+".html";queryFromServer(address,"weatherCode");}/***根據傳入的地址和類型去向服務器查詢天氣代號或者天氣信息。*/privatevoidqueryFromServer(finalStringaddress,finalStringtype){HttpUtil.sendHttpRequest(address,newHttpCallbackListener(){@OverridepublicvoidonFinish(finalStringresponse){if("countyCode".equals(type)){if(!TextUtils.isEmp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論