軟件設計說明書_第1頁
軟件設計說明書_第2頁
軟件設計說明書_第3頁
軟件設計說明書_第4頁
免費預覽已結束,剩余26頁可下載查看

下載本文檔

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

文檔簡介

1、1 概要設計1.1 開發環境數據庫服務器:mysql 服務器開發語言: java , c ,sql開發工具: myeclipese, Ubuntu 虛擬機, Android Studio, 物聯網試驗箱開發系統還環境:windows10,linux1.2 系統功能描述1系統綜述寵物店系統致力于實現對店內寵物進行時間段的飲食,水的監控,用戶可以通過登陸用戶端查看交由寵物店里看管的寵物數據,查看在時間段的疫苗接種情況。店主端可以通過殿主賬號登陸查看所有用戶/寵物信息,并對其進行管理操作2數據段的接受與發送服務器打開后向 zigbee 網絡發送請求, 傳感器將接受到的數據通過 協調器發送給服務器,服

2、務器將數據進行簡單數據分類,處理后,把數據存儲到數據庫中。3用戶的注冊,登陸,修改,查看系統除店主賬號此外在首次使用時都需要注冊用戶個人信息,登錄密碼,這是完善用戶以實現后續操作的的必須。用戶同時可以修改個人信息,對自己寄存在在寵物店的寵物進行數據查看性質的管理。4管理員的數據管理,修改,刪除,操作執行管理員賬號完成登陸步驟后,可以對所有用戶信息進行查看/刪除等管理操作,也可以根據用戶的查詢到用戶寄存在寵物點的寵物信息,同時也可以對寵物信息進行增刪改查等操作5 . 手機端操作Android 系統進行管理的手機app,可以通過用戶名和密碼與數據庫信息匹配,并向服務器請求響應數據,實現頁面跳轉和相

3、應頁面的數據回顯。方案書服務端功能模塊設計1登錄模塊類圖(1) 登錄模塊類圖如圖所示HttpServlet<<interface>>+HttprequestUserDao+Httpresponse+fingByName()+DoGet()接口 1+DoPost()loginServletUserDaoImpl- 端1*- 端2+name+name+pwd+pwd+findByName()+DoGet()*+DoPost()圖 1-3-1登錄模塊類圖(2) 登錄模塊類圖說明表 1-3-1 登錄模塊類說明表類名說明HttpServlet對數據的請求進行數據處理及反應Logi

4、nServlet對用戶輸入的用戶名密碼進行驗證返回數據UserDaoImpl實現對用戶數據的查詢返回布爾值( 3)登錄模塊類圖方法說明表 1-3-1 登錄模塊類方法表方法名說明loginServlet:doget()從界面獲取數據調用從數據庫查詢的方法loginServlet:doget()調用 doget 方法相應對數據的處理方案書UserDaoImpl:findByName()根據參數從數據庫中找到相應數據判斷正誤2 . 注冊模塊類圖(1) 注冊模塊類圖如圖所示HttpServlet+Httprequest+Httpresponse+DoGet()+DoPost()<<inte

5、rface>>UserDao+addUser()接口1addUserServletUserDaoImpl+name- 端3- 端4+name+pwd+pwd+phone+phone+email*+email+DoGet()+addUser()+DoPost()圖 1-3-2登錄模塊類圖( 2)注冊模塊類圖說明表 1-3-3 登錄模塊類說明表方法名說明httpServlet對數據的請求進行數據處理及反應addUserServlet對輸入的數據進行判定,若合理, 調用將數據插入數據庫的方法UserDaoImpl將數據插入數據庫中表 1-3-4 登錄模塊方法說明表方案書方法名說明addU

6、serServlet:doget()從界面獲取數據并判定是否合理的方法addUserServlet:doget()調用 doget 方法相應對數據的處理UserDaoImpl:addUser()將獲取到的數據參數加到數據庫對應表中3 . 硬件獲取數據模塊類圖(1) 注冊模塊類圖如圖所示Thread+run()openThreadreadThreadwriteThread-ipaddress-ipaddress-ipaddress-port-port-port+run()+run()+run()datawork- 端5-特性1-time-value+value()-count*+get()圖 1

7、-3-3硬件獲取數據模塊類圖( 2)注冊模塊類圖說明表 1-3-5 硬件獲取數據模塊類說明表方法名說明Thread線程始類openThread控制繼電器<<interface>>UserDao接口 1+insert_timefood()UserDaoImpl+time-value-tablename+insert_timefood()+creattable()-端6*方案書readThread從硬件端獲取數據writeThread開啟硬件段向服務器發送數據Work外部類獲取void ( run)類型方法中數據UserDaoImpl將從硬件段獲取到的數據存儲到數據庫中表

