




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、最新1概要設(shè)計(jì)1.1 開發(fā)環(huán)境數(shù)據(jù)庫服務(wù)器:mysql服務(wù)器開發(fā)語言:java , c , sql開發(fā)工具:myeclipese, Ubuntu虛擬機(jī),Android Studio,物聯(lián)網(wǎng)試驗(yàn)箱開發(fā)系統(tǒng)還環(huán)境: windows10,linux1.2 系統(tǒng)功能描述1 .系統(tǒng)綜述寵物店系統(tǒng)致力于實(shí)現(xiàn)對(duì)店內(nèi)寵物進(jìn)行時(shí)間段的飲食,水的監(jiān)控,用戶可以通過登陸用戶端查看交由寵物店里看管的寵物數(shù)據(jù),查看在時(shí)間段的疫苗接種情況。店主端可以通過殿主賬號(hào)登陸查看所有用戶/寵物信息,并對(duì)其進(jìn)行管理操作2 .數(shù)據(jù)段的接受與發(fā)送服務(wù)器打開后向zigbee網(wǎng)絡(luò)發(fā)送請(qǐng)求,傳感器將接受到的數(shù)據(jù)通過協(xié)調(diào)器發(fā)送給服務(wù)器,服務(wù)器將
2、數(shù)據(jù)進(jìn)行簡(jiǎn)單數(shù)據(jù)分類,處理后,把數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。3 .用戶的注冊(cè),登陸,修改,查看系統(tǒng)除店主賬號(hào)此外在首次使用時(shí)都需要注冊(cè)用戶個(gè)人信息,登錄密碼,這是完善用戶以實(shí)現(xiàn)后續(xù)操作的的必須。用戶同時(shí)可以修改個(gè)人信息,對(duì)自己寄存在在寵物店的寵物進(jìn)行數(shù)據(jù)查看性質(zhì)的管理。4 .管理員的數(shù)據(jù)管理,修改,刪除,操作執(zhí)行管理員賬號(hào)完成登陸步驟后,可以對(duì)所有用戶信息進(jìn)行查看/刪除等管理操作,也可以根據(jù)用戶的查詢到用戶寄存在寵物點(diǎn)的寵物信息,同時(shí)也可以對(duì)寵物信息進(jìn)行增刪改 查等操作5 .手機(jī)端操作Android系統(tǒng)進(jìn)行管理的手機(jī) app,可以通過用戶名和密碼與數(shù)據(jù)庫信息匹配,并向服務(wù)器請(qǐng)求響應(yīng)數(shù)據(jù),實(shí)現(xiàn)頁面跳轉(zhuǎn)和
3、相應(yīng)頁面的數(shù)據(jù)回顯。1.3.1服務(wù)端功能模塊設(shè)計(jì)1 .登錄模塊類圖(1)登錄模塊類圖如圖所示圖1-3-1登錄模塊類圖(2)登錄模塊類圖說明表1-3-1登錄模塊類說明表類名說明|HttpServlet對(duì)數(shù)據(jù)的請(qǐng)求進(jìn)行數(shù)據(jù)處理及反應(yīng)LoginServlet對(duì)用戶輸入的用戶名密碼進(jìn)行驗(yàn)證返回?cái)?shù)據(jù)UserDaoImpl實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的查詢返回布爾值(3)登錄模塊類圖方法說明表1-3-1登錄模塊類方法表方法名說明loginServlet:doget()從界面狄取數(shù)據(jù)調(diào)用從數(shù)據(jù)庫查詢的方法loginServlet:doget()調(diào)用doget方法相應(yīng)對(duì)數(shù)據(jù)的處理最新根據(jù)參數(shù)從數(shù)據(jù)庫中找到相應(yīng)數(shù)據(jù)判斷正誤U
4、serDaoImpl:findByName()2 .注冊(cè)模塊類圖(1)注冊(cè)模塊類圖如圖所示表1-3-4登錄模塊方法說明表HttpServlet+Httprequest+Httpresponse+DoGet()+DoPost()7SaddUserServlet-端3+name +pwd +phone +email*+DoGet()+DoPost()<<interface>>UserDao+addUser() 二接 n11-端4UserDaoImpl+name +pwd +phone +email*+addUser()圖1-3-2登錄模塊類圖(2)注冊(cè)模塊類圖說明表1-3-
5、3登錄模塊類說明表方法名說明httpServlet對(duì)數(shù)據(jù)的請(qǐng)求進(jìn)行數(shù)據(jù)處理及反應(yīng)addUserServlet對(duì)輸入的數(shù)據(jù)進(jìn)行判定, 若合理,調(diào)用將數(shù)據(jù)插入數(shù)據(jù)庫的方法UserDaoImpl將數(shù)據(jù)插入數(shù)據(jù)庫中最新方法名說明addUserServlet:doget()從界面狀取數(shù)據(jù)并判定是否合理的方法addUserServlet:doget()調(diào)用doget方法相應(yīng)對(duì)數(shù)據(jù)的處理UserDaoImpl:addUser()將獲取到的數(shù)據(jù)參數(shù)加到數(shù)據(jù)庫對(duì)應(yīng)表中3 .硬件獲取數(shù)據(jù)模塊類圖(1)注冊(cè)模塊類圖如圖所示openThread-ipaddress-port +run()writeThread-ipa
6、ddress-port +run()work-time-value-count+get()圖1-3-3硬件獲取數(shù)據(jù)模塊類圖(2)注冊(cè)模塊類圖說明表1-3-5硬件獲取數(shù)據(jù)模塊類說明表方法名說明Thread線程始類openThread控制繼電器readThread從硬件端狀取數(shù)據(jù)writeThread開啟硬件段向服務(wù)器發(fā)送數(shù)據(jù)Work外部類獲取void (run)類型方法中數(shù)據(jù)UserDaoImpl將從硬件段狀取到的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中表1-3-6硬件獲取數(shù)據(jù)模塊方法說明表方法名說明openThread:run()從界面認(rèn)取數(shù)據(jù)并判定是否合埋的方法readThread:run()調(diào)用doget方法相
7、應(yīng)對(duì)數(shù)據(jù)的處理writeThread:run()將獲取到的數(shù)據(jù)參數(shù)加到數(shù)據(jù)庫對(duì)應(yīng)表中Work:get()從硬件段狀取數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中UserDaoImpl:insert_timefood()將族取到的數(shù)據(jù)插入數(shù)據(jù)庫中UserDaoImpl:creattable()實(shí)時(shí)每天創(chuàng)建對(duì)應(yīng)表格的方法5.獲取數(shù)據(jù)模塊類圖(1)獲取數(shù)據(jù)模塊類圖如圖所示圖1-3-4獲取數(shù)據(jù)模塊類圖(2)注冊(cè)模塊類圖說明表1-3-7獲取數(shù)據(jù)模塊類說明表方法名說明httpServlet對(duì)數(shù)據(jù)的請(qǐng)求進(jìn)行數(shù)據(jù)處理及反應(yīng)send'PetsServlet調(diào)用方法從數(shù)據(jù)庫中獲取數(shù)據(jù)并發(fā)送到安卓端UserDaoImpl根據(jù)
8、傳入的時(shí)間參數(shù)找到相對(duì)應(yīng)的表狀取到數(shù)據(jù)表1-3-8獲取數(shù)據(jù)模塊方法說明表方法名說明send'PetsServlet:doget()從界面狀取數(shù)據(jù)并判定是否合理的方法send'PetsServlet:doget()調(diào)用doget方法相應(yīng)對(duì)數(shù)據(jù)的處理UserDaoImpl:findByIdFromfood()根據(jù)參數(shù)id,當(dāng)前時(shí)間值查找到相應(yīng)List數(shù)據(jù)1.3.2安卓短功能模塊設(shè)計(jì)1 .登錄模塊類圖(1)登錄模塊類圖如圖所示圖1-3-1登錄模塊類圖(2)登錄模塊類圖說明表1-3-1登錄模塊類說明表類名說明LoadActivity用于用戶管理員登錄users用于對(duì)用戶登錄信息進(jìn)行封裝
9、pets用于對(duì)寵物信息進(jìn)行封裝NetUtils用于android與服務(wù)器進(jìn)行連接(3)登錄模塊類圖方法說明表1-3-1登錄模塊類方法表方法名說明LoadActivity:LoginThread創(chuàng)建線程用于網(wǎng)絡(luò)通信Pets 與 user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息2 .注冊(cè)模塊類圖(1)注冊(cè)模塊類圖如圖所示圖1-3-2注冊(cè)模塊類圖(2)注冊(cè)模塊類圖說明表1-3-2注冊(cè)模塊類說明表類名說明RegisterActivity用于處理新用戶的信息users用于對(duì)用戶登錄信
10、息進(jìn)行封裝NetUtils用于android與服務(wù)器進(jìn)行連接(3)登錄模塊類圖方法說明表1-3-2登錄模塊類方法表方法名說明user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息RegisterActivity:registerThread創(chuàng)建線程用于網(wǎng)絡(luò)通信3 .主頁面模塊類圖(1)主頁面模塊類圖如圖所示圖1-3-3主頁面模塊類圖(2)主頁面模塊類圖說明表1-3-3主頁面模塊類說明表類名說明LoadActiviy用于用戶登錄Staff_main管理員主界面User_main用戶
11、端主界面Message管理員消息頁面最新Message_of_user用戶消息頁面(3)主頁面模塊類圖方法說明表1-3-3主頁面模塊類方法表方法名說明LoadActivity:LoginThread創(chuàng)建線程用于網(wǎng)絡(luò)通信Staff_main User_main:shark控制消息燈光閃爍Message:thread用于管理員向服務(wù)器發(fā)送消息Message_of_user:thread用于用戶向服務(wù)器發(fā)送已知消息4.管理員管理用戶信息模塊類圖最新(1)管理員管理用戶信息模塊如圖所示圖1-4-4管理員管理用戶信息模塊類圖(2)管理員管理用戶信息模塊類說明表1-4-4管理員管理用戶信息模塊類說明表類名
12、說明NetUtils用于android與服務(wù)器進(jìn)行連接users用于對(duì)用戶登錄信息進(jìn)行封裝pets用于對(duì)寵物信息進(jìn)行封裝User_Manager管埋員管埋用戶界面Psersonal_pet_Manager查看某一用戶的寵物MyLineChart將寵物進(jìn)食情況用圖表描繪出來(3)管理員管理用戶信息模塊類方法說明表1-4-4管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息User_Manager:thread顯示所有用戶信息
13、的網(wǎng)絡(luò)線程User_Manager:thread1刪除某一用戶信息Personal_pet_Manager二personal_pet顯示某一用戶的所有寵物信息Personal_pet_Manager:thread1查看寵物進(jìn)食情況Personal_pet_Manager:thread刪除寵物信息MyLineChart:drawChartLine回圖方法5.管理員管理寵物信息模塊類圖(1)管理員管理寵物信息模塊如圖所示圖1-5-5管理員管理寵物信息模塊類圖(2)管理員管理寵物模塊類名表1-5-5管理員管理寵物信息模塊類說明表類名說明NetUtils用于android與服務(wù)器進(jìn)行連接users用于
14、對(duì)用戶登錄信息進(jìn)行封裝pets用于對(duì)寵物信息進(jìn)行封裝Pet_Manager管理員管理寵物界面最新Registerpet修改寵物信息界面Add_pet增加寵物信息界面MyLineChart顯示寵物進(jìn)食情況(3)管理員管理寵物信息模塊類方法說明表1-5-5管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息Pet_Manager:thread顯示所用寵物信息的網(wǎng)絡(luò)線程Pet_Manager:thread2查看某一寵物進(jìn)食情況Re
15、gister_pet_Manager:getthread回顯寵物的所有信息Register_pet_Manager:thread修改寵物的信息Add_pet:thread新增寵物的信息MyLineChart:drawChartLine回圖方法圖1-6-6用戶管理個(gè)人信息模塊類圖(2)用戶管理個(gè)人模塊類名表1-5-5管理員管理寵物信息模塊類說明表類名說明NetUtils用于android與服務(wù)器進(jìn)行連接users用于對(duì)用戶登錄信息進(jìn)行封裝pets用于對(duì)寵物信息進(jìn)行封裝User_info用戶產(chǎn)看修改個(gè)人信息User_refact用戶修改個(gè)人信息(3)用戶管理個(gè)人信息模塊類方法說明最新表1-6-6用
16、戶管理個(gè)人信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息User_info:th用戶查看個(gè)人信息線程User_refact:thread用戶修改個(gè)人信息線程7.用戶管理寵物信息模塊類圖(1)用戶管理寵物信息模塊如圖所示圖1-7-7用戶管理寵物信息模塊類圖(2)用戶管理寵物模塊類名表1-7-7用戶管理寵物信息模塊類說明表類名說明NetUtils用于android與服務(wù)器進(jìn)行連接users用于對(duì)用戶登錄信息進(jìn)行封裝pets用于對(duì)寵物信息
17、進(jìn)行封裝Pet_of_userinfo查看某一用戶的寵物信息MyLineChart畫出某一用戶的信息(3)用戶管理寵物信息模塊類方法說明表1-7-7用戶管理寵物信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對(duì)處理信息進(jìn)行封裝NetUtils:sendJson用于向客戶端發(fā)送信息NetUtils:getjson用于接收從客戶端發(fā)送過來的信息Pet_of_userinfo:person_pet由于查看該用戶的所有寵物Pet_of_userinfo:thread查看寵物進(jìn)食情況MyLineChart:drawChartLine將寵物進(jìn)食情況繪制成表格1.4活動(dòng)圖具體設(shè)計(jì)
18、管理員端V圖1.4.1管理員端活動(dòng)圖用戶端圖 1.4.2用戶端活動(dòng)圖2數(shù)據(jù)庫設(shè)計(jì)2.1概念結(jié)構(gòu)設(shè)計(jì)表2.1用戶說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)姓名name*Varchar密碼pwd*varchar手機(jī)號(hào)Phone*varchar郵箱email*varchar編RId*int表2.2寵物信息說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)回編RPetid*int姓名PetName*varchar健康PHeal*varchar疫苗Pro*varchar種類Kind*varchar表2.3用戶寵物信息關(guān)聯(lián)說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)寵物編號(hào)Petid*int
19、用戶編號(hào)Id*Int表2.4信息交流儲(chǔ)存說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)用戶編號(hào)Id*int狀態(tài)checksit*varchar信息news*varchar寵物編號(hào)petid*int食物表是時(shí)間上的邏輯調(diào)用生成,起名以 timefood+yyyyMMddhhmmss,所以具體表的個(gè)數(shù)與表的名字為不定值,其中一表的數(shù)據(jù)內(nèi)容如下所示:表2.5從硬件端獲取是數(shù)據(jù)信息說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)回編RPetid*int測(cè)試1timefood1varchar測(cè)試2timefood2varchar測(cè)試3timefood3varchar測(cè)試4timefood4varc
20、har測(cè)試5timefood5varchar測(cè)試6timefood6varcharNamePetidNamepwdphoneemail寵物關(guān)聯(lián)用戶圖2.1用戶類圖Petidtimefood2圖2.2寵物類圖3詳細(xì)設(shè)計(jì)3.1 系統(tǒng)定名中文:寵物店;英文:petsroom功能定位:為無暇照顧寵物的都市忙人提供看管寵物的功能,并為客戶在時(shí)間段內(nèi)提供食物, 水方面的數(shù)值統(tǒng)計(jì),以及相應(yīng)疫苗的植入情況。3.2 .1服務(wù)器功能模塊設(shè)計(jì) 1.賬號(hào)注冊(cè)1 1)注冊(cè)模塊程序流程圖如圖所示錄入信息無誤選擇注冊(cè)開始完成注冊(cè)結(jié)束圖3.1注冊(cè)模塊程序流程圖(2)核心代碼從安卓界面以json形式發(fā)生到服務(wù)器的user對(duì)象,
21、加載進(jìn)入到 addUserServlet調(diào)用UserDaoImpl中的addUser()進(jìn)行驗(yàn)證,若用戶輸入的信息不存在問題,注冊(cè)用戶的信息成功 否則失敗,注冊(cè)成功的用戶會(huì)被數(shù)據(jù)庫以自增加的方式分配id編號(hào)。服務(wù)器會(huì)根據(jù)id編號(hào)進(jìn)行判定身份,并跳轉(zhuǎn)相對(duì)應(yīng)的頁面。2 .賬號(hào)登錄(1)登錄模塊程序流程圖如圖所示圖3.2登錄模塊程序流程圖(2)核心代碼從安卓界面以json形式發(fā)生到服務(wù)器的user對(duì)象,力口載進(jìn)入到loginServlet調(diào)用UserDaoImpl中的indBiName()找到相對(duì)應(yīng)的密碼與其進(jìn)行匹配,完成登錄操作,根據(jù)根據(jù)權(quán) 限聲明,區(qū)分為兩類管理員與普通用戶,而后擁有的權(quán)限與進(jìn)入
22、的頁面也完全不同.3 .硬件獲取數(shù)據(jù)(1)從硬件端獲取數(shù)據(jù)模塊程序流程圖如圖所示圖3.3從硬件端獲取數(shù)據(jù)模塊程序流程圖(2)核心代碼塊通過調(diào)用 writeThread()的run()方法開啟硬件端向服務(wù)器發(fā)生數(shù)據(jù)的程序,并用readThread()類的run()方法接受來自硬件端的數(shù)據(jù),在用外部類的方式獲取到run()方法中獲取到的節(jié)點(diǎn)數(shù)值字符串,進(jìn)行簡(jiǎn)單處理后,調(diào)用來自UserDaoImpl的insert_timefood()方法,在這個(gè)過程中,調(diào)用相應(yīng)名稱的表不存在的情況時(shí),采用timefood+yyyyMMddhhmmss為表名的方式靈活創(chuàng)建表,已完成獲取到的數(shù)據(jù)的插入操作。4 .獲取數(shù)據(jù)庫數(shù)據(jù)模塊(1)獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖如圖所示判定表是否存 在獲取當(dāng)天數(shù)據(jù) 成功開始圖3.4獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖(2)核心代碼將數(shù)據(jù)加載到數(shù)據(jù)庫之后,當(dāng)安卓端需要將數(shù)據(jù)制成曲線圖時(shí),安卓連接服務(wù)器的sendpetsFood中進(jìn)行加載,對(duì)安卓端的請(qǐng)求做出兩種操作。1.調(diào)用findByldFromTimefood方法找到安卓端需要顯示在曲線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高壓電工(運(yùn)行)習(xí)題+參考答案
- 供貨款合同范本
- 沖壓產(chǎn)品供貨合同范本
- 勞動(dòng)合同范本表格
- 供暖ppp項(xiàng)目合同范本
- 醫(yī)師兼職勞務(wù)合同范本
- 公司瓶子采購合同范本
- 廈門車庫出租合同范本
- 公司工裝合同范本
- 公司簽商務(wù)合同范本
- 03D501-1 防雷與接地安裝
- IPQC入職崗位培訓(xùn)
- 牛津自然拼讀
- 2023年福建三明市沙縣區(qū)園區(qū)建設(shè)發(fā)展集團(tuán)有限公司招聘筆試題庫含答案解析
- 2023年醫(yī)學(xué)考研-同等學(xué)力考研西醫(yī)綜合歷年考試真題試卷摘選答案
- 王淑玲《做最好的自己》讀書分享
- TCADERM 5015-2023 救護(hù)直升機(jī)院際患者轉(zhuǎn)運(yùn)規(guī)范
- 肺動(dòng)脈瓣狹窄的超聲演示
- 部編版-九年級(jí)下冊(cè)語文第一單元測(cè)試卷-含答案
- 分布式光伏電站施工
- 水庫清淤工程可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論