軟件設(shè)計說明書_第1頁
軟件設(shè)計說明書_第2頁
軟件設(shè)計說明書_第3頁
軟件設(shè)計說明書_第4頁
軟件設(shè)計說明書_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件大型實驗周一一軟件設(shè)計說明書1概要設(shè)計1.1開發(fā)環(huán)境數(shù)據(jù)庫服務(wù)器:mysql服務(wù)器開發(fā)語言:java ,c,sql開發(fā)工具:myeclipese, Ubu ntu虛擬機,An droid Studio,物聯(lián)網(wǎng)試驗箱開發(fā)系統(tǒng)還環(huán)境:win dows10,li nux1.2系統(tǒng)功能描述1. 系統(tǒng)綜述寵物店系統(tǒng)致力于實現(xiàn)對店內(nèi)寵物進行時間段的飲食,水的監(jiān)控,用戶可以通過登陸用戶端查看交由寵物店里看管的寵物數(shù)據(jù),查看在時間段的疫苗接種情況。店主端可以通過殿主賬號登陸查看所有用戶/寵物信息,并對其進行管理操作2. 數(shù)據(jù)段的接受與發(fā)送服務(wù)器打開后向zigbee網(wǎng)絡(luò)發(fā)送請求,傳感器將接受到的數(shù)據(jù)通過協(xié)調(diào)

2、器發(fā)送給服務(wù)器,服務(wù)器將數(shù)據(jù)進行簡單數(shù)據(jù)分類,處理后,把數(shù)據(jù)存儲到數(shù)據(jù)庫中。3用戶的注冊,登陸,修改,查看系統(tǒng)除店主賬號此外在首次使用時都需要注冊用戶個人信息,登錄密碼,這是完善用戶以實現(xiàn)后續(xù)操作的的必須。用戶同時可以修改個人信息,對自己寄存在在寵物店的寵物進行數(shù)據(jù)查看性質(zhì)的管理。4管理員的數(shù)據(jù)管理,修改,刪除,操作執(zhí)行管理員賬號完成登陸步驟后,可以對所有用戶信息進行查看/刪除等管理操作,也可以根據(jù)用戶的查詢到用戶寄存在寵物點的寵物信息,同時也可以對寵物信息進行增刪改查等操作5.手機端操作An droid系統(tǒng)進行管理的手機 app,可以通過用戶名和密碼與數(shù)據(jù)庫信息匹配,并向服務(wù)器請求響應(yīng)數(shù)據(jù),

3、實現(xiàn)頁面跳轉(zhuǎn)和相應(yīng)頁面的數(shù)據(jù)回顯。1.3.1服務(wù)端功能模塊設(shè)計1. 登錄模塊類圖(1)登錄模塊類圖如圖所示圖1-3-1登錄模塊類圖(2)登錄模塊類圖說明表1-3-1登錄模塊類說明表類名說明HttpServlet對數(shù)據(jù)的請求進行數(shù)據(jù)處理及反應(yīng)Log in Servlet對用戶輸入的用戶名密碼進行驗證返回數(shù)據(jù)UserDaoImpI實現(xiàn)對用戶數(shù)據(jù)的查詢返回布爾值(3 )登錄模塊類圖方法說明表1-3-1登錄模塊類方法表方法名說明logi nServlet:doget()從界面獲取數(shù)據(jù)調(diào)用從數(shù)據(jù)庫查詢的方法logi nServlet:doget()調(diào)用doget方法相應(yīng)對數(shù)據(jù)的處理UserDaolmpl

4、:fi ndByName()根據(jù)參數(shù)從數(shù)據(jù)庫中找到相應(yīng)數(shù)據(jù)判斷正誤2. 注冊模塊類圖(1) 注冊模塊類圖如圖所示HttpServlet+Httprequest+Httpresponse+DoGet()-端4*+DoPost()E-addUserServlet+name+pwd+phone+email+DoGet()+DoPost()圖1-3-2登錄模塊類圖(2) 注冊模塊類圖說明表1-3-3登錄模塊類說明表方法名說明httpServlet對數(shù)據(jù)的請求進行數(shù)據(jù)處理及反應(yīng)addUserServlet對輸入的數(shù)據(jù)進行判定, 若合理,調(diào)用將數(shù)據(jù)插入數(shù)據(jù)庫的方法UserDaoImpl將數(shù)據(jù)插入數(shù)據(jù)庫中表