8、1-3-6 硬件獲取數據模塊方法說明表方法名說明openThread:run()從界面獲取數據并判定是否合理的方法readThread:run()調用 doget 方法相應對數據的處理writeThread:run()將獲取到的數據參數加到數據庫對應表中Work:get()從硬件段獲取數據并將數據存儲到數據庫中UserDaoImpl:insert_timefood()將獲取到的數據插入數據庫中UserDaoImpl:creattable()實時每天創建對應表格的方法5 . 獲取數據模塊類圖(1) 獲取數據模塊類圖如圖所示HttpServlet-Httprequest-Httpresponse+

9、DoGet()+DoPost()UserDaoImpl-timefood1- 端2-timefood2sendPetsFoood-timefood3-端1-timefood4+time*-timefood5+value-timefood6*+findByIdFromtimefood()-id+findBiIdFromtimefood()圖 1-3-4 獲取數據模塊類圖( 2)注冊模塊類圖說明表 1-3-7 獲取數據模塊類說明表接口1 UserDao-tablename-id+findByIdFromtimefood()方案書方法名說明httpServlet對數據的請求進行數據處理及反應send

10、'PetsServlet調用方法從數據庫中獲取數據并發送到安卓端UserDaoImpl根據傳入的時間參數找到相對應的表獲取到數據表 1-3-8 獲取數據模塊方法說明表方法名說明send'PetsServlet:doget()從界面獲取數據并判定是否合理的方法send'PetsServlet:doget()調用 doget 方法相應對數據的處理UserDaoImpl:findByIdFromfood()根據參數 id, 當前時間值查找到相應List 數據安卓短功能模塊設計1. 登錄模塊類圖(1) 登錄模塊類圖如圖所示方案書petsLoadActivity-id- 端1-

11、端2-petes- 端3- 端4-kind-list-pro-list1-health*-et_name*-petname+get()-et_password+LoginThread()+set()*- 端5*- 端6NetUtils+sendjson()+getjson()圖 1-3-1登錄模塊類圖(2) 登錄模塊類圖說明表 1-3-1 登錄模塊類說明表類名說明LoadActivity用于用戶管理員登錄users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝NetUtils用于 android 與服務器進行連接(3) 登錄模塊類圖方法說明users-id-name-pwd-emai

12、l-pname+get()+set()方案書表 1-3-1 登錄模塊類方法表方法名說明LoadActivity:LoginThread創建線程用于網絡通信Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息NetUtils:getjson用于接收從客戶端發送過來的信息2. 注冊模塊類圖(1) 注冊模塊類圖如圖所示users- 端 4-idRegisterActivity- 端 3-name-pwd+registerThread()*-email-pname- 端 3+get()*+set()* - 端 4NetUtils+s

13、endjson()+getjson()方案書圖 1-3-2注冊模塊類圖(2) 注冊模塊類圖說明表 1-3-2 注冊模塊類說明表類名說明RegisterActivity用于處理新用戶的信息users用于對用戶登錄信息進行封裝NetUtils用于 android 與服務器進行連接(3) 登錄模塊類圖方法說明表 1-3-2 登錄模塊類方法表方法名說明user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息NetUtils:getjson用于接收從客戶端發送過來的信息RegisterActivity:registerThread創建線程用于網絡通信方

14、案書3. 主頁面模塊類圖(1) 主頁面模塊類圖如圖所示LoadActivity-petes-list-list1-et_name-et_password+LoginThread()staff_mainUser_main-user-user-list-pets-list1+shark()+shark()MessageMessage_of_user+thread()+thread()圖 1-3-3主頁面模塊類圖(2) 主頁面模塊類圖說明表 1-3-3 主頁面模塊類說明表類名說明LoadActiviy用于用戶登錄Staff_main管理員主界面User_main用戶端主界面Message管理員消息頁

15、面方案書Message_of_user用戶消息頁面(3) 主頁面模塊類圖方法說明表 1-3-3 主頁面模塊類方法表方法名說明LoadActivity:LoginThread創建線程用于網絡通信Staff_main User_main:shark控制消息燈光閃爍Message:thread用于管理員向服務器發送消息Message_of_user:thread用于用戶向服務器發送已知消息4. 管理員管理用戶信息模塊類圖方案書(1) 管理員管理用戶信息模塊如圖所示NetUtils+sendjson()+getjson()*- 端 5users*- 端 6pets-id-id- 端 3- 端 4Use

