最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【北京交通大學海濱學院畢業(yè)論文模板】基于Spring Boot的網(wǎng)絡投票系統(tǒng)的設計與實現(xiàn)

2023-08-02 12:17 作者:趣畢業(yè)  | 我要投稿


摘 ???要

隨著社會信息化的日益增強,人們對手機的需求也在不斷增加,使得網(wǎng)絡投票日趨流行。傳統(tǒng)的手工投票方法大多是人工進行操作,效率低,使用不便,而在線投票則無需人工,基本實現(xiàn)了自動化,節(jié)約了大量的人力物力,大大提高了工作效率?;趯ν镀钡膶嶋H情況進行調研之后,設計了一種基于微信小程序的在線投票系統(tǒng)。

本系統(tǒng)涉及Spring Boot、Uni-app框架等技術,Java作為系統(tǒng)的編程語言,JDK使用1.8.0_131,IDE為IntelliJ IDEA,在微信小程序前端界面的實現(xiàn)上,主要依靠?JavaScript、WXML、WXSS等技術,服務器基于EL_ADMIN成熟后臺管理框架。小程序端和后臺使用兩個框架進行開發(fā),便于后期的維護和擴充。本系統(tǒng)采用 MySQL作為數(shù)據(jù)庫。在小程序端,使用者通過授權登錄即可查看投票活動的詳細信息并對選項進行投票。為了確保投票結果的公正,本系統(tǒng)還采用了驗證碼等功能來防止刷票行為。在后臺管理系統(tǒng)中,管理員可以查看所有已發(fā)布活動的投票結果。在進行足夠的需求分析后,系統(tǒng)設計實現(xiàn)了五個模塊:創(chuàng)建投票、用戶投票、投票管理、系統(tǒng)管理和數(shù)據(jù)統(tǒng)計。核心業(yè)務數(shù)據(jù)統(tǒng)計模塊實現(xiàn)投票活動統(tǒng)計,查看投票用戶,活動選項票數(shù)統(tǒng)計等功能,用戶通過微信授權登錄即可創(chuàng)建投票活動以及對活動選項的投票,基本滿足了廣大用戶對在線投票的各類需求。

在線投票系統(tǒng)是針對當前的用戶需求和社會發(fā)展需求而開發(fā)的,具有很好的實用價值。本系統(tǒng)具有功能齊全、使用簡便、維護方便等特點。使用該在線投票系統(tǒng),可以極大地簡化工作程序,提高工作效率;從而使投票結果更具實用性、先進性、高效性。

關鍵詞:微信小程序;在線投票系統(tǒng);Spring Boot


ABSTRACT

With the increasing social informatization, people's demand for mobile phones is also increasing, making online voting more and more popular. Most of the traditional manual voting methods are operated manually, which is inefficient and inconvenient to use. However, online voting does not need manual work, which basically realizes automation, saves a lot of human and material resources and greatly improves the work efficiency. Based on the investigation of the actual situation of voting, an online voting management system based on WeChat applet is designed.

The system involves Spring Boot, Uni-app framework and other technologies. Java is the programming language of the system, and JDK uses 1.8.0_ 131. The IDE is IntelliJ idea. The implementation of WeChat applet front-end interface mainly relies on JavaScript, wxml, wxss and other technologies, and the server is based on El_ Admin is a mature background management framework. The applet end and background use two frameworks for development, which is convenient for later maintenance and expansion. The system uses MySQL as the database. On the applet side, users can view the details of voting activities and vote on options through authorized login. In order to ensure the fairness of voting results, the system also uses functions such as verification code to prevent ticket swiping. In the background management system, the administrator can view the voting results of all published activities. After sufficient demand analysis, the system design and implementation of five modules: create voting, user voting, voting management, system management and data statistics. The core business data statistics module realizes the functions of voting activity statistics, viewing voting users and counting the votes of activity options. Users can create voting activities and vote on activity options through WeChat authorized login, which basically meets the various needs of users for online voting.

Online voting system is developed for the current needs of users and social development, and has good practical value. The system has the characteristics of complete functions, simple use and convenient maintenance. The online voting system can greatly simplify the working procedures and improve the work efficiency, so that the voting results are more practical, progressiveness and efficient.

Key words:WeChat applet; Online voting system; Spring Boot

目 ???錄

第1章 ?緒論

1.1 ?項目背景及意義

1.2 ?國內外研究現(xiàn)狀

1.3 ?主要研究內容

1.4 ?論文組織結構

第2章 ?關鍵技術介紹

2.1 ?Spring Boot框架

2.2 ?Uni-app框架

2.3 ?Java開發(fā)語言

2.4 ?MySQL數(shù)據(jù)庫

2.5 ?本章小結

第3章 ?系統(tǒng)需求分析

3.1 ?需求概述

3.2 ?功能需求分析

3.2.1 ?創(chuàng)建投票

3.2.2 ?用戶投票

3.2.3 ?投票管理

3.2.4 ?系統(tǒng)管理

3.2.5 ?數(shù)據(jù)統(tǒng)計

3.3 ?本章小結

第4章 ?系統(tǒng)設計

4.1 ?體系架構設計

4.1.1 ?整體架構設計

4.1.2 ?邏輯架構設計

4.1.3 ?網(wǎng)絡架構設計

4.1.4 ?功能架構設計

4.2 ?功能詳細設計

4.2.1 ?創(chuàng)建投票

4.2.2 ?用戶投票

4.2.3 ?投票管理

4.2.4 ?系統(tǒng)管理

4.2.5 ?數(shù)據(jù)統(tǒng)計

4.3 ?數(shù)據(jù)庫設計

4.3.1 ?概念結構設計

4.3.2 ?邏輯結構設計

4.4 ?本章小結

第5章 ?系統(tǒng)實現(xiàn)

5.1 ?創(chuàng)建投票模塊

5.2 ?用戶投票模塊

5.3 ?投票管理模塊

5.4 ?系統(tǒng)管理模塊

5.4.1 ?角色管理

5.4.2 ?系統(tǒng)日志

5.5 ?數(shù)據(jù)統(tǒng)計模塊

5.6 ?本章小結

第6章 ?系統(tǒng)測試

6.1 ?測試原則

6.2 ?功能測試

6.2.1 ?創(chuàng)建投票功能測試

6.2.2 ?用戶投票功能測試

6.2.3 ?投票管理功能測試

6.2.4 ?系統(tǒng)管理功能測試

6.2.5 ?數(shù)據(jù)統(tǒng)計功能測試

6.3 ?性能測試

6.4 ?本章小結

第7章 ?總結和展望

7.1 ?總結

7.2 ?展望

參考文獻

致 ???謝

第1章 ?緒論

隨著互聯(lián)網(wǎng)的飛速發(fā)展,人們已經(jīng)習慣了通過手機來表達自己的觀點,這使得在線投票已經(jīng)被廣泛地運用到了很多領域。傳統(tǒng)的投票方式已不能適應現(xiàn)代社會發(fā)展的需要。下面作者將對在線投票系統(tǒng)的項目背景及意義、國內外研究現(xiàn)狀、主要研究內容以及論文組織結構進行論述。

1.1 ?項目背景及意義

