【青島恒星科技學院畢業(yè)設計】在線投票系統(tǒng)的設計與實現(xiàn)

摘 ?要
隨著全球互聯(lián)網(wǎng)的快速發(fā)展和計算機應用的廣泛普及,特別是無線網(wǎng)絡的廣泛覆蓋和無線終端設備的爆炸性增長,人們現(xiàn)在可以隨時隨地訪問網(wǎng)絡,獲取最新信息、參與網(wǎng)絡活動和與他人在線互動。為了及時了解民意和關(guān)注點,政府機構(gòu)和門戶網(wǎng)站等單位現(xiàn)在會將一些熱點話題以投票的形式發(fā)布在網(wǎng)站上供人們在線投票。因此,在線投票系統(tǒng)應運而生。
?
本文主要討論了在線投票系統(tǒng)的設計和實現(xiàn)過程。首先,基于實際應用開發(fā)情況,對該系統(tǒng)進行了詳細的需求分析。然后,分析了該系統(tǒng)的結(jié)構(gòu)和各功能模塊,并通過詳細的數(shù)據(jù)庫表設計構(gòu)建出一個基于Web的、以SSM框架和MySQL數(shù)據(jù)庫為基礎(chǔ)的、具有管理員登錄管理、投票話題設置管理、話題庫生成管理、在線網(wǎng)絡投票和投票結(jié)果管理等功能的在線投票系統(tǒng)。
?
本文系統(tǒng)地闡述了基于Web的在線投票系統(tǒng)的分析、設計和實現(xiàn)過程,介紹了相關(guān)的理論知識。最后,對系統(tǒng)進行了全面的功能測試,總結(jié)了其優(yōu)點和不足之處,并提出了幾點改進建議,展望了該應用的前景。
?
關(guān)鍵詞:在線投票系統(tǒng);需求分析;SSM框架;
Abstract
With the rapid development of the global internet and the widespread use of computers, especially the explosive growth of wireless terminal devices and the wide coverage of wireless networks, people can now access the internet anytime and anywhere to obtain the latest information, participate in online activities, and interact with others online. In order to timely understand public opinion and concerns, government agencies and portal websites now publish some hot topics in the form of online voting on their websites for people to vote online. Therefore, online voting systems have emerged.
This article mainly discusses the design and implementation process of an online voting system. Firstly, based on the actual development situation, a detailed requirement analysis is carried out on the system. Then, the structure and various functional modules of the system are analyzed, and a web-based, SSM framework-based, and MySQL database-based online voting system with functions such as administrator login management, voting topic setting management, topic bank generation management, online network voting, and voting result management is constructed through detailed database table design.
This article systematically elaborates on the analysis, design, and implementation process of the web-based online voting system, introducing relevant theoretical knowledge. Finally, the system is comprehensively functionally tested, the advantages and shortcomings are summarized, and several improvement suggestions are put forward, looking forward to the future of this application.
Keywords?:?online voting system; requirement analysis; SSM framework.
目 ?錄
摘 ?要
Abstract
目 ?錄
第1章 ?緒?論
1.1研究背景
1.2研究目的
1.3研究意義
1.4 國內(nèi)外研究現(xiàn)狀
第2章 相關(guān)理論與技術(shù)
2.1 IntelliJ IDEA簡介
2.2 SSM框架簡介
2.3 MySQL數(shù)據(jù)庫簡介
2.4 JAVA編程語言簡介
2.5 B/S架構(gòu)
2.6MySQL環(huán)境配置
2.7本章小結(jié)
第3章 系統(tǒng)分析
3.1 ?系統(tǒng)設計目標
3.2 ?系統(tǒng)的可行性分析
3.3 ?需求分析
3.3.1 業(yè)務環(huán)境
3.3.2 用戶需求分析
3.3.3 功能需求分析
3.3.4 ?用戶操作流程
3.3.5 管理員操作流程
3.3.6系統(tǒng)性能需求分析
3.4系統(tǒng)維護分析
3.5 本章小結(jié)
第4章 系統(tǒng)的詳細設計
4.1 系統(tǒng)功能模塊設計
4.2數(shù)據(jù)庫設計
4.3本章小結(jié)
第5章 系統(tǒng)實現(xiàn)
5.1登錄
5.2 管理員功能模塊
5.3用戶功能模
5.4 本章小結(jié)
第6章 系統(tǒng)測試
6.1 ?測試目的
6.2 ?測試內(nèi)容
6.2.1 ?用戶注冊功能測試
6.2.2 ?用戶登錄功能測試
6.2.3 ?上傳個人信息功能測試
6.2.4 ?修改個人信息功能測試
6.2.5 ?投票功能測試
結(jié) 論
參考文獻
致 謝
第1章 ?緒?論
1.1研究背景
電子信息時代正在經(jīng)歷著互聯(lián)網(wǎng)的急劇膨脹。隨著計算機和網(wǎng)絡設備的普及,上網(wǎng)的條件變得更加便捷?,F(xiàn)在,互聯(lián)網(wǎng)已經(jīng)成為人們生活中不可或缺的一部分,并在政治、經(jīng)濟、文化、科技、生活和社會等方面對整個世界產(chǎn)生著深遠的影響。最新數(shù)據(jù)顯示,在網(wǎng)民中,約69%的人選擇在家里上網(wǎng),約25%的人選擇在單位上網(wǎng),而在這兩者之間有65%的人使用手機進行無線上網(wǎng)。這些數(shù)據(jù)表明,網(wǎng)民數(shù)量龐大,而這些網(wǎng)民已成為一股非常重要的社會力量。[1]他們不僅可以利用傳統(tǒng)的門戶網(wǎng)站,還可以通過博客、BBS、QQ、微博、人人網(wǎng)和Facebook等社交平臺進行交流、發(fā)表見解、進行娛樂互動、參與活動等,在影響著現(xiàn)代社會的政治、經(jīng)濟、科技、文化和生活等各個領(lǐng)域產(chǎn)生著深遠的影響。
此外,在線投票成為了收集民情和民意的新方法。通過利用互聯(lián)網(wǎng)技術(shù),在線投票將一些熱點話題發(fā)布至Web上,并提供多個選項供網(wǎng)絡用戶在線選擇。[2]在線投票結(jié)果可以實時自動統(tǒng)計,投票者不僅能隨時查看統(tǒng)計結(jié)果,還可以針對參與的投票話題進行熱點討論。[3]在線投票已廣泛應用于學校、公司、組織機構(gòu)和各大網(wǎng)站,并且由于在線投票軟件系統(tǒng)具有功能強大、系統(tǒng)穩(wěn)定、用戶使用簡單方便以及快速公正的特點,因此應用越來越普及。
1.2研究目的
就在線投票系統(tǒng)的設計與實現(xiàn)而言,參與成本的結(jié)構(gòu)相對較低。[4]盡管進入在線投票市場的成本較低,但由于投票的持續(xù)時間長,監(jiān)督在線投票過程的成本相對較高。投票的范圍也非常廣泛,除了政治和社會問題外,還包括日常生活中的各種投票需求,從選美活動到產(chǎn)品評級等。在線投票系統(tǒng)一般能夠延續(xù)數(shù)天到數(shù)周,并且隨著投票的發(fā)展,投票數(shù)目也可能增加。在線投票系統(tǒng)的研究包括設計和實現(xiàn)投票流程、實現(xiàn)安全機制、管理數(shù)據(jù)、設計用戶界面、進行業(yè)務拓展、優(yōu)化系統(tǒng)性能、分析投票數(shù)據(jù)以及制定營銷策略等方面。[5]在線投票系統(tǒng)的實現(xiàn)非常重要,能夠幫助人們更有效地表達意見和參與社會事務,也能夠提供給政府和企業(yè)更多的反饋和決策參考[6]。
然而,由于在線投票系統(tǒng)的普及程度越來越高,一些安全問題也開始浮出水面。例如,黑客可能會在系統(tǒng)中植入惡意程序,從而竊取投票數(shù)據(jù)和個人信息。此外,人們?nèi)菀资艿骄W(wǎng)絡攻擊和欺詐的影響,比如被惡意軟件感染、遭受網(wǎng)絡詐騙等。因此,在設計和實現(xiàn)在線投票系統(tǒng)時,安全問題是一個需要高度重視的方面。
為確保在線投票的安全性,系統(tǒng)應該具備完善的安全機制,包括對用戶身份的認證、加密數(shù)據(jù)傳輸、防范DDoS攻擊等措施。對于黑客入侵和漏洞利用等問題,應該采取預防和應對措施,例如定期更新軟件、加強防火墻設置等。此外,定期進行系統(tǒng)安全審計也是保證在線投票安全的重要手段。
在實施在線投票系統(tǒng)時,必須嚴格遵守相關(guān)的法律法規(guī)和規(guī)定[7]。例如,需要明確數(shù)據(jù)使用和保護的責任,應該得到選民的知情和認可,以保護其個人信息和隱私。與之相應的,應該建立完善的數(shù)據(jù)備份和恢復機制,以便在系統(tǒng)故障或其他突發(fā)情況下對數(shù)據(jù)進行有效保護。
總體來說,隨著網(wǎng)絡技術(shù)的不斷發(fā)展和社會治理的深入推進,在線投票系統(tǒng)在政治、社會和商業(yè)領(lǐng)域中的作用愈加明顯。在此背景下,有關(guān)方面應積極推動在線投票系統(tǒng)的開發(fā)和完善,加強對其安全性和可信度的監(jiān)管,以保障人民的利益和社會的穩(wěn)定。
1.3研究意義
在線投票系統(tǒng)是一種基于互聯(lián)網(wǎng)和計算機技術(shù)的投票工具,它將傳統(tǒng)的投票方式數(shù)字化,極大方便了人們的投票行為。在線投票系統(tǒng)的研究和使用具有以下的意義:
1. 方便快捷:在線投票系統(tǒng)可以隨時隨地進行投票,省去了人們?nèi)ガF(xiàn)場或郵寄投票的時間和金錢成本,方便快捷。
2. 環(huán)保節(jié)能:在線投票系統(tǒng)可以大量減少紙張的消耗,減少對環(huán)境的影響,符合全球可持續(xù)發(fā)展的趨勢。
3. 提高投票效率:在線投票系統(tǒng)可以提高投票的效率和準確性,同時也能夠減少投票失誤的情況。
4. 降低操作成本:在線投票系統(tǒng)可以降低投票的運營成本,使得組織者可以更加輕松地管理投票過程。
5. 增強民主參與:在線投票系統(tǒng)使得民眾可以更方便地參與投票過程,增加了民主參與和公眾決策的程度。
綜上所述,在線投票系統(tǒng)是一種便捷、高效、環(huán)保和節(jié)能的投票工具,可以促進公眾參與和決策的透明度和公正性,具有重要的研究意義和現(xiàn)實意義。同時,通過在線投票系統(tǒng)的研究和應用,也可以進一步推動互聯(lián)網(wǎng)技術(shù)和計算機技術(shù)的發(fā)展和應用,促進信息社會和數(shù)字經(jīng)濟的發(fā)展。
1.4 國內(nèi)外研究現(xiàn)狀?
在線投票系統(tǒng)是一項利用互聯(lián)網(wǎng)進行投票的技術(shù),將傳統(tǒng)的投票方式轉(zhuǎn)化為更加便捷、高效和安全的網(wǎng)絡投票方式。當前,隨著互聯(lián)網(wǎng)普及率的不斷提高,越來越多的社會機構(gòu)和政府部門選擇在線投票系統(tǒng)作為其選舉和評選活動的投票方式。下面是對在線投票系統(tǒng)在國內(nèi)外的發(fā)展現(xiàn)狀做一個簡要概述。
中國的在線投票系統(tǒng)剛剛起步,市場上的在線投票系統(tǒng)也比較少。目前,中國的在線投票系統(tǒng)主要應用于企業(yè)內(nèi)部的評選活動、機構(gòu)內(nèi)部的選舉以及政府部門的投票。相比于國外,中國的在線投票系統(tǒng)的技術(shù)和服務水平還較為落后,但是隨著技術(shù)的發(fā)展和市場的開拓,中國的在線投票系統(tǒng)有著廣闊的市場前景,目前已有不少投票服務提供商,其中較具代表性的有微信、易發(fā)網(wǎng)絡、問卷星、投票閣等。這些企業(yè)提供了一系列在線投票解決方案,根據(jù)客戶不同需求,選擇不同的投票方式。
總的來說,國內(nèi)的在線投票系統(tǒng)市場雖然發(fā)展較晚,但顯然有著廣闊的市場前景和應用前景。
在線投票系統(tǒng)在國外發(fā)展已相對較早,目前已發(fā)展成熟并得到廣泛應用。主要應用于政治選舉、學術(shù)評選、公共投票等方面,尤其在政治選舉和公共投票方面的應用比較廣泛。下面是主要地區(qū)的發(fā)展現(xiàn)狀。
美國和加拿大是在線投票系統(tǒng)的主要生產(chǎn)國家,多年來已積累了豐富的經(jīng)驗和技術(shù),并廣泛地應用于各行各業(yè),其中政治選舉是最主要的應用領(lǐng)域。隨著科技的不斷進步和投票人口不斷增加,未來在像選舉、網(wǎng)上調(diào)查等大規(guī)模網(wǎng)絡投票方面,美國和加拿大等國將站在更加重要的地位。
歐洲是在線投票系統(tǒng)的主要應用地區(qū)。歐洲各個國家已逐步實現(xiàn)了在線投票的全面普及和廣泛應用。在線投票的主要應用領(lǐng)域包括企業(yè)評選、政治選舉、公共投票、學術(shù)評選等等。
亞洲在線投票的普及率仍比較落后,但亞洲國家普遍擁有著龐大的選民和選舉人,從而引發(fā)了在線投票系統(tǒng)的出現(xiàn)。目前,亞洲的在線投票系統(tǒng)主要應用于企業(yè)內(nèi)部自評選、省級選舉、網(wǎng)上問卷調(diào)查等。
總的來說,隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,在線投票系統(tǒng)市場還將不斷拓寬,同時也將面對各種技術(shù)和安全挑戰(zhàn)。此外,為了滿足用戶更多的需求,未來的在線投票系統(tǒng)將不斷加強用戶體驗和數(shù)據(jù)安全性。
第2章??相關(guān)理論與技術(shù)
為了實現(xiàn)在線投票系統(tǒng)的基本功能,并確保系統(tǒng)具有較高的安全性和易維護性,本系統(tǒng)采用WEB實現(xiàn)技術(shù),將系統(tǒng)設計為B/S結(jié)構(gòu),用戶可通過WEB瀏覽器訪問服務器上的投票題目并進行遠程控制與維護。在眾多服務器端程序?qū)崿F(xiàn)技術(shù)中,本系統(tǒng)選擇了目前流行的JSP技術(shù)作為主要實現(xiàn)手段,輔以HTML、SSM框架、Java Servlet、JavaBean確保投票過程安全且結(jié)果客觀,且可實現(xiàn)跨平臺運行。此外,本系統(tǒng)采用IntelliJ IDEA作為開發(fā)平臺,使用主流的SSM框架,MySQL作為數(shù)據(jù)庫,并使用HTML+CSS,編程語言為JAVA進行開發(fā)。
2.1 IntelliJ IDEA簡介
IntelliJ IDEA是一款由JetBrains公司開發(fā)的,用Java編寫的,適用于Java開發(fā)的集成開發(fā)環(huán)境(IDE)。
IntelliJ IDEA的主要特點是智能化和高效率。它具有強大的代碼提示、自動補全、代碼重構(gòu)等功能,還有豐富的插件和工具支持,可以為Java開發(fā)提供最佳的開發(fā)體驗。同時,它也支持其他語言的開發(fā),如Kotlin、 Groovy、Scala等語言的開發(fā)。
IntelliJ IDEA在開發(fā)效率上也非常出色,具有強大的構(gòu)建系統(tǒng)(Gradle、Maven)、版本控制、調(diào)試工具等。
總之,IntelliJ IDEA是一款功能強大、易用性高的Java開發(fā)工具,受到了Java開發(fā)者的廣泛歡迎和使用。
IntelliJ IDEA是一款由JetBrains開發(fā)的集成開發(fā)環(huán)境(IDE),適用于Java、Kotlin、Groovy和Scala等語言的開發(fā)。IntelliJ IDEA具有強大的代碼編輯、代碼導航和自動補全功能,并支持各種常見框架和技術(shù),如Spring、Hibernate、Maven、Gradle等。同時,IntelliJ IDEA還具有代碼重構(gòu)、代碼分析、測試和調(diào)試等功能,可以在開發(fā)過程中提供全面的支持和幫助。
IntelliJ IDEA的優(yōu)點有很多。首先,它的智能代碼提示和錯誤檢查功能可以大大提高代碼編寫效率和代碼質(zhì)量。其次,它支持多種常見的版本控制系統(tǒng),如Git和SVN,方便團隊協(xié)作開發(fā)。此外,IntelliJ IDEA還支持各種插件和擴展,可幫助開發(fā)人員更好地適應不同項目的需求和工作流程。
總體而言,IntelliJ IDEA是一個強大、靈活和易于使用的開發(fā)工具,被廣泛認為是Java開發(fā)中最好的IDE之一。
2.2 SSM框架簡介
Spring是一個開源的輕量級的JavaEE開發(fā)框架,提供了依賴注入(DI)和AOP(切面編程)等功能,簡化了Java應用開發(fā)的復雜性。
SpringMVC是Spring框架中的一個模塊,是基于MVC設計模式的Web框架,負責請求的分發(fā)和響應的處理。
MyBatis是一個持久化框架,可以將Java對象映射到數(shù)據(jù)庫中的表,使得開發(fā)人員能夠通過對象操作數(shù)據(jù)庫而不必寫SQL語句。
SSM框架將這三個框架組合起來,能夠快速地開發(fā)Web應用,并且保證了應用的高效性、可維護性和可擴展性
SSM是Spring、SSM和Mybatis的縮寫,是由Spring與Mybatis框架整合的一個Web應用程序開發(fā)框架集,其中SSM屬于Spring框架。
Spring它是一個分層的JavaEE full-stack(一站式)輕量級開源框架,無需特殊容器支持,不依賴特定規(guī)范等,為開發(fā)Java應用程序提供全面的基礎(chǔ)架構(gòu)支持。Spring框架的核心為IoC容器和AOP。IoC通過依賴注入來實現(xiàn)控制反轉(zhuǎn),從而實現(xiàn)把創(chuàng)建對象過程交給Spring進行管理。AOP指的是面向切面的編程,利用AOPA可以對業(yè)務邏輯的各個部分的隔離,提高代碼復用率,也便于開發(fā)人員不修改源代碼進行功能增強,從而提高開發(fā)效率。
此次系統(tǒng)整體采用SSM框架,Spring容器框架將Java類統(tǒng)一進行裝配,采用注入的方式生成實例。SpringMVC將業(yè)務分成三層:控制、處理和視圖,各個層的分工非常明確,功能劃分清晰。MyBatis解耦了業(yè)務處理邏輯與數(shù)據(jù)訪問邏輯,同時實現(xiàn)SQL語句與邏輯代碼相互分離,有高度的靈活性,可優(yōu)化性,便于后期維護。
2.3 MySQL數(shù)據(jù)庫簡介
MySQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),廣泛用于Web應用程序開發(fā)和網(wǎng)絡服務器端的數(shù)據(jù)存儲。MySQL由MySQL AB公司開發(fā)并維護,現(xiàn)在是Oracle公司的一部分。MySQL具有性能高、免費、易用、可靠性高等優(yōu)點,并且支持多種操作系統(tǒng)(如Windows、Linux、UNIX等)。MySQL支持SQL語言和多種編程語言(如Java、PHP、Python等),支持多用戶和多線程,并且可擴展性好。在以上特性和優(yōu)點的基礎(chǔ)上,MySQL已經(jīng)成為當前最流行的開源數(shù)據(jù)庫之一。對于任何一個全新開發(fā)的系統(tǒng)應用設計而言,都需要進行數(shù)據(jù)庫的匹配安裝,而此次所設計開發(fā)的智能點餐系統(tǒng)的數(shù)據(jù)庫就是MySQL,之所以會選擇該數(shù)據(jù)庫,主要原因是它能夠進行關(guān)聯(lián)數(shù)據(jù),而且數(shù)據(jù)庫的穩(wěn)定性非常強;同時還因為該數(shù)據(jù)庫具有相對優(yōu)越的使用性能,尤其是在開發(fā)環(huán)境的應用上,能夠體現(xiàn)出其極致的優(yōu)越性和良好的安全性、靈活的性能。除此以外,還因為MySQL數(shù)據(jù)庫在編輯完成之后,可以在任何的系統(tǒng)環(huán)境當中進行使用說明它的兼容性是非常強的,同時它支持多線編程,能夠節(jié)省CPU的暫存空間,同時它的運行速度和安全穩(wěn)定性也是非常強的,更重要的是,它是一款免費的數(shù)據(jù)庫應用產(chǎn)品,可以在系統(tǒng)建設和應用階段省下一些設計成本。
2.4 JAVA編程語言簡介
該項目是在JAVA的基礎(chǔ)上開發(fā)的。編程語言是面向?qū)ο蟮?。JAVA的推出使得整個互聯(lián)網(wǎng)上的交互式應用程序展現(xiàn)出一個新的“世界”。
Java程序在計算機操作系統(tǒng)軟件程序的具體過程中是不可或缺的應用軟件,因為它的質(zhì)量和性能都比較高,能夠用于各種空間領(lǐng)域。在常用的工具軟件程序中,應用比較廣泛。Java編程并沒有那么復雜,借助進一步提升系統(tǒng)設計本身的基礎(chǔ)知識,對于優(yōu)化工作效率也能起到非常強大的作用,同時也是大多數(shù)軟件開發(fā)工程師的首選。
在此次進行系統(tǒng)設計開發(fā)研究的過程當中,還發(fā)現(xiàn)Java程序語言之所以能夠得到市場上更多用戶的好評和青睞,其根本原因在于他能夠具備各種語言的優(yōu)點又有自己的特色,也就是說它的兼容性是常強的,這是Java程序,非常獨特的另一個優(yōu)點。
平臺獨立性、語言靈活性、多線程編輯是Java語言程序的最強展現(xiàn),可以用虛擬機來翻譯一些比較重要的中間翻譯碼,使Java語言程序在虛擬機當中進行正常運行,而且,外語言程序的靈活性也是非常高的,多線程的特性可以實現(xiàn)不同系統(tǒng)和相同語言程序的共同操作,使得互聯(lián)網(wǎng)技術(shù)能夠呈現(xiàn)系統(tǒng)功能應用的更多樣化。
Java編程語言是一種面向?qū)ο蟮木幊陶Z言。它最初是由Sun Microsystems開發(fā)的,目的是解決嵌入式系統(tǒng)中的硬件和軟件間的通信問題。Java憑借其跨平臺的特點,在互聯(lián)網(wǎng)應用方面得到了廣泛應用。Java的主要特點包括:
(1)簡單易學:Java語言舍去了C++中的一些復雜的特性,降低了學習Java的門檻。
(2)跨平臺性:Java可以在不同的操作系統(tǒng)平臺上運行。Java的跨平臺特性是通過Java虛擬機實現(xiàn)的。
(3)面向?qū)ο螅篔ava是一種面向?qū)ο蟮木幊陶Z言,它提供了封裝、繼承和多態(tài)等面向?qū)ο筇匦浴?/span>
(4)安全性:Java提供了一些安全機制,如不允許未經(jīng)授權(quán)的訪問系統(tǒng)資源,不允許將指針操作等,從而提高了程序的安全性。
(5)高性能:在運行速度方面,Java與C++相比略遜一籌,但它的高性能主要體現(xiàn)在運行速度和程序開發(fā)時的效率方面。
Java的主要應用領(lǐng)域包括企業(yè)級應用、Web應用、移動應用和游戲開發(fā)等。在企業(yè)級應用領(lǐng)域,Java技術(shù)已被廣泛應用于服務器系統(tǒng)和數(shù)據(jù)庫開發(fā)等方面,在Web應用領(lǐng)域,Java語言也是最廣泛使用的一種語言。
2.5 B/S架構(gòu)
B/S架構(gòu)是一種將客戶設計和服務器分開,以便客戶可以使用瀏覽器訪問服務端并進行操作。
當今,B/S結(jié)構(gòu)在許多系統(tǒng)的搭建中得到了應用,該結(jié)構(gòu)去除了C/S結(jié)構(gòu)的弊端,因此擁有了更多的優(yōu)點:
(1)B/S標準的確立是通過標準化組織實現(xiàn)的,它適用于絕大多數(shù)系統(tǒng)的構(gòu)建,并且可以在不同應用場景之間使用。
(2)通過將客戶端和服務器端分離,有效減輕了兩端的壓力,特別是在客戶端方面,其對設備、硬件和軟件的要求相對較低。此外,當系統(tǒng)需要升級或維護時,只需在服務器端進行升級或維護即可,從而實現(xiàn)了相應費用的降低。
2.6MySQL環(huán)境配置
MyEclipse是一款基于Eclipse平臺的商業(yè)化Java開發(fā)工具,支持Web、企業(yè)級、桌面應用程序等多種應用的開發(fā)。以下是MyEclipse環(huán)境配置的步驟:
1. 下載MyEclipse
在官網(wǎng)上下載MyEclipse的安裝包,可以試用30天或者購買正式版。
2. 安裝MyEclipse
解壓下載的安裝包,雙擊運行安裝程序,一路點擊“Next”即可。
3. 配置Java環(huán)境變量
在系統(tǒng)環(huán)境變量中配置Java的變量。找到系統(tǒng)環(huán)境變量里的“Path”,添加Java的bin目錄路徑。
4. 啟動MyEclipse
雙擊MyEclipse圖標啟動軟件,選擇“create a new workspace”或者直接打開一個已有的工作空間。
5. 配置Tomcat
在MyEclipse菜單欄里選擇“Window” -> “Preferences”,在左側(cè)項目中找到“Server” -> “Runtime Environments”,點擊“Add”按鈕,添加Tomcat的安裝目錄。
6. 擴展MyEclipse
可以在MyEclipse市場中心下載和安裝各種插件和擴展包,擴展軟件的功能和方便性。
以上是MyEclipse環(huán)境配置的簡要步驟,可根據(jù)個人需要作相應調(diào)整。
2.7本章小結(jié)
這個部分講述了網(wǎng)站所用到的一些技術(shù)支撐,對這些技術(shù)從自己理解的層面結(jié)合網(wǎng)上官方的回答向讀到這篇論文的學者呈現(xiàn)出來,從而讓讀到該項目論文的讀者了解該系統(tǒng)的技術(shù)支撐,同時最后也大概的描述了網(wǎng)站的主要內(nèi)容。
第2章??系統(tǒng)分析
3.1 ?系統(tǒng)設計目標
設計并開發(fā)一個基于Java的在線投票系統(tǒng),包括用戶管理、投票管理、統(tǒng)計分析等模塊。實現(xiàn)用戶的注冊、登錄、個人信息管理等功能,確保用戶信息的隱私和準確性。實現(xiàn)投票的創(chuàng)建、編輯、刪除等功能,確保投票信息的完整性和準確性。實現(xiàn)投票流程控制,包括投票的開始、結(jié)束、延期等功能,確保投票的公平性和透明度。實現(xiàn)投票的計數(shù)和數(shù)據(jù)分析功能,包括投票的參與度、最受歡迎的選項、投票結(jié)果等指標,為系統(tǒng)運營提供數(shù)據(jù)支持。實現(xiàn)系統(tǒng)的穩(wěn)定性和安全性,包括數(shù)據(jù)備份、系統(tǒng)監(jiān)控、異常處理等功能,確保系統(tǒng)的可靠性和可用性。對系統(tǒng)進行性能測試和優(yōu)化,確保系統(tǒng)的響應速度和并發(fā)能力。提供友好的用戶界面和操作體驗,提高用戶滿意度和使用體驗。
3.2 ?系統(tǒng)的可行性分析
(1)技術(shù)可行性
在線投票的系統(tǒng)設計選擇了IntelliJ IDEA作為開發(fā)平臺,采用主流的SSM框架作為開發(fā)框架,MySQL作為數(shù)據(jù)庫,開發(fā)了這個在線投票系統(tǒng),該系統(tǒng)技術(shù)上使用HTML+CSS,編程語言是JAVA語言進行開發(fā)。技術(shù)上這幾種語言已經(jīng)非常完善和成熟了,是能夠很好地完成在線投票系統(tǒng)技術(shù)上的開發(fā),技術(shù)方面的可行度還是相當高的。[9]由于在線投票系統(tǒng)的實現(xiàn)是對硬件的要求相當?shù)偷?,并且相對于現(xiàn)如今人們所使用的計算機均可滿足使用,所以在當前技術(shù)上考慮該系統(tǒng)開發(fā)是可行性的。
(2)操作可行性分析
隨著計算機的普及和生活水平的提高,如今基本人手一臺筆記本電腦,而該系統(tǒng)幾乎現(xiàn)如今所有的電腦都能運行,同時在不同機型的筆記本上均不會改變它的設置和布局,在線投票系統(tǒng)使用B/S架構(gòu),基于瀏覽器的設計模式,系統(tǒng)對于管理人員的計算機水平要求并不高。[10]簡潔的圖形操作界面,清晰明了的布局,讓用戶幾乎不需要太多的理解成本,簡單地說明指導后,用戶就可以十分方便快捷進行使用操作。所以在操作上考慮該系統(tǒng)開發(fā)是可行的[11]。
(3)經(jīng)濟可行性分析
在線投票系統(tǒng)的開發(fā)過程中所使用的IntelliJ IDEA、MySQL、Tomcat這些都是開源免費的軟件,成本非常低,其系統(tǒng)運行對設備配置的要求也不算太高,用自己的電腦就可以完成,所以開發(fā)成本非常低。而且該系統(tǒng)極大地提高了教學完整度[12]。因此從經(jīng)濟方面考慮該系統(tǒng)開發(fā)是可行的。
?
3.3 ?需求分析
3.3.1 業(yè)務環(huán)境
可以涵蓋政治投票、學校評選、活動投票等各個方面。例如,政治投票中可以對政治候選人進行投票;學校評選中可以對優(yōu)秀學生、杰出教師等進行評選;活動投票中可以對活動方案、主持人、表演節(jié)目等進行投票。在線投票系統(tǒng)的應用范圍廣泛,可以滿足各種投票需求,提高投票的效率和準確性。
在政治投票中,該系統(tǒng)可以實現(xiàn)多種選舉方式,如單選、多選、復雜投票等。管理員可以創(chuàng)建選舉話題、設置投票規(guī)則、設定選舉候選人、開啟投票等操作。候選人可以展示自己的個人信息、選舉綱領(lǐng)、競選宣言等,吸引選民的支持。投票結(jié)果可以實時統(tǒng)計,并進行可視化展示、導出等操作,以便分析和使用。
在學校評選中,該系統(tǒng)可以實現(xiàn)對學生、教師、輔導員等候選人進行評選和投票。管理員可以設定評選節(jié)目、設置評選標準、設定候選候選人名單,支持多輪投票和優(yōu)秀評選等實現(xiàn)。候選人可以展示自己的獲獎經(jīng)歷、成績等,并吸引投票者的認同和支持。
在活動投票中,該系統(tǒng)可以實現(xiàn)對活動主持人、方案、節(jié)目等進行投票。管理員可以創(chuàng)建投票話題、設定投票規(guī)則、設定投票選手名單、關(guān)聯(lián)活動場次等操作。選手可以展示自己的節(jié)目創(chuàng)意、表演技巧等,引起投票者喜歡。
綜上所述,在線投票系統(tǒng)的應用場景十分廣泛,可以滿足各種投票需求,提高投票的效率和準確性,節(jié)約成本和節(jié)約時間。
?
3.3.2 用戶需求分析
本設計是在線投票系統(tǒng),主要是通過用戶和投票者實現(xiàn)投票項目的發(fā)起和投票的展開,然后研究開發(fā)出一個在線投票系統(tǒng),該投票系統(tǒng)在投票的管理模塊里,管理員可以設置當前投票的主題、添加投票主題、刪除投票的主題、修改投票、管理投票的相關(guān)信息等。在投票功能模塊里可以實現(xiàn)用戶投票、顯示投票的結(jié)果、統(tǒng)計投票的數(shù)量等,還可以對用戶的投票數(shù)量進行限制,用戶投完票后還可以對其進行留言等操作。
3.3.3 功能需求分析
通過對在線投票系統(tǒng)進行了全面的調(diào)查,以及在分析的基礎(chǔ)上制定出了在線投票系統(tǒng)的系統(tǒng)總體的規(guī)劃。系統(tǒng)功能模塊包括有:用戶模塊、投票者模塊、管理員模塊。用戶模塊:該模塊用于管理系統(tǒng)的注冊、登錄、修改密碼等功能。具體功能包括:
(1)用戶注冊:用戶可以進行注冊并填寫個人信息。注冊信息包括用戶名、密碼、電子郵箱等必填項。注冊成功后系統(tǒng)會自動向用戶的郵箱發(fā)送一封確認郵件,用戶需要根據(jù)郵件內(nèi)容進行驗證并激活賬號。
(2)用戶登錄:已注冊的用戶可以使用用戶名和密碼進行登錄,登錄成功后可以進行下一步操作。
(3)修改密碼:用戶可以在登錄后進行密碼的修改,需要輸入舊密碼和新密碼兩次進行確認。
投票者模塊:該模塊用于管理投票者的投票、查看投票結(jié)果等功能。具體內(nèi)容包括:
(1)投票功能:投票者可以在投票選項中進行選擇并進行投票,投票后可以查看當前的投票結(jié)果。
(2)查看投票結(jié)果:投票者可以查看當前投票選項的投票結(jié)果,了解當前的投票情況。
管理員模塊:該模塊用于管理整個系統(tǒng)的后臺管理,包括用戶管理、投票管理、在線留言管理、論壇區(qū)管理、系統(tǒng)配置等功能。具體內(nèi)容包括:
(1)用戶管理:管理員可以對注冊用戶進行管理,包括用戶信息的修改、刪除等操作。
(2)投票管理:管理員可以對系統(tǒng)中的投票進行管理,包括投票選項的添加、修改、刪除等操作。
(3)系統(tǒng)配置:管理員可以對系統(tǒng)進行配置,包括網(wǎng)站名稱、網(wǎng)站LOGO、SEO信息等設置。同時還可以設置投票規(guī)則、參與者身份等其他參數(shù)。
管理員登錄成功,進入系統(tǒng)后,管理員的功能有個人中心、投票者的管理、用戶的管理、投票主題的管理、投票信息的管理、投票結(jié)果的管理、在線留言、論壇區(qū)、系統(tǒng)管理等功能。管理員用例圖如圖1所示