16、r_Manager- 端 1- 端 2-kind-name-list-pro-pwd-health-flag-email-petname*+thread()*-pname+get()+get()+thread1()+set()+set()Personal_pet_ManagerMyLineChart+personal_pet()+thread1()+drawChartLine()+thread()圖 1-4-4 管理員管理用戶信息模塊類圖(2) 管理員管理用戶信息模塊類說明表 1-4-4 管理員管理用戶信息模塊類說明表方案書類名說明NetUtils用于 android 與服務器進行連接user

17、s用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝User_Manager管理員管理用戶界面Psersonal_pet_Manager查看某一用戶的寵物MyLineChart將寵物進食情況用圖表描繪出來(3) 管理員管理用戶信息模塊類方法說明表 1-4-4管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息NetUtils:getjson用于接收從客戶端發送過來的信息User_Manager:thread顯示所有用戶信息的網絡線程User_Manager:thread1刪除某一

18、用戶信息Personal_pet_Manager:personal_pet顯示某一用戶的所有寵物信息Personal_pet_Manager:thread1查看寵物進食情況Personal_pet_Manager:thread刪除寵物信息MyLineChart:drawChartLine畫圖方法方案書5. 管理員管理寵物信息模塊類圖(1) 管理員管理寵物信息模塊如圖所示NetUtils+sendjson()+getjson()* - 端 1pets*- 端26-id- 端 3- 端4Pet_Manager-kind-pro-pets-health*+thread()-petname+threa

19、d2()+get()+set()add_pet+thread()users-id-name-pwd-email-pname+get()+set()* - 端 5registerpet+getthread()+thread()MyLineChart+drawChartLine()圖 1-5-5 管理員管理寵物信息模塊類圖( 2)管理員管理寵物模塊類名表 1-5-5 管理員管理寵物信息模塊類說明表類名說明NetUtils用于 android 與服務器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝Pet_Manager管理員管理寵物界面方案書Registerpet修改寵物

20、信息界面Add_pet增加寵物信息界面MyLineChart顯示寵物進食情況(3) 管理員管理寵物信息模塊類方法說明表 1-5-5管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息NetUtils:getjson用于接收從客戶端發送過來的信息Pet_Manager:thread顯示所有寵物信息的網絡線程Pet_Manager:thread2查看某一寵物進食情況Register_pet_Manager:getthread回顯寵物的所有信息Register_pet_Manager:thr

21、ead修改寵物的信息Add_pet:thread新增寵物的信息MyLineChart:drawChartLine畫圖方法6. 用戶管理個人信息模塊類圖(1) 用戶管理個人信息模塊如圖所示方案書users-id-name-pwd-email-pname+get()+set()*- 端 1pets*- 端 2-id- 端 3- 端 4-kinduser_infoUser_refact-pro-health*+th()+thread()-petname+get()*- 端 5+set()* - 端 6NetUtils+sendjson()+getjson()圖 1-6-6 用戶管理個人信息模塊類圖(

22、 2)用戶管理個人模塊類名表 1-5-5 管理員管理寵物信息模塊類說明表類名說明NetUtils用于 android 與服務器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝User_info用戶產看修改個人信息User_refact用戶修改個人信息(3) 用戶管理個人信息模塊類方法說明方案書表 1-6-6 用戶管理個人信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息NetUtils:getjson用于接收從客戶端發送過來的信息User_info:th用戶查看個人信息線

23、程User_refact:thread用戶修改個人信息線程7. 用戶管理寵物信息模塊類圖(1) 用戶管理寵物信息模塊如圖所示NetUtils+sendjson()+getjson()*- 端1userspets*- 端2-id-id- 端5- 端6pet_of_userinfo- 端3- 端4-name-kind-pwd-pro-email-health*+personal_pet()*-pname-petname+thread()+get()+get()+set()+set()MyLineChart+drawChartLine()方案書圖 1-7-7 用戶管理寵物信息模塊類圖( 2)用戶管理

24、寵物模塊類名表 1-7-7用戶管理寵物信息模塊類說明表類名說明NetUtils用于 android 與服務器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝Pet_of_userinfo查看某一用戶的寵物信息MyLineChart畫出某一用戶的信息(3) 用戶管理寵物信息模塊類方法說明表 1-7-7 用戶管理寵物信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:sendJson用于向客戶端發送信息方案書NetUtils:getjson用于接收從客戶端發送過來的信息Pet_of_userinfo:person