隨著計算機技術的飛速發(fā)展,特別是互聯(lián)網(wǎng)的普及,使人們的日常生活中對信息的需求越來越大,因此,在線投票系統(tǒng)被廣泛地運用于各種網(wǎng)絡應用中。在生活中,我們時常接觸一些投票行為,比如班級競選班干,評選“校園十星”等。傳統(tǒng)的人工投票模式,效率低下,投票繁瑣,費時耗力,投票的公正性依然無法得到保障,最主要的問題是工作效率低下,數(shù)據(jù)統(tǒng)計有誤,已經(jīng)滿足不了當今社會的發(fā)展需求。開發(fā)一款符合當下用戶需求的在線投票系統(tǒng)小程序,實現(xiàn)對用戶投票、統(tǒng)計投票結果的自動化管理,提高用戶投票的效率,會極大地減少資源的浪費,能有效提高效率。

基于上述背景,利用互聯(lián)網(wǎng)等現(xiàn)代信息技術,開發(fā)出一種適用于廣大群眾、操作簡便、實用的在線投票系統(tǒng),能夠更快地提供更多的信息反饋。與傳統(tǒng)的手工投票相比,在線投票的優(yōu)點是非常明顯地,用戶在家里通過網(wǎng)絡即可投出自己的一票,而統(tǒng)計人員則可以使用數(shù)據(jù)庫,通過計算機迅速地得出投票結果。這樣既能節(jié)約大量的時間,又能節(jié)約大量的人力物力。

綜上所述,在線投票系統(tǒng)可以極大地簡化工作程序,提高統(tǒng)計效率,滿足當前的用戶需求和社會發(fā)展的需求,并且隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,在線投票系統(tǒng)的作用也將會不斷擴大。

1.2 ?國內外研究現(xiàn)狀

二十一世紀,科學技術飛速發(fā)展,計算機科學也獲得了前所未有的成就,互聯(lián)網(wǎng)技術的發(fā)展與普及也越來越廣泛。目前,國內外各高校、科研機構和個人對網(wǎng)絡投票系統(tǒng)的研究已經(jīng)取得了很大的進展。

在國內,網(wǎng)易、百度貼吧、天涯等大型社區(qū)論壇上,也都有了網(wǎng)絡投票功能,這不但增強了論壇的實用性和互動性,而且對統(tǒng)計數(shù)據(jù)也有很大的幫助,比如百度,2007年百度就宣布自己的貼吧將向用戶提供投票功能,讓大家可以對自己喜歡的話題進行投票,收集大家的各種觀點和意見。在廣州市齊樂科技有限公司和Sun Vote公司中,已開發(fā)出較為成熟的投票系統(tǒng),他們的產(chǎn)品可以正確地捕捉民意,為未來的發(fā)展規(guī)劃與方法提供參考。在未來,網(wǎng)路投票將會是一種重要的評選手段,它不但能促進各媒體“仕途”的發(fā)展,還能為媒體公司的產(chǎn)品提供更多的商機。

自20世紀九十年代起,以因特網(wǎng)為代表的現(xiàn)代信息技術迅猛發(fā)展,特別是在美國,歐洲,日本,韓國等國家。對于各種各樣的問題,各種網(wǎng)絡投票,網(wǎng)友們都很熟悉。網(wǎng)上投票的結果在法律上得到認可,有些國家也有明確的立法,例如美國特拉華州,在2000年就通過了有關的法律,認可了網(wǎng)上投票的結果。早在1880年,偉大的發(fā)明家Tomas Edison發(fā)明了一種用于美國立法機關進行表決的電子投票記錄器[1]。然而,由于當時的社會和市場狀況,這一新型的電子投票記錄器還未正式投入使用,最后也未能取得很好的效果。

現(xiàn)在國外的網(wǎng)上投票,最多的就是做一些具體的調查,比如在社交網(wǎng)站上做一個問卷調查,讓網(wǎng)友們進行選擇,或者通過電子郵件和網(wǎng)友們交流,這樣的方式更簡單,也更方便,因為大部分都是由網(wǎng)友自己選擇。

1.3 ?主要研究內容

在線投票系統(tǒng)的目的是創(chuàng)建一個基于微信小程序的投票頁面,使用戶能直觀的了解投票規(guī)則,隨時隨地都可以進行投票,并且管理員還可以通過計算機對有關投票的信息進行管理,大大提高了選票的統(tǒng)計效率,減少了人力、物力資源的浪費。

本設計內容包括創(chuàng)建投票、用戶投票、投票管理、系統(tǒng)管理以及數(shù)據(jù)統(tǒng)計五個部分。創(chuàng)建投票中,用戶可以自行創(chuàng)建投票活動,上傳活動資料,添加選項,設置投票的規(guī)則,防止刷票功能。用戶投票中用戶通過微信授權登錄即可對活動選項進行投票。投票管理中投票活動創(chuàng)建者可以對已發(fā)布的活動進行投票選項的添加、分享投票、暫停投票、刪除投票以及查看總票數(shù)和總瀏覽量。系統(tǒng)管理中包括用戶管理、普通用戶管理、角色管理、菜單管理、字典管理和瀏覽系統(tǒng)日志,管理員登錄后臺管理系統(tǒng)可以對本系統(tǒng)中的用戶、普通用戶、角色以及菜單進行設置操作。數(shù)據(jù)統(tǒng)計中管理員可以通過登錄后臺管理系統(tǒng)查看所有已發(fā)布的活動情況,查看投票結果以及投票用戶。

1.4 ?論文組織結構

本論文主要是對在線投票系統(tǒng)的設計與研究,并對其進行了編程和測試,從而實現(xiàn)用戶通過微信小程序授權登錄就可對活動選項進行投票。

全文共分七章,每一章的內容如下:

第1章 ?緒論:介紹了在線投票系統(tǒng)現(xiàn)在的背景和意義,以及在線投票的研究現(xiàn)狀、主要內容以及本文的組織結構。

第2章 ?關鍵技術介紹:對基于微信小程序的在線投票系統(tǒng)所使用的技術進行了簡單地介紹。

第3章 ?系統(tǒng)需求分析:重點分析了基于微信小程序的在線投票系統(tǒng)各個模塊的需求,并結合用例圖對其功能進行了詳細地說明。

第4章 ?系統(tǒng)設計:根據(jù)第3章中系統(tǒng)的需求分析對本系統(tǒng)進行設計,并對其體系結構設計、功能詳細設計、數(shù)據(jù)庫設計等方面進行了詳細地介紹。

第5章 ?系統(tǒng)實現(xiàn):對在線投票系統(tǒng)的各個模塊進行了詳細地介紹,并給出了各模塊的運行效果圖。

第6章 ?系統(tǒng)測試:對系統(tǒng)的功能和性能進行了測試,并給出了在測試過程中使用的一些測試方法。

第7章 ?總結和展望:對本系統(tǒng)的最終實現(xiàn)的效果進行了總結,并對未來的研究工作進行了展望。


第2章 ?關鍵技術介紹

本系統(tǒng)采用 IntelliJ IDEA開發(fā)工具和微信開發(fā)者工具,利用 Java語言設計開發(fā)了基于微信小程序的在線投票系統(tǒng)。本章主要介紹了Spring Boot框架,Uni-app框架,MySQL數(shù)據(jù)庫等開發(fā)所需的技術。

2.1 ?Spring Boot框架

Spring Boot是Pivotal團隊為新Spring軟件設計的一個全新的框架。Spring Boot是以 Spring4.0為基礎的,它不但保留了Spring框架的優(yōu)良功能,同時也簡化了 Spring的構建和開發(fā)過程。另外, Spring Boot在很多方面都做得很好,比如把很多框架結合起來,從而避免了軟件的不同版本之間的沖突[2]。