用戶登錄成功進入系統(tǒng)后,可以使用個人中心、投票信息管理、投票結(jié)果管理。用戶用例圖如圖3-2所示。

投票者成功登錄,進入系統(tǒng)后,投票者可以使用的功能有:個人中心、投票信息管理、投票結(jié)果管理。投票者用例圖如圖3-3所示。

3.3.4 ?用戶操作流程
在線投票系統(tǒng)分為用戶界面和管理界面兩個部分。為了確保數(shù)據(jù)的安全性,用戶提交登錄信息,系統(tǒng)通過數(shù)據(jù)驗證后,用戶才可以使用系統(tǒng)中的一些功能。
用戶登錄流程圖如圖3-3-1所示。

3.3.5 管理員操作流程
管理員主要是對賬號信息、投票者、進行添加、刪除、編輯、查詢、對用戶投票者的設置。該功能實現(xiàn)后臺用戶的登錄功能,不同用戶對應的角色是不同的,不同的角色對應不同的權(quán)限,系統(tǒng)管理員會給予分配。不同的角色根據(jù)自己不同的權(quán)限進行相應的操作,若想改變角色只有獲得管理員的權(quán)限才能進行角色的更改。管理員對新增投票的流程圖如3-3-2所示

管理員添加用戶流程圖如3-3-3所示。