5、1-3-4登錄模塊方法說明表方法名說明addUserServlet:doget()從界面獲取數(shù)據(jù)并判定是否合理的方法addUserServlet:doget()調(diào)用doget方法相應(yīng)對數(shù)據(jù)的處理UserDaolmpl:addUser()將獲取到的數(shù)據(jù)參數(shù)加到數(shù)據(jù)庫對應(yīng)表中3. 硬件獲取數(shù)據(jù)模塊類圖(1)注冊模塊類圖如圖所示圖1-3-3硬件獲取數(shù)據(jù)模塊類圖(2)注冊模塊類圖說明表1-3-5硬件獲取數(shù)據(jù)模塊類說明表方法名說明Thread線程始類ope nThread控制繼電器readThread從硬件端獲取數(shù)據(jù)writeThread開啟硬件段向服務(wù)器發(fā)送數(shù)據(jù)Work外部類獲取void ( run)

6、類型方法中數(shù)據(jù)UserDaoImpI將從硬件段獲取到的數(shù)據(jù)存儲到數(shù)據(jù)庫中表1-3-6硬件獲取數(shù)據(jù)模塊方法說明表方法名說明ope nThread:r un()從界面獲取數(shù)據(jù)并判定是否合理的方法readThread:r un()調(diào)用doget方法相應(yīng)對數(shù)據(jù)的處理writeThread:r un()將獲取到的數(shù)據(jù)參數(shù)加到數(shù)據(jù)庫對應(yīng)表中Work:get()從硬件段獲取數(shù)據(jù)并將數(shù)據(jù)存儲到數(shù)據(jù)庫中UserDaoImpl:i nsert_timefood()將獲取到的數(shù)據(jù)插入數(shù)據(jù)庫中UserDaolmpl:creattable()實時每天創(chuàng)建對應(yīng)表格的方法5.獲取數(shù)據(jù)模塊類圖(1)獲取數(shù)據(jù)模塊類圖如圖所示圖

7、1-3-4獲取數(shù)據(jù)模塊類圖(2)注冊模塊類圖說明表1-3-7獲取數(shù)據(jù)模塊類說明表方法名說明httpServlet對數(shù)據(jù)的請求進行數(shù)據(jù)處理及反應(yīng)se ndPetsServlet調(diào)用方法從數(shù)據(jù)庫中獲取數(shù)據(jù)并發(fā)送到安卓端UserDaoImpI根據(jù)傳入的時間參數(shù)找到相對應(yīng)的表獲取到數(shù)據(jù)表1-3-8獲取數(shù)據(jù)模塊方法說明表方法名說明sen dPetsServlet:doget()從界面獲取數(shù)據(jù)并判定是否合理的方法sen dPetsServlet:doget()調(diào)用doget方法相應(yīng)對數(shù)據(jù)的處理UserDaoImpl:fi ndByldFromfood()根據(jù)參數(shù)id,當前時間值查找到相應(yīng)List數(shù)據(jù)1.3

8、.2安卓短功能模塊設(shè)計1. 登錄模塊類圖(1) 登錄模塊類圖如圖所示圖1-3-1登錄模塊類圖(2) 登錄模塊類圖說明表1-3-1登錄模塊類說明表類名說明LoadActivity用于用戶管理員登錄users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝NetUtils用于an droid與服務(wù)器進行連接(3) 登錄模塊類圖方法說明表1-3-1登錄模塊類方法表方法名說明LoadActivity:Logi nThread創(chuàng)建線程用于網(wǎng)絡(luò)通信Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:se ndJso n用于向客戶端發(fā)送信息NetUtils:getj

9、so n用于接收從客戶端發(fā)送過來的信息2. 注冊模塊類圖(1) 注冊模塊類圖如圖所示圖1-3-2注冊模塊類圖(2) 注冊模塊類圖說明表1-3-2注冊模塊類說明表類名說明RegisterActivity用于處理新用戶的信息users用于對用戶登錄信息進行封裝NetUtils用于an droid與服務(wù)器進行連接(3)登錄模塊類圖方法說明表1-3-2登錄模塊類方法表方法名說明user的get與set用于對處理信息進行封裝NetUtils:se ndJs on用于向客戶端發(fā)送信息NetUtils:getjso n用于接收從客戶端發(fā)送過來的信息RegisterActivity:registerThrea

10、d創(chuàng)建線程用于網(wǎng)絡(luò)通信3. 主頁面模塊類圖(1) 主頁面模塊類圖如圖所示LoadActivity -petes -list -listl -et_name -et_password+LoginThread()staff_main -user -pets +shark()Message+thread()L圖1-3-3主頁面模塊類圖(2)主頁面模塊類圖說明表1-3-3主頁面模塊類說明表類名說明LoadActiviy用于用戶登錄Staff_ma in管理員主界面User_mai n用戶端主界面Message管理員消息頁面用戶消息頁面Message_of_user(3) 主頁面模塊類圖方法說明表1-3

