光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1引言1

1.1項(xiàng)目開(kāi)發(fā)背景1

1.2開(kāi)發(fā)技術(shù)簡(jiǎn)介1

1.2.1后端技術(shù)介紹1

1.2.2前端技術(shù)介紹2

1.2.3其他技術(shù)2

1.3開(kāi)發(fā)工具簡(jiǎn)介2

1.4項(xiàng)目開(kāi)發(fā)技術(shù)路線2

2需求分析3

2.1功能需求描述3

2.2非功能需求描述3

2.3需求用例建模3

2.3.1登錄模塊的用例4

2.3.2用戶管理模塊的用例6

2.3.3健康打卡的用例8

2.3.4發(fā)布消息模塊的用例10

3系統(tǒng)概要設(shè)計(jì)12

3.1系統(tǒng)設(shè)計(jì)原則12

3.2系統(tǒng)框架設(shè)計(jì)12

3.3系統(tǒng)功能設(shè)計(jì)13

3.3.1登錄模塊功能設(shè)計(jì)14

3.3.2用戶管理模塊功能設(shè)計(jì)16

3.3.3健康打卡模塊功能設(shè)計(jì)17

3.3.4發(fā)布消息模塊功能設(shè)計(jì)18

3.4數(shù)據(jù)庫(kù)設(shè)計(jì)19

3.4.1設(shè)計(jì)原則19

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3.4.2概念設(shè)計(jì)19

3.4.3邏輯設(shè)計(jì)20

3.4.4數(shù)據(jù)字典20

4系統(tǒng)詳細(xì)設(shè)計(jì)22

4.1登錄模塊設(shè)計(jì)22

4.1.1登錄模塊說(shuō)明22

4.1.2登錄模塊詳細(xì)設(shè)計(jì)22

4.2用戶管理模塊設(shè)計(jì)23

4.2.1用戶管理模塊說(shuō)明23

4.2.2用戶管理模塊詳細(xì)設(shè)計(jì)24

4.3健康打卡模塊設(shè)計(jì)25

4.3.1健康打卡子功能模塊說(shuō)明25

4.3.2健康打卡模塊詳細(xì)設(shè)計(jì)25

4.4發(fā)布消息模塊設(shè)計(jì)26

4.4.1發(fā)布消息子功能模塊說(shuō)明26

4.4.2發(fā)布消息模塊詳細(xì)設(shè)計(jì)26

5系統(tǒng)實(shí)現(xiàn)27

5.1登錄模塊實(shí)現(xiàn)27

5.2用戶管理模塊的實(shí)現(xiàn)30

5.3健康打卡模塊的實(shí)現(xiàn)33

5.4發(fā)送消息模塊的設(shè)計(jì)36

6系統(tǒng)測(cè)試39

6.1用戶登錄功能測(cè)試39

6.2用戶管理功能測(cè)試39

6.3健康打卡40

6.4發(fā)布消息41

7設(shè)計(jì)小結(jié)41

參考資料42

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

1引言

隨著新冠疫情在全球范圍內(nèi)持續(xù)肆虐,各地社區(qū)的防疫工作變得尤為重要。

為了更好地防控疫情、保障社區(qū)居民健康,光明社區(qū)決定建立一個(gè)全新的防疫

服務(wù)網(wǎng)站。該網(wǎng)站將提供健康打卡、異常上報(bào)、出入登記、用戶管理等多項(xiàng)功

能,旨在打造一站式的防疫服務(wù)平臺(tái)。該網(wǎng)站采用基于SpringBoot的信息服務(wù)

搭建,將以用戶為中心,為社區(qū)居民提供更便捷、更安心的防疫服務(wù)體驗(yàn)。

1.1項(xiàng)目開(kāi)發(fā)背景

隨著新冠病毒的爆發(fā),社區(qū)防疫成為了當(dāng)下最重要的工作之一。為了更好

地預(yù)防和控制疫情的傳播,需要開(kāi)發(fā)一套高效的社區(qū)管理系統(tǒng)。基于此背景,

我的畢業(yè)設(shè)計(jì)是用javaWeb技術(shù)開(kāi)發(fā)一個(gè)高效的社區(qū)防疫服務(wù)網(wǎng)站。

1.2開(kāi)發(fā)技術(shù)簡(jiǎn)介

后端技術(shù):SpringBoot、MySQL、Redis

前端技術(shù):Vue.js、ElementUI

其他技術(shù):Git、Maven、Docker。

1.2.1后端技術(shù)介紹

SpringBoot:SpringBoot是一種基于SpringFramework的快速開(kāi)發(fā)框架,

可以快速搭建應(yīng)用程序的基礎(chǔ)框架,包括Web應(yīng)用程序的配置、數(shù)據(jù)庫(kù)訪問(wèn)的

配置、日志系統(tǒng)的配置等等。使用SpringBoot可以快速開(kāi)發(fā)高效、穩(wěn)定的后端

服務(wù)。

MySQL:MySQL是一種開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以提供高效、穩(wěn)定、

安全的數(shù)據(jù)存儲(chǔ)和訪問(wèn)服務(wù)。在應(yīng)用程序開(kāi)發(fā)過(guò)程中,可以使用MySQL來(lái)存儲(chǔ)