管理員管理投票流程圖如3-3-4所示

3.3.6系統(tǒng)性能需求分析
該在線投票系統(tǒng)在主要功能方面應該達到如下要求:
1可擴展性
該系統(tǒng)的設計是在目前所需要的功能為目標的基礎(chǔ)上進行設計研發(fā)的,為了適應未來實際的需求的變化,給未來的功能提供更便捷的擴展和維護,我們必須去考慮到系統(tǒng)的擴展問題,在現(xiàn)有的基礎(chǔ)上去增加功能時,系統(tǒng)原本的框架和功能點不會被太大的影響。
2穩(wěn)定性
在線投票系統(tǒng)的使用度十分的廣泛,因此,該系統(tǒng)的運行必須要穩(wěn)定,可靠的同時,也要高效,因此,在按照功能進行劃分時,要使得他們不會有強烈的依賴,這樣才能保持系統(tǒng)的穩(wěn)定性,提高用戶的使用舒適度。
3易用性
該在線投票系統(tǒng)是為了在線投票系統(tǒng)所開發(fā),因此必須開發(fā)一個易操作且高效的系統(tǒng),避免有些用戶未使用過電腦系統(tǒng)而不會操作,同時在易操作和的基礎(chǔ)上,我們還應該做到界面的美觀,這樣才能讓用戶有更好的體驗感。
4流暢性
一個好的系統(tǒng),它的流暢性是必須要好的,要想有一個好的流暢性,需要考慮的地方無疑是需要更加全面的,不是簡單的程序運行起來就可以,我們還應該更多的去考慮代碼的運行效率即合理的算法設置等,通過這些操作來提高內(nèi)存與系統(tǒng)同用戶之間的一個響應速度,讓使用者擁有一個全新且舒適的使用效果。對此,我們可以刪除不需要的一些屬性,提高布局復用,同時通過線程等方法去優(yōu)化該系統(tǒng)的啟動速度。
5安全性
該在線投票系統(tǒng)由于可以應用于所有的瀏覽器,因此,這個應用程序有很多關(guān)于用戶和管理員的信息,其中應用程序必須建立安全機制和權(quán)限設置,以確保操作用戶身份的合法性,并防止未經(jīng)授權(quán)的操作。它可以保證用戶連接的真實性,提高用戶連接的真實性,同時也保護了用戶的個人信息,讓用戶個人信息的安全得到了具體的保障。
3.4系統(tǒng)維護分析
近幾年來,隨著系統(tǒng)的崛起,越來越多的店鋪開始對系統(tǒng)進行了研發(fā),隨著系統(tǒng)的日益增多,系統(tǒng)的維護也成為了一個無法逃避的問題,因此,本塊對系統(tǒng)的維護進行了簡單的介紹。系統(tǒng)維護包括以下幾個方面的工作:
在系統(tǒng)的維護過程中,常常會遇到問題,使得程序需要做出相應改動,這些問題基本是沒有辦法去避免的,所以務必在每次維護的同時進行最大限度的改進,否則一旦問題堆積后,完后對程序的改動會比較大,增加了維難度和維護工作量。例如:常見的系統(tǒng)會遇到不符合要求的錯誤數(shù)據(jù),那么系統(tǒng)就會出現(xiàn)錯誤,從而導致整個系統(tǒng)的中斷。系統(tǒng)長時間被用戶使用,用戶會對其系統(tǒng)日漸了解,相應的會反饋一些我們未發(fā)現(xiàn)的漏洞,或者隨著社會發(fā)展隨著時間,環(huán)境,大勢變化,用戶會要求臺添加相應需求項目,到了這個階段,一些軟件就要進行維修了。
(2)進行實時更新和維護的數(shù)據(jù)庫:當因為一些操作和需求的改變,這個時候我們就需要對現(xiàn)在的這個數(shù)據(jù)庫進行一個與各種操作的改變同時發(fā)生的一個轉(zhuǎn)變,并需要對庫進行一個隨時的保養(yǎng)和維護。
(3)代碼的保養(yǎng)與維護:隨著社會發(fā)展隨著時間,環(huán)境,大勢變化,系統(tǒng)長時間被用戶使用,相應的會反饋一些我們未發(fā)現(xiàn)的漏洞,然后需要改進代碼,在原有的基礎(chǔ)上改進代碼,或者重新編寫代碼。一般來說,運行新代碼是代碼維護的難點,所以系統(tǒng)需要專業(yè)人員來負責代碼維護。
3.5?本章小結(jié)
本章主要內(nèi)容為系統(tǒng)需求分析工作,通過系統(tǒng)情況概述明確了系統(tǒng)的用戶和使用場景,利用系統(tǒng)功能性分析明確系統(tǒng)的核心功能,非功能行分析主要包括網(wǎng)站的可行性分析,數(shù)據(jù)分析,同時網(wǎng)站的可行性分析中又分為3大部分,分別為:經(jīng)濟可行性,技術(shù)可行性,操作可行性,根據(jù)前面針對系統(tǒng)情況、功能和非功能方面的分析結(jié)果,對系統(tǒng)的用例圖進行了簡要說明,通過這幾部分工作共同完成了系統(tǒng)需求分析工作,為系統(tǒng)設計開發(fā)工作做準備。
第4章 系統(tǒng)的詳細設計
4.1 系統(tǒng)功能模塊設計
本文的軟件設計目標是建立一個在線投票系統(tǒng),該系統(tǒng)需要滿足用戶對系統(tǒng)功能的需求,同時也要保證系統(tǒng)和使用者之間具有良好的互動。為此,我們采用了模塊化設計理念,將整個系統(tǒng)劃分為多個相對獨立又相互關(guān)聯(lián)的子項目,每個項目都有相應的接口與之相連。這樣的設計可以保證系統(tǒng)的安全性和穩(wěn)定性,同時提高用戶的使用體驗。
在這個體系結(jié)構(gòu)下,我們將每個功能都做了細致的劃分,并從功能、接口以及邏輯等方面進行了細致解剖。通過這樣的設計,可以將一堆作品分解成若干個小塊,每個小塊包含著大量的細節(jié)內(nèi)容。將這些細枝末節(jié)處理好了,一切都將變得完滿起來。
通過模塊化設計,可以對系統(tǒng)軟件進行擴展,面向管理員對管理方案進行模塊擴展。例如在在線投票系統(tǒng)中,我們設計了投票者和管理員兩種角色,每個角色擁有不同的功能模塊。這樣的設計可以幫助管理員根據(jù)需要進行操作、調(diào)整和維護,并最終根據(jù)需要完成任務,系統(tǒng)的功能結(jié)構(gòu)圖如圖4.1所示。