Spring Boot框架有兩個關鍵的戰(zhàn)略:開箱即用和約定優(yōu)于配置。開箱即用就是在開發(fā)期間,向 MAVEN項目的 pom文件中添加相關的依賴包,并且用對應的注釋取代了冗長的 XML配置文件,從而管理對象的生命周期[3]。該特性使開發(fā)人員不必再進行復雜的配置工作,而是能將精力集中在業(yè)務邏輯上。約定優(yōu)于配置,即 Spring Boot自身對目標結構進行配置,這樣開發(fā)者就不用在配置和邏輯業(yè)務之間來回轉換,而是將全部精力都放在了寫邏輯業(yè)務上,從而大大提高了開發(fā)的效率[4]。這個功能在某種程度上降低了靈活性,增加了 BUG的位置,但它可以減少開發(fā)人員在代碼編譯、測試和打包等方面的自動化,同時也減少了 XML的配置[5]。

2.2 ?Uni-app框架

Uni-app是一個使用?Vue.js開發(fā)跨平臺應用的前端框架[6]。通過編寫Vue.js的代碼,開發(fā)者可以在不同的平臺上同時部署,包括IOS、Android、Web和各個平臺的小程序,確保它們能夠正確運行并且獲得良好的使用體驗[7]。Uni-app組件規(guī)范和擴展API與微信小程序基本相同[8]。

Uni-app作為比較新的前端框架,而且是中國人自主研發(fā)的開源項目,在跨端數(shù)量、拓展能力、性能體驗、周邊生態(tài)、學習成本、開發(fā)成本等六個關鍵指標上具有很強的競爭力,解決了現(xiàn)有跨平臺框架存在的問題[9]。在小程序端,該框架比現(xiàn)有的同類框架要好很多,而且它的組件可直接使用,在學習時,僅需學習 Vue和 小程序的組件,而無需研究其它組件和框架。

2.3 ?Java開發(fā)語言

Java語言是一種典型的面向對象的靜態(tài)編程語言,具有很強的實用性和易用性,它可以很好地實現(xiàn)面向對象理論,使編程人員能夠很容易地進行復雜的編程[10]

Java語言的語法簡單明了,容易掌握,而且是純面對對象的語言。Java是一種隨著時代的飛速發(fā)展而發(fā)展起來的計算機編程語言。它能為互聯(lián)網(wǎng)應用和多媒體訪問提供支持,從而促進互聯(lián)網(wǎng)和企業(yè)級的 Web應用[11]。

2.4 ?MySQL數(shù)據(jù)庫

MySQL是一個安全、跨平臺、高效的關系型數(shù)據(jù)庫管理系統(tǒng),它與PHP、Java等主流編程語言結合在一起[12]。MySQL使用非常方便,易于理解,功能強大,所以大多數(shù)用戶選擇使用它。而且隨著技術的不斷完善,MySQL將會帶來更多的功能,更好的性能,以及更多的平臺[13]。

MySQL相對于其它關系型數(shù)據(jù)庫具有自己的優(yōu)越性。MySQL是 SQL數(shù)據(jù)庫中最快速的一種。而且 MySQL數(shù)據(jù)庫是一款完全免費的軟件,用戶不需要付費就能在網(wǎng)上下載 MySQL數(shù)據(jù)庫[14]。基于以上作者選用MySQL數(shù)據(jù)庫作為系統(tǒng)的數(shù)據(jù)庫。

2.5 ?本章小結

本章主要介紹了本論文所研究的在線投票系統(tǒng)使用的主要技術框架,包括Uni-app框架、Spring Boot框架。在分析了以上技術框架后,明確了該系統(tǒng)主要采用Uni-app框架對微信小程序進行開發(fā)。


第3章 ?系統(tǒng)需求分析

系統(tǒng)需求分析是系統(tǒng)開發(fā)前期的鋪墊工作,也是重要的基礎工作之一,有效地進行分析,可以幫助我們避免或及早地排除早期的錯誤,從而降低開發(fā)成本,提高系統(tǒng)開發(fā)的成功率。本章主要講述在線投票系統(tǒng)的需求,根據(jù)本系統(tǒng)的所劃分的五大模塊進行分析,分別為創(chuàng)建投票、用戶投票、投票管理、系統(tǒng)管理、數(shù)據(jù)統(tǒng)計。

3.1 ?需求概述

本系統(tǒng)分別從各個業(yè)務功能上進行相關的概述。

(1)創(chuàng)建投票功能:本模塊是微信授權用戶對投票活動的創(chuàng)建,包括活動信息的上傳,投票選項的添加、刪除、排序和投票規(guī)則的設置。

(2)用戶投票功能:包括投票選項的查看、用戶進行投票和投票排行榜展示三個部分。游客通過微信授權登錄即可進行投票。

(3)投票管理功能:本模塊主要是活動的創(chuàng)建者對投票活動進行管理,包括添加投票選項、編輯活動、暫停活動、刪除活動、分享活動以及歷史記錄查詢,歷史記錄查詢中用戶可以查看自己創(chuàng)建的投票以及參與的投票。

(4)系統(tǒng)管理功能:由后臺管理員負責管理,包括用戶管理、普通用戶、角色管理、菜單管理、字典管理和查看系統(tǒng)日志這六大功能。

(5)數(shù)據(jù)統(tǒng)計功能:該模塊的主要功能是統(tǒng)計和瀏覽投票結果,包含了對投票結果和投票用戶的查看,讓管理者能夠更直接地查看投票結果。

對上述五大功能進行詳細闡述,繪制出各個功能的用例圖,并結合文字說明,對各功能模塊進行了需求分析,使得整個開發(fā)過程和思路更加明確。

3.2 ?功能需求分析

本系統(tǒng)的使用者有兩種:普通用戶和后臺管理員。普通用戶又可以分為:游客和微信授權用戶,微信授權用戶包括投票用戶和活動創(chuàng)建者;功能上劃分為五個模塊,分別是:創(chuàng)建投票功能、用戶投票功能、投票管理功能、系統(tǒng)管理功能以及數(shù)據(jù)統(tǒng)計功能。

3.2.1 ?創(chuàng)建投票

創(chuàng)建投票功能模塊是本系統(tǒng)的一項基本業(yè)務,用戶通過微信授權登錄后即可自行創(chuàng)建投票活動、設置投票規(guī)則。

創(chuàng)建投票功能用例圖如圖3-1所示。

圖3-1 ?創(chuàng)建投票功能用例圖

3.2.2 ?用戶投票

在用戶投票中,包含投票選項展示、投票和查看排行榜,所有微信授權登錄的用戶可對投票活動中的選項進行投票,微信未授權登錄的用戶不能進行投票。

用戶投票功能用例圖如圖3-2所示。

圖3-2 ?用戶投票功能用例圖

3.2.3 ?投票管理