和管理數(shù)據(jù)。

Redis:Redis是一種開(kāi)源的高性能鍵值對(duì)存儲(chǔ)系統(tǒng),可以提供高效的緩存

服務(wù)和數(shù)據(jù)存儲(chǔ)服務(wù)。在應(yīng)用程序開(kāi)發(fā)過(guò)程中,可以使用Redis來(lái)緩存和管理

數(shù)據(jù),提高應(yīng)用程序的性能和可用性。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

1.2.2前端技術(shù)介紹

Vue.js:Vue.js是一種漸進(jìn)式JavaScript框架,可以快速構(gòu)建高效、靈活、

易擴(kuò)展的前端應(yīng)用程序。使用Vue.js可以簡(jiǎn)化前端開(kāi)發(fā)過(guò)程,提高開(kāi)發(fā)效率和

應(yīng)用程序的可用性。

ElementUI:ElementUI是一種基于Vue.js的UI庫(kù),包含了一系列的基礎(chǔ)

組件和高級(jí)組件,可以幫助開(kāi)發(fā)者快速構(gòu)建漂亮、實(shí)用的Web應(yīng)用程序。使用Ele

mentUI可以提高前端開(kāi)發(fā)效率,減少開(kāi)發(fā)工作量。

1.2.3其他技術(shù)

Git:Git是一種分布式版本控制系統(tǒng),可以幫助開(kāi)發(fā)者管理和控制代碼的

版本和變更。使用Git可以方便地進(jìn)行協(xié)作開(kāi)發(fā)和代碼管理,保證代碼質(zhì)量和

穩(wěn)定性。

Maven:Maven是一種Java項(xiàng)目管理工具,可以幫助開(kāi)發(fā)者管理和構(gòu)建Java

項(xiàng)目。使用Maven可以方便地管理項(xiàng)目依賴、構(gòu)建項(xiàng)目、打包項(xiàng)目等等。

Docker:Docker是一種輕量級(jí)的容器化技術(shù),可以幫助開(kāi)發(fā)者打包應(yīng)用程

序和依賴庫(kù),并且快速地部署到不同的環(huán)境中。使用Docker可以提高應(yīng)用程序

的可移植性和可部署性,方便應(yīng)用程序的維護(hù)和管理。

1.3開(kāi)發(fā)工具簡(jiǎn)介

工具的使用:采用IntelliJIDEA+Tomcat+Mysql

IntelliJIDEA是一款非常強(qiáng)大的Java集成開(kāi)發(fā)環(huán)境,它具有豐富的功能

和插件,可以幫助開(kāi)發(fā)者更快、更好地編寫(xiě)Java程序,并提供實(shí)時(shí)代碼分析和

錯(cuò)誤檢查等功能。

MySQL是一種非常流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它可以幫助開(kāi)發(fā)者更好地

處理數(shù)據(jù),包括存儲(chǔ)、查詢、更新和刪除等操作。此外,MySQL還提供了許多高

級(jí)功能,如事務(wù)處理、索引、備份和恢復(fù)等。

Tomcat是一種開(kāi)源的JavaWeb服務(wù)器,它可以幫助開(kāi)發(fā)者更好地管理Web

應(yīng)用程序和JavaServlets。Tomcat具有高性能和可擴(kuò)展性,可以同時(shí)處理多個(gè)

請(qǐng)求,并支持多種Web開(kāi)發(fā)技術(shù),如JavaServerPages(JSP)和JavaServlets

1.4項(xiàng)目開(kāi)發(fā)技術(shù)路線

MVC是一種軟件開(kāi)發(fā)模式,將應(yīng)用程序分為三個(gè)部分:模型、視圖和控制器。

模型表示應(yīng)用程序的數(shù)據(jù)和業(yè)務(wù)邏輯,視圖表示應(yīng)用程序的用戶界面,控制器

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

表示應(yīng)用程序的控制邏輯。MVC模式將這三個(gè)部分分離開(kāi)來(lái),降低了應(yīng)用程序的

耦合度,使應(yīng)用程序更易于維護(hù)和更新。在實(shí)際開(kāi)發(fā)中,MVC模式被廣泛應(yīng)用于

各種應(yīng)用程序的開(kāi)發(fā),如Web應(yīng)用程序、桌面應(yīng)用程序等

2需求分析

2.1功能需求描述

通過(guò)開(kāi)展基層調(diào)研,和社區(qū)居民進(jìn)行溝通。系統(tǒng)的主要功能如下

(1)登錄模塊功能:用戶需要注冊(cè)一個(gè)賬號(hào)才能使用網(wǎng)站上的服務(wù),注冊(cè)

時(shí)需要提供基本信息如姓名、電話號(hào)碼、住址等,同時(shí)需要設(shè)置登錄密碼。

(2)用戶管理模塊功能:管理員可以對(duì)網(wǎng)站的用戶進(jìn)行管理,方便后續(xù)的

疫情追蹤和管理。管理員可以查看所有用戶的登記信息。

(3)健康打卡模塊功能:用戶可以在網(wǎng)站上進(jìn)行健康打卡,記錄自己的體

溫、身體狀況等信息,方便后續(xù)的疫情追蹤和管理。管理員可以查看所有用戶

