




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章緒論1.1課題研究的來源與意義基于SSM的在線辦公平臺系統(tǒng)的研究來源于當(dāng)今信息技術(shù)發(fā)展的趨勢,以及企業(yè)信息化建設(shè)的需求。隨著互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的普及,企業(yè)內(nèi)部管理和協(xié)作也面臨了新的挑戰(zhàn)和機遇。而基于互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的在線辦公平臺系統(tǒng),能夠提高使用者的工作效率,解決傳統(tǒng)工作方式的問題。本系統(tǒng)實現(xiàn)了在線辦公平臺,平臺能夠為企業(yè)內(nèi)部提供一個集中管理各種日常辦公事務(wù)的平臺,包括員工請假、報銷、違紀(jì)罰款等各種操作。同時,它還支持會議室預(yù)約和線上會議管理,方便企業(yè)內(nèi)部的溝通和協(xié)作。本系統(tǒng)采用了前后端分離的開發(fā)模式,能夠提高系統(tǒng)的性能和用戶體驗。通過研究這個系統(tǒng)的實現(xiàn),企業(yè)能夠更好地了解信息化建設(shè)的方法和流程,提高內(nèi)部管理和協(xié)作的效率,為企業(yè)的發(fā)展提供更好的支持。1.2國內(nèi)外發(fā)展?fàn)顩r基于SSM的在線辦公平臺在國外相對較少,但是有許多國際知名的在線辦公平臺,例如:GoogleDrive、Dropbox和OneDrive等。這些平臺提供類似于國內(nèi)在線辦公平臺的文檔管理、協(xié)作、文件共享等功能,并且通過不斷的更新和改進(jìn),持續(xù)地推出新功能來吸引用戶。2019年,Martin等人在《InternationalJournalofInnovativeTechnologyandExploringEngineering》中提到,在開發(fā)在線辦公系統(tǒng)時,SSM框架具有良好的擴展性和可維護(hù)性,可以提高系統(tǒng)的穩(wěn)定性和性能,但需要注意合理的設(shè)計和實現(xiàn)。2020年,Samantha等人在《JournalofInformationSystemsEducation》中指出,SSM框架可以幫助開發(fā)者快速構(gòu)建在線辦公系統(tǒng),并提供了基本的安全和權(quán)限控制功能,但在實現(xiàn)復(fù)雜業(yè)務(wù)時需要進(jìn)一步優(yōu)化和定制。根據(jù)相關(guān)文獻(xiàn)研究顯示,基于SSM的在線辦公平臺在國內(nèi)市場得到了廣泛的應(yīng)用和認(rèn)可。2021年呂夢珂、劉海鵬在《軟件與集成系統(tǒng)》雜志上發(fā)表了《基于SSM框架的辦公自動化系統(tǒng)設(shè)計與實現(xiàn)》一文,提到該系統(tǒng)采用SSM框架進(jìn)行開發(fā),實現(xiàn)了部門管理、員工管理、請假管理、報銷管理等功能模塊,提高了企業(yè)的管理效率和信息處理能力,但涉及系統(tǒng)的用戶體驗和界面設(shè)計問題REF_Ref3331\r\h[1]。陳梓皓、劉志剛、劉旭輝等人發(fā)表的,題為《基于SSM的辦公自動化系統(tǒng)設(shè)計與實現(xiàn)》,文章提出了一個基于SSM框架的在線辦公系統(tǒng)的設(shè)計和實現(xiàn)方案。在該系統(tǒng)中,使用了Spring、SpringMVC和MyBatis框架,前端采用了HTML、CSS和JavaScript,后端使用了MySQL數(shù)據(jù)庫,并且實現(xiàn)了諸如部門管理、用戶管理、角色管理、日程管理、公告管理等重要功能模塊。綜上所述,基于SSM的在線辦公平臺在國內(nèi)市場的應(yīng)用領(lǐng)域已經(jīng)逐漸擴展到了多個行業(yè)領(lǐng)域,同時在用戶體驗和數(shù)據(jù)安全方面也得到了越來越多的關(guān)注。未來,隨著技術(shù)的不斷發(fā)展和市場的變化,這些平臺需要不斷創(chuàng)新和改進(jìn),以滿足不斷變化的用戶需求和市場競爭的挑戰(zhàn)。1.3研究內(nèi)容在需求分析的基礎(chǔ)上對基于SSM的在線辦公平臺系統(tǒng)進(jìn)行設(shè)計和實現(xiàn),本系統(tǒng)將會以SSM為框架,JAVA為開發(fā)語言以前后端分離開發(fā)技術(shù)、Vue、Restful、Tomcat作為主要技術(shù)開發(fā),本系統(tǒng)的設(shè)計包括系統(tǒng)界面設(shè)計,數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)流程的設(shè)計,系統(tǒng)實現(xiàn)以及系統(tǒng)測試。本系統(tǒng)主要為了方便員工在公司的一些基本要求,本系統(tǒng)包括管理員以及員工兩個角色,功能上要實現(xiàn)員工請假功能,員工報銷功能,用戶管理功能,會議管理功能,違紀(jì)罰款功能,部門管理功能,角色管理功能,任務(wù)審批功能,會議室管理功能等。
第2章系統(tǒng)關(guān)鍵技術(shù)本次系統(tǒng)的設(shè)計是建立在SSM框架以及MySQL數(shù)據(jù)庫之上,以實現(xiàn)高效的功能和性能。為了開發(fā)該系統(tǒng)。在開發(fā)工作中使用了許多高效率的開發(fā)工具,可以更快速、更準(zhǔn)確地完成開發(fā)任務(wù),同時也確保了系統(tǒng)的穩(wěn)定性和可靠性。在系統(tǒng)的架構(gòu)和設(shè)計方面,本系統(tǒng)注重用戶體驗和系統(tǒng)的易用性,同時也考慮了系統(tǒng)的可擴展性和安全性,以確保該網(wǎng)站能夠長期穩(wěn)定地運行并提供優(yōu)質(zhì)的服務(wù)。2.1SSM框架技術(shù)SSM框架是指Spring、SpringMVC和MyBatis三個框架的組合。Spring:它是一個提供服務(wù)內(nèi)對象管理的工具,能夠連接并且繼承幾大框架。提供了很多組件和模塊,可以用來管理Java應(yīng)用程序中的對象、處理事務(wù)、提供安全認(rèn)證、緩存等功能。SpringMVC框架:作為視圖層的框架,他可以對用戶的請求進(jìn)行直接處理。接收用戶請求并將其分發(fā)給合適的處理程序。SpringMVC還提供了豐富的視圖解析器和數(shù)據(jù)綁定機制,可以方便地將數(shù)據(jù)展示給用戶。MyBatis框架:作為持久層的框架,他可以方便地進(jìn)行SQL查詢和更新操作。與Hibernate等ORM框架不同,MyBatis更加靈活,可以自由控制SQL語句,從而獲得更好的性能和可維護(hù)性。SSM框架則是以上三種框架的一種組合。他可以幫助開發(fā)人員更加高效地實現(xiàn)業(yè)務(wù)邏輯的編寫,同時也可以更加方便地進(jìn)行數(shù)據(jù)庫操作。開發(fā)人員可以利用SSM框架的特性來快速搭建Web應(yīng)用。SSM框架的優(yōu)點不僅在于它的集成性,還在于它的靈活性。開發(fā)人員可以根據(jù)自己的需求來選擇框架的組合方式。這樣就可以根據(jù)自己的需求來靈活地選擇框架的組合方式,使得開發(fā)更加高效和便捷。2.2VUEVue.js是一個流行的JavaScript前端框架,用于構(gòu)建用戶界面和單頁應(yīng)用程序。它的設(shè)計目標(biāo)是為了簡化Web開發(fā),并提供了一種靈活的方式來實現(xiàn)交互式用戶界面。Vue.js主要關(guān)注的是視圖層,因此它可以很容易地與其他庫或現(xiàn)有的項目整合在一起,使得開發(fā)者可以選擇最適合自己的工具和庫來完成整個項目。它采用了MVVM(Model-View-ViewModel)的架構(gòu)模式,其中Model代表數(shù)據(jù)模型,View代表用戶界面,ViewModel則是連接Model和View的橋梁。Vue.js將用戶界面分解為一個組件樹,每個組件都可以擁有自己的狀態(tài)和屬性,并可以通過組件間的事件來實現(xiàn)通信。Vue的插件生態(tài)非常豐富,包括路由、狀態(tài)管理、UI庫等,可以滿足各種需求。Vue.js是一款非常優(yōu)秀的JavaScript框架,具有數(shù)據(jù)驅(qū)動、生命周期鉤子函數(shù)、組件化開發(fā)、漸進(jìn)式設(shè)計等特點。它適用于構(gòu)建各種規(guī)模的應(yīng)用程序,也可以配合其他庫或插件進(jìn)行快速開發(fā)。2.3前后端分離開發(fā)模式前后端分離開發(fā)模式是一種常見的Web應(yīng)用程序開發(fā)模式,其核心思想是將應(yīng)用程序的前端和后端分離開來,分別由不同的團(tuán)隊或開發(fā)者負(fù)責(zé)開發(fā)和維護(hù)。降低了開發(fā)中的耦合性。在這種模式下,前端通過API向后端發(fā)送請求和獲取數(shù)據(jù)。這種方式使得前后端可以獨立地開發(fā)和調(diào)試,不會相互干擾或依賴,同時也提高了應(yīng)用程序的可維護(hù)性和可擴展性。此模式促進(jìn)了技術(shù)的多樣化和靈活性,開發(fā)者可以選擇最適合自己的技術(shù)棧和工具來實現(xiàn)應(yīng)用程序的不同部分。提高了開發(fā)效率和應(yīng)用程序質(zhì)量,同時也為開發(fā)者提供了更多的選擇和自由度。2.4TomcatTomcat是一款常用于中小型項目的Web容器,可以運行在多種操作系統(tǒng)上,如Windows、Linux和MACOS等。Tomcat作為一個JavaServlet容器,主要用于部署和運行JavaWeb應(yīng)用程序。Tomcat提供了一個Web服務(wù)器環(huán)境,可以接收HTTP請求,并根據(jù)請求的URL來選擇相應(yīng)的Servlet進(jìn)行處理。Tomcat支持Servlet、JSP和JavaServerFaces(JSF)等JavaWeb技術(shù),可以方便地進(jìn)行JavaWeb應(yīng)用程序的開發(fā)和部署。除了支持JavaWeb技術(shù)之外,Tomcat還可以與其他Web服務(wù)器(如Apache、IIS等)進(jìn)行集成,從而提供更加強大的Web服務(wù)功能。2.5RestfulRestful是一種用于構(gòu)建網(wǎng)絡(luò)應(yīng)用程序的設(shè)計架構(gòu)。其理念才思獨具。RESTful風(fēng)格,充斥著極簡主義之思想。其根本原則乃在于將應(yīng)用程序中的資源以URI(統(tǒng)一資源標(biāo)識符)的形式進(jìn)行暴露,并通過HTTP協(xié)議進(jìn)行操作。各種資源以自描述的形式進(jìn)行傳輸,而不依賴于任何特定的狀態(tài)信息。注重系統(tǒng)的可伸縮性和松耦合性。其架構(gòu)靈活,資源之間的關(guān)系清晰。資源以自包含的方式呈現(xiàn),不需依賴于其他資源的狀態(tài)信息,使得系統(tǒng)更具可擴展性。RESTFUL風(fēng)格具有簡潔、靈活、可擴展、易于維護(hù)等優(yōu)點,可以提高Web服務(wù)的性能和可靠性。
第3章系統(tǒng)分析3.1系統(tǒng)需求分析基于SSM的在線辦公平臺是一個集成了多種辦公功能的全面在線辦公系統(tǒng)。首先,系統(tǒng)的功能模塊主要包括部門管理、角色管理、用戶管理、審批任務(wù)、員工請假、違紀(jì)罰款、報銷管理、會議室管理和線下、線上會議管理等多個模塊。系統(tǒng)具備良好的性能和可用性,能夠保證數(shù)據(jù)和信息的安全和可靠性,通過該系統(tǒng)可以使企業(yè)內(nèi)部的各個部門和員工可以更加高效地協(xié)作和溝通,進(jìn)一步提升企業(yè)的生產(chǎn)力和競爭力。系統(tǒng)管理員用例圖,如圖3.1所示。部門管理部門管理會議室管理會議室管理管理員任務(wù)審批用戶管理角色管理報銷管理線上會議管理線上會議管理線下會議管理理線下會議管理理員工請假管理員工請假管理違紀(jì)罰款管理違紀(jì)罰款管理圖3.1系統(tǒng)管理員用例圖系統(tǒng)用戶用例圖,如圖3.2所示。圖3.2系統(tǒng)用戶用例圖3.2系統(tǒng)可行性分析基于SSM(Spring+SpringMVC+MyBatis)的在線辦公平臺是一種新型的企業(yè)內(nèi)部辦公系統(tǒng),其核心目的是為企業(yè)提供一個高效的辦公工具,方便企業(yè)內(nèi)部各個部門之間的協(xié)作和溝通。在進(jìn)行系統(tǒng)設(shè)計和開發(fā)之前,需要對該系統(tǒng)的可行性進(jìn)行評估。3.2.1技術(shù)可行性基于SSM的在線辦公平臺是一個基于JavaEE的Web應(yīng)用程序,使用了Spring、SpringMVC、MyBatis等框架進(jìn)行開發(fā),技術(shù)可行性得到保證。JavaEE是一種企業(yè)級開發(fā)的技術(shù),具有良好的安全性和可靠性,可以滿足大型企業(yè)的需求。SpringMVC框架是一種輕量級的Web應(yīng)用程序框架,可以實現(xiàn)MVC模式,支持RESTFUL架構(gòu)。MyBatis是一個優(yōu)秀的Java持久化框架,提供了很多便捷的持久化方法和API,使得數(shù)據(jù)訪問更加簡單和高效。以上這些技術(shù)的使用,保證了基于SSM的在線辦公平臺的穩(wěn)定性、可靠性和高性能,可以滿足大型企業(yè)的需求。因此,從技術(shù)可行性的角度來看,基于SSM的在線辦公平臺是可行的。3.2.2經(jīng)濟可行性首先在硬件設(shè)備方面,需要購置服務(wù)器、數(shù)據(jù)庫、存儲設(shè)備等硬件設(shè)備,其成本較高,但是可以通過云計算等方式來降低硬件成本。其次在軟件開發(fā)方面,需要雇傭開發(fā)人員進(jìn)行系統(tǒng)開發(fā),軟件開發(fā)成本也較高,但也可以通過使用開源軟件和第三方庫來降低開發(fā)成本。在人員培訓(xùn)方面,需要對使用該系統(tǒng)的員工進(jìn)行培訓(xùn),成本相對較低。在維護(hù)和運營成本方面,需要定期維護(hù)系統(tǒng)并進(jìn)行更新,成本也相對較低。對于預(yù)期收益方面,基于SSM的在線辦公平臺可以提高辦公效率,降低辦公成本。員工可以通過系統(tǒng)實現(xiàn)線上溝通和協(xié)作,避免了大量的郵件往來和紙質(zhì)文件傳遞,節(jié)省了時間和成本。另外,系統(tǒng)可以實現(xiàn)任務(wù)分配和監(jiān)督,提高了管理效率和員工工作質(zhì)量。綜合考慮,基于SSM的在線辦公平臺的經(jīng)濟可行性較高。雖然在硬件設(shè)備和軟件開發(fā)方面的投資成本較高,但是系統(tǒng)可以帶來可觀的收益,節(jié)省辦公成本和提高管理效率,從而使得投資成本得到回報。3.2.3操作可行性用戶的使用習(xí)慣是影響操作可行性的重要因素。如果系統(tǒng)的使用與員工的日常工作習(xí)慣不符,那么員工可能會難以適應(yīng)和接受該系統(tǒng)。故此,本系統(tǒng)充分考慮了用戶的日常操作習(xí)慣,充分提高了系統(tǒng)用戶的友好性,降低使用門檻。系統(tǒng)的易用性是操作可行性的重要因素之一。如果系統(tǒng)的操作界面復(fù)雜,功能不明確,那么員工使用起來可能會感到困難和繁瑣,影響操作效率。因此,在系統(tǒng)設(shè)計和開發(fā)的過程中,需要注意界面設(shè)計和交互方式,簡化操作流程,提高系統(tǒng)的易用性。系統(tǒng)的安全性也是操作可行性的重要保障。如果系統(tǒng)存在數(shù)據(jù)泄露或網(wǎng)絡(luò)攻擊等安全問題,那么企業(yè)將面臨巨大的安全風(fēng)險。所以在系統(tǒng)設(shè)計和開發(fā)的過程中,需要注重系統(tǒng)的安全性,采取合適的措施?;赟SM的在線辦公平臺的操作可行性較高,但需要注重用戶需求、系統(tǒng)易用性、穩(wěn)定性和安全性等方面的問題,從而保證系統(tǒng)的順利運行和員工的正常使用。3.3系統(tǒng)流程分析3.3.1登錄流程圖本次系統(tǒng)的登錄流程如圖3.3所示。圖3.3系統(tǒng)登錄流程圖3.3.2數(shù)據(jù)錄入流程圖系統(tǒng)數(shù)據(jù)錄入流程如圖3.4所示。圖3.4系統(tǒng)數(shù)據(jù)錄入流程圖第4章系統(tǒng)總體設(shè)計在線辦公平臺的系統(tǒng)總體設(shè)計包括系統(tǒng)的架構(gòu)設(shè)計、功能模塊劃分、數(shù)據(jù)庫設(shè)計和界面設(shè)計等方面。首先系統(tǒng)架構(gòu)方面,采用前后端分離的架構(gòu)設(shè)計。數(shù)據(jù)庫選用了MySQL進(jìn)行數(shù)據(jù)存儲。后端服務(wù)選用了Java作為開發(fā)語言,并使用了Web開發(fā)框架組合。根據(jù)系統(tǒng)需求和功能模塊設(shè)計了各個功能的詳細(xì)實現(xiàn)方案,包括前端頁面設(shè)計、后端接口設(shè)計、權(quán)限管理、數(shù)據(jù)校驗、異常處理等。在線辦公平臺的界面設(shè)計需要考慮用戶的使用習(xí)慣和操作方式,采用簡潔明了的設(shè)計風(fēng)格,提供良好的用戶體驗。同時,還需要考慮系統(tǒng)的可訪問性和響應(yīng)速度。采用響應(yīng)式設(shè)計和前端優(yōu)化等技術(shù)手段,提高系統(tǒng)的性能和穩(wěn)定性。4.1系統(tǒng)總體功能設(shè)計通過對在線辦公系統(tǒng)進(jìn)行詳細(xì)的需求分析,對系統(tǒng)進(jìn)行了整體的功能設(shè)計,功能設(shè)計是開發(fā)設(shè)計的核心,如圖4.1所示圖4.1系統(tǒng)功能模塊圖后臺服務(wù)程序結(jié)構(gòu)如圖4.2所示。圖4.2后臺工程結(jié)構(gòu)圖4.2系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)采用了MVC結(jié)構(gòu)模式,其中包括前端UI層,業(yè)務(wù)處理層,數(shù)據(jù)持久層。其中前端UI層主要使用了VUE技術(shù),使用Bootstrap、jQuery等框架,實現(xiàn)了良好的界面效果和用戶體驗。業(yè)務(wù)邏輯層采用Spring框架,實現(xiàn)了IOC和AOP等核心功能,進(jìn)行各個業(yè)務(wù)的處理。持久化層通過Mybait的協(xié)助,對數(shù)據(jù)進(jìn)行了高效的操作和管理,保證了數(shù)據(jù)的穩(wěn)定性和可靠性。本系統(tǒng)結(jié)構(gòu)設(shè)計清晰、層次分明、模塊化程度高,有利于系統(tǒng)的維護(hù)和擴展。同時,系統(tǒng)還使用了Redis、Ehcache等緩存技術(shù),提高了系統(tǒng)的性能和穩(wěn)定性,滿足了用戶的需求和期望。4.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計用戶實體:包括創(chuàng)建時間、用戶ID、用戶名、用戶密碼、是否長期有效、昵稱、頭像網(wǎng)址、手機號、狀態(tài),如圖4.4所示。圖4.4用戶實體圖角色實體:包括角色I(xiàn)D、角色名稱、權(quán)限集合、描述、系統(tǒng)角色內(nèi)置權(quán)限、是否為系統(tǒng)內(nèi)置角色,如圖4.5所示。圖4.5角色實體圖會議實體:包括狀態(tài)、會議ID、會議題目、日期、開會地點、開始時間、結(jié)束時間、會議類型、參與者、會議內(nèi)容、創(chuàng)建時間,如圖4.6所示。圖4.6會議實體圖報銷申請實體:包括申請人、報銷內(nèi)容、總金額、報銷類型、借款、差額、審批狀態(tài),如圖4.7所示。報銷申請報銷申請審批狀態(tài)審批狀態(tài)申請人申請人差額報銷內(nèi)容差額報銷內(nèi)容借款總金額借款總金額報銷類型報銷類型圖4.7報銷申請實體圖會議室實體:包括會議室名稱、會議所能容納最大人數(shù)、備注、狀態(tài),如圖4.8所示。圖4.8會議室實體圖員工請假實體:包括請假原因、請假開始時間、請假結(jié)束時間、申請請假的審批狀態(tài)、請假類型、請假天數(shù),如圖4.9所示。員工請假員工請假請假天數(shù)請假天數(shù)請假原因請假原因請假類型請假類型請假結(jié)束時間請假開始時間申請請假的審批狀態(tài)請假結(jié)束時間請假開始時間申請請假的審批狀態(tài)的審批狀態(tài)申請請假的審批狀態(tài)請請假的審批狀態(tài)請假的審批狀態(tài)圖4.9員工請假實體圖違紀(jì)罰款實體:包括罰款原因、罰款金額、罰款類型、繳納罰款狀態(tài)、微信支付ID,如圖4.10所示。違紀(jì)罰款違紀(jì)罰款00微信支付ID罰款原因罰款原因0繳納罰款狀態(tài)0繳納罰款狀態(tài)罰款金額00罰款類型圖4.10違紀(jì)罰款實體圖總體E-R圖如圖4.11所示。圖4.11總體E-R圖4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計包括以下幾個方面:一是對于系統(tǒng)中各個模塊的數(shù)據(jù)表的設(shè)計,需要考慮表之間的關(guān)聯(lián)關(guān)系,確保數(shù)據(jù)表之間的數(shù)據(jù)完整性和一致性;二是需要對表中各個字段的數(shù)據(jù)類型、長度、默認(rèn)值、約束條件等進(jìn)行定義和設(shè)置,以保證數(shù)據(jù)的準(zhǔn)確性和安全性;在數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計過程中,需要與開發(fā)人員和系統(tǒng)設(shè)計人員密切協(xié)作,充分考慮系統(tǒng)需求和設(shè)計要求,以達(dá)到最優(yōu)的系統(tǒng)性能和用戶體驗。1.用戶表用戶表中記錄的是系統(tǒng)用戶賬戶的全部信息,表結(jié)構(gòu)如表4-1所示。表4-1用戶表字段名類型是否為空索引默認(rèn)值說明idintNOPRI無主鍵usernamevarchar(150)YESUNI無用戶名passwordvarchar(240)YES無無密碼open_idvarchar(100)YESUNI無長期授權(quán)字符串nicknamevarchar(40)YES無無昵稱photovarchar(300)YES無無頭像網(wǎng)址namevarchar(20)YES無無姓名sexenum('男','女')YES無無性別telchar(11)YES無無手機號碼emailvarchar(200)YESMUL無郵箱hiredatedateYES無無入職日期rolejsonNO無無角色roottinyint(2)NO無0是否是超級管理員dept_idintunsignedYESMUL無部門編號statustinyintNOMUL無狀態(tài)create_timedatetimeNO無CURRENT_TIMESTAMP創(chuàng)建時間2.報銷表公司員工的報銷請求都將存儲在這張表中,如下表4-2所示表4-2報銷表字段名類型是否為空索引默認(rèn)值說明idvarchar(255)NOPRI無主鍵user_idintNOMUL無用戶IDcontentjsonNO無無報銷內(nèi)容續(xù)表4-2報銷表字段名類型是否為空索引默認(rèn)值說明amountdecimal(10,2)NO無無總金額anleihendecimal(10,2)NO無無借款file_urlvarchar(255)YES無無balancedecimal(10,2)NO無無差額type_idtinyintNOMUL無類型:1普通報銷,2差旅報銷statustinyintNOMUL無狀態(tài):1審批中,2已拒絕,3審批通過,4.已歸檔instance_idvarchar(200)YES無無工作流實例IDcreate_timedatetimeNOMULCURRENT_TIMESTAMP創(chuàng)建時間3.流程配置表本系統(tǒng)設(shè)計一些工作流程的業(yè)務(wù),需要此表存儲工作流程的詳細(xì)信息,如表4-3所示。表4-3流程配置表字段名類型是否為空索引默認(rèn)值說明idvarchar(60)NOPRI無主鍵idprocess_keyvarchar(60)YES無無流程定義KEYbusiness_routevarchar(100)YES無無業(yè)務(wù)申請路由名form_namevarchar(100)YES無無關(guān)聯(lián)表單組件名create_datedatetimeYES無CURRENT_TIMESTAMP創(chuàng)建時間update_datedatetimeYES無CURRENT_TIMESTAMP更新時間4.會議室表會議室表中記錄了會議室的名稱、會議室所能容納的最大人數(shù)以及備注,如表4-4所示。表4-4會議室表字段名類型是否為空索引默認(rèn)值說明idintNOPRI無主鍵namevarchar(20)NO無無會議室名稱maxsmallintNO無無最大人數(shù)descvarchar(20)YES無無備注statustinyintYES無1狀態(tài),0不可用,1可用5.會議表線下或者線上會議的參會時間、地址、結(jié)束時間、參與者、會議的內(nèi)容、會議的主題、出席人員以及未出席的等相關(guān)信息都記錄在此表中呢,如表4-5所示。表4-5會議表字段名類型是否為空索引默認(rèn)值說明idbigintunsignedNOPRI無主鍵uuidvarchar(120)YES無無UUIDtitlevarchar(150)NO無無會議題目creator_idbigintNOMUL無創(chuàng)建人IDdatedateNOMUL無日期placevarchar(200)YES無無開會地點statussmallintNO無無狀態(tài)(0:待提交、1.申請中,2.審批未通過,3.審批通過,4.會議進(jìn)行中,5.會議結(jié)束)starttimeNO無無開始時間endtimeNO無無結(jié)束時間typesmallintNOMUL無會議類型(1在線會議,2線下會議)membersjsonNO無無參與者descvarchar(400)NO無無會議內(nèi)容續(xù)表4-5會議表字段名類型是否為空索引默認(rèn)值說明instance_idvarchar(50)YES無無工作流實例IDpresentjsonYES無無出席人員名單UnpresentjsonYES無無未出席人員名單create_timedatetimeYES無無創(chuàng)建時間6.員工請假表員工請假的原因、什么時候開始請假、請假的狀態(tài)、結(jié)束時間、天數(shù)、請假的類型都在表中,如表4-6所示。表4-6員工請假表字段名類型是否為空索引默認(rèn)值說明idvarchar(120)NOPRI無主鍵IDuser_idintunsignedNO無無用戶IDreasonvarchar(200)NO無無請假原因startdatetimeNO無無開始時間statustinyintYES無無狀態(tài):0:待提交,1請假中,2不同意,3已同意instance_idvarchar(200)YES無無enddatetimeNO無無結(jié)束時間daysvarchar(20)NO無無天數(shù)typetinyintunsignedNO無無類型:1病假,2事假create_timedatetimeNO無CURRENT_TIMESTAMP創(chuàng)建時間file_urlvarchar(100)YES無無7.違紀(jì)罰款表違紀(jì)員工的用戶名、罰款金額、罰款類型、罰款原因、罰款繳納狀態(tài)、以及微信支付單都儲存在表里,如表4-7所示。表4-7違紀(jì)罰款表字段名類型是否為空索引默認(rèn)值說明idintNOPRI無主鍵uuidvarchar(150)NOUNI無UUIDuser_idintNOMUL無用戶IDamountdecimal(10,2)unsignedNO無無罰款金額type_idintNOMUL無罰款類型reasonvarchar(255)NO無無罰款原因prepay_idvarchar(100)YESUNI無微信支付單IDstatustinyintNOMUL無狀態(tài):1未繳納,2已繳納create_timedatetimeNOMULCURRENT_TIMESTAMP創(chuàng)建時間8.角色管理表管理員對員工進(jìn)行角色管理中里面的角色名稱、權(quán)限集合、描述、系統(tǒng)角色內(nèi)置權(quán)限以及是否為系統(tǒng)內(nèi)置角色的修改都儲存在數(shù)據(jù)庫表里,如表4-8所示。表4-8角色管理表字段名類型是否為空索引默認(rèn)值說明idintunsignedNOPRI無主鍵role_namevarchar(20)NOUNI無角色名稱permissionsjsonNO無無權(quán)限集合descvarchar(300)YES無無描述default_permissionsjsonYES無無系統(tǒng)角色內(nèi)置權(quán)限systemictinyint(10)YES無0是否為系統(tǒng)內(nèi)置角色
第5章系統(tǒng)設(shè)計與實現(xiàn)5.1員工注冊模塊公司有新的員工來公司報道上班,就需要注冊一個屬于自己的賬號,這就需要管理員在用戶管理界面來進(jìn)行添加員工的詳細(xì)信息,如圖5.1所示。員工賬號注冊完成,如圖5.2所示。圖5.1管理員添加新員工界面圖5.2員工賬號注冊成功界面5.2員工登錄模塊員工用自己的專屬賬號可以登錄到系統(tǒng)里面,輸入自己的賬號并輸入正確的密碼之后點擊登錄系統(tǒng),如圖5.3所示。員工進(jìn)入系統(tǒng)之后就能看見系統(tǒng)的首頁界面,如圖5.4所示。圖5.3員工登錄界面圖5.4員工進(jìn)入系統(tǒng)首頁本功能模塊的關(guān)鍵代碼如下:@GetMapping("/createQrCode")@Operation(summary="生成二維碼Base64格式的字符串")/***檢測登陸驗證碼**@paramform*@return*/@PostMapping("/checkQrCode")@Operation(summary="檢測登陸驗證碼")publicRcheckQrCode(@Valid@RequestBodyCheckQrCodeFormform){booleanbool=userService.checkQrCode(form.getCode(),form.getUuid());returnR.ok().put("result",bool);}5.3員工請假模塊員工用戶可以在員工請假界面請假,需要點擊請假,就會彈出請假申請表,請假開始時間不跟截止時間相重合。如圖5.5所示。提交請假單之后如圖5.6所示。員工已經(jīng)提交的請假單需要下載的可以下載下來去找人事簽字,如圖5.7所示。 圖5.5填寫請假單圖5.6提交請假單圖5.7員工請假單本功能模塊的關(guān)鍵代碼如下:@PostMapping("/insert")@Operation(summary="添加請假記錄")@SaCheckLoginpublicRinsert(@Valid@RequestBodyInsertLeaveFormform){//驗證結(jié)束時間是不是早于開始時間DateTimedate_1=DateUtil.parse(form.getStart());DateTimedate_2=DateUtil.parse(form.getEnd());if(date_1.isAfterOrEquals(date_2)){returnR.error("請假開始時間不能晚于或者等于截止時間");}HashMapparam=newHashMap(){{put("userId",StpUtil.getLoginIdAsInt());put("start",form.getStart());put("end",form.getEnd());}};if(leaveService.searchContradiction(param)){returnR.error("當(dāng)前請假申請與已有請假申請日期上有交集覆蓋");}5.4員工繳納罰款模塊員工用戶如果出現(xiàn)違紀(jì)罰款就可以登進(jìn)系統(tǒng)進(jìn)入違紀(jì)罰款查看自己的罰款類型和罰款金額,如圖5.8所示。員工要想進(jìn)行交罰款,點擊交款就會彈出繳納罰款的二維碼,直接掃碼繳納就能繳納罰款,如圖5.9所示。圖5.8查看罰款圖5.9繳納罰款本功能模塊的關(guān)鍵代碼如下:@PostMapping("/searchAmectByPage")@Operation(summary="查詢罰款分頁記錄")@SaCheckLoginpublicRsearchAmectByPage(@Valid@RequestBodySearchAmectByPageFormform){if((form.getStartDate()!=null&&form.getEndDate()==null)||(form.getStartDate()==null&&form.getEndDate()!=null)){returnR.error("startDate和endDate只能同時為空,或者不為空");}intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;}5.5員工申請報銷模塊員工出差回來之后可以申請報銷出差期間花費的費用提交報銷申請表,填寫報銷種類、借款金額、項目名稱、項目類別、以及報銷金額然后點擊確定提交等待審批。如圖5.10所示。員工可以查看自己的報銷申請費用單,給報銷的具體金額,如圖5.11所示。圖5.10報銷申請表圖5.11費用報銷單本功能模塊的關(guān)鍵代碼如下:@PostMapping("/searchReimByPage")@Operation(summary="查詢報銷分頁記錄")@SaCheckLoginpublicRsearchReimByPage(@Valid@RequestBodySearchReimByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);param.put("start",start);param.put("currentUserId",StpUtil.getLoginIdAsInt());if(!(StpUtil.hasPermission("REIM:SELECT")||StpUtil.hasPermission("ROOT"))){param.put("userId",StpUtil.getLoginIdAsInt());}PageUtilspageUtils=reimService.searchReimByPage(param);returnR.ok().put("page",pageUtils);}5.6員工查詢會議室模塊員工可以查詢公司每個會議室的使用情況,根據(jù)會議室名稱可以查詢到這個會議室是否可使用,還可以查看會議室的人數(shù)上限,如圖5.12所示。圖5.12查詢會議室本功能模塊的關(guān)鍵代碼如下:@PostMapping("/searchFreeMeetingRoom")@Operation(summary="查詢空閑會議室")@SaCheckLoginpublicRsearchFreeMeetingRoom(@Valid@RequestBodySearchFreeMeetingRoomFormform){HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);ArrayList<String>list=meetingRoomService.searchFreeMeetingRoom(param);returnR.ok().put("list",list);}5.7員工預(yù)約線下會議模塊員工可以預(yù)約線下會議,需要填寫會議申請表,寫好主題,內(nèi)容日期等必填的信息點提交就可以,如圖5.13所示。員工成功預(yù)約到線下會議如圖5.14所示。圖5.13預(yù)約線下會議圖5.14線下會議預(yù)約成功本功能模塊的核心代碼如下:@PostMapping("/searchMeetingRoomByPage")@SaCheckLoginpublicRsearchMeetingRoomByPage(@Valid@RequestBodySearchMeetingRoomByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);param.put("start",start);PageUtilspageUtils=meetingRoomService.searchMeetingRoomByPage(param);returnR.ok().put("page",pageUtils);}@PostMapping("/insert")@SaCheckPermission(value={"ROOT","MEETING_ROOM:INSERT"},mode=SaMode.OR)publicRinsert(@Valid@RequestBodyInsertMeetingRoomFormform){TbMeetingRoommeetingRoom=JSONUtil.parse(form).toBean(TbMeetingRoom.class);introws=meetingRoomService.insert(meetingRoom);returnR.ok().put("rows",rows);}5.8員工預(yù)約線上會議模塊員工可以查看線上會議開會的會議的主題、日期、人數(shù)等信息如圖5.15所示。員工可以預(yù)約線上會議,預(yù)約線上會議需要填寫申請表如圖5.16所示。線上會議是以為視頻會議形式來開的,可以看到進(jìn)入會議的參會人員,如圖5.17所示。圖5.15查看線上會議圖5.16填寫預(yù)約線上會議申請表圖5.17視頻會議本功能模塊的核心代碼如下:@PostMapping("/searchOnlineMeetingByPage")@Operation(summary="查詢線上會議分頁數(shù)據(jù)")@SaCheckLoginpublicRsearchOnlineMeetingByPage(@Valid@RequestBodySearchOnlineMeetingByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=newHashMap()PageUtilspageUtils=meetingService.searchOnlineMeetingByPage(param);returnR.ok().put("page",pageUtils);}5.9管理員登錄模塊因為管理員有權(quán)限可以登錄員工的賬號,在登上員工賬號之后也可以退出員工的賬號如圖5.18所示。管理員退出員工賬號之后可以通過切換賬號來登錄自己的賬號,如圖5.19所示。圖5.18管理員退出員工賬號圖5.19管理員登錄自己賬號本功能模塊的核心代碼如下:@Operation(summary="修改密碼")@SaCheckLogin//判斷用戶是否登錄@PostMapping("/updatePassword")publicRupdatePassword(@Valid@RequestBodyUpdatePasswordFormupdatePasswordForm){intuserId=StpUtil.getLoginIdAsInt();///cookie的token轉(zhuǎn)換成useridHashMapmap=newHashMap(){{put("userId",userId);put("password",updatePasswordForm.getPassword());}};introws=userService.updatePasswordByid(map);returnR.ok().put("rows",rows);}@GetMapping("/logout")@Operation(summary="退出系統(tǒng)")publicRlogout(){StpUtil.logout();//緩存清除,cookie過期returnR.ok();}5.10部門管理模塊管理員可以在部門管理界面查看部門的聯(lián)系電話、員工數(shù)量、郵箱和新增部門,查詢部門如圖5.20所示。管理員新增部門必須要填寫的是部門的名稱,電話、郵箱以及備注可以不填,如圖5.21所示。部門新增成功,如圖5.22所示。圖5.20查詢部門圖5.21添加新增部門圖5.22部門添加成功本功能模塊的關(guān)鍵代碼如下:@GetMapping("/searchAllDept")@Operation(summary="查詢所有部門")publicRsearchAllDept(){ArrayList<HashMap>list=deptService.searchAllDept();returnR.ok().put("list",list);}@PostMapping("/searchById")@Operation(summary="根據(jù)ID查詢部門")@SaCheckPermission(value={"ROOT","DEPT:SELECT"},mode=SaMode.OR)publicRsearchById(@Valid@RequestBodySearchDeptByIdFormform){HashMapmap=deptService.searchById(form.getId());returnR.ok(map);}5.11角色管理模塊系統(tǒng)中包含很多的角色信息,管理員可以查看、新增以及批量刪除各個角色的權(quán)限數(shù)量以及關(guān)聯(lián)用戶信息,如圖5.23所示。如果公司來了一個部門主管,管理員也要把他的信息添加進(jìn)來進(jìn)行信息管理,角色信息添加如圖5.24所示。圖5.23角色管理界面圖5.24新增角色管理界面本功能模塊的關(guān)鍵代碼如下:@PostMapping("/searchRoleByPage")@Operation(summary="查詢角色分頁數(shù)據(jù)")@SaCheckPermission(value={"ROOT","ROLE:SELECT"},mode=SaMode.OR)publicRsearchRoleByPage(@Valid@RequestBodySearchRoleByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);param.put("start",start);PageUtilspageUtils=roleService.searchRoleByPage(param);returnR.ok().put("page",pageUtils);}@PostMapping("/insert")@Operation(summary="添加角色")@SaCheckPermission(value={"ROOT","ROLE:INSERT"},mode=SaMode.OR)publicRinsert(@Valid@RequestBodyInsertRoleFormform){TbRolerole=newTbRole();role.setRoleName(form.getRoleName());role.setPermissions(JSONUtil.parseArray(form.getPermissions()).toString());role.setDesc(form.getDesc());introws=roleService.insert(role);returnR.ok().put("rows",rows);}5.12在線審批模塊系統(tǒng)中的許多業(yè)務(wù)都需要進(jìn)行在線審批,流程推進(jìn)。管理員可以查看待審批的審批事項、審批的類別、待審批的人數(shù),如圖5.25所示。審批的流程過程,如圖5.26所示。管理員在審批的時候會出現(xiàn)對該條申請的意見同意或者否決,根據(jù)事情的具體情況選擇同意或者否決,如圖5.27所示。圖5.25在線審批界面圖5.26審批流程結(jié)果圖5.27管理員審批申請意見本功能模塊的關(guān)鍵代碼如下:@PostMapping("/searchTaskByPage")@SaCheckPermission(value={"WORKFLOW:APPROVAL","FILE:ARCHIVE"},mode=SaMode.OR)publicRsearchTaskByPage(@Valid@RequestBodySearchTaskByPageFormform){HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);PageUtilspageUtils=taskService.findWaitTask(form);//PageUtilspageUtils=approvalService.searchTaskByPage(param);returnR.ok().put("page",pageUtils);}5.13請假管理模塊管理員可以查看那個部門的員工請假,可以查詢到他的請假起始時間,請假截止時間,請假類型以及請假狀態(tài),如圖5.28所示。管理員可以在員工請假界面查看公司全體員工的請假,并可以查看單獨一個人的請假單如圖5.29所示。圖5.28查看員工請假圖5.29查看員工請假單本功能模塊的關(guān)鍵代碼如下:publicRsearchLeaveByPage(@Valid@RequestBodySearchLeaveByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);param.put("start",start);param.put("myId",StpUtil.getLoginIdAsInt());if(!(StpUtil.hasPermission("LEAVE:SELECT")||StpUtil.hasPermission("ROOT"))){param.put("userId",StpUtil.getLoginIdAsInt());}PageUtilspageUtils=leaveService.searchLeaveByPage(param);returnR.ok().put("page",pageUtils);}5.14違紀(jì)罰款模塊管理員可以對違紀(jì)條項進(jìn)行管理,如果出現(xiàn)違紀(jì)的情況,點擊新增罰款,填寫罰款的類型,金額,原因,那個部門,并選擇當(dāng)事人,如圖5.30所示。在年末的時候管理員還可以查看本年公司員工出現(xiàn)的違紀(jì)報告,已繳納的違紀(jì)罰款金額和未繳納罰款金額,如圖5.31所示。圖5.30新增違紀(jì)罰款圖5.31全年違紀(jì)報告本功能模塊的關(guān)鍵代碼如下:@PostMapping("/insert")@Operation(summary="添加罰款記錄")@SaCheckPermission(value={"ROOT","AMECT:INSERT"},mode=SaMode.OR)publicRinsert(@Valid@RequestBodyInsertAmectFormform){ArrayList<TbAmect>list=newArrayList<>();for(IntegeruserId:form.getUserId()){TbAmectamect=newTbAmect();list.add(amect);}introws=amectService.insert(list);returnR.ok().put("rows",rows);}5.15報銷管理模塊管理員可以查看公司各個部門員工提交的報銷申請記錄、報銷類型、申請人、所屬部門、報銷金額等,如圖5.32所示。管理員可以查看員工的報銷申請費用單以及報銷的具體金額,如圖5.33所示。圖5.32查看報銷管理圖5.33費用報銷單本功能模塊的核心代碼如下:@PostMapping("/searchReimByPage")@Operation(summary="查詢報銷分頁記錄")@SaCheckLoginpublicRsearchReimByPage(@Valid@RequestBodySearchReimByPageFormform){intpage=form.getPage();intlength=form.getLength();intstart=(1)*length;HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);param.put("start",start);param.put("currentUserId",StpUtil.getLoginIdAsInt());if(!(StpUtil.hasPermission("REIM:SELECT")||StpUtil.hasPermission("ROOT"))){param.put("userId",StpUtil.getLoginIdAsInt());}PageUtilspageUtils=reimService.searchReimByPage(param);returnR.ok().put("page",pageUtils);}5.16用戶管理模塊管理員可以在用戶管理界面查詢、新增、修改、刪除員工的個人信息。如果出現(xiàn)員工信息不符或者需要更新信息,管理員就可以對需要修改的信息進(jìn)行修改如圖5.34所示。圖5.34修改員工信息5.17會議室管理模塊管理員可以對系統(tǒng)里記錄的會議室進(jìn)行名稱,人數(shù)上限,以及狀態(tài)數(shù)據(jù)更新,如圖5.35所示。如果后期會議室發(fā)生改變管理員點擊修改進(jìn)行會議室相關(guān)信息的修改,如圖5.36所示。圖5.35會議室界面圖5.36修改會議室界面本功能模塊的核心代碼如下:@PostMapping("/searchFreeMeetingRoom")@Operation(summary="查詢空閑會議室")@SaCheckLoginpublicRsearchFreeMeetingRoom(@Valid@RequestBodySearchFreeMeetingRoomFormform){HashMapparam=JSONUtil.parse(form).toBean(HashMap.class);ArrayList<String>list=meetingRoomService.searchFreeMeetingRoom(param);returnR.ok().put("list",list);}5.18線下會議管理模塊管理員可以查詢線下會議需要的會議室和開會的時間看看是否會議室有其他會議再開,再選擇合適的會議室進(jìn)行的會議申請如圖5.37所示。會議申請成功后可以查詢線下會議時間和主題如圖5.38所示。圖5.37線下會議圖5.38查詢預(yù)約成功的線下會議5.19線上會議管理模塊管理員可以查看公司全部的線上會議數(shù)量、開會的時間、開會的人數(shù)、會議的主題,如圖5.39所示。線上會議為視頻會議管理員進(jìn)入會議后可以看到進(jìn)入會議的人員,如圖5.40所示。圖5.39線上會議界面圖5.40視頻會議界面本功能模塊的核心代碼如下:@PostMapping("/searchOnlineMeetingByPage")@Operation(summary="查詢線上會議分頁數(shù)據(jù)")@SaCheckLoginpublicRsearchOnlineMeetingByPagePageUtilspageUtils=meetingService.searchOnlineMeetingByPage(param);returnR.ok().put("page",pageUtils);}@PostMapping("/searchRoomIdByUUID")@Operation(summary="查詢視頻會議室RoomId")@SaCheckLoginpublicRsearchRoomIdByUUID(@Valid@RequestBodySearchRoomIdByUUIDFormform){LongroomId=meetingService.searchRoomIdByUUID(form.getUuid());returnR.ok().put("roomId",roomId);}
第6章功能測試本次系統(tǒng)在開發(fā)工作完成后需要對各項功能進(jìn)行測試,主要測試的功能模塊包括任務(wù)審批、員工請假、報銷管理、會議室管理等模塊。測試工作開展前需要對系統(tǒng)的測試工作做出規(guī)劃,以確保測試的全面性和準(zhǔn)確性。在測試過程中,需要模擬各種情況下的用戶行為,如正常操作、異常操作、輸入錯誤等,以測試系統(tǒng)的穩(wěn)定性和容錯性。同時還需要測試系統(tǒng)的性能、安全性、兼容性等方面,以保證系統(tǒng)能夠穩(wěn)定運行并滿足用戶的需求。在測試過程中,發(fā)現(xiàn)的問題需要及時記錄并及時修復(fù),以避免影響系統(tǒng)的正常運行。同時,還需要進(jìn)行回歸測試,確保修復(fù)問題后不會引入新的問題。經(jīng)過多輪測試和修復(fù),確保系統(tǒng)各個功能都能夠正常運行,才能發(fā)布系統(tǒng)并投入使用。6.1系統(tǒng)測試目的系統(tǒng)測試時為了對系統(tǒng)中的功能模塊進(jìn)行檢測,數(shù)據(jù)流進(jìn)行檢查,確保數(shù)據(jù)流以及功能業(yè)務(wù)路徑正確,同時還要包括所有組件和子系統(tǒng)之間的交互作用,并確保系統(tǒng)的各項功能能夠正常運行,同時也要檢查系統(tǒng)的非功能性要求是否滿足。系統(tǒng)測試主要是為了發(fā)現(xiàn)系統(tǒng)中的缺陷和問題,并提供有關(guān)系統(tǒng)性能的關(guān)鍵信息,以幫助開發(fā)人員改進(jìn)系統(tǒng),確保系統(tǒng)能夠滿足用戶需求和預(yù)期的業(yè)務(wù)流程。6.2系統(tǒng)測試方法本次系統(tǒng)使用了白盒測試的方法,白盒測試是測試人員在了解被測試軟件的內(nèi)部結(jié)構(gòu)和實現(xiàn)細(xì)節(jié)的基礎(chǔ)上,編寫測試用例并對其進(jìn)行執(zhí)行,以測試軟件的各個模塊、函數(shù)、路徑等內(nèi)部實現(xiàn)是否符合預(yù)期的功能和性能要求。系統(tǒng)測試需要制定詳細(xì)的測試計劃,包括測試目標(biāo)、測試環(huán)境、測試用例、測試數(shù)據(jù)等,以便于全面、系統(tǒng)地測試軟件系統(tǒng)的各個方面。同時,測試過程中需要收集測試數(shù)據(jù)、記錄測試結(jié)果、分析測試報告,以便于及時發(fā)現(xiàn)和解決問題,提高軟件系統(tǒng)的質(zhì)量和可靠性。6.3系統(tǒng)測試結(jié)果基于SSM的在線辦公系統(tǒng)經(jīng)過測試,測試結(jié)果表明該系統(tǒng)具有較高的穩(wěn)定性和可靠性。在單元測試階段,針對各個功能模塊進(jìn)行了測試,發(fā)現(xiàn)并解決了一些較小的問題。在組裝測試階段,對各個功能模塊進(jìn)行了集成測試,確保了模塊之間的協(xié)調(diào)運行。經(jīng)過系統(tǒng)測試,最終的測試結(jié)果顯示,系統(tǒng)的各項功能均能夠正常運行,沒有發(fā)現(xiàn)嚴(yán)重的缺陷和漏洞。同時,系統(tǒng)的響應(yīng)速度也比較快,用戶操作流暢,界面友好??偟膩碚f,系統(tǒng)測試結(jié)果表明該系統(tǒng)已經(jīng)可以正常投入使用。系統(tǒng)測試用例:表6-1系統(tǒng)登陸測試用例表測試編號測試目的測試步驟測試結(jié)果通過/失敗TC001使用正確的用戶名和密碼登錄系統(tǒng)登錄成功,用戶重定向到主頁登錄成功,用戶重定向到主頁通過TC002使用不存在的用戶名和正確的密碼登錄系統(tǒng)登錄失敗,顯示錯誤消息"用戶名或密碼不正確"登錄失敗,顯示錯誤消息"用戶名或密碼不正確"通過TC003使用正確的用戶名和錯誤的密碼登錄系統(tǒng)登錄失敗,顯示錯誤消息"用戶名或密碼不正確"登錄失敗,顯示錯誤消息"用戶名或密碼不正確"通過TC004使用空用戶名和正確的密碼登錄系統(tǒng)登錄失敗,顯示錯誤消息"請輸入用戶名"登錄失敗,顯示錯誤消息"請輸入用戶名"通過TC005使用正確的用戶名和空密碼登錄系統(tǒng)登錄失敗,顯示錯誤消息"請輸入密碼"登錄失敗,顯示錯誤消息"請輸入密碼"通過TC006使用鎖定的用戶賬號進(jìn)行登錄登錄失敗,顯示錯誤消息"用戶賬號已鎖定,請聯(lián)系管理員解鎖"登錄失敗,顯示錯誤消息"用戶賬號已鎖定,請聯(lián)系管理員解鎖"通過TC007使用已禁用的用戶賬號進(jìn)行登錄登錄失敗,顯示錯誤消息"用戶賬號已禁用,請聯(lián)系管理員"登錄失敗,顯示錯誤消息"用戶賬號已禁用,請聯(lián)系管理員"通過表6-2系統(tǒng)角色管理測試用例表測試編號測試目的測試步驟測試結(jié)果通過/失敗TC001創(chuàng)建新角色,填寫所有必填字段角色成功創(chuàng)建,并顯示在角色列表中角色成功創(chuàng)建,并顯示在角色列表中通過TC002創(chuàng)建新角色,留空必填字段創(chuàng)建角色失敗,顯示錯誤消息"請?zhí)顚懕靥钭侄?創(chuàng)建角色失敗,顯示錯誤消息"請?zhí)顚懕靥钭侄?通過續(xù)表6-2系統(tǒng)角色管理測試用例表測試編號測試目的測試步驟測試結(jié)果通過/失敗TC003創(chuàng)建新角色,填寫已存在的角色名稱創(chuàng)建角色失敗,顯示錯誤消息"角色名稱已存在"創(chuàng)建角色失敗,顯示錯誤消息"角色名稱已存在"通過TC004編輯現(xiàn)有角色,修改角色名稱和權(quán)限角色成功編輯,并顯示更新后的角色信息角色成功編輯,并顯示更新后的角色信息通過TC005編輯現(xiàn)有角色,留空必填字段編輯角色失敗,顯示錯誤消息"請?zhí)顚懕靥钭侄?編輯角色失敗,顯示錯誤消息"請?zhí)顚懕靥钭侄?通過TC006刪除現(xiàn)有角色角色成功刪除,并從角色列表中移除角色成功刪除,并從角色列表中移除通過TC007刪除正在被使用的角色刪除角色失敗,顯示錯誤消息"角色正在被使用,無法刪除"刪除角色失敗,顯示錯誤消息"角色正在被使用,無法刪除"通過表6-3會議室管理測試用例表測試編號測試目的測試步驟測試結(jié)果通過/失敗TC001用戶成功預(yù)訂會議室1.用戶登錄系統(tǒng)2.選擇可預(yù)訂的會議室3.輸入預(yù)訂信息并確認(rèn)4.驗證會議室狀態(tài)為“已預(yù)訂”系統(tǒng)顯示會議室預(yù)訂成功,會議室狀態(tài)更新為“已預(yù)訂”通過TC002用戶預(yù)訂會議室沖突1.用戶登錄系統(tǒng)2.選擇已被預(yù)訂的會議室3.輸入預(yù)訂信息并確認(rèn)4.驗證系統(tǒng)顯示預(yù)訂沖突錯誤提示系統(tǒng)顯示預(yù)訂沖突錯誤提示,用戶無法成功預(yù)訂會議室通過TC003用戶取消會議室預(yù)訂1.用戶登錄系統(tǒng)2.進(jìn)入已預(yù)訂的會議室詳情頁3.點擊取消預(yù)訂按鈕4.驗證會議室狀態(tài)更新為“可預(yù)訂”系統(tǒng)成功取消會議室預(yù)訂,會議室狀態(tài)更新為“可預(yù)訂”通過續(xù)表6-3會議室管理測試用例表測試編號測試目的測試步驟測試結(jié)果通過/失敗TC004管理員添加新的會議室1.管理員登錄系統(tǒng)2.進(jìn)入會議室管理界面3.點擊添加新會議室按鈕4.輸入會議室信息并保存5.驗證新的會議室在列表中顯示系統(tǒng)成功添加新的會議室,并在列表中顯示通過C005管理員刪除會議室1.管理員登錄系統(tǒng)2.進(jìn)入會議室管理界面3.選擇要刪除的會議室4.點擊刪除按鈕5.驗證會議室從列表中移除系統(tǒng)成功刪除會議室,并將其從列表中移除通過TC006用戶查看會議室列表1.用戶登錄系統(tǒng)2.進(jìn)入會議室列表頁面3.驗證系統(tǒng)正確顯示所有可預(yù)訂的會議室信息系統(tǒng)正確顯示所有可預(yù)訂的會議室信息通過TC007用戶搜索會議室1.用戶登錄系統(tǒng)2.進(jìn)入會議室列表頁面3.輸入搜索關(guān)鍵字并點擊搜索按鈕4.驗證系統(tǒng)根據(jù)搜索條件正確顯示會議室列表系統(tǒng)根據(jù)搜索條件正確顯示會議室列表通過表6-4報銷管理測試用例表測試編號測試目的測試步驟預(yù)期結(jié)果通過/失敗TC001驗證登錄功能是否正常工作輸入有效的用戶名和密碼,點擊登錄按鈕登錄成功,跳轉(zhuǎn)到報銷管理主頁通過TC002驗證報銷單創(chuàng)建功能是否正常登錄系統(tǒng),點擊創(chuàng)建報銷單按鈕,填寫報銷單信息,提交報銷單報銷單創(chuàng)建成功,顯示在報銷單列表中通過續(xù)表6-4報銷管理測試用例表測試編號測試目的測試步驟預(yù)期結(jié)果通過/失敗TC003驗證報銷單審批功能是否正常登錄系統(tǒng),選擇待審批的報銷單,點擊審批按鈕,選擇審批意見并提交報銷單審批成功,狀態(tài)更新為已審批通過TC004驗證報銷單查詢功能是否正常登錄系統(tǒng),進(jìn)入報銷單查詢頁面,輸入查詢條件,點擊查詢按鈕顯示符合條件的報銷單列表通過TC005驗證報銷單打印功能是否正常登錄系統(tǒng),進(jìn)入報銷單查詢頁面,選擇需要打印的報銷單,點擊打印按鈕報銷單成功打印,生成打印文件通過TC006驗證報銷單統(tǒng)計功能是否正常登錄系統(tǒng),進(jìn)入報銷單統(tǒng)計頁面,選擇統(tǒng)計條件,點擊統(tǒng)計按鈕顯示符合條件的報銷單統(tǒng)計結(jié)果通過TC007驗證報銷單修改功能是否正常登錄系統(tǒng),進(jìn)入報銷單查詢頁面,選擇待修改的報銷單,修改報銷單信息并保存報銷單修改成功,修改后的信息保存通過TC008驗證報銷單刪除功能是否正常登錄系統(tǒng),進(jìn)入報銷單查詢頁面,選擇待刪除的報銷單,點擊刪除按鈕報銷單刪除成功,不再顯示在報銷單列表中通過表6-5請假模塊測試用例表測試編號測試目的測試步驟預(yù)期結(jié)果通過/失敗TC001驗證請假申請功能是否正常1.登錄系統(tǒng)<br>2.進(jìn)入請假申請頁面<br>3.填寫請假信息<br>4.提交請假申請請假申請?zhí)峤怀晒?,狀態(tài)更新為待審批通過TC002驗證請假審批功能是否正常1.登錄系統(tǒng)<br>2.進(jìn)入請假審批頁面<br>3.選擇待審批的請假申請<br>4.點擊審批按鈕<br>5.選擇審批意見并提交請假審批成功,狀態(tài)更新為已審批通過TC003驗證請假查詢功能是否正常1.登錄系統(tǒng)<br>2.進(jìn)入請假查詢頁面<br>3.輸入查詢條件<br>4.點擊查詢按鈕顯示符合條件的請假申請列表通過TC004驗證請假取消功能是否正常1.登錄系統(tǒng)<br>2.進(jìn)入請假查詢頁面<br>3.選擇待取消的請假申請<br>4.點擊取消按鈕請假取消成功,狀態(tài)更新為已取消通過測試編號測試目的測試步驟預(yù)期結(jié)果通過/失敗TC005驗證請假統(tǒng)計功能是否正常1.登錄系統(tǒng)<br>2.進(jìn)入請假統(tǒng)計頁面<br>3.選擇統(tǒng)計條件<br>4.點擊統(tǒng)計按鈕顯示符合條件的請假統(tǒng)計結(jié)果通過TC006驗證請假審
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國詩詞大會知識競賽模擬試題庫及答案(共200道)
- 2026年人教版高考英語一輪總復(fù)習(xí)綜合模擬檢測試卷及答案(七)
- 2025年事業(yè)單位招聘考試公共基礎(chǔ)知識模擬試卷及答案
- 2025年陜西省中考生物試題(含答案及解析)
- 肝臟藥物課件
- 2025年熔化焊接與熱切割理論考試試題(100題)含答案
- 2025年云南省中考化學(xué)試題(解析版)
- 2025蘇教版七年級生物下冊期中檢測卷(含答案)
- 2025年蘇科版八年級物理綜合練習(xí)卷02(解析版)
- 辦公室廉政課件
- 鼻飼的注意事項及護(hù)理要點
- 部隊落實保密管理制度
- 學(xué)校內(nèi)部控制制度
- 彩鋼板安裝勞務(wù)承包合同
- 注射用維布妥昔單抗-藥品臨床應(yīng)用解讀
- 保安證考試應(yīng)試寶典及試題答案
- 貨車司機安全培訓(xùn)資料
- 2025年應(yīng)急管理普法知識競賽題庫(新版)
- 強夯施工作業(yè)安全培訓(xùn)
- Python程序設(shè)計基礎(chǔ)-教案
- 《廣東省企業(yè)事業(yè)單位 突發(fā)環(huán)境事件應(yīng)急預(yù)案編制指南 (試行)》
評論
0/150
提交評論