投票管理模塊主要是活動的創(chuàng)建者對已創(chuàng)建發(fā)布的活動進行管理。包括新增投票項、編輯投票、暫停投票、刪除投票、分享投票和歷史記錄查詢。創(chuàng)建者可通過歷史記錄查詢找到自己創(chuàng)建的活動進行管理。新增投票項功能中創(chuàng)建者可對投票選項單獨進行更改。編輯投票功能中創(chuàng)建者可對活動的標題、時間、活動介紹、投票選項、投票規(guī)則等進行更改。暫停投票功能中創(chuàng)建者若選擇暫?;顒樱瑒t該活動將不能再進行投票。刪除投票功能中創(chuàng)建者有權將自己發(fā)布的活動刪除。分享投票功能中創(chuàng)建者可以將該活動轉發(fā)給好友或者轉發(fā)至朋友圈。歷史記錄查詢功能用戶可以查看自己創(chuàng)建的投票以及參與的投票。

投票管理功能用例圖如圖3-3所示。

圖3-3 ?投票管理功能用例圖

3.2.4 ?系統(tǒng)管理

系統(tǒng)管理功能主要是后臺管理員對本系統(tǒng)用戶的權限進行控制,其中包含六部分:用戶管理、普通用戶、角色管理、菜單管理、字典管理以及系統(tǒng)日志。用戶管理中后臺管理員可以對后臺的管理員用戶進行管理。普通用戶中管理員可以對登錄微信小程序的用戶進行相關操作。角色管理規(guī)定了本系統(tǒng)的角色和每種角色所對應的權限。菜單管理可以對已存在的系統(tǒng)菜單進行更換圖標等操作[15]。字典管理是對本系統(tǒng)涉及到的一些字段進行描述查看。系統(tǒng)日志是用來對使用者的操作和異常操作進行記錄的。

系統(tǒng)管理功能用例圖如圖3-4所示。

圖3-4 ?系統(tǒng)管理功能用例圖

3.2.5 ?數(shù)據(jù)統(tǒng)計

為了更直觀的查看投票結果,系統(tǒng)設置了數(shù)據(jù)統(tǒng)計功能,該功能是由后臺管理人員對投票的全部結果和投票者進行瀏覽。

數(shù)據(jù)統(tǒng)計功能用例圖如圖3-5所示。

圖3-5 ?數(shù)據(jù)統(tǒng)計功能用例圖

3.3 ?本章小結

本章主要從在線投票系統(tǒng)的功能需求進行詳細的分析,介紹了本系統(tǒng)初步具有的功能,從創(chuàng)建投票、用戶投票、投票管理、系統(tǒng)管理和數(shù)據(jù)統(tǒng)計模塊進行功能的需求分析,畫出了系統(tǒng)五大功能模塊的用例圖。


第4章 ?系統(tǒng)設計

本章將對該系統(tǒng)進行詳細的設計。通過流程圖、時序圖、文本說明等方法對系統(tǒng)進行了功能設計。體系架構設計與設計圖相結合,從整體架構、邏輯架構、網(wǎng)絡架構、功能架構四個方面進行了闡述。在此基礎上,本文還將從概念結構和邏輯結構設計兩個角度,分別用實體屬性圖、E-R圖以及三線表加以說明。

4.1 ?體系架構設計

本節(jié)主要從整體架構、邏輯架構、網(wǎng)絡架構、功能架構四個部分來說明在線投票系統(tǒng)體系架構的設計。

4.1.1 ?整體架構設計

本小節(jié)主要是描述在線投票系統(tǒng)的工作方式及工作流程,可為具體的開發(fā)工作提供參考。整體架構設計如圖4-1所示。

圖4-1 ?整體架構設計圖

4.1.2 ?邏輯架構設計

在線投票系統(tǒng)的邏輯架構設計包含四部分:

使用者:后臺管理員、創(chuàng)建者、微信授權用戶、游客。

使用平臺:PC端和微信小程序端。

功能應用:主要為用戶通過微信授權登錄進行投票、創(chuàng)建者創(chuàng)建投票活動并對活動進行管理。

運行環(huán)境:服務器,數(shù)據(jù)庫。

邏輯架構設計如圖4-2所示。

圖4-2 ?邏輯架構設計圖

4.1.3 ?網(wǎng)絡架構設計

用戶通過微信訪問小程序,向服務器發(fā)送請求,服務器接收請求并做出響應,把用戶需要的數(shù)據(jù)返回到小程序,再將用戶在系統(tǒng)中運行的數(shù)據(jù)保存到數(shù)據(jù)庫。只要有一部有微信的手機或電腦,就能進行操作

網(wǎng)絡架構設計如圖4-3所示


圖4-3 ?網(wǎng)絡架構設計圖

4.1.4 ?功能架構設計

本節(jié)按照上一章的需求分析進行設計。該系統(tǒng)分為五個功能模塊:創(chuàng)建投票功能、用戶投票功能、投票管理功能、系統(tǒng)管理功能、數(shù)據(jù)統(tǒng)計功能。

基于微信小程序的在線投票系統(tǒng)的功能架構設計如圖4-4所示。

圖4-4 ?功能架構設計圖

4.2 ?功能詳細設計

本節(jié)主要描述各個功能實現(xiàn)流程的詳細設計。在線投票系統(tǒng)在系統(tǒng)需求分析部分主要分為五大模塊,分別為創(chuàng)建投票、用戶投票、投票管理、系統(tǒng)管理、數(shù)據(jù)統(tǒng)計。下面將對該系統(tǒng)進行分析,得到具體的功能設計的操作流程。

4.2.1 ?創(chuàng)建投票

用戶點擊創(chuàng)建投票后,提示需要登錄,登錄成功后即可進行投票活動的創(chuàng)建。創(chuàng)建者在創(chuàng)建投票界面可以對活動的信息進行完善,添加投票選項,設置投票規(guī)則,當創(chuàng)建者點擊發(fā)布按鈕時,系統(tǒng)會將創(chuàng)建者輸入的活動信息存儲到數(shù)據(jù)庫中,同時也會向創(chuàng)建者發(fā)送一個是否創(chuàng)建成功的提示,創(chuàng)建成功則跳轉到發(fā)布成功界面。

創(chuàng)建投票功能時序圖如圖4-5所示。

圖4-5 ?創(chuàng)建投票功能時序圖

創(chuàng)建投票模塊的業(yè)務流程圖如圖4-6所示。

圖4-6 ?創(chuàng)建投票功能業(yè)務流程圖

4.2.2 ?用戶投票

用戶進入小程序首頁,點擊活動,提示還未授權登錄不能投票,授權登錄后即可進入活動詳情頁面。對選項進行投票,將投票數(shù)據(jù)寫入數(shù)據(jù)庫,在活動詳情頁顯示累加后的票數(shù)。

用戶投票功能時序圖如圖4-7所示。

圖4-7 ?用戶投票功能時序圖

用戶投票模塊的業(yè)務流程圖如圖4-8所示。

圖4-8 ?用戶投票功能業(yè)務流程圖

4.2.3 ?投票管理

創(chuàng)建者可對自己創(chuàng)建的投票活動進行管理。創(chuàng)建者在小程序中“我的”界面可以找到創(chuàng)建的活動,進入活動瀏覽詳情頁面可對活動進行編輯、暫停、刪除、查看投票數(shù)、新增投票項以及分享活動等操作,點擊瀏覽活動可跳轉至活動詳情頁面。

投票管理功能時序圖如圖4-9所示。

圖4-9 ?投票管理功能時序圖

投票管理模塊的業(yè)務流程圖如圖4-10所示。

圖4-10 ?投票管理功能業(yè)務流程圖

4.2.4 ?系統(tǒng)管理

