spring boot大学生综合素质测评系统 毕业设计源码162308
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Springboot大學(xué)生綜合素質(zhì)測評系統(tǒng)
摘 要
本論文主要論述了如何使用java語言開發(fā)一個(gè)Springboot大學(xué)生綜合素質(zhì)測評系統(tǒng),本系統(tǒng)將嚴(yán)格按照軟件開發(fā)流程進(jìn)行各個(gè)階段的工作,采用B/S架構(gòu),面向?qū)ο缶幊趟枷脒M(jìn)行項(xiàng)目開發(fā)。本文將論述大學(xué)生綜合素質(zhì)測評系統(tǒng)的當(dāng)前背景以及系統(tǒng)開發(fā)的目的,后續(xù)章節(jié)將嚴(yán)格按照軟件開發(fā)流程,對系統(tǒng)進(jìn)行各個(gè)階段分析設(shè)計(jì)。
大學(xué)生綜合素質(zhì)測評系統(tǒng)的主要使用者分為管理員和用戶,實(shí)現(xiàn)功能包括:首頁、用戶管理(管理員、學(xué)生、老師)、更多管理(素質(zhì)成績管理、申請測評成績管理期末總結(jié)建議管理、統(tǒng)計(jì)分析、學(xué)生分配等)由于本系統(tǒng)的功能模塊設(shè)計(jì)比較全面,所以使得整個(gè)大學(xué)生綜合素質(zhì)測評系統(tǒng)的過程得以完善。
關(guān)鍵詞:MYSQL數(shù)據(jù)庫;學(xué)生測評;Springboot框架
Springboot college students' comprehensive quality evaluation system
Abstract
This paper mainly discusses how to use java language to develop a springboot college students' comprehensive quality evaluation system. This system will carry out the work of each stage in strict accordance with the software development process, and adopt B / S architecture and object-oriented programming idea for project development. This paper will discuss the current background of the garbage collection system and the purpose of system development. The subsequent chapters will analyze and design the system in each stage in strict accordance with the software development process.
The main users of the comprehensive quality evaluation system for college students are divided into administrators and users. The realized functions include: home page, user management (administrators, students and teachers), more management (quality score management, application evaluation score management, final summary and suggestion management, statistical analysis, student distribution, etc.), Therefore, the whole process of College Students' comprehensive quality evaluation system can be improved.
Key words?:Mysql database; Student asseSpringbootent; Springboot framework
?目 ?錄
摘 要
1 緒論
1.1研究背景
1.2研究現(xiàn)狀
1.3研究內(nèi)容
2 相關(guān)技術(shù)介紹
2.1 相關(guān)技術(shù)說明
2.2 B/S體系工作原理
2.3 Springboot框架介紹
2.4 MySQL簡介
2.5 JavaScript運(yùn)行模式
3 系統(tǒng)分析
3.1 可行性分析
3.1.1 技術(shù)可行性
3.1.2經(jīng)濟(jì)可行性
3.1.3操作可行性
3.2 系統(tǒng)性能分析
3.3 系統(tǒng)功能分析
3.4系統(tǒng)流程分析
3.4.1登錄流程
3.4.2注冊流程
3.4.3添加信息流程
3.4.4刪除信息流程
4 系統(tǒng)設(shè)計(jì)
4.1系統(tǒng)概要設(shè)計(jì)
4.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
4.3系統(tǒng)順序圖設(shè)計(jì)
4.3.1登錄模塊順序圖
4.3.2添加信息模塊順序圖
4.4數(shù)據(jù)庫設(shè)計(jì)
4.4.1數(shù)據(jù)庫E-R圖設(shè)計(jì)
4.4.2數(shù)據(jù)庫表設(shè)計(jì)
5 系統(tǒng)詳細(xì)設(shè)計(jì)
5.1系統(tǒng)功能模塊
6 系統(tǒng)測試
6.1 測試定義
6.2 測試目的
6.3測試方案
(1)模塊測試
(2)集成測試:
(3)驗(yàn)收測試:
6.4系統(tǒng)分析
7 結(jié)論
參考文獻(xiàn)
致謝
1?緒論
1.1研究背景
鑒于目前高校,在校生人數(shù)不斷增多,每年學(xué)生綜合業(yè)務(wù)素質(zhì)測評的任務(wù)越來越越重,很多機(jī)械勞動(dòng)使得老師學(xué)生身心都很疲憊。為了更清晰的了解整個(gè)工作﹐省去完全人工去做的弊端,現(xiàn)將整個(gè)流程進(jìn)行簡單的闡述。
每年到綜合素質(zhì)評定時(shí),班主任能拿到一份本班所有學(xué)生的成績單,班主任根據(jù)由班干部統(tǒng)計(jì)來的學(xué)生本學(xué)年參加活動(dòng)的次數(shù)以及活動(dòng)獲獎(jiǎng)情況表給學(xué)生業(yè)務(wù)素質(zhì)打分。而后再有輔導(dǎo)員根據(jù)班主任老師對學(xué)生業(yè)務(wù)素質(zhì)的打分情況,對學(xué)生整體成績進(jìn)行整理。之后發(fā)給班干部,讓班干部去統(tǒng)計(jì)整理﹐然后學(xué)生確認(rèn)是否有問題。如發(fā)現(xiàn)問題學(xué)生進(jìn)行申訴。確認(rèn)無誤之后再有輔導(dǎo)員打印獎(jiǎng)學(xué)金匯總表等。這些所有的事情﹐其實(shí)可以通過數(shù)據(jù)庫操作完成,如果能夠?qū)⑦@些工作由計(jì)算機(jī)替代,給輔導(dǎo)員老師一個(gè)友好的交互界面,則可大大降低教師和學(xué)生工作壓力,提高工作效率,并可以方便學(xué)生活動(dòng)的申報(bào)等。
大學(xué)生綜合素質(zhì)測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),以提高輔導(dǎo)員老師的工作效率,保證教師不需要完成一些機(jī)械性的工作來實(shí)現(xiàn)學(xué)生綜合素質(zhì)的評定等目前的人工操作能夠全部自動(dòng)化管理。
1.2研究現(xiàn)狀
現(xiàn)今高校的在校生越來越多,每年的獎(jiǎng)學(xué)金評定是必須完成的工作,這個(gè)過程依賴于一學(xué)年中學(xué)生綜合素質(zhì)測評的測評結(jié)果,也就是包括學(xué)科成績、德、育、體等各方面的總成績的評比。由于學(xué)生多,學(xué)科也多,同時(shí)學(xué)校組織的活動(dòng)更是種類繁多,各種活動(dòng)的創(chuàng)建、發(fā)布、成績的錄入,學(xué)生的報(bào)名,管理人員的打分更是繁復(fù)的機(jī)械操作﹐浪費(fèi)了學(xué)校相關(guān)管理人員的時(shí)間與精力。因此設(shè)計(jì)完成一個(gè)未獎(jiǎng)學(xué)金評定的綜合素質(zhì)測評系統(tǒng)是各個(gè)高校的需求。
目前國內(nèi)大多數(shù)高校的學(xué)生綜合素質(zhì)測評系統(tǒng)是B/S和CIS開發(fā)結(jié)構(gòu),獲得了不錯(cuò)的效果,但同時(shí)也存在著一些不足之處。
1.3研究內(nèi)容
大學(xué)生綜合素質(zhì)測評系統(tǒng)的開發(fā)和設(shè)計(jì)根據(jù)用戶的實(shí)際情況出發(fā),對系統(tǒng)的需求進(jìn)行了詳細(xì)的分析,然后進(jìn)行系統(tǒng)的整體設(shè)計(jì),最后通過測試使得系統(tǒng)設(shè)計(jì)的更加完整,可以實(shí)現(xiàn)系統(tǒng)中所有的功能,在開始編寫論文之前親自到圖書館借閱Sprringboot框架書籍,MYSQL數(shù)據(jù)庫書籍等編程書籍,然后針對開發(fā)的大學(xué)生綜合素質(zhì)測評系統(tǒng),去網(wǎng)上查找了很多別人做好的系統(tǒng),參照他們的設(shè)計(jì)結(jié)果,來對自己的系統(tǒng)進(jìn)行更加詳細(xì)的系統(tǒng)的設(shè)計(jì),將系統(tǒng)中所有的功能結(jié)果一一列舉出來,然后進(jìn)行需求分析,最后對所有的功能模塊進(jìn)行編碼,最后完成系統(tǒng)的整體測試,實(shí)現(xiàn)系統(tǒng)的正常運(yùn)行。
這次編寫的論文包含了6個(gè)部分的內(nèi)容,具體內(nèi)容如下:
第一部分緒論:文章主要從課題背景以及研究現(xiàn)狀綜合闡述了開發(fā)此系統(tǒng)的必要性。
第二部分相關(guān)技術(shù):系統(tǒng)開發(fā)用到的各種技術(shù)都大致做出了簡介。
第三部分系統(tǒng)分析:對系統(tǒng)的可行性分析以及對所有功能需求進(jìn)行詳細(xì)的分析,來查看該系統(tǒng)是否具有開發(fā)的可能。
第四部分系統(tǒng)設(shè)計(jì):功能模塊設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)這兩部分內(nèi)容都有專門的表格和圖片表示。
第五部分系統(tǒng)實(shí)現(xiàn):進(jìn)行系統(tǒng)主要功能模塊的界面展示。
第六部分系統(tǒng)測試:測試系統(tǒng)的每一個(gè)功能是否能夠正常運(yùn)行,是否可以滿足人們的需求。
2 相關(guān)技術(shù)介紹
2.1 開發(fā)技術(shù)說明
本系統(tǒng)前端部分基于MVVM模式進(jìn)行開發(fā),采用B/S模式,后端部分基于Java的springboot框架進(jìn)行開發(fā)。
前端部分:前端框架采用了比較流行的漸進(jìn)式JavaScript框架Vue.js。使用Vue-Router和Vuex實(shí)現(xiàn)動(dòng)態(tài)路由和全局狀態(tài)管理,Ajax實(shí)現(xiàn)前后端通信,Element UI組件庫使頁面快速成型,項(xiàng)目前端通過柵格布局實(shí)現(xiàn)響應(yīng)式,可適應(yīng)PC端、平板端、手機(jī)端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用springboot作為開發(fā)框架,同時(shí)集成MyBatis、Redis等相關(guān)技術(shù)。
2.2 B/S體系工作原理
B/S架構(gòu)采取瀏覽器請求,服務(wù)器響應(yīng)的工作模式。
用戶可以通過瀏覽器去訪問Internet上由Web服務(wù)器產(chǎn)生的文本、數(shù)據(jù)、圖片、動(dòng)畫、視頻點(diǎn)播和聲音等信息;
而每一個(gè)Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫服務(wù)器中;
從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Internet。
在 B/S 模式中,用戶是通過瀏覽器針對許多分布于網(wǎng)絡(luò)上的服務(wù)器進(jìn)行請求訪問的,瀏覽器的請求通過服務(wù)器進(jìn)行處理,并將處理結(jié)果以及相應(yīng)的信息返回給瀏覽器,其他的數(shù)據(jù)加工、請求全部都是由Web Server完成的。通過該框架結(jié)構(gòu)以及植入于操作系統(tǒng)內(nèi)部的瀏覽器,該結(jié)構(gòu)已經(jīng)成為了當(dāng)今軟件應(yīng)用的主流結(jié)構(gòu)模式。
2.3 spring boot框架介紹
Spring框架是Java平臺上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來實(shí)現(xiàn)管理對象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項(xiàng)目維護(hù)和測試,它提供了一種通過Java的反射機(jī)制對Java對象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時(shí)運(yùn)行時(shí)可配置;AOP框架主要針對模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問等功能均可以通過使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺帶來了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過事務(wù)模板、XML或Java注解進(jìn)行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問框架解決了開發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫時(shí)遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問框架中提供支持,同時(shí)還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象。Spring框架最初是沒有打算構(gòu)建一個(gè)自己的WebMVC框架,其開發(fā)人員在開發(fā)過程中認(rèn)為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。
2.4 MySQL簡介
MySQL是一個(gè)開放的、快速的、多線程的SQL關(guān)系型數(shù)據(jù)庫服務(wù)器。由于其體積小、免費(fèi)、運(yùn)行速度快以及可以通過相關(guān)免費(fèi)的軟件來對MySql數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)結(jié)構(gòu)信息等等優(yōu)點(diǎn)。受廣大中等、小型企業(yè)所喜愛并占據(jù)了很大地位。本系統(tǒng)在數(shù)據(jù)庫方面選用MySQL,并通過Nacivat來進(jìn)行MySql數(shù)據(jù)庫的管理。在Mysql的安裝過程中,最需要注意的就是數(shù)據(jù)庫的編碼問題,所以在安裝數(shù)據(jù)庫時(shí)需要設(shè)置數(shù)據(jù)庫的編碼為Utf-8,與前臺頁面和服務(wù)器的編碼相一致。
2.5 JavaScript 運(yùn)行模式
JavaScript是一種屬于網(wǎng)絡(luò)的高級腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實(shí)現(xiàn)自身的功能的。
1.1是一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯)。
1.2主要用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面添加交互行為。
1.3可以直接嵌入HTML頁面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
1.4跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。
1.5 JavaScript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。JavaScript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。
3 系統(tǒng)分析
3.1 可行性分析
在系統(tǒng)開發(fā)之初要進(jìn)行系統(tǒng)可行分析,這樣做的目的就是使用最小成本解決最大問題,一旦程序開發(fā)滿足用戶需要,帶來的好處也是很多的。下面我們將從技術(shù)上、操作上、經(jīng)濟(jì)上等方面來考慮這個(gè)系統(tǒng)到底值不值得開發(fā)。
3.1.1?技術(shù)可行性
本大學(xué)生綜合素質(zhì)測評系統(tǒng)采用Springboot框架技術(shù)、java語言和MYSQL數(shù)據(jù)庫進(jìn)行開發(fā)設(shè)計(jì),作為計(jì)算機(jī)專業(yè)學(xué)生,在學(xué)校期間就接觸到許多關(guān)于編程方面的知識,當(dāng)然也包括各種編程軟件,對他們的了解度也比較系統(tǒng),所以技術(shù)開發(fā)上面還是有一定把握。
3.1.2經(jīng)濟(jì)可行性
我在設(shè)計(jì)該系統(tǒng)的時(shí)候主要是從節(jié)約成本出發(fā),然后進(jìn)行具體的系統(tǒng)的設(shè)計(jì),在系統(tǒng)的設(shè)計(jì)過程中由于采用的所有工具以及技術(shù)支持全部都是免費(fèi)的,因此不需要有任何的成本就可以進(jìn)行該系統(tǒng)的設(shè)計(jì)。所用到的所有資源都是免費(fèi)的,只要有網(wǎng)絡(luò)就可以進(jìn)行下載使用,不需要支付相應(yīng)的費(fèi)用,因此該項(xiàng)目在經(jīng)濟(jì)方面是完全可以實(shí)行的。
3.1.3操作可行性
本人自己就是學(xué)生,程序開發(fā)經(jīng)驗(yàn)不足,在界面設(shè)計(jì)上面不會設(shè)計(jì)太復(fù)雜,要講究簡單好看,操作上要方便,不能讓用戶覺得不流暢。用戶一旦進(jìn)入操作界面,界面上就會有相應(yīng)提示,跟著操作提示就可以找到對應(yīng)的功能操作模塊,對于用戶來說免培訓(xùn)就能使用。
從上面幾個(gè)部分的可行性分析得出,這次開發(fā)的大學(xué)生綜合素質(zhì)測評系統(tǒng)在開發(fā)上面沒有什么大問題,值得開發(fā)。
3.2 系統(tǒng)性能分析
(1)系統(tǒng)響應(yīng)效率:頁面響應(yīng)時(shí)問應(yīng)該在3秒以內(nèi),最長不能超過4秒,并支持至少10000人同時(shí)在線所有系統(tǒng)。
(2)界面簡潔清晰:系統(tǒng)界面要求簡單明了,容易操作,符合用戶操作習(xí)慣。
(3)儲存性高:因?yàn)榇髮W(xué)生綜合素質(zhì)測評系統(tǒng)中有很多的信息需要存儲,因此對于系統(tǒng)的存儲量有很大的要求,需要有一個(gè)強(qiáng)大的數(shù)據(jù)庫的支持才能確保所有的信息都能安全穩(wěn)定的進(jìn)行存儲。
(4)易學(xué)性:該系統(tǒng)在操作上必須簡單好上手,沒有很多復(fù)雜的操作,只需要簡單的進(jìn)行學(xué)習(xí)就能操作該系統(tǒng)。
(5)穩(wěn)定性需求:開發(fā)的大學(xué)生綜合素質(zhì)測評系統(tǒng)要求運(yùn)行穩(wěn)定,運(yùn)行過程中無界面不清楚、字體模糊等現(xiàn)象。
(6)穩(wěn)定性:開發(fā)的大學(xué)生綜合素質(zhì)測評系統(tǒng)要求運(yùn)行穩(wěn)定,運(yùn)行過程中無界面不清楚、字體模糊等現(xiàn)象。
3.3 系統(tǒng)功能分析
本大學(xué)生綜合素質(zhì)測評系統(tǒng)主要包括兩大功能模塊,即管理員功能模塊和用戶模塊。
(1)管理員模塊:系統(tǒng)中的核心用戶是系統(tǒng)管理員,管理員登錄后,通過管理員菜單來管理后臺系統(tǒng)。主要功能有:首頁、用戶管理(管理員、學(xué)生、老師)、更多管理(素質(zhì)成績管理、申請測評成績管理期末總結(jié)建議管理、統(tǒng)計(jì)分析、學(xué)生分配)等功能。管理員用例圖如圖3-1所示。
?
圖3-1管理員用例圖
(2)學(xué)生:首頁、素質(zhì)成績、期末總結(jié)建議、注冊登錄等功能。用戶用例圖如圖3-2所示。
?
圖3-2 學(xué)生用例圖
3.4系統(tǒng)流程分析
3.4.1登錄流程
登錄模塊主要滿足管理員、用戶的權(quán)限登錄,登錄流程圖如圖3-3所示。
?
圖3-3 登錄流程圖
3.4.2注冊流程
未有賬號的用戶可進(jìn)入注冊界面進(jìn)行注冊操作,用戶注冊流程圖如圖3-4所示。
?
圖3-4 注冊流程圖
3.4.3添加信息流程
用戶在添加信息時(shí),信息編號自動(dòng)生成,系統(tǒng)會對添加的信息進(jìn)行驗(yàn)證,驗(yàn)證通過則添加至數(shù)據(jù)庫,添加信息成功,反之添加失敗。添加信息流程如圖3-5所示。
?
圖3-5 添加信息流程圖
3.4.4刪除信息流程
用戶可選擇要?jiǎng)h除的信息進(jìn)行信息刪除操作,在刪除信息時(shí)系統(tǒng)提示是否確定刪除信息,是則刪除信息成功,系統(tǒng)數(shù)據(jù)庫將信息進(jìn)行刪除。刪除信息流程圖如圖3-6所示。
?
圖3-6 刪除信息流程圖
4系統(tǒng)設(shè)計(jì)
4.1系統(tǒng)概要設(shè)計(jì)
本大學(xué)生綜合素質(zhì)測評系統(tǒng)選擇B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))和基于Web服務(wù)兩種模式。適合在互聯(lián)網(wǎng)上進(jìn)行操作,只要用戶能連網(wǎng),任何時(shí)間、任何地點(diǎn)都可以進(jìn)行系統(tǒng)的操作使用。系統(tǒng)工作原理圖如圖4-1所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
圖4-1 系統(tǒng)工作原理圖
4.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
整個(gè)系統(tǒng)是由多個(gè)功能模塊組合而成的,要將所有的功能模塊都一一列舉出來,然后進(jìn)行逐個(gè)的功能設(shè)計(jì),使得每一個(gè)模塊都有相對應(yīng)的功能設(shè)計(jì),然后進(jìn)行系統(tǒng)整體的設(shè)計(jì)。
本大學(xué)生綜合素質(zhì)測評系統(tǒng)結(jié)構(gòu)圖如圖4-2所示。
?
圖4-2 系統(tǒng)功能結(jié)構(gòu)圖
4.3系統(tǒng)順序圖設(shè)計(jì)
4.3.1登錄模塊順序圖
登錄模塊主要滿足了管理員、用戶的權(quán)限登錄,登錄模塊順序圖如圖4-3所示。
?
圖4-3 登錄順序圖
4.3.2添加信息模塊順序圖
管理員、用戶登錄后均可進(jìn)行添加信息操作,添加信息模塊順序圖如圖4-4所示。
?
圖4-4 添加信息順序圖
4.4數(shù)據(jù)庫設(shè)計(jì)
一個(gè)好的數(shù)據(jù)庫可以關(guān)系到程序開發(fā)的優(yōu)劣,數(shù)據(jù)庫設(shè)計(jì)離不開表結(jié)構(gòu)的設(shè)計(jì),還有表與表之間的聯(lián)系,以及系統(tǒng)開發(fā)需要設(shè)計(jì)的數(shù)據(jù)表內(nèi)容等信息。在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)期間,要結(jié)合實(shí)際情況來對數(shù)據(jù)庫進(jìn)行針對性的開發(fā)設(shè)計(jì)。
4.4.1數(shù)據(jù)庫E-R圖設(shè)計(jì)
本大學(xué)生綜合素質(zhì)測評系統(tǒng)采用的是MYSQL數(shù)據(jù)庫,數(shù)據(jù)存儲快,因?yàn)榇髮W(xué)生綜合素質(zhì)測評系統(tǒng),主要的就是對信息的管理,信息內(nèi)容比較多,這就需要好好的設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫,分類要清楚,不能添加信息的時(shí)候,造成信息太過混亂,設(shè)計(jì)好的數(shù)據(jù)庫首先就需要先把各個(gè)實(shí)體之間的關(guān)系表達(dá)明確。
系統(tǒng)的E-R圖如下圖所示:
?
圖4-5?系統(tǒng)E-R圖
4.4.2數(shù)據(jù)庫表設(shè)計(jì)
將數(shù)據(jù)庫概念設(shè)計(jì)的E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫。在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)關(guān)系由數(shù)據(jù)表組成,但是表的結(jié)構(gòu)表現(xiàn)在表的字段上,數(shù)據(jù)庫表如下。
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| student_id | int | 11 | 是 | 是 | 學(xué)生ID | 
| student_number | varchar | 64 | 否 | 否 | 學(xué)號 | 
| full_name | varchar | 64 | 否 | 否 | 姓名 | 
| allocate | varchar | 64 | 否 | 否 | 是否分配 | 
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| user_id | int | 11 | 是 | 否 | 用戶ID | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| apply_for_evaluation_results_id | int | 11 | 是 | 是 | 申請測評成績ID | 
| student_number | int | 11 | 否 | 否 | 學(xué)號 | 
| full_name | varchar | 64 | 否 | 否 | 姓名 | 
| teacher | int | 11 | 否 | 否 | 老師 | 
| evaluation_type | varchar | 64 | 否 | 否 | 測評類型 | 
| fraction | int | 11 | 否 | 否 | 分?jǐn)?shù) | 
| application_time | date | 0 | 否 | 否 | 申請時(shí)間 | 
| reason_for_application | text | 0 | 否 | 否 | 申請?jiān)?/span> | 
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) | 
| examine_reply | varchar | 16 | 否 | 否 | 審核回復(fù) | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| final_summary_and_suggestions_id | int | 11 | 是 | 是 | 期末總結(jié)建議ID | 
| student_number | int | 11 | 否 | 否 | 學(xué)號 | 
| full_name | varchar | 64 | 否 | 否 | 姓名 | 
| teacher | int | 11 | 否 | 否 | 老師 | 
| time | date | 0 | 否 | 否 | 時(shí)間 | 
| summary | text | 0 | 否 | 否 | 總結(jié) | 
| opinion | text | 0 | 否 | 否 | 意見 | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| quality_achievement_id | int | 11 | 是 | 是 | 素質(zhì)成績ID | 
| student_number | int | 11 | 否 | 否 | 學(xué)號 | 
| full_name | varchar | 64 | 否 | 否 | 姓名 | 
| teacher | int | 11 | 否 | 否 | 老師 | 
| ideological_and_political | int | 11 | 否 | 否 | 思想政治 | 
| civilized_literacy | int | 11 | 否 | 否 | 文明素養(yǎng) | 
| learning_attitude | int | 11 | 否 | 否 | 學(xué)習(xí)態(tài)度 | 
| total_score | varchar | 64 | 否 | 否 | 總分 | 
| pass_or_not | varchar | 64 | 否 | 否 | 是否及格 | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| teacher_id | int | 11 | 是 | 是 | 老師ID | 
| job_number | varchar | 64 | 否 | 否 | 工號 | 
| teacher_name | varchar | 64 | 否 | 否 | 老師姓名 | 
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| user_id | int | 11 | 是 | 否 | 用戶ID | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| student_assignment_id | int | 11 | 是 | 是 | 學(xué)生分配ID | 
| student_number | varchar | 64 | 否 | 否 | 學(xué)號 | 
| full_name | varchar | 64 | 否 | 否 | 姓名 | 
| instructor | int | 11 | 否 | 否 | 指導(dǎo)老師 | 
| allocate_time | date | 0 | 否 | 否 | 分配時(shí)間 | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 | 
| statistical_analysis_id | int | 11 | 是 | 是 | 統(tǒng)計(jì)分析ID | 
| statistical_number | varchar | 64 | 否 | 否 | 統(tǒng)計(jì)編號 | 
| number_of_statistics | int | 11 | 否 | 否 | 統(tǒng)計(jì)人數(shù) | 
| qualified_number | int | 11 | 否 | 否 | 合格人數(shù) | 
| number_of_unqualified_persons | int | 11 | 否 | 否 | 不合格人數(shù) | 
| achievement_type | varchar | 64 | 否 | 否 | 成績類型 | 
| total_qualified_persons | int | 11 | 否 | 否 | 總成績合格人數(shù) | 
| total_number_of_unqualified_students | int | 11 | 否 | 否 | 總成績不合格人數(shù) | 
| statistical_time | date | 0 | 否 | 否 | 統(tǒng)計(jì)時(shí)間 | 
| analysis_description | text | 0 | 否 | 否 | 分析說明 | 
| recommend | int | 11 | 是 | 否 | 智能推薦 | 
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 | 
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 | 
5 系統(tǒng)詳細(xì)設(shè)計(jì)
5.1系統(tǒng)功能模塊
大學(xué)生綜合素質(zhì)測評系統(tǒng),在系統(tǒng)登錄頁面管理員填寫賬號、密碼等信息進(jìn)行登錄,如圖5-1所示。
?
圖5-1管理員登錄界面圖
登錄界面關(guān)鍵代碼如下所示。
/**
?????* 登錄
?????* @param data
?????* @param httpServletRequest
?????* @return
?????*/
????@PostMapping("login")
????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
????????log.info("[執(zhí)行登錄接口]");
????????String username = data.get("username");
????????String email = data.get("email");
????????String phone = data.get("phone");
????????String password = data.get("password");
????????List resultList = null;
????????Map<String, String> map = new HashMap<>();
????????if(username != null && "".equals(username) == false){
????????????map.put("username", username);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}
????????else if(email != null && "".equals(email) == false){
????????????map.put("email", email);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}
????????else if(phone != null && "".equals(phone) == false){
????????????map.put("phone", phone);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}else{
????????????return error(30000, "賬號或密碼不能為空");
????????}
????????if (resultList == null || password == null) {
????????????return error(30000, "賬號或密碼不能為空");
????????}
????????//判斷是否有這個(gè)用戶
????????if (resultList.size()<=0){
????????????return error(30000,"用戶不存在");
????????}
????????User byUsername = (User) resultList.get(0);
????????Map<String, String> groupMap = new HashMap<>();
????????groupMap.put("name",byUsername.getUserGroup());
????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
????????if (groupList.size()<1){
????????????return error(30000,"用戶組不存在");
????????}
????????UserGroup userGroup = (UserGroup) groupList.get(0);
????????//查詢用戶審核狀態(tài)
????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){
????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());
????????????if (res==null){
????????????????return error(30000,"用戶不存在");
????????????}
????????????if (!res.equals("已通過")){
????????????????return error(30000,"該用戶審核未通過");
????????????}
????????}
????????//查詢用戶狀態(tài)
????????if (byUsername.getState()!=1){
????????????return error(30000,"用戶非可用狀態(tài),不能登錄");
????????}
????????String md5password = service.encryption(password);
????????if (byUsername.getPassword().equals(md5password)) {
????????????// 存儲Token到數(shù)據(jù)庫
????????????AccessToken accessToken = new AccessToken();
????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
????????????accessToken.setUser_id(byUsername.getUserId());
????????????tokenService.save(accessToken);
????????????// 返回用戶信息
????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
????????????user.put("token", accessToken.getToken());
????????????JSONObject ret = new JSONObject();
????????????ret.put("obj",user);
????????????return success(ret);
????????} else {
????????????return error(30000, "賬號或密碼不正確");
????????}
}
??
用戶管理頁面,管理員可對用戶信息進(jìn)行添加、修改或刪除,添加用戶輸入賬號、密碼、手機(jī)號碼、地址、性別等信息,如圖5-2所示。
?
圖5-2?用戶管理界面圖
用戶管理界面邏輯代碼如下:
?@RequestMapping("/get_list")
????public Map<String, Object> getList(HttpServletRequest request) {
????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
????????return success(map);
}
素質(zhì)成績管理頁面,在此頁面,可對學(xué)號、姓名、老師、思想政治、文明素養(yǎng)、學(xué)習(xí)態(tài)度、總分、是否及格等信息進(jìn)行維護(hù)管理,如圖5-3所示。
?
圖5-3 素質(zhì)成績管理面圖
素質(zhì)成績管理的關(guān)鍵代碼如下。
??@PostMapping("/add")
????@Transactional
????public Map<String, Object> add(HttpServletRequest request) throws IOException {
????????service.insert(service.readBody(request.getReader()));
????????return success(1);
????}
????@Transactional
????public Map<String, Object> addMap(Map<String,Object> map){
????????service.insert(map);
????????return success(1);
}
????public Map<String,Object> readBody(BufferedReader reader){
????????BufferedReader br = null;
????????StringBuilder sb = new StringBuilder("");
????????try{
????????????br = reader;
????????????String str;
????????????while ((str = br.readLine()) != null){
????????????????sb.append(str);
????????????}
????????????br.close();
????????????String json = sb.toString();
????????????return JSONObject.parseObject(json, Map.class);
????????}catch (IOException e){
????????????e.printStackTrace();
????????}finally{
????????????if (null != br){
????????????????try{
????????????????????br.close();
????????????????}catch (IOException e){
????????????????????e.printStackTrace();
????????????????}
????????????}
????????}
????????return null;
}
????public void insert(Map<String,Object> body){
????????StringBuffer sql = new StringBuffer("INSERT INTO ");
????????sql.append("`").append(table).append("`").append(" (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
????????}
????????sql.deleteCharAt(sql.length()-1);
????????sql.append(") VALUES (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????Object value = entry.getValue();
????????????if (value instanceof String){
????????????????sql.append("'").append(entry.getValue()).append("'").append(",");
????????????}else {
????????????????sql.append(entry.getValue()).append(",");
????????????}
????????}
????????sql.deleteCharAt(sql.length() - 1);
????????sql.append(")");
????????log.info("[{}] - 插入操作:{}",table,sql);
????????Query query = runCountSql(sql.toString());
????????query.executeUpdate();
????}
申請測評成績管理頁面,在信息添加頁面添加:學(xué)號、姓名、老師、測評類型、分?jǐn)?shù)、申請時(shí)間、申請?jiān)颉徍藸顟B(tài)等信息進(jìn)行維護(hù)管理,如圖5-4所示
?
圖5-4申請測評成績管理界面圖
申請測評成績管理的關(guān)鍵代碼入下。
@RestController
@RequestMapping("auth")
public class AuthController extends BaseController<Auth, AuthService> {
????/**
?????* 服務(wù)對象
?????*/
????@Autowired
????public AuthController(AuthService service) {
????????setService(service);
????}
}
期末總結(jié)建議管理頁面,管理員登錄系統(tǒng),在此頁面對學(xué)號、姓名、老師、時(shí)間、總結(jié)、意見等信息進(jìn)行維護(hù)管理如圖5-5所示。
?
圖5-5期末總結(jié)建議管理界面圖
期末總結(jié)建議管理關(guān)鍵代碼如下。
?@RequestMapping("/get_obj")
????public Map<String, Object> obj(HttpServletRequest request) {
????????Query select = service.select(service.readQuery(request), service.readConfig(request));
????????List resultList = select.getResultList();
????????if (resultList.size() > 0) {
????????????JSONObject jsonObject = new JSONObject();
????????????jsonObject.put("obj",resultList.get(0));
????????????return success(jsonObject);
????????} else {
????????????return success(null);
????????}
}
?public Query select(Map<String,String> query,Map<String,String> config){
????????StringBuffer sql = new StringBuffer("select ");
????????sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");
????????sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
????????if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
????????????sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
????????}
????????if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
????????????sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
????????}
????????if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
????????????int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
????????????int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
????????????sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
????????}
????????log.info("[{}] - 查詢操作,sql: {}",table,sql);
????????return runEntitySql(sql.toString());
????}
管理員登錄系統(tǒng),對統(tǒng)計(jì)分析信息進(jìn)行維護(hù)管理如圖5-6所示
?
圖5-6統(tǒng)計(jì)分析管理界面圖
統(tǒng)計(jì)分析管理關(guān)鍵代碼如下。
?@RequestMapping(value = {"/avg_group", "/avg"})
public Map<String, Object> avg(HttpServletRequest request) {
????????Query count = service.avg(service.readQuery(request), service.readConfig(request));
????????return success(count.getResultList());
}
6 系統(tǒng)測試
一個(gè)系統(tǒng)設(shè)計(jì)好后,就會進(jìn)入測試階段,測試的目標(biāo)是檢驗(yàn)設(shè)計(jì)好的網(wǎng)站是否可以正常無誤的運(yùn)行,盡可能的發(fā)現(xiàn)網(wǎng)站的問題,已使后期網(wǎng)站投入使用后網(wǎng)站盡少出錯(cuò)[12]。
6.1 測試定義
系統(tǒng)測試主要是判斷系統(tǒng)是否可以正常運(yùn)行,功能模塊是否可以實(shí)現(xiàn)操作。程序代碼中是否有錯(cuò)誤出現(xiàn)。測試程序是開發(fā)過程中的一個(gè)主要問題。就算系統(tǒng)完成的再好,再進(jìn)行程序測試時(shí)也會也會發(fā)現(xiàn)一個(gè)重來沒有被發(fā)現(xiàn)的錯(cuò)誤信息。
測試不僅是系統(tǒng)開發(fā)的開始,而且應(yīng)該貫穿整個(gè)系統(tǒng)的整個(gè)生命周期。評估系統(tǒng)質(zhì)量的方法不局限于系統(tǒng)編碼和過程,應(yīng)該與軟件設(shè)計(jì)工作和歷史需求分析密切相關(guān)。系統(tǒng)錯(cuò)誤,不一定是代碼錯(cuò)誤,可能是階段的設(shè)計(jì)摘要和設(shè)計(jì)細(xì)節(jié)存在問題,問題也可能出現(xiàn)在需求分析階段。從實(shí)際情況來看,最初的問題很可能是一個(gè)小錯(cuò)誤,根據(jù)按鈕的原理,按鈕后的按鈕位錯(cuò)將是所有位錯(cuò)。該系統(tǒng)的原因也同樣適用,隨著后續(xù)的開發(fā)工作,誤差將越來越嚴(yán)重。因此就應(yīng)該對系統(tǒng)進(jìn)行測試,在一開始就發(fā)現(xiàn)系統(tǒng)中存在的問題,就能保證以后系統(tǒng)能夠正常穩(wěn)定的運(yùn)行。在測試系統(tǒng)中,開發(fā)人員應(yīng)該站在客戶的角度來處理測試工作,而現(xiàn)在主要的測試方法是黑盒測試。測試的目的可以概括為以下幾點(diǎn):首先,用戶界面和客戶需求是一致的,設(shè)置界面和設(shè)計(jì)風(fēng)格統(tǒng)一;第二,創(chuàng)新設(shè)計(jì)接口規(guī)范設(shè)計(jì)標(biāo)準(zhǔn),具有獨(dú)特的審美特征;最后,人類傳統(tǒng)的接口以滿足審美需求,不能盲目地追求一種獨(dú)特的,合理的規(guī)劃布局,符合審美標(biāo)準(zhǔn)。
6.2 測試目的
測試的目的在于要對系統(tǒng)的穩(wěn)定和可操作性能進(jìn)行對照檢查。對于軟件的開發(fā)利用最終的目的在最后的測試和試用,這是一個(gè)不可缺少的重要環(huán)節(jié)。對于軟件開發(fā)者而言,在對每一個(gè)單獨(dú)的功能進(jìn)行編排時(shí)候,都要有單獨(dú)的測試,并通過測試階段才可以研發(fā)多個(gè)功能性軟件,這樣既縮短了研發(fā)時(shí)間,也可以在的單個(gè)的早期測試中發(fā)現(xiàn)問題,以免融合后的軟件,在查找問題時(shí)就很難快速解決或者急速定位問題。
大學(xué)生綜合素質(zhì)測評系統(tǒng)開發(fā)設(shè)計(jì)完成后,需要對其進(jìn)行系統(tǒng)測試,測試的主要目的就是發(fā)現(xiàn)并找出系統(tǒng)中存在的問題,并及時(shí)的進(jìn)行解決,確保系統(tǒng)可以正常穩(wěn)定的運(yùn)行下去,在進(jìn)行系統(tǒng)測試的時(shí)候,在一定要非常的認(rèn)真、仔細(xì),切記不能粗心,不能放過一個(gè)漏洞,測試時(shí)候一定不要著急,要按照之前指定好的測試步驟一步一步進(jìn)行,并且將測試的結(jié)果進(jìn)行詳細(xì)的記錄,我們在進(jìn)行測試的時(shí)候做好選擇自動(dòng)化的測試,這樣既可以節(jié)省時(shí)間而且也能確保測試的準(zhǔn)確性,如果采用人工測試的方法就不會這么的方便,由于人工測試有很多不確定的因素,在測試過程中很可能會出現(xiàn)一些問題,用機(jī)器測試就不會出現(xiàn)任何的問題,而且機(jī)器不會疲憊會一直二等工作下去。在測試的時(shí)候一定要非常專注,時(shí)刻關(guān)注著測試的結(jié)果,一但發(fā)現(xiàn)異常及時(shí)進(jìn)行修改,最后,測試完之后的文檔應(yīng)該保存下來,方便以后測試時(shí)用到。系統(tǒng)測試的方法有很多,對于本智能垃圾回收平臺系統(tǒng)的測試,我們使用了測試用得最多的黑盒測試方法來對該系統(tǒng)進(jìn)行測試。
6.3測試方案
對測試計(jì)劃的把握是測試方案的重中之重。所有的技術(shù)難點(diǎn)應(yīng)該都被包含在這個(gè)測試計(jì)劃之中。而且我們要保證能與目標(biāo)形成一致性,以至于能夠測試出一些主要存在的錯(cuò)誤和一些錯(cuò)誤的漏洞。可以完美解決這些問題就只有白盒測試或者黑盒測試。
構(gòu)造測試是白盒測試的另一個(gè)名字,了解與分析程序的結(jié)構(gòu)以及性能功用的,從而我們可以得到最終想要的結(jié)果并且觀察出是不是每一條程序都能得到。
性能測試是黑盒測試別稱,程序本身的運(yùn)作通過程序的進(jìn)程來觀察,主要是看一下程序是不是能夠像我們預(yù)期的目標(biāo)那樣發(fā)展,看一看我們的程序最終能不能完整的得到我們最后想要的功能和儲存想得到的數(shù)據(jù),到最后看一下我們的這個(gè)程序完整性能不能達(dá)到要求。
(1)模塊測試
單元測試就是模塊測試,顧名思義就是測試每個(gè)模塊所承擔(dān)的功能是否能夠?qū)崿F(xiàn),這個(gè)測試就是為了找出代碼在實(shí)際的設(shè)計(jì)運(yùn)轉(zhuǎn)中某一些小的程序所出現(xiàn)的偏差,很好地改正這些錯(cuò)誤,就說明我們模塊測試進(jìn)行很成功過。
(2)集成測試:
集成測試就是對系統(tǒng)的測試以及對他子系統(tǒng)的一些性能測試,他檢查的事系統(tǒng)的包裝程序信息。找出其中的問題。他的優(yōu)勢主要有以下這幾點(diǎn):
軟件耗費(fèi)較少。
可以提前發(fā)現(xiàn)端口的錯(cuò)誤。
更好的地位系統(tǒng)中錯(cuò)誤的位置。
從底部往上面進(jìn)行的方案針對于偏下層的結(jié)構(gòu),而中間的結(jié)構(gòu)就采用折中的方法。
(3)驗(yàn)收測試:
終于到了結(jié)尾性的工作了。就是為了給用戶看一下我們的系統(tǒng)功能是否達(dá)到了預(yù)期的效果。我采用了性能測試也就是黑盒測試對系統(tǒng)進(jìn)行測試。
其結(jié)果是分別是:
有一定的差異在用戶的需求。
再者就是結(jié)果與之差不了多少。
到了最后了,我們發(fā)現(xiàn)的問題都是與用戶的需求存在一定的關(guān)聯(lián)。
1、登錄測試
?測試點(diǎn):登錄
測試的目標(biāo):輸入賬號密碼以及驗(yàn)證碼后系統(tǒng)會自動(dòng)進(jìn)行驗(yàn)證是否正確。
所用的環(huán)境:Windows10和IE瀏覽器。
輸入信息:用戶名、密碼。
步驟:
(1)首先我們打來瀏覽器,進(jìn)入該系統(tǒng)的登錄界面。
(2)在進(jìn)入頁面登錄部分以后可以進(jìn)行對用戶名、密碼進(jìn)行測試,具體測試輸入情況如下表6.1所示。
表6.1 登錄測試
| 情況 | 用戶名輸入 | 密碼輸入 | 期望結(jié)果 | 
| (1) | 15546219225 | 1244566 | 提示“用戶名或者密碼錯(cuò)誤,或賬號未經(jīng)審核” | 
| (2) | aaaaa | 123456 | 提示“用戶名或密碼錯(cuò)誤,或者賬號未經(jīng)審核” | 
| (3) | 15546219225 | hangguowei | 登陸成功 | 
6.4系統(tǒng)分析
本大學(xué)生綜合素質(zhì)測評系統(tǒng)設(shè)計(jì)要求基本都可以達(dá)到,此系統(tǒng)具有完整的軟件功能,良好的用戶界面,能夠正確的處理錯(cuò)誤信息,而且能夠準(zhǔn)確的提出錯(cuò)誤的種類。但是系統(tǒng)測試時(shí)也出現(xiàn)了一些系統(tǒng)的不足和缺陷,所以在今后的日子里我會對其視覺上的不足作出修改,其次系統(tǒng)的代碼和數(shù)據(jù)庫出現(xiàn)了非常多的冗余現(xiàn)象,都是因?yàn)閷幊碳夹g(shù)的應(yīng)用不夠熟練,在日后我會加強(qiáng)自己的自身學(xué)習(xí)和能力,減少這樣的冗余現(xiàn)象。
經(jīng)過對上述的測試結(jié)果分析,本大學(xué)生綜合素質(zhì)測評系統(tǒng)無論是在技術(shù)方面,還是操作方面,還是經(jīng)濟(jì)方面都是完全可以實(shí)行的,并且經(jīng)過測試,該系統(tǒng)操作簡單,所有的功能都可以實(shí)現(xiàn),因此該系統(tǒng)可以滿足人們的使用需求,值得被推廣。
總體說來,軟件通過測試。
7 結(jié)論
本文研究了大學(xué)生綜合素質(zhì)測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),在文章開端首先對個(gè)研究背景、研究現(xiàn)狀和研究內(nèi)容作了簡單的介紹,然后通過系統(tǒng)分析,引申出本系統(tǒng)研究的主要內(nèi)容。
通過對Springboot框架技術(shù)和MYSQL數(shù)據(jù)庫的簡介,從硬件和軟件兩反面說明了智能垃圾回收平臺系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的可行性,本文結(jié)論及研究成果如下:實(shí)現(xiàn)了Springboot框架與mysql數(shù)據(jù)庫相結(jié)合構(gòu)建的大學(xué)生綜合素質(zhì)測評系統(tǒng),通過本次大學(xué)生綜合素質(zhì)測評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的研究與實(shí)現(xiàn),我感觸到學(xué)習(xí)一門新技術(shù),最重要的是實(shí)踐,只有多動(dòng)手才能盡快掌握它,一個(gè)系統(tǒng)的開發(fā),經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)不足,就難免會有許多考慮不周之處。要想吸引更多的用戶,系統(tǒng)的界面必須要美觀、有特色、友好,功能要健全。
由于在此之前對于Springboot知識并不了解,所以從一開始就碰到許多困難,例如一開始的頁面顯示不規(guī)范、數(shù)據(jù)庫連接有問題已經(jīng)無法實(shí)現(xiàn)參數(shù)的傳遞等等,不過通過我不斷的查閱相關(guān)的資料,以及向老師同學(xué)請教,最后出現(xiàn)的所有的問題都得到了解決,通過這次的系統(tǒng)開發(fā),我學(xué)到了很多的知識,也明白了自己在哪些方面有不足的地方,尤其是學(xué)會如何從大量的信息中篩選出所需有用的信息,同時(shí)我更加深刻的體會到了,雖然書本上的大部分知識都是有價(jià)值,正確的,但實(shí)際上每個(gè)人編程的思路和對數(shù)據(jù)處理的方法、思想都是不同的,這就要求我們一定要通過實(shí)踐才能找到解決問題的方案。在此次畢業(yè)設(shè)計(jì)活動(dòng)中,我不斷的提高了自己,也得到了寶貴的經(jīng)驗(yàn),我相信這些對我以后的發(fā)展都會有很大幫助。
通過這次大學(xué)生綜合素質(zhì)測評系統(tǒng)的開發(fā),讓我學(xué)到了更多的知識,同時(shí)通過這次系統(tǒng)的設(shè)計(jì)也讓我明白了自己在哪方面有不足,以后加以學(xué)習(xí)爭取可以開發(fā)住更多有用的適用的系統(tǒng)軟件,本次系統(tǒng)的設(shè)計(jì)提高了我的編程水平,為了我今后系統(tǒng)的開發(fā)打下了結(jié)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1]王文章,張文明,鄭文棟.新時(shí)期綜合素質(zhì)測評對大學(xué)生思想價(jià)值引領(lǐng)的作用發(fā)揮探究[J].高教學(xué)刊,2021,7(15):168-171.
[2]蘇基協(xié).基于“三全育人”的大學(xué)生綜合素質(zhì)測評體系優(yōu)化研究[J].現(xiàn)代職業(yè)教育,2021(13):120-121.
[3]李依沙.新時(shí)期大學(xué)生綜合素質(zhì)測評體系探究[J].質(zhì)量與市場,2020(16):29-31.
[4]田原,莫蘊(yùn)茜.獨(dú)立學(xué)院大學(xué)生綜合素質(zhì)測評體系設(shè)計(jì)探索研究[J].才智,2019(31):115.
[5]陳舒婷.模糊綜合評價(jià)在大學(xué)生綜合素質(zhì)測評中的應(yīng)用研究[J].吉林工程技術(shù)師范學(xué)院學(xué)報(bào),2019,35(05):7-9.
[6]郭仿蘭,劉明達(dá).關(guān)于大學(xué)生綜合素質(zhì)測評引入積分制管理的思考[J].學(xué)校黨建與思想教育,2019(06):51-52+55.
[7]張靜.大學(xué)生綜合素質(zhì)測評理論研究述評與展望[J].佳木斯職業(yè)學(xué)院學(xué)報(bào),2019(02):103-104.
[8]羅勇,杜建賓,李雪華.基于CCP理論的大學(xué)生綜合素質(zhì)測評模型研究[J].中國成人教育,2018(23):41-44.
[9]佘彩艷,殷小姣.大學(xué)生素質(zhì)測評方案研究——以南昌工學(xué)院為例[J].明日風(fēng)尚,2018(21):221.
[10]張靜.大學(xué)生綜合素質(zhì)測評中信息收集工作存在的問題及其對策[J].西部素質(zhì)教育,2018,4(20):96-97.DOI:10.16681/j.cnki.wcqe.201820056.
[11]侯小潔,張俊華.基于分組主成分分析法的大學(xué)生綜合素質(zhì)測評研究[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,34(08):144-148.DOI:10.13398/j.cnki.issn1673-260x.2018.08.051.
[12]康鮮菜.大學(xué)生綜合素質(zhì)測評系統(tǒng)的設(shè)計(jì)與研究[J].信息與電腦(理論版),2018(15):50-52.
[13]趙偉奇.新形勢下大學(xué)生黨員綜合素質(zhì)測評指標(biāo)體系研究[J].長江叢刊,2017(32):217.
[14]高思遙.大學(xué)生綜合素質(zhì)測評模塊AHP數(shù)字化研究[J].西部素質(zhì)教育,2017,3(07):175-177.DOI:10.16681/j.cnki.wcqe.201707131.
致謝
本次畢業(yè)設(shè)計(jì)圓滿的結(jié)束了,通過這次畢業(yè)設(shè)計(jì)我學(xué)到了很多的知識,也提高了我軟件開發(fā)的能力,在系統(tǒng)開發(fā)設(shè)計(jì)的過程中,出現(xiàn)了很多的問題,但是通過老師和同學(xué)們的幫助,最后所有的問題都得到了解決,因此我要感謝在此過程中對我?guī)椭睦蠋熀屯瑢W(xué)們,感謝指導(dǎo)老師幫助我選課題,給我做詳細(xì)的講解,給我提供設(shè)計(jì)所需要的各種設(shè)備,也經(jīng)常詢問我進(jìn)度與成果,再有難點(diǎn)的時(shí)候給我解決思路,幫助我順利完成。沒有他的指導(dǎo),也不會有我今天所展現(xiàn)出的成果。
首先我要感謝我的指導(dǎo)老師,指導(dǎo)老師在教學(xué)任務(wù)繁忙的情況下,抽出時(shí)間幫助我糾正我在設(shè)計(jì)當(dāng)中出現(xiàn)的問題,并耐性地為我的論文作校正,是他的定期檢查和指導(dǎo)使得我們的畢業(yè)設(shè)計(jì)高質(zhì)量完成。他在我整個(gè)課題開發(fā)和設(shè)計(jì)的過程中,為程序的設(shè)計(jì)、框架的設(shè)計(jì)、代碼的撰寫方面以及論文框架的設(shè)計(jì)提供了很多寶貴的意見,并且為我推薦了許多有用的資料和文獻(xiàn),他的指導(dǎo)和建議使我受益匪淺,有了指導(dǎo)老師的輔導(dǎo)和指點(diǎn),我論文才能夠順利完成。老師的認(rèn)真負(fù)責(zé)的工作態(tài)度和治學(xué)嚴(yán)謹(jǐn)之道使我們這些即將踏入社會的畢業(yè)生受益匪淺。
然后要感謝我的同學(xué)們,感謝大家對我這次畢業(yè)設(shè)計(jì)的幫助,?也感謝大家在大學(xué)生活中對我的陪伴,使得我的大學(xué)生活過的很快樂。
另外,我還要感謝父母,感謝一直以來對我的支持,讓我能夠順利的完成我的學(xué)業(yè),沒有你們也就沒有我的今天,感謝你們無私的付出,未來我一定會報(bào)答你們的。
最后,感謝在座的所有參加我論文答辯的老師們,感謝大家的聆聽,你們辛苦了。
點(diǎn)贊+收藏+關(guān)注 → 私信領(lǐng)取本源代碼、數(shù)據(jù)庫
總結(jié)
以上是生活随笔為你收集整理的spring boot大学生综合素质测评系统 毕业设计源码162308的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: beatsql工具
- 下一篇: centos挂载U盘失败no valid