11、-3主頁面模塊類方法表方法名說明LoadActivity:Logi nThread創(chuàng)建線程用于網(wǎng)絡(luò)通信Staff_mai n User_ma in:shark控制消息燈光閃爍Message:thread用于管理員向服務(wù)器發(fā)送消息Message_of_user:thread用于用戶向服務(wù)器發(fā)送已知消息4. 管理員管理用戶信息模塊類圖(1) 管理員管理用戶信息模塊如圖所示圖1-4-4管理員管理用戶信息模塊類圖(2) 管理員管理用戶信息模塊類說明表1-4-4管理員管理用戶信息模塊類說明表類名說明NetUtils用于an droid與服務(wù)器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物

12、信息進行封裝User_Ma nager管理員管理用戶界面Psers on al_pet_Ma nager查看某一用戶的寵物MyLi neChart將寵物進食情況用圖表描繪出來(3) 管理員管理用戶信息模塊類方法說明表1-4-4管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:se ndJso n用于向客戶端發(fā)送信息NetUtils:getjso n用于接收從客戶端發(fā)送過來的信息User_Ma nager:thread顯示所有用戶信息的網(wǎng)絡(luò)線程User_Ma nager:thread1刪除某一用戶信息Person al_

13、pet_Ma nager:pers on al_pet顯示某一用戶的所有寵物信息Pers on al_pet_Ma nager:thread1查看寵物進食情況Person al_pet_Ma nager:thread刪除寵物信息MyLi neCha rt:drawChartLi ne畫圖方法5. 管理員管理寵物信息模塊類圖(1)管理員管理寵物信息模塊如圖所示圖1-5-5管理員管理寵物信息模塊類圖(2) 管理員管理寵物模塊類名表1-5-5管理員管理寵物信息模塊類說明表類名說明NetUtils用于an droid與服務(wù)器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝Pe

14、t_Ma nager管理員管理寵物界面Registerpet修改寵物信息界面Add_pet增加寵物信息界面MyLi neChart顯示寵物進食情況(3) 管理員管理寵物信息模塊類方法說明表1-5-5管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:se ndJso n用于向客戶端發(fā)送信息NetUtils:getjso n用于接收從客戶端發(fā)送過來的信息Pet_Ma nager:thread顯示所有寵物信息的網(wǎng)絡(luò)線程Pet_Ma nager:thread2查看某一寵物進食情況Register_pet_Ma nager:ge

15、tthread回顯寵物的所有信息Register_pet_Ma nager:thread修改寵物的信息Add_pet:thread新增寵物的信息MyLi neCha rt:drawChartLi ne畫圖方法6. 用戶管理個人信息模塊類圖(1)用戶管理個人信息模塊如圖所示圖1-6-6用戶管理個人信息模塊類圖(2 )用戶管理個人模塊類名表1-5-5管理員管理寵物信息模塊類說明表類名說明NetUtils用于an droid與服務(wù)器進行連接users用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝User_i nfo用戶產(chǎn)看修改個人信息User_refact用戶修改個人信息(3) 用戶管理個

16、人信息模塊類方法說明表1-6-6用戶管理個人信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:se ndJso n用于向客戶端發(fā)送信息NetUtils:getjso n用于接收從客戶端發(fā)送過來的信息User_i nfo:th用戶查看個人信息線程User_refact:thread用戶修改個人信息線程7. 用戶管理寵物信息模塊類圖(1)用戶管理寵物信息模塊如圖所示圖 1-7-7用戶管理寵物信息模塊類圖(2 )用戶管理寵物模塊類名表 1-7-7用戶管理寵物信息模塊類說明表類名說明NetUtils用于an droid與服務(wù)器進行連接use

17、rs用于對用戶登錄信息進行封裝pets用于對寵物信息進行封裝Pet_of_useri nfo查看某一用戶的寵物信息MyLi neChart畫出某一用戶的信息(3)用戶管理寵物信息模塊類方法說明表1-7-7用戶管理寵物信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進行封裝NetUtils:se ndJso n用于向客戶端發(fā)送信息NetUtils:getjso n用于接收從客戶端發(fā)送過來的信息Pet_of_useri nfo:pers on _pet由于查看該用戶的所有寵物Pet_of_useri nfo:thread查看寵物進食情況MyLi neCha r