4.2數(shù)據(jù)庫設計
MySQL數(shù)據(jù)庫是本系統(tǒng)所采用的數(shù)據(jù)存儲方式,具體展示了主要數(shù)據(jù)表的結(jié)構(gòu)如下:
在線留言表是網(wǎng)站上一種允許訪問者留言反饋的表單工具。在線留言表結(jié)構(gòu)如表?4-2所示。

論壇區(qū)表格是一種在線數(shù)據(jù)表格工具,可以用于收集、整理和分析用戶提交的信息或數(shù)據(jù),論壇區(qū)表格結(jié)構(gòu)如表?4-3所示。

用戶信息表記錄了系統(tǒng)中所有用戶的基本信息及相關(guān)屬性。用戶信息表結(jié)構(gòu)如表?4-4所示。

投票主題表是用于組織投票,記錄投票開始時間和截止時間并收集和整理投票結(jié)果。投票主題表結(jié)構(gòu)如表?4-5所示。

投票信息表是用于記錄投票活動中投票選項、票數(shù)、參與人員等相關(guān)信息的數(shù)據(jù)表。投票信息表結(jié)構(gòu)如表?4-6所示。

投票結(jié)果表是一種記錄選舉或投票活動中各項選項得票情況的統(tǒng)計表。投票結(jié)果表結(jié)構(gòu)如表?4-7所示。

