版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
本科生畢業(yè)論文(設計)題目springboot教材訂購系統(tǒng)學院XXXXX專業(yè)班級XXXXX用戶姓名XXXX指導教師XXXX撰寫日期:2022年5月10日目錄TOC\o"1-3"\h\u摘要 摘要信息化社會內(nèi)需要與之針對性的信息獲取途徑,但是途徑的擴展基本上為人們所努力的方向,由于站在的角度存在偏差,人們經(jīng)常能夠獲得不同類型信息,這也是技術最為難以攻克的課題。針對教材訂購系統(tǒng)等問題,對教材訂購系統(tǒng)進行研究分析,然后開發(fā)設計出教材訂購系統(tǒng)以解決問題。教材訂購系統(tǒng)主要功能模塊包括用戶管理、教材類型、教材信息、進書單、購書單、領書單,采取面對對象的開發(fā)模式進行軟件的開發(fā)和硬體的架設,能很好的滿足實際使用的需求,完善了對應的軟體架設以及程序編碼的工作,采取MySQL作為后臺數(shù)據(jù)的主要存儲單元,采用springboot框架、JAVA技術、Ajax技術進行業(yè)務系統(tǒng)的編碼及其開發(fā),實現(xiàn)了本系統(tǒng)的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎。針對教材訂購系統(tǒng)的各項需求以及技術問題進行分析,證明了系統(tǒng)的必要性和技術可行性,然后對設計系統(tǒng)需要使用的技術軟件以及設計思想做了基本的介紹,最后來實現(xiàn)教材訂購系統(tǒng)和部署運行使用它。關鍵詞:springboot技術;MYSQL;教材訂購系統(tǒng)AbstractIntheinformationsociety,thereisaneedfortargetedinformationaccess,buttheexpansionofaccessisbasicallythedirectionofpeople'sefforts.Duetothedeviationoftheperspective,peoplecanoftenobtaindifferenttypesofinformation,whichisalsothemostdifficultsubjectfortechnologytoovercome.Aimingattheproblemsoftextbookorderingsystem,thispaperstudiesandanalyzesthetextbookorderingsystem,andthendevelopsanddesignsthetextbookorderingsystemtosolvetheproblems.Themainfunctionalmodulesofthetextbookorderingsystemincludeusermanagement,textbooktype,textbookinformation,bookentrylist,bookpurchaselistandBookreceivinglist.Theobject-orienteddevelopmentmodeisadoptedforsoftwaredevelopmentandhardwareerection,whichcanwellmeettheneedsofactualuse,improvethecorrespondingsoftwareerectionandprogramcoding,takeMySQLasthemainstorageunitofbackgrounddata,andadoptspringbootframework,JavatechnologyAjaxtechnologyencodesanddevelopsthebusinesssystem,andrealizesallthefunctionsofthesystem.Thisreportfirstanalyzesthebackground,functionandsignificanceoftheresearch,whichlaysafoundationfortherationalityoftheresearchwork.Thispaperanalyzestherequirementsandtechnicalproblemsofthetextbookorderingsystem,provesthenecessityandtechnicalfeasibilityofthesystem,andthenmakesabasicintroductiontothetechnicalsoftwareanddesignideasneededtodesignthesystem.Finally,itrealizesthetextbookorderingsystemanddeploysit.Keywords:Springboottechnology;MYSQL;Textbookorderingsystem1緒論1.1選題背景隨著高校辦學規(guī)模的擴展,管理方式和管理效率的矛盾日漸突出。在教材訂購方面,手工管理方式和文檔系統(tǒng)管理方式在管理質(zhì)量和管理效率上,從根本.上不能適應大規(guī)模的管理要求。而隨著計算機科學的發(fā)展與進步,計算機科學管理方式,不管在管理效率還是在管理質(zhì)量上都逐步顯示了它的可靠性和優(yōu)越性。而且計算機管理在人力、物力等資源方面都比以前的管理模式要有大的節(jié)省。計算機管理正以它自身的優(yōu)越性成為管理模式中的主流。教材訂購管理系統(tǒng)采用計算機管理模式的必然性也在與此!本系統(tǒng)以學校為背景,
在認真調(diào)研和分析了學校訂購教材的現(xiàn)狀之后,根據(jù)用戶的需求和各個功能的關系,做出了積極的設計方案。在新的管理資源和管理模式上,一定能使工作質(zhì)量、工作效率等得到提高,推動學校發(fā)展的步伐!1.2開發(fā)現(xiàn)狀目前我國各行各業(yè)的信息化建設都在迅速發(fā)展,而高校作為一個特殊群體,其教學和科研也正逐步向數(shù)字化方向邁進。因此對教育行業(yè)而言,建立一套適合學校特點的教材訂購管理系統(tǒng)已成為當務之急。本文結合當前高等院校教材管理的實際情況,設計并實現(xiàn)了一款基于B/S模式的面向全校教師的教材訂購管理信息系統(tǒng)。該系統(tǒng)采用先進的數(shù)據(jù)庫技術及Web開發(fā)工具,以springboot為平臺進行編程,具有操作簡單、使用方便等優(yōu)點,能有效提高工作效率;同時通過對系統(tǒng)功能需求分析與總體設計以及具體模塊詳細設計與實現(xiàn),達到了預期效果。本論文主要工作包括以下幾個方面:研究并分析了國內(nèi)外教材訂購管理系統(tǒng)的發(fā)展趨勢和相關理論,提出了一種適用于本校教學要求的新型教材訂購管理模式,即“統(tǒng)一計劃一分級控制”的新模式,從而構建了一個符合我校特色的教材采購管理系統(tǒng)模型。從系統(tǒng)分析入手,確定了系統(tǒng)目標,然后按照軟件工程方法對系統(tǒng)進行了功能分析和用例分析。根據(jù)所要解決的問題,利用springboot框架,Java語言,結合MySQL數(shù)據(jù)庫技術,完成了系統(tǒng)的總體架構和各個功能模塊設計。最后,對系統(tǒng)各部分的運行結果作了簡要介紹和總結。本教材訂購管理系統(tǒng)是一個針對校內(nèi)師生的信息管理系統(tǒng),它將為廣大教師提供高效便捷的信息查詢服務,使他們能夠更及時地獲得自己需要的各類資料。本教材訂購管理系統(tǒng)不僅可以方便采購人員隨時查閱自己感興趣的各種書籍資源,而且還可幫助老師快速掌握最新的教學動態(tài),從而更好地為教學工作服務。1.3系統(tǒng)開發(fā)技術的特色(1)教材訂購系統(tǒng)中的web后臺管理中的后端不再使用古老的jsp+javabean+servlet技術,而是使用當前主流的springboot框架,它減少java配置代碼,簡化編程代碼,目前springboot框架也是很多企業(yè)選擇的框架之一。(2)教材訂購系統(tǒng)中的web后臺管理中的前端使用的是JavaScript框架,它配合ajax[8]和jquery[9]可以美化頁面設計。(3)教材訂購系統(tǒng)中數(shù)據(jù)庫用的mysql5.7,它執(zhí)行效率高。1.4論文結構與章節(jié)安排論文將分層次經(jīng)行編排,除去論文摘要致謝文獻參考部分,正文部分還會對網(wǎng)站需求做出分析,以及闡述大體的設計和實現(xiàn)的功能,最后羅列部分調(diào)測記錄,論文主要架構如下:第一章:引言。第一章主要介紹了課題研究的背景,系統(tǒng)開發(fā)的現(xiàn)狀和本文的開發(fā)現(xiàn)狀與主要工作。第二章:系統(tǒng)需求分析。第二章主要從系統(tǒng)的用戶、功能等方面進行需求分析。第三章:系統(tǒng)設計。第三章主要對系統(tǒng)框架、系統(tǒng)功能模塊、數(shù)據(jù)庫進行功能設計。第四章:系統(tǒng)實現(xiàn)。第四章主要介紹了系統(tǒng)框架搭建、系統(tǒng)界面的實現(xiàn)。第五章:系統(tǒng)測試。第五章主要對系統(tǒng)的部分界面進行測試并對主要功能進行測試第六章:總結。2教材訂購系統(tǒng)分析系統(tǒng)分析是開發(fā)一個項目的先決條件,通過系統(tǒng)分析可以很好的了解系統(tǒng)的主體用戶的基本需求情況,同時這也是項目的開發(fā)的原因。進而對系統(tǒng)開發(fā)進行可行性分析,通常包括技術可行性、經(jīng)濟可行性等,可行性分析同時也是從項目整體角度進行的分析。然后就是對項目的具體需求進行分析,分析的手段一般都是通過用戶的用例圖來實現(xiàn)。下面是詳細的介紹。2.1可行性分析(1)經(jīng)濟可行性:在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發(fā)前期,開發(fā)時用于項目的經(jīng)費將會大大降低,不會讓開發(fā)該軟件在項目啟動期受到經(jīng)費的影響,所以經(jīng)濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經(jīng)費用于人工費,以及設備費用。將在無紙化,高效率的道路上越走越遠。所以經(jīng)濟可行性沒有問題。(2)操作可行性:此次項目設計參考了幾個該模式下網(wǎng)站的開發(fā)案例,對他們的操作界面分析,將眾多案例結合在一起,突出以人為本簡化操作,所以具有基本計算機知識的人都會操作本項目。因此操作可行性也沒有問題。(3)技術可行性:技術可行性指的是對于搭建框架的可行性,以及有更優(yōu)秀的技術出現(xiàn)時系統(tǒng)的技術更新?lián)Q代的納新性如何,開發(fā)時間成本費用比如何。現(xiàn)有的springboot技術能夠迎合所有電子商務系統(tǒng)的搭建。開發(fā)這個教材訂購系統(tǒng)的時候我采用了springboot+MYSQL用以運行整體程序。綜上所述技術可行性也沒有問題。(4)法律可行性:從開發(fā)者角度來看,springboot和MYSQL是網(wǎng)上開源且免費的,在知識產(chǎn)權方面不會產(chǎn)生任何法律糾紛。從用戶使用角度來看,只要不再系統(tǒng)上販賣違禁品,對系統(tǒng)做出條約協(xié)議,杜絕非法支付即可。綜上所述法律可行性也沒有問題。2.2系統(tǒng)流程分析業(yè)務流程是用一些特定的符合和線條來進行演示用戶在使用系統(tǒng)時的過程,在進行系統(tǒng)分析的時候,業(yè)務流程可以幫助開發(fā)人員更好的理解業(yè)務,發(fā)現(xiàn)錯誤,完善系統(tǒng)。2.2.1數(shù)據(jù)增加流程用戶成功登入系統(tǒng)后就能夠?qū)崿F(xiàn)增加數(shù)據(jù)的操作,增加數(shù)據(jù)的編號是特定的,系統(tǒng)生成,用戶不能隨意填寫,除了編號以外,其他增加信息用戶自己填寫,填寫后的信息經(jīng)過系統(tǒng)驗證,驗證合法通過就顯示增加數(shù)據(jù)成功了,相反的話,就沒有增加成功,圖2-1顯示的就是在增加數(shù)據(jù)時的流程。圖2-1數(shù)據(jù)增加流程圖2.2.2數(shù)據(jù)修改流程數(shù)據(jù)修改時的流程和上面介紹的數(shù)據(jù)增加時的流程差不多,如圖2-2所示。圖2-2數(shù)據(jù)修改流程圖2.2.3數(shù)據(jù)刪除流程如果系統(tǒng)里面存在一些沒有用的數(shù)據(jù)的話,相關的管理人員還可以對這些數(shù)據(jù)進行刪除,圖2-3就是數(shù)據(jù)刪除時的流程圖。圖2-3數(shù)據(jù)刪除流程圖2.3系統(tǒng)功能分析2.3.1功能性分析按照教材訂購系統(tǒng)的角色,我劃分為了教師管理模塊、發(fā)行人員管理模塊、采購人員管理模塊和管理員管理模塊這四大部分。采購人員管理模塊:(1)采購人員注冊登錄:采購人員注冊為采購人員并登錄教材訂購系統(tǒng);采購人員對個人信息的增刪改查,比如個人資料,密碼修改。(2)查看教材訂購系統(tǒng)的首頁信息:教材訂購系統(tǒng)的首頁信息包含了首頁、公告消息、教材信息、我的(我的賬戶、個人中心)等。(3)公告欄:用戶在公告這一菜單下對用戶提交的查看、同時也可以發(fā)布、評論。(4)教材信息:在首頁導航欄上我們會看到“教材信息”這一菜單,我們點擊進入進去以后,會看到所有管理員在后臺發(fā)布的教材信息,我們選擇想要了解教材的購買,查看教材信息,可以購買+評論;(5)個人中心:當用戶點擊右上角“我的”這個按鈕,就會進入到對應的后臺進行信息的管理了;(6)我的賬戶:當用戶點擊右上角“我的”這個按鈕,會出現(xiàn)子菜單,點擊“我的賬戶”可以對個人的資料以及登錄系統(tǒng)的密碼進行設置;教師管理模塊:(1)更多管理:在“更多管理”這一菜單下,可以對教師操作的教材信息+購書單+領書單等增刪改查。管理員管理模塊:(1)登錄:管理員的賬號是在數(shù)據(jù)表表中直接設置生成的,不需要進行注冊;(2)用戶管理:當點擊“用戶管理”這一菜單的時候,會出現(xiàn)管理員+發(fā)行人員+教師+采購人員四個子菜單,可以對這四個模塊進行增刪改查操作;(3)更多管理:當點擊“更多”這一菜單的時候,會出現(xiàn)教材信息+教材類型+進書單+購書單+領書單這五個子菜單,能夠?qū)滩男畔⑦M行增刪改查操作,對發(fā)行人員和教師提交的購書單+領書單進行管控,以及實現(xiàn)對采購人員提交的領書單進行審核管理;(4)站點管理:管理員可以對教材訂購系統(tǒng)中首頁顯示的輪播圖以及系統(tǒng)中的一些公告發(fā)布到系統(tǒng)當中,讓用戶及時的查看到系統(tǒng)信息,進行合理安排。2.3.2非功能性分析教材訂購系統(tǒng)的非功能性需求比如教材訂購系統(tǒng)的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下3-1表格中:表3-SEQ表3\*ARABIC1教材訂購系統(tǒng)非功能需求表安全性主要指教材訂購系統(tǒng)數(shù)據(jù)庫的安裝,數(shù)據(jù)庫的使用和密碼的設定必須合乎規(guī)范??煽啃钥煽啃允侵附滩挠嗁徬到y(tǒng)能夠安裝用戶的指示進行操作,經(jīng)過測試,可靠性90%以上。性能性能是影響教材訂購系統(tǒng)占據(jù)市場的必要條件,所以性能最好要佳才好??蓴U展性比如數(shù)據(jù)庫預留多個屬性,比如接口的使用等確保了系統(tǒng)的非功能性需求。易用性用戶只要跟著教材訂購系統(tǒng)的頁面展示內(nèi)容進行操作,就可以了。可維護性教材訂購系統(tǒng)開發(fā)的可維護性是非常重要的,經(jīng)過測試,可維護性沒有問題2.4系統(tǒng)用例分析通過2.3功能的分析,得出了本教材訂購系統(tǒng)的用例圖:采購人員角色用例如圖2-3所示。圖2-3教材訂購系統(tǒng)采購人員角色用例圖web后臺管理上的管理員是維護整個教材訂購系統(tǒng)中所有數(shù)據(jù)信息的。管理員角色用例如圖2-4所示。圖2-4教材訂購系統(tǒng)管理員角色用例圖2.5本章小結本章主要通過對教材訂購系統(tǒng)的可行性分析、流程分析、功能需求分析、系統(tǒng)用例分析,確定整個教材訂購系統(tǒng)要實現(xiàn)的功能。同時也為教材訂購系統(tǒng)的代碼實現(xiàn)和測試提供了標準。3教材訂購系統(tǒng)總體設計本章主要討論的內(nèi)容包括教材訂購系統(tǒng)的功能模塊設計、數(shù)據(jù)庫系統(tǒng)設計。3.1系統(tǒng)架構設計本教材訂購系統(tǒng)從架構上分為三層:表現(xiàn)層(UI)、業(yè)務邏輯層(BLL)以及數(shù)據(jù)層(DL)。圖3-1教材訂購系統(tǒng)系統(tǒng)架構設計圖表現(xiàn)層(UI):又稱UI層,主要完成本教材訂購系統(tǒng)的UI交互功能,一個良好的UI可以打打提高用戶的用戶體驗,增強用戶使用本教材訂購系統(tǒng)時的舒適度。UI的界面設計也要適應不同版本的教材訂購系統(tǒng)以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用戶進行交互操作時必須要得到與之相符的交互結果,這就要求表現(xiàn)層要與業(yè)務邏輯層進行良好的對接。業(yè)務邏輯層(BLL):主要完成本教材訂購系統(tǒng)的數(shù)據(jù)處理功能。用戶從表現(xiàn)層傳輸過來的數(shù)據(jù)經(jīng)過業(yè)務邏輯層進行處理交付給數(shù)據(jù)層,系統(tǒng)從數(shù)據(jù)層讀取的數(shù)據(jù)經(jīng)過業(yè)務邏輯層進行處理交付給表現(xiàn)層。數(shù)據(jù)層(DL):由于本教材訂購系統(tǒng)的數(shù)據(jù)是放在服務端的mysql數(shù)據(jù)庫中,因此本屬于服務層的部分可以直接整合在業(yè)務邏輯層中,所以數(shù)據(jù)層中只有數(shù)據(jù)庫,其主要完成本教材訂購系統(tǒng)的數(shù)據(jù)存儲和管理功能。3.2系統(tǒng)功能模塊設計3.2.1整體功能模塊設計在上一章節(jié)中主要對系統(tǒng)的功能性需求和非功能性需求進行分析,并且根據(jù)需求分析了本教材訂購系統(tǒng)中的用例。那么接下來就要開始對本教材訂購系統(tǒng)的架構、主要功能和數(shù)據(jù)庫開始進行設計。教材訂購系統(tǒng)根據(jù)前面章節(jié)的需求分析得出,其總體設計模塊圖如圖3-2所示。圖3-2教材訂購系統(tǒng)功能模塊圖3.2.2用戶模塊設計后臺管理者能夠?qū)崿F(xiàn)對前臺注冊的用戶增刪改查操作,用戶模塊結構圖如下圖:圖3-3用戶用戶模塊結構圖3.2.3評論管理模塊設計教材訂購系統(tǒng)是一個交流性質(zhì)的公開平臺,用戶用戶和管理人員用戶可以對平臺上信息進行評論,增加用戶之間的互動性。但是同時也為了更好的規(guī)范評論的內(nèi)容,給予管理員刪除不合適的言論的功能,所以需要專門設計一個評論管理模塊,具體的結構圖如下:圖3-4評論模塊結構圖3.3數(shù)據(jù)庫設計數(shù)據(jù)庫設計一般包括需求分析、概念模型設計、數(shù)據(jù)庫表建立三大過程,其中需求分析前面章節(jié)已經(jīng)闡述,概念模型設計有概念模型和邏輯結構設計兩部分。3.3.1數(shù)據(jù)庫概念結構設計下面是整個教材訂購系統(tǒng)中主要的數(shù)據(jù)庫表總E-R實體關系圖。圖3-6教材訂購系統(tǒng)總E-R關系圖下面根據(jù)教材訂購系統(tǒng)的數(shù)據(jù)庫總E-R關系圖可以得出教材訂購系統(tǒng)需要很多E-R圖,在此羅列出來一些主要的數(shù)據(jù)庫E-R模型圖。圖3-7教師信息E-R關系圖圖3-8教材信息E-R關系圖圖3-9進書單E-R關系圖圖3-10購書單E-R關系圖3.3.2數(shù)據(jù)庫邏輯結構設計通過上一小節(jié)中教材訂購系統(tǒng)中總E-R關系圖上得出一共需要創(chuàng)建很多個數(shù)據(jù)表。在此我主要羅列幾個主要的數(shù)據(jù)庫表結構設計。textbook_type表:名稱類型長度不是null主鍵注釋textbook_type_idint11是是教材類型IDtextbook_typevarchar64否否教材類型recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間textbook_information表名稱類型長度不是null主鍵注釋textbook_information_idint11是是教材信息IDbook_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型book_cover_varchar255否否書籍封面book_inventoryint11否否書籍庫存book_priceint11否否書籍價格issuerint11否否發(fā)行人員name_of_issuervarchar64否否發(fā)行人姓名book_introductiontext0否否書籍簡介hitsint11是否點擊數(shù)recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間teacher表:名稱類型長度不是null主鍵注釋teacher_idint11是是教師IDteacher_namevarchar64否否教師姓名teacher_gendervarchar64否否教師性別examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間purchasing_personnel表名稱類型長度不是null主鍵注釋purchasing_personnel_idint11是是采購人員IDname_of_purchaservarchar64否否采購人姓名purchaser_gendervarchar64否否采購人性別examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間issuer表:名稱類型長度不是null主鍵注釋issuer_idint11是是發(fā)行人員IDname_of_issuervarchar64否否發(fā)行人姓名issuer_gendervarchar64否否發(fā)行人性別examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間comment表:名稱類型長度不是null主鍵注釋comment_idint11是是評論IDuser_idint11是否評論人IDreply_to_idint11是否回復評論IDcontentlongtext0否否內(nèi)容nicknamevarchar255否否昵稱avatarvarchar255否否頭像地址create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是否來源IDbook_requisition表:名稱類型長度不是null主鍵注釋book_requisition_idint11是是領書單IDorder_numbervarchar64否否訂單號book_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型quantity_receivedint11否否領取數(shù)量receive_teachersint11否否領取教師teacher_namevarchar64否否教師姓名collection_datedate0否否領取日期purchasing_personnelint11否否采購人員name_of_purchaservarchar64否否采購人姓名examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間book_purchase_order表:名稱類型長度不是null主鍵注釋book_purchase_order_idint11是是購書單IDorder_numbervarchar64否否訂單號book_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型book_pricevarchar64否否書籍價格purchase_quantityint11否否購買數(shù)量total_amountvarchar64否否合計金額purchasing_personnelint11否否采購人員name_of_purchaservarchar64否否采購人姓名purchase_datedate0否否購買日期issuerint11否否發(fā)行人員name_of_issuervarchar64否否發(fā)行人姓名pay_statevarchar16是否支付狀態(tài)pay_typevarchar16否否支付類型recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間book_entry_list表:名稱類型長度不是null主鍵注釋book_entry_list_idint11是是進書單IDbook_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型warehousing_datedate0否否入庫日期receipt_quantityint11否否入庫數(shù)量issuerint11否否發(fā)行人員name_of_issuervarchar64否否發(fā)行人姓名recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間3.4本章小結整個教材訂購系統(tǒng)的需求分析主要對系統(tǒng)總體架構以及功能模塊的設計,通過建立E-R模型和數(shù)據(jù)庫邏輯系統(tǒng)設計完成了數(shù)據(jù)庫系統(tǒng)設計。4教材訂購系統(tǒng)詳細設計與實現(xiàn)教材訂購系統(tǒng)的詳細設計與實現(xiàn)主要是根據(jù)前面的教材訂購系統(tǒng)的需求分析和教材訂購系統(tǒng)的總體設計來設計頁面并實現(xiàn)業(yè)務邏輯。主要從教材訂購系統(tǒng)界面實現(xiàn)、業(yè)務邏輯實現(xiàn)這兩部分進行介紹。4.1用戶功能模塊4.1.1前臺首頁界面當進入教材訂購系統(tǒng)的時候,首先映入眼簾的是系統(tǒng)的導航欄,下面是輪播圖以及系統(tǒng)內(nèi)容,其主界面展示如下圖4-1所示。圖4-1前臺首頁界面圖4.1.2采購人員登錄界面教材訂購系統(tǒng)中的前臺上注冊后的采購人員是可以通過自己的賬戶名和密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數(shù)據(jù),再次驗證輸入的賬戶名+密碼和數(shù)據(jù)庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到教材訂購系統(tǒng)的首頁中;否則將會提示相應錯誤信息,采購人員登錄界面如下圖4-2所示。圖4-2采購人員登錄界面圖登錄關鍵代碼如下所示。/***登錄*@paramdata*@paramhttpServletRequest*@return*/@PostMapping("login")publicMap<String,Object>login(@RequestBodyMap<String,String>data,HttpServletRequesthttpServletRequest){("[執(zhí)行登錄接口]");Stringusername=data.get("username");Stringemail=data.get("email");Stringphone=data.get("phone");Stringpassword=data.get("password");ListresultList=null;Map<String,String>map=newHashMap<>();if(username!=null&&"".equals(username)==false){map.put("username",username);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(email!=null&&"".equals(email)==false){map.put("email",email);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(phone!=null&&"".equals(phone)==false){map.put("phone",phone);resultList=service.select(map,newHashMap<>()).getResultList();}else{returnerror(30000,"賬號或密碼不能為空");}if(resultList==null||password==null){returnerror(30000,"賬號或密碼不能為空");}//判斷是否有這個用戶if(resultList.size()<=0){returnerror(30000,"用戶不存在");}UserbyUsername=(User)resultList.get(0);Map<String,String>groupMap=newHashMap<>();groupMap.put("name",byUsername.getUserGroup());ListgroupList=userGroupService.select(groupMap,newHashMap<>()).getResultList();if(groupList.size()<1){returnerror(30000,"用戶組不存在");}UserGroupuserGroup=(UserGroup)groupList.get(0);//查詢用戶審核狀態(tài)if(!StringUtils.isEmpty(userGroup.getSourceTable())){Stringsql="selectexamine_statefrom"+userGroup.getSourceTable()+"WHEREuser_id="+byUsername.getUserId();Stringres=String.valueOf(service.runCountSql(sql).getSingleResult());if(res==null){returnerror(30000,"用戶不存在");}if(!res.equals("已通過")){returnerror(30000,"該用戶審核未通過");}}//查詢用戶狀態(tài)if(byUsername.getState()!=1){returnerror(30000,"用戶非可用狀態(tài),不能登錄");}Stringmd5password=service.encryption(password);if(byUsername.getPassword().equals(md5password)){//存儲Token到數(shù)據(jù)庫AccessTokenaccessToken=newAccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-",""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);//返回用戶信息JSONObjectuser=JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token",accessToken.getToken());JSONObjectret=newJSONObject();ret.put("obj",user);returnsuccess(ret);}else{returnerror(30000,"賬號或密碼不正確");}}4.1.3采購人員注冊界面不是教材訂購系統(tǒng)中正式采購人員的是可以在線進行注冊的,如果你沒有本教材訂購系統(tǒng)的賬號的話,添加“注冊”,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號等后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數(shù)據(jù),再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數(shù)據(jù)庫表中已經(jīng)注冊的賬戶名是否重復,只有都驗證沒問題后即可采購人員注冊成功。其用采購人員注冊界面展示如下圖4-3所示。圖4-2采購人員注冊界面圖注冊關鍵代碼如下所示。/***注冊*@paramuser*@return*/@PostMapping("register")publicMap<String,Object>signUp(@RequestBodyUseruser){//查詢用戶Map<String,String>query=newHashMap<>();query.put("username",user.getUsername());Listlist=service.select(query,newHashMap<>()).getResultList();if(list.size()>0){returnerror(30000,"用戶已存在");}user.setUserId(null);user.setPassword(service.encryption(user.getPassword()));service.save(user);returnsuccess(1);}/***用戶ID:[0,8388607]用戶獲取其他與用戶相關的數(shù)據(jù)*/@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="user_id")privateIntegeruserId;/***賬戶狀態(tài):[0,10](1可用|2異常|3已凍結|4已注銷)*/@Basic@Column(name="state")privateIntegerstate;/***所在用戶組:[0,32767]決定用戶身份和權限*/@Basic@Column(name="user_group")privateStringuserGroup;/***上次登錄時間:*/@Basic@Column(name="login_time")privateTimestamploginTime;/***手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時*/@Basic@Column(name="phone")privateStringphone;/***手機認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="phone_state")privateIntegerphoneState;/***用戶名:[0,16]用戶登錄時所用的賬戶名稱*/@Basic@Column(name="username")privateStringusername;/***昵稱:[0,16]*/@Basic@Column(name="nickname")privateStringnickname;/***密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成*/@Basic@Column(name="password")privateStringpassword;/***郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時*/@Basic@Column(name="email")privateStringemail;/***郵箱認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="email_state")privateIntegeremailState;/***頭像地址:[0,255]*/@Basic@Column(name="avatar")privateStringavatar;/***創(chuàng)建時間:*/@Basic@Column(name="create_time")@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateTimestampcreateTime;@Basic@TransientprivateStringcode;}4.1.4公告欄界面當點擊導航欄上的“公告欄”的時候,就會進入對應的界面查看公告信息,公告欄界面如下圖4-4所示。圖4-3公告欄界面圖4.1.5教材詳情界面當訪客點擊了任意教材后將會進入該教材的詳情界面,可以了解到該教材的書籍名稱、書籍編號、教材類型、書籍庫存、書籍價格、發(fā)行人員、發(fā)行人姓名等,同時可以對該教材進行購買,教材詳情展示頁面如圖4-5所示。圖4-5教材詳情界面圖4.2管理員功能模塊4.2.1用戶管理界面教材訂購系統(tǒng)中的管理人員是可以對前臺注冊的采購人員、教師、發(fā)行人員進行管理的,也可以對管理員進行管控。界面如下圖4-6所示。圖4-6用戶管理界面圖用戶管理關鍵代碼如下所示。publicStringencryption(StringplainText){Stringre_md5=newString();try{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byteb[]=md.digest();inti;StringBufferbuf=newStringBuffer("");for(intoffset=0;offset<b.length;offset++){i=b[offset];if(i<0)i+=256;if(i<16)buf.append("0");buf.append(Integer.toHexString(i));}re_md5=buf.toString();}catch(Exceptione){e.printStackTrace();}returnre_md5;}4.2.2站點管理界面教材訂購系統(tǒng)中的管理人員在“站點管理”這一菜單中是可以對前臺顯示的輪播圖以及公告欄進行管控。界面如下圖4-7所示。圖4-7站點管理界面圖站點管理關鍵代碼如下所示。@PostMapping("/add")@TransactionalpublicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{service.insert(service.readBody(request.getReader()));returnsuccess(1);}@TransactionalpublicMap<String,Object>addMap(Map<String,Object>map){service.insert(map);returnsuccess(1);}publicMap<String,Object>readBody(BufferedReaderreader){BufferedReaderbr=null;StringBuildersb=newStringBuilder("");try{br=reader;Stringstr;while((str=br.readLine())!=null){sb.append(str);}br.close();Stringjson=sb.toString();returnJSONObject.parseObject(json,Map.class);}catch(IOExceptione){e.printStackTrace();}finally{if(null!=br){try{br.close();}catch(IOExceptione){e.printStackTrace();}}}returnnull;}publicvoidinsert(Map<String,Object>body){StringBuffersql=newStringBuffer("INSERTINTO");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()){Objectvalue=entry.getValue();if(valueinstanceofString){sql.append("'").append(entry.getValue()).append("'").append(",");}else{sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length()-1);sql.append(")");("[{}]-插入操作:{}",table,sql);Queryquery=runCountSql(sql.toString());query.executeUpdate();}4.2.3更多管理界面教材訂購系統(tǒng)中的管理人員在“更多管理”這一菜單下是可以對教材訂購系統(tǒng)內(nèi)的教材信息、教材類型、進書單、領書單、購書單計進行管控的,其管理界面如下圖4-8所示。圖4-8更多管理界面圖更多管理關鍵代碼如下所示。@RequestMapping(value="/del")@TransactionalpublicMap<String,Object>del(HttpServletRequestrequest){service.delete(service.readQuery(request),service.readConfig(request));returnsuccess(1);}@Transactionalpublicvoiddelete(Map<String,String>query,Map<String,String>config){StringBuffersql=newStringBuffer("DELETEFROM").append("`").append(table).append("`").append("");sql.append(toWhereSql(query,"0".equals(config.get(FindConfig.GROUP_BY))));("[{}]-刪除操作:{}",table,sql);Queryquery1=runCountSql(sql.toString());query1.executeUpdate();}5系統(tǒng)測試5.1系統(tǒng)測試的目的 系統(tǒng)開發(fā)到了最后一個階段那就是系統(tǒng)測試,系統(tǒng)測試對軟件的開發(fā)其實是非常有必要的。因為沒什么系統(tǒng)一經(jīng)開發(fā)出來就可能會盡善盡美,再厲害的系統(tǒng)開發(fā)工程師也會在系統(tǒng)開發(fā)的時候出現(xiàn)紕漏,系統(tǒng)測試能夠較好的改正一些bug,為后期系統(tǒng)的維護性提供很好的支持。通過系統(tǒng)測試,開發(fā)人員也可以建立自己對系統(tǒng)的信心,為后期的系統(tǒng)版本的跟新提供支持。5.2系統(tǒng)測試用例系統(tǒng)測試包括:用戶登錄功能測試、教材展示功能測試、教材添加、教材搜索、密碼修改功能測試,如表5-1、5-2、5-3、5-4、5-5所示:用戶登錄功能測試:表5-1用戶登錄功能測試表用例名稱用戶登錄系統(tǒng)目的測試用戶通過正確的用戶名和密碼可否登錄功能前提未登錄的情況下測試流程1)進入登錄頁面2)輸入正確的用戶名和密碼預期結果用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入實際結果實際結果與預期結果一致教材查看功能測試:表5-2教材查看功能測試表用例名稱教材查看目的測試教材查看功能前提用戶登錄測試流程點擊教材列表預期結果可以查看到所有教材信息實際結果實際結果與預期結果一致管理員添加教材界面測試:表5-3管理員添加教材界面測試表用例名稱教材發(fā)布測試用例目的測試教材發(fā)布功能前提用戶正常登錄情況下測試流程1)點擊教材信息管理就,然后點擊添加后并填寫信息。2)點擊進行提交。預期結果提交以后,頁面首頁會顯示新的教材信息實際結果實際結果與預期結果一致教材搜索功能測試:表5-4教材搜索功能測試表用例名稱教材搜索測試目的測試教材搜索功能前提無測試流程1)在搜索框填入搜索關鍵字。2)點擊搜索按鈕。預期結果頁面顯示包含有搜索關鍵字的教材實際結果實際結果與預期結果一致密碼修改功能測試:表5-5密碼修改功能測試表用例名稱密碼修改測試用例目的測試管理員密碼修改功能前提管理員用戶正常登錄情況下測試流程1)管理員密碼修改并完成填寫。2)點擊進行提交。預期結果使用新的密碼可以登錄實際結果實際結果與預期結果一致5.3系統(tǒng)測試結果通過編寫教材訂購系統(tǒng)的測試用例,已經(jīng)檢測完畢用戶登錄模塊、教材查看模塊、教材添加模塊、教材搜索模塊、密碼修改功能測試,通過這5大模塊為教材訂購系統(tǒng)的后期推廣運營提供了強力的技術支撐。結論至此,教材訂購系統(tǒng)已經(jīng)結束,在開發(fā)前做了許多的準備,在本系統(tǒng)的設計和開發(fā)過程中閱覽和學習了許多文獻資料,從中我也收獲了很多寶貴的方法和設計思路,對系統(tǒng)的開發(fā)也起到了很重要的作用,系統(tǒng)的開發(fā)技術選用的都是自己比較熟悉的,比如Web、springboot技術、MYSQL,這些技術都是在以前的學習中學到了,其中許多的設計思路和方法都是在以前不斷地學習中摸索出來的經(jīng)驗,其實對于我們來說工作量還是比較大的,但是正是由于之前的積累與準備,才能順利的完成這個項目,由此看來,積累經(jīng)驗跟做好準備是十分重要的事情。當然在該系統(tǒng)的設計與實現(xiàn)的過程中也離不開老師以及同學們的幫助,正是因為他們的指導與幫助,我才能夠成功的在預期內(nèi)完成了這個系統(tǒng)。同時在這個過程當中我也收獲了很多東西,此系統(tǒng)也有需要改進的地方,但是由于專業(yè)知識的淺薄,并不能做到十分完美,希望以后有機會可以讓其真正的投入到使用之中。參考文獻[1]于旭蕾,李相澤.基于JAVA技術平臺的氣動輕量機械臂伺服控制系統(tǒng)設計[J/OL].計算機測量與控制:1-8[2022-05-18]./kcms/detail/11.4762.tp.20220506.1000.004.html[2]王煒,陶章成,喻鈴華,苗迪,于維杰,王宇航.一種基于springboot框架的輕量化交通仿真系統(tǒng)[P].江蘇?。篊N114417567A,2022-04-29.[3]姜健,劉永富,陸萬川,嚴甜甜.一種基于切面技術的JAVA應用內(nèi)存溢出監(jiān)控系統(tǒng)[P].上海市:CN114398261A,2022-04-26.[4]王曼維,楊荻,李巖,及松潔.基于SpringBoot框架的智慧醫(yī)療問診系統(tǒng)設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024數(shù)據(jù)中心基礎設施施工與維護合同
- 專業(yè)燈光音響租賃協(xié)議范本2024年版A版
- 不動產(chǎn)買賣合同范例2024版
- 2025年槽探施工項目地質(zhì)信息采集合同范本3篇
- 2024月子中心定制化月子套餐及專業(yè)護理服務合同3篇
- KTV轉讓合同范本
- 2024版正規(guī)裝修分期付款合同范本
- 不動產(chǎn)全抵押清償債務合同樣本版
- 2024幼兒園教師學生社會實踐與綜合素質(zhì)提升合同3篇
- 情緒與溝通技巧培訓
- 安徽省合肥市2021-2022學年七年級上學期期末數(shù)學試題(含答案)3
- 教育專家報告合集:年度得到:沈祖蕓全球教育報告(2023-2024)
- 寒假小學生心理健康教育
- 健康體檢授權委托書
- 肝臟腫瘤護理查房
- 人工智能 法規(guī)
- 琴房租賃合同
- 護士工作壓力管理護理工作中的壓力應對策略
- 皮帶拆除安全技術措施
- 中國石油青海油田公司員工壓力狀況調(diào)查及員工幫助計劃(EAP)實探的開題報告
- 《培訓資料緊固》課件
評論
0/150
提交評論