的健康打卡信息。

(4)發(fā)布消息模塊功能:管理員可以給每一個(gè)用戶發(fā)送信息,如果發(fā)現(xiàn)社

區(qū)用戶有身體不適或者有疑似癥狀,可以及時(shí)通知所有用戶.

2.2非功能需求描述

通過(guò)和社區(qū)的用戶行溝通,了解當(dāng)前的系統(tǒng)的不足。本系統(tǒng)的非功能性需

求有以下幾個(gè)方面:

(1)可用性:系統(tǒng)需要保證高可用性,盡可能地避免系統(tǒng)故障和不可用情

況,以最大程度地滿足用戶的操作需求。

(2)安全性:系統(tǒng)需要具備高安全性,實(shí)現(xiàn)用戶信息和數(shù)據(jù)的保護(hù),防止

數(shù)據(jù)泄露、篡改、丟失等情況的發(fā)生,確保系統(tǒng)和用戶的信息安全。

(3兼容性:系統(tǒng)需要具備良好的兼容性,能夠適應(yīng)不同的硬件、軟件和操

作系統(tǒng)環(huán)境,確保系統(tǒng)能夠在不同的平臺(tái)上運(yùn)行和使用。

(4)可移植性:系統(tǒng)需要具備良好的可移植性,能夠在不同的軟件和硬件

環(huán)境中進(jìn)行部署和使用,保證系統(tǒng)的可擴(kuò)展性和可持續(xù)性。

2.3需求用例建模

通過(guò)對(duì)功能需求的分析,創(chuàng)建以下總體用例模型,如圖2-1所示。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-1光明社區(qū)防疫服務(wù)網(wǎng)站系統(tǒng)的總體用例模型

2.3.1登錄模塊的用例

面向?qū)ο蟮男枨蠓治鲭A段通過(guò)用例圖和活動(dòng)圖進(jìn)行了梳理分析。登錄模塊

具體的用例描述如圖2-2所示,用戶通過(guò)輸入用戶名和密碼進(jìn)行登錄,系統(tǒng)進(jìn)

行身份驗(yàn)證,如果驗(yàn)證成功則跳轉(zhuǎn)到主頁(yè)面,否則提示用戶名或密碼錯(cuò)誤。

圖2-2登錄模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。登錄模塊活

動(dòng)圖如圖2-3所示。

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-3登錄模塊活動(dòng)圖

通過(guò)對(duì)圖2-2用例圖及圖2-3活動(dòng)圖進(jìn)一步的細(xì)化分析,得到每個(gè)用例的

描述表。登錄模塊用例描述如表2-1所示,可以進(jìn)行登錄等操作。

表2-1登錄模塊用例描述表

項(xiàng)目描述

用例名稱用戶登錄

用例標(biāo)識(shí)號(hào)01

參與者管理員、社區(qū)用戶

參與者輸入用戶名、密碼以及驗(yàn)證碼,系統(tǒng)進(jìn)行驗(yàn)證后,

簡(jiǎn)要說(shuō)明

合法者登錄系統(tǒng),否則提供拒絕登錄系統(tǒng)。

前置條件參與者打開(kāi)系統(tǒng)的登錄頁(yè)面

1.參與者在用戶名輸入框里輸入用戶名

2.在密碼框里輸入密碼

3.密碼框下方顯示驗(yàn)證碼,驗(yàn)證碼由4位數(shù)字構(gòu)成用戶按

基本事件流

原樣輸入驗(yàn)證碼。

4.用戶按登錄后,系統(tǒng)驗(yàn)證參與者輸入的有效性。

5.有效則進(jìn)入系統(tǒng)的主界面。無(wú)效則提示相應(yīng)錯(cuò)誤給用戶。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

6.用例終止

在按“登錄”按鈕之前,參與者可以隨按“取消”或“關(guān)

其他事件流

閉”按鈕。

異常事件流提示錯(cuò)誤信息,參與人確認(rèn)

后置條件進(jìn)入的主界面,裝載相應(yīng)的數(shù)據(jù)

2.3.2用戶管理模塊的用例

用戶管理功能如圖2-4所示。

圖2-4用戶管理用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。用戶管理模

塊活動(dòng)圖如圖2-5所示。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-5用戶管理模塊活動(dòng)圖

通過(guò)對(duì)圖2-4用例圖及圖2-5活動(dòng)圖進(jìn)一步的細(xì)化分析,得到每個(gè)用例的

描述表。用戶管理模塊用例描述如表2-2所示。

表2-2用戶管理模塊用例描述表

項(xiàng)目描述

用例名稱用戶管理

用例標(biāo)識(shí)號(hào)02

參與者管理員

管理員登錄系統(tǒng)后,通過(guò)用戶管理功能,可以刪除,修改,

簡(jiǎn)要說(shuō)明

查詢用戶信息等,也可以修改用戶的健康碼狀態(tài)

前置條件管理員登錄系統(tǒng)

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

1.管理員在用戶管理模塊對(duì)用戶信息進(jìn)行增刪改查操作

2.點(diǎn)擊操作按鈕

3.點(diǎn)擊按鈕后,對(duì)管理員的操作進(jìn)行驗(yàn)證