4.3本章小結(jié)
該章主要介紹了網(wǎng)站的設計原則,工作原理,功能的操作流程,需求分析以及數(shù)據(jù)庫的設計,以及用戶對數(shù)據(jù)的增刪改查的流程進行了展示。
第5章 系統(tǒng)實現(xiàn)
5.1登錄
系統(tǒng)內(nèi)的管理員或者普通用戶進入系統(tǒng)都需要通過賬號密碼輸入進行登錄,用戶根據(jù)自己的角色進行選擇同時輸入正確的賬號和密碼即可進入系統(tǒng),實現(xiàn)界面見圖5-1。

登錄頁面實現(xiàn)代碼如下:
/**
?* 登錄
?*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("賬號或密碼不正確");
}
if(!"是".equals(u.getSfsh())) return R.error("賬號已鎖定,請聯(lián)系管理員審核。");
String token = tokenService.generateToken(u.getId(), username,"yonghu", ?"用戶" );
return R.ok().put("token", token);
}
5.2 管理員功能模塊
管理員可以查看用戶和投票者的賬戶信息,管理員還可以對用戶的賬號信息進行添加、刪除、修改、查詢。該模塊功能實現(xiàn)了后臺用戶的登錄功能,不同的用戶對應的角色是不同的,同理不同的角色對應的權(quán)限也是不同的,系統(tǒng)管理員可以對角色進行修改。角色管理界面如圖5-2,5-3所示。


5.3用戶功能模塊
投票主題管理界面主要功能包括設置投票的主題,進行添加、查詢、修改、刪除。當管理員在點擊投票主題管理菜單時,默認顯示的是投票主題的信息列表,還可以對投票主題進行查詢,點擊相應的菜單進入詳情頁面,可以編輯投票主題的信息,點擊刪除按鈕將會移除投票主題的信息。投票主題管理界面如圖5-4所示。

實現(xiàn)代碼如下:
/**
?????* 列表
?????*/
????@RequestMapping("/lists")
????public R list( ToupiaozhutiEntity toupiaozhuti){
??????? EntityWrapper<ToupiaozhutiEntity> ew = new EntityWrapper<ToupiaozhutiEntity>();
?????? ew.allEq(MPUtil.allEQMapPre( toupiaozhuti, "toupiaozhuti"));
????????return R.ok().put("data", toupiaozhutiService.selectListView(ew));
????}
?
?/**
?????* 查詢
?????*/
????@RequestMapping("/query")
????public R query(ToupiaozhutiEntity toupiaozhuti){
????????EntityWrapper< ToupiaozhutiEntity> ew = new EntityWrapper< ToupiaozhutiEntity>();
? ?ew.allEq(MPUtil.allEQMapPre( toupiaozhuti, "toupiaozhuti"));
ToupiaozhutiView toupiaozhutiView = ?toupiaozhutiService.selectView(ew);
return R.ok("查詢投票主題成功").put("data", toupiaozhutiView);
????}
5.4 本章小結(jié)
本章節(jié)介紹了在線投票系統(tǒng)的各種功能,并且在這章節(jié)里面我詳細的介紹了網(wǎng)站的這些頁面所能執(zhí)行的一些操作,當?shù)谝淮尾僮髟摼W(wǎng)站的用戶可以迅速上手,同時,讓讀者對網(wǎng)站的實現(xiàn)的具體功能有一個大概的了解。
第6章 系統(tǒng)測試
6.1 ?測試目的
完成在線投票系統(tǒng)的程序代碼編寫并不能代表軟件開發(fā)工作已經(jīng)結(jié)束。在軟件項目中,開發(fā)人員通常對軟件開發(fā)過程的一些細節(jié)缺乏了解,導致程序編寫方面存在許多失誤。為了確保在線投票系統(tǒng)的正常運行,測試工作是軟件工程學領(lǐng)域中不可或缺的一部分,也是提高軟件質(zhì)量的重要途徑之一。通過設計有效的測試用例,測試人員可以及時發(fā)現(xiàn)程序編寫中的各種錯誤,分析錯誤的位置以及其對其他部分的可能影響,最終提高投票系統(tǒng)的完整性、完善性,以及提高實現(xiàn)最初設計的目標性。
測試工作在開發(fā)在線投票系統(tǒng)時也是必不可少的一項任務。我們將采用測試用例的方式進行測試。測試用例是一項根據(jù)軟件可靠性理論提出的性能測試操作,它針對特定的軟件進行性能測試,包括測試目標、環(huán)境、數(shù)據(jù)、步驟、預期和結(jié)果等方面。測試用例的質(zhì)量好壞將直接影響到整個投票系統(tǒng)的優(yōu)劣。測試用例包括用例標題、前置條件、測試流程和預期成果這四個核心要素。在整個軟件開發(fā)過程中,測試用例具有非常關(guān)鍵的地位,如果沒有完善有效的測試用例,就無法完成對在線投票系統(tǒng)的可靠性與安全性的測試工作。測試軟件的某個功能在用例標題中得到了詳細描述,而前置條件則是指用例所需滿足的條件。測試步驟著重描述了用例的操作步驟,預期結(jié)果則是測試結(jié)果是否符合開發(fā)設計的預期要求。
針對在線投票系統(tǒng)的測試用例的設計與執(zhí)行,將能夠幫助我們發(fā)現(xiàn)并改進系統(tǒng)的漏洞,提高系統(tǒng)的整體性能。因此,測試工作的重要性不容忽視,只有這樣才能確保在線投票系統(tǒng)能夠高效、穩(wěn)定、安全地運行。
6.2 ?測試內(nèi)容
6.2.1 ?用戶注冊功能測試
在在線投票系統(tǒng)上檢查用戶注冊功能是否正常運作,輸入用戶個人信息,并填寫測試用戶名和密碼。隨后,填寫用戶信息注冊模塊的測試用例表,如表6-1用戶信息注冊功能測試用例。