系統(tǒng)管理的主要作用是設置使用者的權限,使不同使用者在登錄時所呈現(xiàn)的界面會有所不同。系統(tǒng)管理模塊包括:用戶管理、普通用戶、角色管理、菜單管理、字典管理以及系統(tǒng)日志。管理員登錄后臺管理系統(tǒng),可以在首頁上查看運行日志。點擊用戶管理,即可對后臺的管理員進行管理。普通用戶中管理員可以對登錄微信小程序的用戶進行相關操作。角色管理為每個角色設定了相應的菜單權限。菜單管理可以改變現(xiàn)有的系統(tǒng)菜單中的圖標。字典管理是指在這個系統(tǒng)中包含的部分字段的說明。

系統(tǒng)管理功能時序圖如圖4-11所示。

圖4-11 ?系統(tǒng)管理功能時序圖

系統(tǒng)管理模塊的業(yè)務流程圖如圖4-12所示。

圖4-12 ?系統(tǒng)管理功能業(yè)務流程圖

4.2.5 ?數(shù)據(jù)統(tǒng)計

數(shù)據(jù)統(tǒng)計模塊是后臺管理人員使用的,可以直觀地看到投票結果,只能顯示數(shù)據(jù),無法進行操作。

數(shù)據(jù)統(tǒng)計功能時序圖如圖4-13所示。

圖4-13 ?數(shù)據(jù)統(tǒng)計功能時序圖

數(shù)據(jù)統(tǒng)計模塊的業(yè)務流程圖如圖4-14所示。

圖4-14 ?數(shù)據(jù)統(tǒng)計功能業(yè)務流程圖

4.3 ?數(shù)據(jù)庫設計

本小節(jié)主要介紹了數(shù)據(jù)庫的設計,根據(jù)對在線投票系統(tǒng)的分析,設計所需的數(shù)據(jù)表,并且通過數(shù)據(jù)的交互,找到各個表的相互關系,從而得到整個數(shù)據(jù)庫的結構。下面將從數(shù)據(jù)庫的概念結構設計和邏輯結構設計兩個部分,結合實體屬性圖、E-R圖和庫表結構對數(shù)據(jù)庫進行介紹。

4.3.1 ?概念結構設計

根據(jù)需求分析,在線投票系統(tǒng)設計到一下實體:投票活動實體、投票選項實體、投票用戶實體、系統(tǒng)用戶實體、數(shù)據(jù)字典實體、系統(tǒng)菜單實體、系統(tǒng)角色系統(tǒng)、系統(tǒng)日志實體、輪播圖實體。

(1)投票活動信息表vote,該表可儲存投票活動的基本信息,投票活動的基本信息包括活動編號id,創(chuàng)建者編號user_id,活動標題title,活動狀態(tài)status,活動封面cover,活動描述description,開始時間start_time,結束時間end_time,是否匿名anonymity,訪問量visits,創(chuàng)建者create_by,創(chuàng)建時間create_time,更新者update_by,更新時間update_time,每人次數(shù)限制quantity_type,是否開啟驗證碼verification_code,是否顯示票數(shù)display_quantity,是否開啟投票結果result,按鈕文案text。

投票活動信息表vote的實體屬性圖如圖4-15所示。

圖4-15 ?投票活動信息實體屬性圖

(2)投票選項信息表vote_option,該表可以存儲投票選項的基本信息,投票選項基本信息包括主鍵id,所屬投票活動編號vote_id,選項編號number,選項照片picture,選項名稱name,選項內容content,票數(shù)quantity,創(chuàng)建者create_by,創(chuàng)建時間create_time,更新者update_by,更新時間update_time。

投票選項信息表vote_option的實體屬性圖如圖4-16所示。

圖4-16 ?投票選項信息實體屬性圖

(3)投票用戶信息表vote_user,該表可以存儲投票用戶的基本信息投票用戶的基本信息包括主鍵id,用戶編號user_id,投票活動編號vote_id,選項編號option_id,投票時間vote_time,票數(shù)quantity,是否匿名anonymity。

投票用戶信息表vote_user的實體屬性圖如圖4-17所示。

圖4-17 ?投票用戶信息實體屬性圖

(4)系統(tǒng)用戶信息表sys_user,該表可以存儲系統(tǒng)用戶的基本信息,系統(tǒng)用戶的基本信息包括用戶id,微信Openid,用戶名Username,昵稱Nick_Name,性別Gender,手機號碼Phone,郵箱Email,頭像地址Avatar_Name,頭像真實路徑Avatar_Path,密碼Password,是否為管理員賬號Is_Admin,狀態(tài)Enable,創(chuàng)建者Create_By,更新者Update_By,更改密碼的時間Pwd_Reset_Time,創(chuàng)建時間Create_Time,更新時間Update_Time,用戶類別Type。

系統(tǒng)用戶信息表sys_user的實體屬性圖如圖4-18所示。

圖4-18 ?系統(tǒng)用戶信息實體屬性圖

(5)數(shù)據(jù)字典信息表sys_dict_detail,該表可以存儲數(shù)據(jù)字典的詳細信息,數(shù)據(jù)字典的詳細信息包括編號detail_id,字典編號dict_id,字典標簽label,字典值value,排序dict_port,創(chuàng)建者create_by,更新者update_by,創(chuàng)建時間create_time,更新時間update_time。

數(shù)據(jù)字典詳情信息表sys_dict_detail的實體屬性圖如圖4-19所示。

圖4-19 ?數(shù)據(jù)字典信息實體屬性圖

(6)系統(tǒng)菜單信息表sys_menu,該表可以存儲菜單的基本信息,菜單的基本信息包括菜單編號menu_id,上級菜單編號pid,子菜單數(shù)目sub_count,菜單類型type,菜單標題title,組件名稱name,組件component,排序menu_sort,圖標icon,鏈接地址path,是否外鏈i_frame,緩存cache,隱藏hidden,權限permission,創(chuàng)建者create_by,更新者update_by,創(chuàng)建時間create_time,更新時間create_time。

系統(tǒng)菜單信息表sys_menu的實體屬性圖如圖4-20所示。

圖4-20 ?系統(tǒng)菜單信息實體屬性圖

(7)系統(tǒng)角色信息表sys_role,該表可以存儲系統(tǒng)角色的基本信息,系統(tǒng)角色的基本信息包括角色編號role_id,名稱name,角色級別level,描述description,數(shù)據(jù)權限data_scope,創(chuàng)建者create_by,更新者update_by,創(chuàng)建時間create_time,更新時間update_time。

系統(tǒng)角色信息表sys_role的實體屬性圖如圖4-21所示。

圖4-21 ?系統(tǒng)角色信息實體屬性圖

(8)系統(tǒng)日志信息表sys_log,該表可以存儲操作日志的基本信息,操作日志的基本信息包括編號log_id,行為描述description,日至類型log_type,請求方式method,請求IPrequest_ip,請求耗時time,用戶名username,IP來源address,瀏覽器browser,創(chuàng)建時間create_time。

系統(tǒng)日志信息表sys_log的實體屬性圖如圖4-22所示。

圖4-22 ?系統(tǒng)日志信息實體屬性圖

(9)輪播圖信息表vote_advert,該表可以存儲輪播圖的基本信息,輪播圖的基本信息包括編號id,廣告狀態(tài)status,廣告名稱name,是否限時limited,排序sequence,投放開始時間start_time,投放結束時間end_time,圖片編號file_id,創(chuàng)建者create_by,創(chuàng)建時間create_time,更新者update_by,更新時間update_time。