18、t:drawChartLi ne將寵物進食情況繪制成表格1.4活動圖具體設(shè)計管理員端圖1.4.1管理員端活動圖第23頁共29頁軟件大型實驗周一一軟件設(shè)計說明書表2.4信息交流儲存說明表第25頁共29頁用戶端圖142用戶端活動圖2數(shù)據(jù)庫設(shè)計2.1概念結(jié)構(gòu)設(shè)計表2.1用戶說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型姓名n ame*Varchar密碼pwd*varchar手機號Phone*varchar郵箱email*varchar編號Id*int表2.2寵物信息說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型編號Petid*int姓名PetName*varchar健康PHeal*v

19、archar疫苗Pro*varchar種類Ki nd*varchar表2.3用戶寵物信息關(guān)聯(lián)說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型寵物編號Petid*int用戶編號Id*Int注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型用戶編號Id*int狀態(tài)checksit*varchar信息n ews*varchar寵物編號petid*int食物表是時間上的邏輯調(diào)用生成,起名以timefood+yyyyMMddhhmmss,所以具體表的個數(shù)與表的名字為不定值,其中一表的數(shù)據(jù)內(nèi)容如下所示:表2.5從硬件端獲取是數(shù)據(jù)信息說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型編號Petid*

20、int測試1timefood1varchar測試2timefood2varchar測試3timefood3varchar測試4timefood4varchar測試5timefood5varchar測試6timefood6varchar軟件大型實驗周一一軟件設(shè)計說明書第35頁共29頁Namepwd擁有用戶phone聯(lián)email關(guān)關(guān)關(guān)Petid1寵物PetidKindProHeal寵物關(guān)聯(lián)用戶圖2.1用戶類圖timefoodltimefood2食物timefood3timefood4timefood5timefood6圖2.2寵物類圖3詳細設(shè)計3.1系統(tǒng)定名中文:寵物店;英文:petsroom功能

21、定位:為無暇照顧寵物的都市忙人提供看管寵物的功能,并為客戶在時間段內(nèi)提供食物, 水方面的數(shù)值統(tǒng)計,以及相應(yīng)疫苗的植入情況。3.2 .1服務(wù)器功能模塊設(shè)計1.賬號注冊注冊模塊程序流程圖如圖所示完成注冊丿完丿丿冊結(jié)束圖3.1注冊模塊程序流程圖核心代碼從安卓界面以 json形式發(fā)生到服務(wù)器的user對象,加載進入到addUserServlet調(diào)用UserDaoImpI中的addUser()進行驗證,若用戶輸入的信息不存在問題,注冊用戶的信息成功否則失敗,注冊成功的用戶會被數(shù)據(jù)庫以自增加的方式分配id編號。服務(wù)器會根據(jù)id編號進行判定身份,并跳轉(zhuǎn)相對應(yīng)的頁面。2. 賬號登錄(1)登錄模塊程序流程圖如圖

22、所示登錄成功結(jié)束圖3.2登錄模塊程序流程圖(2 )核心代碼從安卓界面以 json形式發(fā)生到服務(wù)器的user對象,加載進入到loginServlet調(diào)用UserDaoImpI中的indBiName()找到相對應(yīng)的密碼與其進行匹配,完成登錄操作,根據(jù)根據(jù)權(quán)限聲明,區(qū)分為兩類管理員與普通用戶,而后擁有的權(quán)限與進入的頁面也完全不同3. 硬件獲取數(shù)據(jù)j結(jié)束X.存入到數(shù)據(jù)庫 是./發(fā)送開始傳輸信息f1否圖3.3從硬件端獲取數(shù)據(jù)模塊程序流程圖開始(1)從硬件端獲取數(shù)據(jù)模塊程序流程圖如圖所示(2)核心代碼塊通過調(diào)用writeThread()的run()方法開啟硬件端向服務(wù)器發(fā)生數(shù)據(jù)的程序,并用readThre

23、ad()類的run()方法接受來自硬件端的數(shù)據(jù),在用外部類的方式獲取到run()方法中獲取到的節(jié)點數(shù)值字符串,進行簡單處理后,調(diào)用來自UserDaoImpI的insert_timefood()方法,在這個過程中,調(diào)用相應(yīng)名稱的表不存在的情況時,采用timefood+yyyyMMddhhmmss為表名的方式靈活創(chuàng)建表,已完成獲取到的數(shù)據(jù)的插入操作。4. 獲取數(shù)據(jù)庫數(shù)據(jù)模塊(1)獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖如圖所示判定表是否存 在圖3.4獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖獲取當天數(shù)據(jù) 成功開始(2 )核心代碼將數(shù)據(jù)加載到數(shù)據(jù)庫之后,當安卓端需要將數(shù)據(jù)制成曲線圖時,安卓連接服務(wù)器的sendpetsFood中進行加載,對安卓

溫馨提示

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

評論

0/150

提交評論