6.2.2 ?用戶登錄功能測試
在線投票系統(tǒng)需要測試其登錄功能是否正??捎?。為此,需要先測試輸入有效的登錄憑證是否能成功登錄系統(tǒng),以確保系統(tǒng)登錄功能無問題。同時,還需要測試當用戶輸入無效的憑證時,是否仍可成功登錄系統(tǒng),以驗證系統(tǒng)具有容錯功能。如表6-2用戶信息登錄功能測試用例。

6.2.3 ?上傳個人信息功能測試
驗證在線投票系統(tǒng)的信息上傳功能是否正常。即當用戶填寫相關(guān)信息進行投票時,是否可以成功提交。如表6-3上傳信息功能測試用例所示。

6.2.4 ?修改個人信息功能測試
個人信息修改功能是否正常使用,信息被選中后是否可以輸入和修改,系統(tǒng)是否可以正確修改,個人信息模塊測試用例表是否可以修改,如表6.4所示。

6.2.5??投票功能測試
檢查投票功能是否正常。用戶在填寫投票時,是否能成功提交。投票管理模塊測試用例表如表6-5所示。

結(jié)?論
該在線投票系統(tǒng)是經(jīng)過詳細的需求分析和各功能模塊的精細設計,在規(guī)范的編碼實現(xiàn)和嚴格的功能測試后完成的。在用戶使用和經(jīng)過測試、修改和調(diào)試后,該系統(tǒng)的運行情況良好,各項功能均達到設計要求。除了在校、公司、組織等局域網(wǎng)絡環(huán)境中供內(nèi)部人員使用,還可以以插件形式嵌入門戶網(wǎng)站供廣大互聯(lián)網(wǎng)用戶使用。因此,該系統(tǒng)具有龐大的市場需求和非常廣泛的應用前景。
該系統(tǒng)利用了SSM框架技術(shù)及其他Java語言基礎(chǔ)技術(shù)(如JSP、JavaBean、攔截器、數(shù)據(jù)庫連接等),MySQL作為數(shù)據(jù)庫,使系統(tǒng)開發(fā)高效快速地完成。其中系統(tǒng)實現(xiàn)系統(tǒng)管理員登錄以提供身份認證功能,采用的是流行的JSP+MySQL組合技術(shù)實現(xiàn)動態(tài)頁面編程。系統(tǒng)頁面采用紫色圖片背景,前臺投票頁面題目列表顯示清晰,后臺管理頁面采用左右框架式設計,十分美觀。制作工具主要有Dreamweaver和Photoshop等網(wǎng)頁制作工具以及圖片處理軟件。
該系統(tǒng)具有投票題目管理、用戶身份驗證、新增圖片投票模塊、投票結(jié)果餅狀圖顯示、防止惡意刷票等優(yōu)點,具有實用性強、移植性好、可擴展性高、界面簡單易用的特性。然而,由于時間和精力的限制,該系統(tǒng)還存在功能不夠全面、界面不夠美觀以及突發(fā)性故障處理不夠好等不足之處。
參考文獻
[1]周敏.基于區(qū)塊鏈的安全電子投票方案研究[D].導師:王化群.南京郵電大學,2022.
[2]胡南方.基于區(qū)塊鏈的電子投票技術(shù)研究與實現(xiàn)[D].導師:沈蘇彬.南京郵電大學,2022.
[3]李藝佳.惡意環(huán)境下投票系統(tǒng)可靠性分析[D].導師:胡瀟瀟.蘭州大學,2022.
[4]張忠孝,李雙遠,丁勤.基于Web的高校職稱評審投票系統(tǒng)的設計與實現(xiàn)[J].吉林化工學院學報,2021,(07):29-35.
[5]曾國強,王楚虹,黃江,師文慶.基于微信小程序投票系統(tǒng)設計[J].機電工程技術(shù),2020,(01):159-161.
[6]楊成義,林煌,李楚貞.基于ASP.NET的在線投票系統(tǒng)的設計與實現(xiàn)[J].信息與電腦(理論版),2019,(11):106-107.
[7]蔣嵩林.基于微信支付平臺的在線投票系統(tǒng)[J].軟件,2019,(03):118-121.
[8]李中帥.基于WEB的職稱評聘投票系統(tǒng)的研發(fā)[J].長春工程學院學報(自然科學版),2018,(04):90-94.
[9]劉瑾.基于MVC的投票系統(tǒng)的實現(xiàn)[J].電腦知識與技術(shù),2018,(29):117-118.
[10]劉超.基于Spring Boot+Mybatis的在線投票管理系統(tǒng)的設計與實現(xiàn)[D].導師:孫永雄.吉林大學,2018.
[11]陳海輝,余杰,秦棟.基于PHP的有線投票系統(tǒng)[J].中國有線電視,2018,(08):952-954.
[12]吳三柱.基于ASP的在線投票系統(tǒng)設計與實現(xiàn)[J].價值工程,2018,(19):203-204.
[13]Alves Jo?o,Pinto António. On the Implementation of a Blockchain-Assisted Academic Council Electronic Vote System[J]. Smart Cities,2023,6(1).
[14]Drago? C?t?lin BARBU, Gabriela DOBRI?A (ENE), Simona Vasilica OPREA, Adela B?RA, Vlad DIACONI?A. Challenges and benefits of Blockchain-based Electronic Voting System[J]. Romanian Journal of Information Technology and Automatic Control (RRIA),2022,32(4).
參考文獻
[1]周敏.基于區(qū)塊鏈的安全電子投票方案研究[D].導師:王化群.南京郵電大學,2022.
[2]胡南方.基于區(qū)塊鏈的電子投票技術(shù)研究與實現(xiàn)[D].導師:沈蘇彬.南京郵電大學,2022.
[3]李藝佳.惡意環(huán)境下投票系統(tǒng)可靠性分析[D].導師:胡瀟瀟.蘭州大學,2022.
[4]張忠孝,李雙遠,丁勤.基于Web的高校職稱評審投票系統(tǒng)的設計與實現(xiàn)[J].吉林化工學院學報,2021,(07):29-35.
[5]曾國強,王楚虹,黃江,師文慶.基于微信小程序投票系統(tǒng)設計[J].機電工程技術(shù),2020,(01):159-161.
[6]楊成義,林煌,李楚貞.基于ASP.NET的在線投票系統(tǒng)的設計與實現(xiàn)[J].信息與電腦(理論版),2019,(11):106-107.
[7]蔣嵩林.基于微信支付平臺的在線投票系統(tǒng)[J].軟件,2019,(03):118-121.
[8]李中帥.基于WEB的職稱評聘投票系統(tǒng)的研發(fā)[J].長春工程學院學報(自然科學版),2018,(04):90-94.
[9]劉瑾.基于MVC的投票系統(tǒng)的實現(xiàn)[J].電腦知識與技術(shù),2018,(29):117-118.
[10]劉超.基于Spring Boot+Mybatis的在線投票管理系統(tǒng)的設計與實現(xiàn)[D].導師:孫永雄.吉林大學,2018.
[11]陳海輝,余杰,秦棟.基于PHP的有線投票系統(tǒng)[J].中國有線電視,2018,(08):952-954.
[12]吳三柱.基于ASP的在線投票系統(tǒng)設計與實現(xiàn)[J].價值工程,2018,(19):203-204.
[13]Alves Jo?o,Pinto António. On the Implementation of a Blockchain-Assisted Academic Council Electronic Vote System[J]. Smart Cities,2023,6(1).
[14]Drago? C?t?lin BARBU, Gabriela DOBRI?A (ENE), Simona Vasilica OPREA, Adela B?RA, Vlad DIACONI?A. Challenges and benefits of Blockchain-based Electronic Voting System[J]. Romanian Journal of Information Technology and Automatic Control (RRIA),2022,32(4).