25、_pet由于查看該用戶的所有寵物Pet_of_userinfo:thread查看寵物進食情況MyLineChart:drawChartLine將寵物進食情況繪制成表格1.4活動圖具體設計管理員端接受處理疫苗信息管理用戶信息管理寵物信息圖管理員端活動圖方案書用戶端接受處理疫苗信息管理個人信息查看寵物信息圖用戶端活動圖方案書2 數據庫設計2.1 概念結構設計表 2.1用戶說明表注釋數據庫條目數據庫唯一性檢必須填寫( * )類型察姓名name*Varchar密碼pwd*varchar手機號Phone*varchar郵箱email*varchar編號Id*int表 2.2寵物信息說明表注釋數據庫條目數

26、據庫唯一性檢必須填寫( * )類型察編號Petid*int姓名PetName*varchar健康PHeal*varchar疫苗Pro*varchar種類Kind*varchar表 2.3用戶寵物信息關聯說明表注釋數據庫條目數據庫唯一性檢必須填寫( * )類型察寵物編號Petid*int用戶編號Id*Int表 2.4信息交流儲存說明表方案書注釋數據庫條目數據庫唯一性檢必須填寫( * )類型察用戶編號Id*int狀態checksit*varchar信息news*varchar寵物編號petid*int食物表是時間上的邏輯調用生成,起名以 timefood+yyyyMMddhhmmss, 所以具體表

27、的個數與表的名字為不定值,其中一表的數據內容如下所示:表 2.5從硬件端獲取是數據信息說明表注釋數據庫條目數據庫唯一性檢必須填寫( * )類型察編號Petid*int測試 1timefood1varchar測試 2timefood2varchar測試 3timefood3varchar測試 4timefood4varchar測試 5timefood5varchar測試 6timefood6varchar方案書NamePetidNamepwd用戶擁有寵物KindphoneProemail關聯Heal關聯寵物關聯用戶圖 2.1 用戶類圖PetidPetidtimefood1Nametimefood

28、2食物關聯寵物Kindtimefood3Protimefood4Healtimefood5timefood6圖 2.2 寵物類圖方案書3 詳細設計3.1系統定名中文:寵物店;英文: petsroom功能定位:為無暇照顧寵物的都市忙人提供看管寵物的功能,并為客戶在時間段內提供食物,水方面的數值統計,以及相應疫苗的植入情況。3.2 .1服務器功能模塊設計1. 賬號注冊(1) 注冊模塊程序流程圖如圖所示否錄入信息無誤選擇注冊開始是完成注冊結束圖 3.1 注冊模塊程序流程圖(2) 核心代碼從安卓界面以json 形式發生到服務器的user 對象,加載進入到addUserServlet 調用UserDao

29、Impl 中的 addUser() 進行驗證,若用戶輸入的信息不存在問題,注冊用戶的信息成功否則失敗,注冊成功的用戶會被數據庫以自增加的方式分配id 編號。服務器會根據id 編號進行判定身份,并跳轉相對應的頁面。2 . 賬號登錄( 1) 登錄模塊程序流程圖如圖所示方案書結束注冊否是是否注冊開始登錄信息無誤否是登錄成功結束圖 3.2 登錄模塊程序流程圖( 2)核心代碼從安卓界面以json 形式發生到服務器的user 對象,加載進入到loginServlet調用UserDaoImpl中的 indBiName() 找到相對應的密碼與其進行匹配,完成登錄操作,根據根據權限聲明,區分為兩類管理員與普通用

30、戶,而后擁有的權限與進入的頁面也完全不同.3. 硬件獲取數據( 1) 從硬件端獲取數據模塊程序流程圖如圖所示否j結束存入到數據庫是接收數據成功發送開始傳輸信息開始圖 3.3 從硬件端獲取數據模塊程序流程圖( 2)核心代碼塊通過調用writeThread() 的run() 方法開啟硬件端向服務器發生數據的程序,并用readThread()類的 run()方法接受來自硬件端的數據,在用外部類的方式獲取到run()方法中獲取到的節點數值字符串,進行簡單處理后,調用來自UserDaoImpl 的 insert_timefood()方案書方法,在這個過程中,調用相應名稱的表不存在的情況時,采用timefood+yyyyMMddhhmmss為表名的方式靈活創建表,已完成獲取到的數據的插入操作。4 . 獲取數據庫數據模塊( 1) 獲取數據庫數據模塊程序流程圖如圖所示否生成信息是前后無數據加載數據到集合中是獲取當天數據開始成功否是判定

溫馨提示

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

評論

0/150

提交評論