基本事件流

4.有效則提示操作成功,無(wú)效則提示相應(yīng)錯(cuò)誤給管理員

5.有效則進(jìn)入系統(tǒng)的主界面。無(wú)效則提示相應(yīng)錯(cuò)誤給用戶。

6.用例終止

在按“從操作按鈕”之前,參與者可以隨按“取消”或“關(guān)

其他事件流

閉”按鈕。

異常事件流提示錯(cuò)誤信息,參與人確認(rèn)

后置條件提示信息

2.3.3健康打卡的用例

健康打卡功能如圖2-6所示。

圖2-6健康打卡模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。注冊(cè)模塊活

動(dòng)圖如圖2-7所示。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-7健康打卡模塊活動(dòng)圖

通過(guò)對(duì)圖2-6用例圖及圖2-7活動(dòng)圖進(jìn)一步的細(xì)化分析,得到每個(gè)用例的

描述表。健康打卡模塊用例描述如表2-3所示,可以進(jìn)行健康打卡等操作

表2-3健康打卡模塊用例描述表

項(xiàng)目描述

用例名稱健康打卡

用例標(biāo)識(shí)號(hào)03

參與者已注冊(cè)用戶

用戶輸入體溫,上傳當(dāng)日健康碼圖片,系統(tǒng)會(huì)自動(dòng)獲取位

簡(jiǎn)要說(shuō)明

置和時(shí)間。點(diǎn)擊提交即可

前置條件用戶登錄系統(tǒng),點(diǎn)擊健康打卡功能

1用戶輸入當(dāng)前體溫

基本事件流2.用戶上傳健康碼圖片

3.用戶點(diǎn)擊提交

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

其他事件流在按提交按鈕前用戶可以隨按“取消”或“關(guān)閉”按鈕。

異常事件流提示打卡異常

后置條件提示健康打卡成功

2.3.4發(fā)布消息模塊的用例

發(fā)布打卡功能如圖2-8所示。

圖2-8發(fā)布消息模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。發(fā)布消息模

塊活動(dòng)圖如圖2-9所示。

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-9發(fā)布消息模塊活動(dòng)圖

通過(guò)對(duì)圖2-8用例圖及圖2-9活動(dòng)圖進(jìn)一步的細(xì)化分析,得到每個(gè)用例的

描述表。發(fā)布消息模塊用例描述如表2-4所示,管理員可以給用戶發(fā)送消息。

表2-4發(fā)布消息模塊用例描述表

項(xiàng)目描述

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

用例名稱發(fā)布消息

用例標(biāo)識(shí)號(hào)04

參與者管理員

管理員可以選則用戶,然后在輸入主題和內(nèi)容,就可以給

簡(jiǎn)要說(shuō)明

特定的用戶廣播,并且可以選擇是否發(fā)送郵件

前置條件管理員登錄系統(tǒng),選擇發(fā)布消息功能

1.管理員選擇用戶,輸入主題和內(nèi)容

基本事件流2.選擇是否發(fā)送郵件

3.管理員點(diǎn)擊發(fā)送功能

在按”發(fā)送按鈕”前用戶可以隨按“取消”或“關(guān)閉”按

其他事件流

鈕。

異常事件流提示發(fā)送失敗

后置條件提示發(fā)送成功

3系統(tǒng)概要設(shè)計(jì)

3.1系統(tǒng)設(shè)計(jì)原則

光明社區(qū)防疫服務(wù)網(wǎng)站的設(shè)計(jì)需要以簡(jiǎn)潔為主,并利用代碼重復(fù)度,充分

提高開(kāi)發(fā)效率。我們將采用現(xiàn)有主流的系統(tǒng)框架,例如SpringBoot,通過(guò)經(jīng)過(guò)

多次實(shí)踐驗(yàn)證的穩(wěn)定性來(lái)保證系統(tǒng)的穩(wěn)定運(yùn)行。同時(shí),我們將注重用戶體驗(yàn),

并通過(guò)用戶研究來(lái)提升網(wǎng)站的易用性和可操作性,讓用戶能夠輕松地實(shí)現(xiàn)健康

打卡等操作。

3.2系統(tǒng)框架設(shè)計(jì)

根據(jù)系統(tǒng)的需求分析、用例建模分析結(jié)合開(kāi)發(fā)平臺(tái)的特點(diǎn)設(shè)計(jì)光明社區(qū)防

疫服務(wù)網(wǎng)站系統(tǒng)的系統(tǒng)架構(gòu)模型,如圖3-1所示。

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-1光明社區(qū)防疫服務(wù)系統(tǒng)整體架構(gòu)圖

3.3系統(tǒng)功能設(shè)計(jì)

在光明社區(qū)防疫服務(wù)網(wǎng)站的系統(tǒng)設(shè)計(jì)中,我們進(jìn)行了系統(tǒng)分析階段的子系

統(tǒng)劃分,并在此基礎(chǔ)上進(jìn)一步劃分,將其逐層分解成多個(gè)大小相同、功能單一、

具有一定獨(dú)立性的模塊,以便在程序設(shè)計(jì)工作的同時(shí),加強(qiáng)不同模塊之間的聯(lián)

