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

下載本文檔

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

文檔簡介

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

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

3、實(shí)現(xiàn)頁面跳轉(zhuǎn)和相應(yīng)頁面的數(shù)據(jù)回顯。1.3.1服務(wù)端功能模塊設(shè)計(jì)1. 登錄模塊類圖(1)登錄模塊類圖如圖所示圖1-3-1登錄模塊類圖(2)登錄模塊類圖說明表1-3-1登錄模塊類說明表類名說明HttpServlet對數(shù)據(jù)的請求進(jìn)行數(shù)據(jù)處理及反應(yīng)Log in Servlet對用戶輸入的用戶名密碼進(jìn)行驗(yàn)證返回?cái)?shù)據(jù)UserDaoImpI實(shí)現(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ù)的請求進(jìn)行數(shù)據(jù)處理及反應(yīng)addUserServlet對輸入的數(shù)據(jù)進(jìn)行判定, 若合理,調(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ù)存儲(chǔ)到數(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ù)存儲(chǔ)到數(shù)據(jù)庫中UserDaoImpl:i nsert_timefood()將獲取到的數(shù)據(jù)插入數(shù)據(jù)庫中UserDaolmpl:creattable()實(shí)時(shí)每天創(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ù)的請求進(jìn)行數(shù)據(jù)處理及反應(yīng)se ndPetsServlet調(diào)用方法從數(shù)據(jù)庫中獲取數(shù)據(jù)并發(fā)送到安卓端UserDaoImpI根據(jù)傳入的時(shí)間參數(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,當(dāng)前時(shí)間值查找到相應(yīng)List數(shù)據(jù)1.3

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

9、so n用于接收從客戶端發(fā)送過來的信息2. 注冊模塊類圖(1) 注冊模塊類圖如圖所示圖1-3-2注冊模塊類圖(2) 注冊模塊類圖說明表1-3-2注冊模塊類說明表類名說明RegisterActivity用于處理新用戶的信息users用于對用戶登錄信息進(jìn)行封裝NetUtils用于an droid與服務(wù)器進(jìn)行連接(3)登錄模塊類圖方法說明表1-3-2登錄模塊類方法表方法名說明user的get與set用于對處理信息進(jìn)行封裝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ù)器進(jìn)行連接users用于對用戶登錄信息進(jìn)行封裝pets用于對寵物

12、信息進(jìn)行封裝User_Ma nager管理員管理用戶界面Psers on al_pet_Ma nager查看某一用戶的寵物MyLi neChart將寵物進(jìn)食情況用圖表描繪出來(3) 管理員管理用戶信息模塊類方法說明表1-4-4管理員管理用戶信息模塊類方法表方法名說明Pets 與 user 的 get 與 set用于對處理信息進(jìn)行封裝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查看寵物進(jìn)食情況Person al_pet_Ma nager:thread刪除寵物信息MyLi neCha rt:drawChartLi ne畫圖方法5. 管理員管理寵物信息模塊類圖(1)管理員管理寵物信息模塊如圖所示圖1-5-5管理員管理寵物信息模塊類圖(2) 管理員管理寵物模塊類名表1-5-5管理員管理寵物信息模塊類說明表類名說明NetUtils用于an droid與服務(wù)器進(jìn)行連接users用于對用戶登錄信息進(jìn)行封裝pets用于對寵物信息進(jìn)行封裝Pe

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

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

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

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

18、t:drawChartLi ne將寵物進(jìn)食情況繪制成表格1.4活動(dòng)圖具體設(shè)計(jì)管理員端圖1.4.1管理員端活動(dòng)圖第23頁共29頁軟件大型實(shí)驗(yàn)周一一軟件設(shè)計(jì)說明書表2.4信息交流儲(chǔ)存說明表第25頁共29頁用戶端圖142用戶端活動(dòng)圖2數(shù)據(jù)庫設(shè)計(jì)2.1概念結(jié)構(gòu)設(shè)計(jì)表2.1用戶說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型姓名n ame*Varchar密碼pwd*varchar手機(jī)號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食物表是時(shí)間上的邏輯調(diào)用生成,起名以timefood+yyyyMMddhhmmss,所以具體表的個(gè)數(shù)與表的名字為不定值,其中一表的數(shù)據(jù)內(nèi)容如下所示:表2.5從硬件端獲取是數(shù)據(jù)信息說明表注釋數(shù)據(jù)庫條目數(shù)據(jù)庫唯一性檢察必須填寫(*)類型編號Petid*

20、int測試1timefood1varchar測試2timefood2varchar測試3timefood3varchar測試4timefood4varchar測試5timefood5varchar測試6timefood6varchar軟件大型實(shí)驗(yàn)周一一軟件設(shè)計(jì)說明書第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詳細(xì)設(shè)計(jì)3.1系統(tǒng)定名中文:寵物店;英文:petsroom功能

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

22、所示登錄成功結(jié)束圖3.2登錄模塊程序流程圖(2 )核心代碼從安卓界面以 json形式發(fā)生到服務(wù)器的user對象,加載進(jìn)入到loginServlet調(diào)用UserDaoImpI中的indBiName()找到相對應(yīng)的密碼與其進(jìn)行匹配,完成登錄操作,根據(jù)根據(jù)權(quán)限聲明,區(qū)分為兩類管理員與普通用戶,而后擁有的權(quán)限與進(jì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é)點(diǎn)數(shù)值字符串,進(jìn)行簡單處理后,調(diào)用來自UserDaoImpI的insert_timefood()方法,在這個(gè)過程中,調(diào)用相應(yīng)名稱的表不存在的情況時(shí),采用timefood+yyyyMMddhhmmss為表名的方式靈活創(chuàng)建表,已完成獲取到的數(shù)據(jù)的插入操作。4. 獲取數(shù)據(jù)庫數(shù)據(jù)模塊(1)獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖如圖所示判定表是否存 在圖3.4獲取數(shù)據(jù)庫數(shù)據(jù)模塊程序流程圖獲取當(dāng)天數(shù)據(jù) 成功開始(2 )核心代碼將數(shù)據(jù)加載到數(shù)據(jù)庫之后,當(dāng)安卓端需要將數(shù)據(jù)制成曲線圖時(shí),安卓連接服務(wù)器的sendpetsFood中進(jìn)行加載,對安卓

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論