輪播圖信息表vote_advert的實體屬性圖如圖4-23所示。

圖4-23 ?輪播圖信息實體屬性圖

(10)數(shù)據(jù)庫總體結構E-R模型圖如圖4-24所示。

圖4-24 ?數(shù)據(jù)庫總體E-R圖

4.3.2 ?邏輯結構設計

數(shù)據(jù)庫的邏輯結構設計主要是把E-R圖轉化為數(shù)據(jù)庫所需的表,從而實現(xiàn)E-R模型向關系模型的轉化,具體表結構如下。

(1)投票活動信息表vote,用來存儲投票活動的基本信息,其相應的字段信息如表4-1所示。

表4-1 ?投票活動信息表

(2)投票選項信息表vote_option,用來存儲投票選項的基本信息,其相應字段信息如表4-2所示。

表4-2 ?投票選項信息表

(3)投票用戶信息表vote_user,用來存儲投票用戶的基本信息,其相應字段信息如表4-3所示。

表4-3 ?投票用戶信息表

(4)系統(tǒng)用戶信息表sys_user,用來存儲系統(tǒng)用戶的基本信息, 其相應字段信息如表4-4所示。

表4-4 ?系統(tǒng)用戶信息表

(5)數(shù)據(jù)字典信息表sys_dict_detail,用來存儲數(shù)據(jù)字典的詳細信息,其相應字段信息如表4-5所示。

表4-5 ?數(shù)據(jù)字典信息表

(6)系統(tǒng)菜單信息表sys_menu,用來存儲菜單的基本信息,其相應字段信息如表4-6所示。

表4-6 ?系統(tǒng)菜單信息表

(7)系統(tǒng)角色信息表sys_role,用來存儲系統(tǒng)角色的基本信息,其相應字段信息如表4-7所示。

表4-7 ?系統(tǒng)角色信息表

(8)系統(tǒng)日志信息表sys_log,用來存儲操作日志的基本信息, 其相應字段信息如表4-8所示。

表4-8 ?系統(tǒng)日志信息表

(9)輪播圖信息表vote_advert,用來存儲輪播圖的基本信息,其相應字段信息如表4-9所示。

表4-9 輪播圖信息表

4.4 ?本章小結

本章通過大量的圖和表,對在線投票系統(tǒng)的體系架構設計、功能詳細設計和數(shù)據(jù)庫設計進行了詳細的說明。


第5章 ?系統(tǒng)實現(xiàn)

通過對在線投票系統(tǒng)的深入的分析和設計,本系統(tǒng)分為創(chuàng)建投票功能模塊、用戶投票功能模塊、投票管理功能模塊、系統(tǒng)管理功能模塊以及數(shù)據(jù)統(tǒng)計功能模塊,本章將詳細地介紹各個功能模塊的實現(xiàn)。

5.1 ?創(chuàng)建投票模塊

創(chuàng)建投票模塊當用戶進入到小程序后,點擊創(chuàng)建投票活動,提示需要微信授權登錄,登錄后就可以進行投票活動的創(chuàng)建,獲取填寫的活動及選項信息進行上傳發(fā)布。創(chuàng)建投票的流程圖如圖5-1所示。

圖5-1 ?創(chuàng)建投票模塊流程圖

該功能的核心代碼如下:

@Override

@Transactional

public VoteDto findById(Long id) {

Vote vote = voteRepository.findById(id).orElseGet(Vote::new);

Long visits = vote.getVisits();

if(ObjectUtil.isNotNull(visits)){

voteRepository.updateVisitsById(id);

}else {

vote.setVisits(1L);

voteRepository.save(vote);

}

ValidationUtil.isNull(vote.getId(),"Vote","id",id);

return voteMapper.toDto(vote);

}

其主要界面如圖5-2所示。

圖5-2 ?創(chuàng)建投票界面

5.2 ?用戶投票模塊

用戶投票模塊當用戶進入小程序首頁,點擊活動,進入活動詳情頁面。對選項進行投票,提示還未授權登錄不能投票。授權登錄后即可進行投票,將投票數(shù)據(jù)寫入數(shù)據(jù)庫,在活動詳情頁顯示累加后的票數(shù)。用戶投票的流程圖如圖5-3所示。

圖5-3 ?用戶投票模塊流程圖

該功能的核心代碼如下:

@Override

@Transactional(rollbackFor = Exception.class)

public void vote(Long voteId, Boolean anonymity, Set<Long> optionIds, String uuid, String code) {

AtomicInteger n = new AtomicInteger(0);

Map<String, Object> overtime = voteRepository.overtime(voteId);

int integer = ((Number) overtime.get("overtime")).intValue();

if(integer==1){

throw new BadRequestException("投票活動已過期");

}

?

Long userId = SecurityUtils.getCurrentUserId();

List<VoteUser> voteUserList = voteUserRepository.findVoteUserByVoteIdAndUserId(voteId, userId);

Vote vote = voteRepository.findById(voteId).orElseGet(Vote::new);

ValidationUtil.isNull(vote.getId(), "Vote", "id", voteId);

}

其主要界面如圖5-4所示。

圖5-4 ?用戶投票界面

5.3 ?投票管理模塊

投票管理當投票活動創(chuàng)建者進入小程序,在我的頁面點擊創(chuàng)建的投票,即可對自己創(chuàng)建的投票活動進行管理,包括編輯投票活動、暫停投票活動、刪除投票活動、新增投票選項、查看總投票數(shù)和總瀏覽量以及分享投票活動。投票管理的流程圖如圖5-5所示。

圖5-5 ?投票管理模塊流程圖

該功能的核心代碼如下:

@Override

@Transactional(rollbackFor = Exception.class)

public void update(Vote resources) {

List<Option> options = resources.getOptions();

Vote vote = ??????voteRepository.findById(resources.getId()).orElseGet(Vote::new); ValidationUtil.isNull( vote.getId(),"Vote","id",resources.getId()); vote.copy(resources);

resources.setOptions(null);

voteRepository.save(vote);

?

options.stream().map(option -> {

option.setVote(vote);

return option;

}).collect(Collectors.toList());

optionRepository.saveAll(options);

}

其主要界面如圖5-6所示。

圖5-6 ?投票管理界面

5.4 ?系統(tǒng)管理模塊

系統(tǒng)管理模塊分為五個部分。用戶管理設定了使用者的權限,使得不同用戶在登錄時所呈現(xiàn)的界面也會有所不同;普通用戶實現(xiàn)了對登錄小程序的用戶進行查看以及刪除;角色管理規(guī)定了本系統(tǒng)每種角色所對應的權限;菜單管理可以改變現(xiàn)有的系統(tǒng)菜單中的圖標;字典管理實現(xiàn)了對一些固定數(shù)據(jù)的維護;系統(tǒng)日志用于記錄用戶操作日志與異常日志。

5.4.1 ?角色管理

角色管理是系統(tǒng)管理模塊的業(yè)務核心,其功能是使不同用戶在登錄時所呈現(xiàn)的界面不同,在相同的菜單中,不同的角色會有不同的菜單權限。

角色管理的流程圖如圖5-7所示。

圖5-7 ?角色管理模塊流程圖

該功能的核心代碼如下:

@Override

@Transactional(rollbackFor = Exception.class)