系,提高整體系統(tǒng)的完美程度。本系統(tǒng)為管理員準(zhǔn)備有,包括異常處理,住戶審

批,用戶管理,健康打卡等功能模塊。為社區(qū)用戶準(zhǔn)備了出入登記,健康打卡,

異常上報(bào)。光明社區(qū)防疫服務(wù)系統(tǒng)的功能結(jié)構(gòu)圖如圖3-2所示。

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-2光明社區(qū)防疫服務(wù)系統(tǒng)功能結(jié)構(gòu)圖

3.3.1登錄模塊功能設(shè)計(jì)

針對(duì)系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行進(jìn)一步細(xì)化分析,得到登錄模塊相關(guān)功能描述,

功能描述使用功能流程圖描述,如下圖3-3。

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-3登錄模塊流程圖

表3-1登錄模塊相關(guān)功能描述表

功能名稱用戶登錄

功能概述管理員,社區(qū)用戶登錄頁(yè)面

輸入內(nèi)容用戶的賬號(hào)密碼和隨機(jī)驗(yàn)證碼

系統(tǒng)處理判斷賬號(hào)密碼的合法性和賬號(hào)密碼是否正確

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

輸出內(nèi)容登錄成功或者登錄失敗的提示

3.3.2用戶管理模塊功能設(shè)計(jì)

針對(duì)系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行進(jìn)一步細(xì)化分析,得到用戶管理模塊相關(guān)功能描

述,功能描述使用功能流程圖描述,如下圖3-4。

圖3-4用戶管理錄模塊流程圖

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

表3-2用戶管理模塊相關(guān)功能描述表

功能名稱用戶登錄

功能概述為管理員提供管理用戶的操作

輸入內(nèi)容用戶信息,時(shí)間

對(duì)于管理員輸入的信息,查詢相關(guān)用戶,并提供增刪改查

系統(tǒng)處理

操作

輸出內(nèi)容操作成功或者失敗的提示

3.3.3健康打卡模塊功能設(shè)計(jì)

針對(duì)系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行進(jìn)一步細(xì)化分析,得到健康打卡模塊相關(guān)功能描

述,功能描述使用功能流程圖描述,如下圖3-5。

圖3-5健康打卡模塊流程圖

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

表3-3健康打卡模塊相關(guān)功能描述表

功能名稱健康打卡

為所有用戶提供打卡操作,用戶填寫(xiě)自己的體溫等信息就

功能概述

可以打卡

輸入內(nèi)容體溫,登記時(shí)間,是否進(jìn)入高風(fēng)險(xiǎn)區(qū)

判斷所有用戶的數(shù)據(jù)是否在正常范圍內(nèi),對(duì)異常的用戶會(huì)

系統(tǒng)處理

自動(dòng)轉(zhuǎn)變健康碼,并且通知管理員

輸出內(nèi)容打卡成功提示或者打卡失敗的提示

3.3.4發(fā)布消息模塊功能設(shè)計(jì)

針對(duì)系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行進(jìn)一步細(xì)化分析,得到發(fā)布消息模塊相關(guān)功能描

述,功能描述使用功能流程圖描述,如下圖3-6。

圖3-6發(fā)送消息模塊流程圖

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

表3-4發(fā)送消息模塊相關(guān)功能描述表

功能名稱發(fā)送消息

功能概述管理員可以給所有的用戶發(fā)送系統(tǒng)廣播和電子郵件消息

輸入內(nèi)容選擇系統(tǒng)用戶,輸入主題還有消息內(nèi)容

系統(tǒng)會(huì)給選擇的用戶發(fā)送廣播,如果選擇了電子郵件,還

系統(tǒng)處理

會(huì)調(diào)用接口發(fā)送電子郵件

輸出內(nèi)容發(fā)送成功或者失敗的提示

3.4數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)往往是系統(tǒng)設(shè)計(jì)中最為核心的一個(gè)步驟。其設(shè)計(jì)的優(yōu)良程度直

接影響系統(tǒng)的性能以及執(zhí)行效率。

3.4.1設(shè)計(jì)原則

為取得較好的設(shè)計(jì)效果,進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)需要遵從以下原則:

1.標(biāo)準(zhǔn)化原則

數(shù)據(jù)庫(kù)設(shè)計(jì)務(wù)必要遵照統(tǒng)一的設(shè)計(jì)標(biāo)準(zhǔn)與命名規(guī)范。具備統(tǒng)一設(shè)計(jì)分類與

編碼規(guī)范的數(shù)據(jù)庫(kù)不僅設(shè)計(jì)清晰直觀,更有利于后期數(shù)據(jù)庫(kù)及程序的維護(hù),為以

后項(xiàng)目可擴(kuò)展性提供條件。

2.冗余原則

以往數(shù)據(jù)庫(kù)的設(shè)計(jì)要求不允許有冗余,要盡可能的滿足3NF。然而,在系

統(tǒng)運(yùn)行過(guò)程中,滿足3NF的數(shù)據(jù)庫(kù)設(shè)計(jì)并不能高效運(yùn)行。復(fù)雜的表間關(guān)系,會(huì)

降低訪問(wèn)數(shù)據(jù)庫(kù)執(zhí)行的效率;過(guò)低的范式標(biāo)準(zhǔn),又會(huì)導(dǎo)致數(shù)據(jù)庫(kù)數(shù)據(jù)。所以,

在數(shù)據(jù)庫(kù)設(shè)計(jì)中,適當(dāng)?shù)娜哂嘣O(shè)計(jì)(允許派生性冗余設(shè)計(jì),杜絕重復(fù)性冗余設(shè)

計(jì)),找到冗余與數(shù)據(jù)處理速度的平衡點(diǎn),常??梢约忍岣咚俣?,又能。

3.4.2概念設(shè)計(jì)

在數(shù)據(jù)庫(kù)概念設(shè)計(jì)的過(guò)程中,采用E-R圖來(lái)描述概念設(shè)計(jì)的結(jié)果。E-R圖

是概念數(shù)據(jù)模型的高層描述所使用的數(shù)據(jù)模型或模式圖,它為表述實(shí)體聯(lián)系模

式圖形式的數(shù)據(jù)模型提供了圖形符號(hào)。根據(jù)光明社區(qū)防疫服務(wù)系統(tǒng)數(shù)據(jù)進(jìn)行分

析其E-R圖如下圖3-7所示。

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-7光明社區(qū)防疫服務(wù)系統(tǒng)E-R圖

3.4.3邏輯設(shè)計(jì)

針對(duì)ER模型,通過(guò)數(shù)據(jù)實(shí)體屬性、實(shí)體間關(guān)系的全面分析,結(jié)合光明社區(qū)

防疫服務(wù)系統(tǒng)的實(shí)際需求,根據(jù)E-R圖轉(zhuǎn)化為關(guān)系模式的轉(zhuǎn)換方法,建立起了

本系統(tǒng)的關(guān)系模式,具體轉(zhuǎn)化后的關(guān)系模式如下:

用戶表(用戶編號(hào),用戶名,昵稱,密碼,性別,電話)

用戶詳情表(用戶編號(hào),角色編號(hào),郵箱地址,是否有效,創(chuàng)建時(shí)間)

健康打卡表(打卡編號(hào),體溫,用戶編號(hào),登記地點(diǎn),打卡時(shí)間)

角色表(角色編號(hào),角色名,角色描述)

消息表(消息編號(hào),用戶編號(hào),是否發(fā)送郵件,主題,正文,發(fā)送時(shí)間)

出入登記表表(出入id,用戶編號(hào),用戶行為,用戶體溫,健康碼狀態(tài))

3.4.4數(shù)據(jù)字典

用戶的表結(jié)構(gòu)如表3-3所示,該表主要用于記錄用戶信息,主要字段為

u_id,u_name,u_password。

表3-3用戶表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

u_idint(11)用戶編號(hào)是是

u_namevarchar(50)用戶名否是

u_accountvarchar(50)用戶昵稱否是

u_passwordvarchar(50)密碼否是

u_sexvarchar(2)性別否否

u_phoneVarchar(11)電話否否

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

用戶詳情表的表結(jié)構(gòu)如表3-4所示,該表主要用于記錄用戶詳細(xì)信息,主

要字段為u_id,r_id,email。

表3-4用戶詳情表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

u_idInt(11)用戶編號(hào)是是

r_idInt(11)角色編號(hào)否是

emailVarchar(50)郵箱地址否否

is_validTINYINT是否有效否是

created_atDATETIME創(chuàng)建時(shí)間否是

健康打卡表的表結(jié)構(gòu)如表3-5所示,該表主要用于記錄用戶打卡信息,主

要字段為record_id,temperature。

表3-5健康打卡表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

record_idInt(11)打卡編號(hào)是是

temperatureFLOAT體溫否是

u_idInt(11)用戶編號(hào)否否

locationVARCHAR(50)登錄地點(diǎn)否是

created_atDATETIME打卡時(shí)間否是

角色表的表結(jié)構(gòu)如表3-6所示,該表主要用于標(biāo)識(shí)用戶的權(quán)限信息,主要

字段為r_name,r_id,r_desc。

表3-6角色表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

r_idInt(11)角色編號(hào)是是

r_nameVarchar(50)角色名否是

r_descVarchar(100)角色描述否是

消息表的表結(jié)構(gòu)如表3-7所示,該表主要用于給用戶發(fā)送消息,主要字段

為msg_id,u_id,is_email。

表3-7消息表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

msg_idInt(11)消息編號(hào)是是

u_idInt(11)用戶編號(hào)否是

Is_emailTINYINT是否發(fā)送郵件否是

SubjectVARCHAR(50)主題否是

21

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

ContentText正文否是

Created_atDATETIME發(fā)送時(shí)間否是

出入登記表的表結(jié)構(gòu)如表3-8所示,該表主要用于記錄用戶進(jìn)入社區(qū)的記

錄,主要字段為record_id,u_id,behavior。

表3-8出入登記表表結(jié)構(gòu)表

字段名稱數(shù)據(jù)類型字段內(nèi)容主鍵設(shè)置非空

record_idInt(11)出入id是是

u_idInt(11)用戶編號(hào)否是

BehaviorVarchar(10)用戶行為否是

temperatureFLOAT用戶體溫否是

health_statusTINYINT健康碼狀態(tài)否是