public void create(Role resources) {

if (roleRepository.findByName(resources.getName()) != null) {

throw new EntityExistException(Role.class, "username", resources.getName());

}

roleRepository.save(resources);

}

@Override

public void updateMenu(Role resources, RoleDto roleDTO) {

Role role = roleMapper.toEntity(roleDTO);

List<User> users = userRepository.findByRoleId(role.getId());

// 更新菜單

role.setMenus(resources.getMenus());

delCaches(resources.getId(), users);

roleRepository.save(role);

}

其主要界面如圖5-8所示。

圖5-8 ?角色管理界面

5.4.2 ?系統(tǒng)日志

系統(tǒng)日志可以用來對用戶的操作日志和異常日志進行記錄,便于開發(fā)人員進行錯誤查找。系統(tǒng)日志的流程圖如圖5-9所示。

圖5-9 ?系統(tǒng)日志流程圖

該功能的核心代碼如下:

@Override

public Object queryAll(LogQueryCriteria criteria, Pageable pageable) {

Page<Log> page = logRepository.findAll(((root, criteriaQuery, cb) -> QueryHelp.getPredicate(root, criteria, cb)), pageable);

String status = "ERROR";

if (status.equals(criteria.getLogType())) {

return PageUtil.toPage(page.map(logErrorMapper::toDto));

}

return page;

}

其主要界面如圖5-10所示。

圖5-10 ?系統(tǒng)日志界面

5.5 ?數(shù)據(jù)統(tǒng)計模塊

數(shù)據(jù)統(tǒng)計模塊用來直觀地查看投票結果,只能顯示數(shù)據(jù),無法進行操作。數(shù)據(jù)統(tǒng)計的流程圖如圖5-11所示。

圖5-11 ?數(shù)據(jù)統(tǒng)計模塊流程圖

該功能的核心代碼如下:

@Override

public Map<String, Object> queryVoterRanking(Long voteId, Long optionId) {

HashMap<String, Object> ohm = new HashMap<>();

long ranking = 0;

List<Map<String, Object>> options = optionRepository.orderByQuantity(voteId);

for (Map<String, Object> option : options){

long id = ((Number) option.get("id")).longValue();

if(id == optionId){

ranking = ((Number) option.get("ranking")).longValue();

break;

}

}

}

其主要界面如圖5-12所示。

圖5-12 ?數(shù)據(jù)統(tǒng)計界面

5.6 ?本章小結

本章重點介紹了在線投票系統(tǒng)各功能模塊的實現(xiàn)方法。以流程圖及核心代碼為基礎,明確表達了該系統(tǒng)已完成的所有功能,并給出了最終效果圖。

第6章 ?系統(tǒng)測試

本章主要對基于微信小程序的在線投票系統(tǒng)測試的內容和結果進行闡述。介紹了系統(tǒng)所要求的測試環(huán)境和方法,測試的重點是功能和系統(tǒng)性能。通過本章節(jié),可以測試系統(tǒng)的功能是否達到使用要求。

6.1 ?測試原則

根據(jù)在線投票系統(tǒng)的開發(fā)需求,設計了一個操作簡便,界面友好,可擴充性強的微信小程序項目。本系統(tǒng)主要面向微信用戶和后臺管理人員。在進行測試時,需要對各功能單獨進行測試。對在線投票系統(tǒng)進行合理地測試,對于保證系統(tǒng)的實際使用至關重要。全面測試整個系統(tǒng),發(fā)現(xiàn)關鍵問題,確保系統(tǒng)的整體運行正常。

6.2 ?功能測試

功能測試包含創(chuàng)建投票模塊測試、用戶投票模塊測試、投票管理模塊測試、系統(tǒng)管理模塊測試以及數(shù)據(jù)統(tǒng)計模塊測試,因而對系統(tǒng)各模塊進行單獨測試。

6.2.1 ?創(chuàng)建投票功能測試

以普通用戶身份登錄微信小程序后,進行投票活動的創(chuàng)建,并對各個模塊下的各項功能進行測試,主要是測試投票活動信息和投票選項信息的增添、編輯和刪除等功能。該模塊各功能的測試用例表如表6-1所示。

表6-1 ?創(chuàng)建投票測試用例表

通過上述測試,活動信息以及選項信息顯示正確并且符合預期的結果,該投票活動可以順利發(fā)布并在首頁顯示,事實證明創(chuàng)建投票功能可以正常使用。

6.2.2 ?用戶投票功能測試

以普通用戶身份登錄微信小程序后,對活動進行投票,并對各個模塊下的各項功能進行測試,主要是測試能否查看選項信息、能否對選項進行投票、排行榜是否顯示正確等功能。該模塊各功能的測試用例表如表6-2所示。

表6-2 ?用戶投票測試用例表

通過上述測試,選項信息的顯示是正確的,而且用戶可以進行投票,達到了預期的效果。結果顯示用戶投票功能是有效的。

6.2.3 ?投票管理功能測試

以投票活動創(chuàng)建者身份進行登錄后,選擇創(chuàng)建的活動,并對各個模塊下的各項功能進行測試,主要是測試能否對投票活動進行增添、編輯、暫停、刪除以及分享活動等功能。該模塊各功能的測試用例表如表6-3所示。

表6-3 ?投票管理測試用例表

通過上述測試,投票管理功能模塊中,各功能都可以使用,符合預期的結果,事實證明投票管理功能可以正常使用。

6.2.4 ?系統(tǒng)管理功能測試

使用管理員的賬號和密碼,驗證后進行登錄,選擇系統(tǒng)管理,并對各個模塊下的各項功能進行測試,主要是測試能否對系統(tǒng)的用戶、角色、普通用戶、菜單、

字典、系統(tǒng)日志進行管理操作等功能。該模塊各個功能的測試用例表如表6-4所示。

表6-4 ?系統(tǒng)管理測試用例表

通過上述測試,對子功能的操作,各功能列表在觀察頁面中的顯示都達到了預期的正確效果,并成功將信息存儲到了系統(tǒng)。結果表明,該系統(tǒng)管理功能是正確的。

6.2.5 ?數(shù)據(jù)統(tǒng)計功能測試

使用管理員的賬號登錄后,選擇投票管理下的數(shù)據(jù)統(tǒng)計,并對各個模塊下的各項功能進行測試,主要是測試后臺管理員能否可視化查看投票結果和投票用戶數(shù)據(jù)。該模塊的功能測試用例表如表6-5所示。

表6-5 ?數(shù)據(jù)統(tǒng)計測試用例表

通過上述測試,數(shù)據(jù)統(tǒng)計頁中所顯示的相應的投票活動所提供的圖表信息都是正確的,與期望的結果一致,這表明了數(shù)據(jù)統(tǒng)計功能是正確的。

6.3 ?性能測試

利用Apache JMeter性能測試工具,對本系統(tǒng)的性能進行測試,并將實測數(shù)據(jù)與性能指標進行比較,以確定該系統(tǒng)達到標準。

(1)性能指標預測是檢測系統(tǒng)性能的對比參考材料,性能指標如表6-6所示。

表6-6 ?性能指標

(2)測試工具:Apache JMeter。

(3)測試環(huán)境:使用Windows 10操作系統(tǒng),使用Google Chrome瀏覽器。

(4)測試結果:本次測試結果如表6-7所示。

表6-7 ?測試結果表