數(shù)據(jù)庫(kù)設(shè)計(jì)總結(jié):根據(jù)E-R圖,能夠很清晰的知道要建什么表,表有什么字

段,本系統(tǒng)完成了概要設(shè)計(jì)。

4系統(tǒng)詳細(xì)設(shè)計(jì)

在與社區(qū)領(lǐng)導(dǎo)和社區(qū)工作人員溝通后,了解光明社區(qū)防疫服務(wù)管理的系統(tǒng)的

問(wèn)題,希望通過(guò)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)信息化技術(shù)管理,針對(duì)性的做出了相對(duì)應(yīng)功能,

希望通過(guò)系統(tǒng)設(shè)作流的處理現(xiàn)給用戶。

4.1登錄模塊設(shè)計(jì)

4.1.1登錄模塊說(shuō)明

光明社區(qū)防疫服務(wù)系統(tǒng)的登錄模塊主要有兩個(gè)個(gè)角色,分別是管理員,社區(qū)

用戶;不同用戶登錄會(huì)有不同的頁(yè)面展示,有不同的權(quán)限。在用戶登錄的時(shí)候,

需要輸入對(duì)應(yīng)的賬號(hào)密碼才能匹配到對(duì)應(yīng)的角色上。

4.1.2登錄模塊詳細(xì)設(shè)計(jì)

通過(guò)對(duì)登錄模塊的需求分析和概要設(shè)計(jì),我們得到了登錄模塊的時(shí)序圖如

4-1所示。

22

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-1登錄模塊詳細(xì)時(shí)序圖

針對(duì)類圖進(jìn)行進(jìn)一步細(xì)化分析,得到該子功能模塊相關(guān)類及方法描述表,

如下表4-1所示。

表4-1登錄模塊子功能模塊相關(guān)類及方法描述表

類名User

描述用戶登錄賬號(hào)密碼驗(yàn)證

U_name:String

屬性U_password:String

U_sex:String

方法getLogin()

4.2用戶管理模塊設(shè)計(jì)

4.2.1用戶管理模塊說(shuō)明

用戶管理僅僅只有管理員可以進(jìn)入,這保護(hù)了系統(tǒng)不受攻擊,管理員統(tǒng)-對(duì)

用戶信息進(jìn)行操作,節(jié)省時(shí)間,提高有效性。

23

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.2.2用戶管理模塊詳細(xì)設(shè)計(jì)

通過(guò)對(duì)用戶管理模塊的需求分析和概要設(shè)計(jì),我們得到了用戶管理模塊的

時(shí)序圖如4-2所示。

圖4-2用戶管理模塊詳細(xì)時(shí)序圖

針對(duì)類圖進(jìn)行進(jìn)一步細(xì)化分析,得到該子功能模塊相關(guān)類及方法描述表,

如下表4-2所示。

表4-2用戶管理模塊子功能模塊相關(guān)類及方法描述表

類名UserController

描述用戶的增刪改查,分頁(yè)操作

collegeService:CollegeService<College>

logger:Logger

roleService:RoleService<Role>

屬性

UserAndRoleService<UserAndRole>

userSrvice:UserService<User>

wecatService:WecatService

getUserList(Integer,int,Long,Long,String,String,

String)

方法

createUser(User,Long)

deleteUserList(List<User>)update

24

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

UsereList(UserAndRole)getRoleList

getUserList(Long,Long,String,String,String)

類名UserService

描述用戶管理Service層

mapper:UserDao

屬性teacherService:TeacherService<Teacher>

courseService:CourseService<Course>

init()

方法findUserByname(String)

findAllUserNameByIds(String[])

4.3健康打卡模塊設(shè)計(jì)

4.3.1健康打卡子功能模塊說(shuō)明

健康打卡為所有用戶提供安全打卡,數(shù)據(jù)自己每天的個(gè)人體溫等信息就可

以完成打卡。

4.3.2健康打卡模塊詳細(xì)設(shè)計(jì)

經(jīng)過(guò)對(duì)健康打卡模塊的細(xì)節(jié)分析,我們得到了健康打卡模塊的時(shí)序圖,如

圖4-3所示。

圖4-3健康打卡模塊詳細(xì)時(shí)序圖

25

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

針對(duì)類圖進(jìn)行進(jìn)一步細(xì)化分析,得到健康打卡模塊相關(guān)類及方法描述表,

如下表4-3所示。

表4-3健康打卡模塊子功能模塊相關(guān)類及方法描述表

類名CommunityTemperatureRegistrationController

描述用戶健康打卡

cotr:CommunityTemperatureRegistration

屬性ctvs:CommunityTemperatureRegistrationService

continuousDay:Integer

add(CommunityTemperatureRegistrationcotr)

方法

continuousDay()

4.4發(fā)布消息模塊設(shè)計(jì)

4.4.1發(fā)布消息子功能模塊說(shuō)明

發(fā)布消息為所有管理員提供系統(tǒng)廣播和郵件發(fā)送功能,管理員選擇社區(qū)用

戶之后,就可以發(fā)送消息。

4.4.2發(fā)布消息模塊詳細(xì)設(shè)計(jì)

經(jīng)過(guò)對(duì)發(fā)布消息模塊的細(xì)節(jié)分析,我們得到了發(fā)布消息模塊的時(shí)序圖,如

圖4-4所示。

圖4-4發(fā)布消息模塊詳細(xì)時(shí)序圖

26

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

針對(duì)類圖進(jìn)行進(jìn)一步細(xì)化分析,得到發(fā)布消息模塊相關(guān)類及方法描述表,

如下表4-4所示。

表4-4發(fā)布消息模塊子功能模塊相關(guān)類及方法描述表

類名CommunityMessageController

描述管理員發(fā)布消息

coms:CommunityMessageService

屬性

cmes:CommunityMessageEmailService

sendSimpleMessage(BaseSenderMessageBobaseSende)

方法readMessage(StringemailId,IntegerisEnable)

findMessage(IntegerpageNum,IntegerpageSize)

類名CommunityMessageService

描述發(fā)布消息服務(wù)層

coms:CommunityMessageEmailService

屬性

sysFromEmail:String

sendSimpleMessage(BaseSenderMessageBobaseSende)

findListMessageVo(IntegerpageNum,Integer

方法

pageSize,IntegerisEmail,IntegerisEnable,String

title)

5系統(tǒng)實(shí)現(xiàn)

5.1登錄模塊實(shí)現(xiàn)

5.1.1登錄模塊界面設(shè)計(jì)

用戶登入界面,如圖5-1所示:用戶需要輸入賬號(hào)密碼和驗(yàn)證碼后,系統(tǒng)進(jìn)

行身份驗(yàn)證,確定后判斷用戶身份進(jìn)入相應(yīng)頁(yè)面

27

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-1登入界面

5.1.2登錄模塊核心代碼實(shí)現(xiàn):

步驟1:檢測(cè)賬號(hào)密碼是否為空

if(StringUtils.isNullOrEmpty(loginBo.getUsername())||

StringUtils.isNullOrEmpty(loginBo.getPassword())){

28

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

returnnewErrorResult<>("用戶名或者密碼不能為");

}

步驟2:檢測(cè)驗(yàn)證碼

//校驗(yàn)驗(yàn)證碼

if(systemProperties.getIsCaptcha()){

if(!systemProperties.getActive().equals("test")||!

loginBo.getCaptcha().equals(systemProperties.getTestCaptchaCode())){

if(StringUtils.isNullOrEmpty(loginBo.getCaptcha())){

returnnewErrorResult<>("驗(yàn)證碼不能為空");

}else{

StringcaptchaKey=SystemCacheEnum.CAPTCHA.getValue()+

loginBo.getCaptchaId()+CaptchaNameEnum.LOGIN_CAPTCHA.getValue();

Cache<Object,Object>cache=

sysSimpleMapCacheService.getCache(captchaKey);

if(ObjectUtil.isNull(cache)){

returnnewErrorResult<>("驗(yàn)證碼已經(jīng)過(guò)期");

}

Stringcode=(String)cache.get(captchaKey);

StringupperCaseCode=code.toUpperCase();

if(!upperCaseCode.equals(loginBo.getCaptcha().toUpperCase())){

returnnewErrorResult<>("驗(yàn)證碼錯(cuò)誤");

}

}

}

}

loginBo.setSystemCode(ShiroEnum.PLATFORM_MGT.getValue());

Subjectsubject=SecurityUtils.getSubject();

步驟3:解密并檢測(cè)密碼

loginBo.setSystemCode(ShiroEnum.PLATFORM_MGT.getValue());

Subjectsubject=SecurityUtils.getSubject();

//如果選擇記住我需要解密

if(loginBo.getRememberFlag()){

StringdecryptPwd=

lEncryptDecryptFactory.getEncryptDecryptService().decrypt(loginBo.getPassword());

loginBo.setPassword(decryptPwd);

}

//創(chuàng)建登錄的token

SimpleTokensimpleToken=newSimpleToken(null,loginBo.getUsername(),

loginBo.getPassword());

subject.login(simpleToken);session.setAttribute("count",new

Integer(count));

29

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

步驟4:登錄成功返回結(jié)果

//登錄成功后頒發(fā)令牌

StringsessionId=ShiroUserUtils.getSessionId();

ShiroUsershiroUser=ShiroUserUtils.getShiroUser();

HashMap<String,Object>claims=newHashMap<>();

claims.put("shiroUser",shiroUser);

StringjwtToken=jwtTokenManager.issuedToken(shiroUser.getLoginName(),

subject.getSession().getTimeout(),sessionId,claims);

LoginInfoVOloginInfoVO=newLoginInfoVO();

//前端不可見(jiàn)明文密碼

shiroUser.setPassword(lEncryptDecryptFactory.getEncryptDecryptService().encrypt(shiroUser.ge

tPassword()));

loginInfoVO.setShiroUser(shiroUser);

loginInfoVO.setToken(jwtToken);

returnnewSuccessResult<>("登錄成功",loginInfoVO)

5.2用戶管理模塊的實(shí)現(xiàn)

5.2.1用戶管理界面設(shè)計(jì)

用戶管理模塊界面,如圖5-2所示:管理員登錄后可以打開(kāi)用戶管理,可以

對(duì)用戶增刪改查等功能

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論