測試結果表明,在線投票系統(tǒng)的性能達到了預期的效果,盡管存在著一些潛在的問題,但測試數(shù)據(jù)良好。如果可以改進數(shù)據(jù)庫,那么系統(tǒng)的性能可能得到改善。

6.4 ?本章小結

本章首先對在線投票系統(tǒng)的各主要功能模塊進行了具體的測試和分析,并采用相應的測試工具對其進行了性能測試。測試結果顯示,系統(tǒng)各功能模塊均符合設計要求。同時也表明,基于微信小程序的在線投票系統(tǒng)能夠很好的滿足使用者的基本需要。


第7章 ?總結和展望

本章重點對該系統(tǒng)的設計成果進行了總結,闡述了在開發(fā)中碰到的問題和有待改進的地方,并對其今后的發(fā)展趨勢作了簡短的說明。

7.1 ?總結

本論文對基于微信小程序的在線投票系統(tǒng)的設計與實現(xiàn)作了詳盡的敘述與說明。在技術方面,對整個系統(tǒng)進行了整體的設計與實施,并就其測試原理和性能等問題進行了論述。本文的研究內容如下:

(1)該系統(tǒng)實現(xiàn)了創(chuàng)建投票、投票、投票結果統(tǒng)計等功能。創(chuàng)建者可以發(fā)布投票,而普通用戶通過登錄微信小程序即可對已發(fā)布的活動進行投票。

(2)該系統(tǒng)已在瀏覽器端完成了管理員登錄、用戶管理、角色管理、菜單管理和字典管理等系統(tǒng)的基本功能。

(3)根據(jù)投票管理里面的數(shù)據(jù),管理員可以在數(shù)據(jù)統(tǒng)計界面中選擇時間或者活動狀態(tài)來選取結果,查看這段區(qū)間內的投票數(shù)據(jù)。

(4)管理員可以在后臺管理系統(tǒng)中查看所有投票活動的結果,而且可以對小程序中的輪播圖進行更改。

7.2 ?展望

本系統(tǒng)設計的功能雖然基本都實現(xiàn)了,但因為實際使用情況和本人的技術水平的原因,系統(tǒng)中的一些細節(jié)還有待進一步的研究和改進。

(1)系統(tǒng)在創(chuàng)建投票功能的設計上,現(xiàn)有功能是只能通過活動創(chuàng)建者來添加活動選項,造成創(chuàng)建者的工作量較大。后續(xù)希望用戶可以進行自主報名,由活動創(chuàng)建者進行審核是否報名成功。

(2)在線投票系統(tǒng)的各項功能均已完成,但在具體使用方面還存在一些需要改進的地方,不同的投票活動其投票規(guī)則也不盡相同,所以面對不同的投票活動其投票規(guī)則的設置還需要完善。


參考文獻

[1]

王雪瑩.基于Web的安全電子投票系統(tǒng)[D].西安電子科技大學,2020.

[2]

鄧笑.基于Spring Boot的校園輕博客系統(tǒng)的設計與實現(xiàn)[D].湖北:華中科技大學,2018.

[3]

Chen J, Pan H. Design of Man Hour Management Information System on Spring Boot Framework[J]. Journal of Physics: Conference Series, 2020, 1646(1):012136 (4pp).

[4]

Jian Chen, Chen Jian, Pan Hailan. Design of Man Hour Management Information System on Spring Boot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).

[5]

Suryotrisongko H , Jayanto D P ,Tjahyanto A , Design and Development of BackendApplication for Public Complaint Systems Using Microservice Spring Boot[J],Procediacomputer Science, 2017,124:736-743.

[6]

謝志妮.基于Uni-app的微信小程序關鍵技術運用[J].電子技術與軟件工程,2021(12):32-33.

[7]

Priyanka Tyagi. Pragmatic Flutter: Building Cross-Platform Mobile Apps for Android, iOS, Web & amp; Desktop[M]. CRC Press:2021-04-08.

[8]

張曉明.基于Uni-app和Android的學生手機管控系統(tǒng)的設計與實現(xiàn)[D].蘭州大學,2020.

[9]

劉森.基于Uni-app的移動集團專線售前支撐系統(tǒng)的設計與實現(xiàn)[D].河南科技大學,2019.

[10]

王佳珺.基于Java的校園圖書管理系統(tǒng)程序設計[J].電腦知識與技術,2022,18(08):60-61+64.DOI:10.14004/j.cnki.ckt.2022.0480.

[11]

Y.Shah.J. Shah,K.Kansara.Codc obfuscating a kotlin-bascd app with proguard 2018 SccondIntemational Conference on Advances in Flectronics[C]Computers and Communications(ICAECC),2018,12-18

[12]

林小凡.智能應用開發(fā)平臺的設計與實現(xiàn)[D].西安電子科技大學,2021.

[13]

尉欽超,梁周宇,馬奧迪,等.基于微信小程序的校園版閑魚[J]. 科技創(chuàng)新與應用,?2021,11(23):4.

[14]

陳海濤.移動應用UI輔助開發(fā)系統(tǒng)的設計與實現(xiàn)[D].北京郵電大學,2021.

[15]

劉超.基于Spring Boot + Mybatis的在線投票管理系統(tǒng)的設計與實現(xiàn)[D].吉林大學,2018.


致 ???謝

光陰似箭,日月如梭,時光一瞬間就來到畢業(yè)的時刻。伴隨著畢業(yè)論文的最后一個字落筆,我的學生生涯也即將從滿眼好奇的入校到達淡淡失落的終點?;貞浧鸫髮W生涯的一點一滴,從踏入校園那一刻的滿心期待到即將離開時對校園、老師和同學們的離情別緒,從每天往返于教室、宿舍、食堂、圖書館的匆匆步履到大學生活中的五光十色,四年來的學習生活如剪影般一一重現(xiàn),讓我心生感慨,無限留戀,打心底里生出對校園、對老師、對同學朋友們的感恩與眷戀。

本學士學位論文的工作是在王建老師的悉心指導下完成的,王建老師嚴謹?shù)闹螌W態(tài)度和科學的工作方法給了我極大的幫助和影響。在此衷心感謝四年來王建老師對我的關心和指導。

王建老師悉心指導我完成了學士學位論文,在學習上和生活上都給予了我很大的關心和幫助,在此向王建老師表示衷心的謝意。

李乃祥、張炳軒、王玉瀟三位老師對于我的學士學位論文提出了許多的寶貴意見,在此表示衷心的感謝。

在撰寫學士學位論文期間,我的同學們對我學士學位論文中的研究工作給予了熱情幫助,在此向他們表達我的感激之情。

最后,要感謝一直支持我的家人,在我學習和成長的過程中一路陪伴,給我繼續(xù)前行的力量和勇氣。








【北京交通大學海濱學院畢業(yè)論文模板】基于Spring Boot的網(wǎng)絡投票系統(tǒng)的設計與實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
石家庄市| 洛南县| 和田县| 河西区| 寿阳县| 察隅县| 马山县| 西乡县| 珠海市| 荔浦县| 清河县| 丁青县| 上饶市| 苏尼特右旗| 临沂市| 隆安县| 蕉岭县| 乐至县| 盱眙县| 佛教| 永川市| 凤台县| 定西市| 茌平县| 武平县| 博湖县| 鹿邑县| 淳安县| 江津市| 三原县| 四子王旗| 沙洋县| 广昌县| 海盐县| 芦山县| 黔南| 蒲江县| 黄龙县| 台湾省| 福安市| 仁化县|