畢業設計(論文)-springboot教材訂購系統設計_第1頁
畢業設計(論文)-springboot教材訂購系統設計_第2頁
畢業設計(論文)-springboot教材訂購系統設計_第3頁
畢業設計(論文)-springboot教材訂購系統設計_第4頁
畢業設計(論文)-springboot教材訂購系統設計_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本科生畢業論文(設計)題目springboot教材訂購系統學院XXXXX專業班級XXXXX用戶姓名XXXX指導教師XXXX撰寫日期:2022年5月10日目錄TOC\o"1-3"\h\u摘要 摘要信息化社會內需要與之針對性的信息獲取途徑,但是途徑的擴展基本上為人們所努力的方向,由于站在的角度存在偏差,人們經常能夠獲得不同類型信息,這也是技術最為難以攻克的課題。針對教材訂購系統等問題,對教材訂購系統進行研究分析,然后開發設計出教材訂購系統以解決問題。教材訂購系統主要功能模塊包括用戶管理、教材類型、教材信息、進書單、購書單、領書單,采取面對對象的開發模式進行軟件的開發和硬體的架設,能很好的滿足實際使用的需求,完善了對應的軟體架設以及程序編碼的工作,采取MySQL作為后臺數據的主要存儲單元,采用springboot框架、JAVA技術、Ajax技術進行業務系統的編碼及其開發,實現了本系統的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎。針對教材訂購系統的各項需求以及技術問題進行分析,證明了系統的必要性和技術可行性,然后對設計系統需要使用的技術軟件以及設計思想做了基本的介紹,最后來實現教材訂購系統和部署運行使用它。關鍵詞:springboot技術;MYSQL;教材訂購系統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選題背景隨著高校辦學規模的擴展,管理方式和管理效率的矛盾日漸突出。在教材訂購方面,手工管理方式和文檔系統管理方式在管理質量和管理效率上,從根本.上不能適應大規模的管理要求。而隨著計算機科學的發展與進步,計算機科學管理方式,不管在管理效率還是在管理質量上都逐步顯示了它的可靠性和優越性。而且計算機管理在人力、物力等資源方面都比以前的管理模式要有大的節省。計算機管理正以它自身的優越性成為管理模式中的主流。教材訂購管理系統采用計算機管理模式的必然性也在與此!本系統以學校為背景,

在認真調研和分析了學校訂購教材的現狀之后,根據用戶的需求和各個功能的關系,做出了積極的設計方案。在新的管理資源和管理模式上,一定能使工作質量、工作效率等得到提高,推動學校發展的步伐!1.2開發現狀目前我國各行各業的信息化建設都在迅速發展,而高校作為一個特殊群體,其教學和科研也正逐步向數字化方向邁進。因此對教育行業而言,建立一套適合學校特點的教材訂購管理系統已成為當務之急。本文結合當前高等院校教材管理的實際情況,設計并實現了一款基于B/S模式的面向全校教師的教材訂購管理信息系統。該系統采用先進的數據庫技術及Web開發工具,以springboot為平臺進行編程,具有操作簡單、使用方便等優點,能有效提高工作效率;同時通過對系統功能需求分析與總體設計以及具體模塊詳細設計與實現,達到了預期效果。本論文主要工作包括以下幾個方面:研究并分析了國內外教材訂購管理系統的發展趨勢和相關理論,提出了一種適用于本校教學要求的新型教材訂購管理模式,即“統一計劃一分級控制”的新模式,從而構建了一個符合我校特色的教材采購管理系統模型。從系統分析入手,確定了系統目標,然后按照軟件工程方法對系統進行了功能分析和用例分析。根據所要解決的問題,利用springboot框架,Java語言,結合MySQL數據庫技術,完成了系統的總體架構和各個功能模塊設計。最后,對系統各部分的運行結果作了簡要介紹和總結。本教材訂購管理系統是一個針對校內師生的信息管理系統,它將為廣大教師提供高效便捷的信息查詢服務,使他們能夠更及時地獲得自己需要的各類資料。本教材訂購管理系統不僅可以方便采購人員隨時查閱自己感興趣的各種書籍資源,而且還可幫助老師快速掌握最新的教學動態,從而更好地為教學工作服務。1.3系統開發技術的特色(1)教材訂購系統中的web后臺管理中的后端不再使用古老的jsp+javabean+servlet技術,而是使用當前主流的springboot框架,它減少java配置代碼,簡化編程代碼,目前springboot框架也是很多企業選擇的框架之一。(2)教材訂購系統中的web后臺管理中的前端使用的是JavaScript框架,它配合ajax[8]和jquery[9]可以美化頁面設計。(3)教材訂購系統中數據庫用的mysql5.7,它執行效率高。1.4論文結構與章節安排論文將分層次經行編排,除去論文摘要致謝文獻參考部分,正文部分還會對網站需求做出分析,以及闡述大體的設計和實現的功能,最后羅列部分調測記錄,論文主要架構如下:第一章:引言。第一章主要介紹了課題研究的背景,系統開發的現狀和本文的開發現狀與主要工作。第二章:系統需求分析。第二章主要從系統的用戶、功能等方面進行需求分析。第三章:系統設計。第三章主要對系統框架、系統功能模塊、數據庫進行功能設計。第四章:系統實現。第四章主要介紹了系統框架搭建、系統界面的實現。第五章:系統測試。第五章主要對系統的部分界面進行測試并對主要功能進行測試第六章:總結。2教材訂購系統分析系統分析是開發一個項目的先決條件,通過系統分析可以很好的了解系統的主體用戶的基本需求情況,同時這也是項目的開發的原因。進而對系統開發進行可行性分析,通常包括技術可行性、經濟可行性等,可行性分析同時也是從項目整體角度進行的分析。然后就是對項目的具體需求進行分析,分析的手段一般都是通過用戶的用例圖來實現。下面是詳細的介紹。2.1可行性分析(1)經濟可行性:在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發前期,開發時用于項目的經費將會大大降低,不會讓開發該軟件在項目啟動期受到經費的影響,所以經濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經費用于人工費,以及設備費用。將在無紙化,高效率的道路上越走越遠。所以經濟可行性沒有問題。(2)操作可行性:此次項目設計參考了幾個該模式下網站的開發案例,對他們的操作界面分析,將眾多案例結合在一起,突出以人為本簡化操作,所以具有基本計算機知識的人都會操作本項目。因此操作可行性也沒有問題。(3)技術可行性:技術可行性指的是對于搭建框架的可行性,以及有更優秀的技術出現時系統的技術更新換代的納新性如何,開發時間成本費用比如何。現有的springboot技術能夠迎合所有電子商務系統的搭建。開發這個教材訂購系統的時候我采用了springboot+MYSQL用以運行整體程序。綜上所述技術可行性也沒有問題。(4)法律可行性:從開發者角度來看,springboot和MYSQL是網上開源且免費的,在知識產權方面不會產生任何法律糾紛。從用戶使用角度來看,只要不再系統上販賣違禁品,對系統做出條約協議,杜絕非法支付即可。綜上所述法律可行性也沒有問題。2.2系統流程分析業務流程是用一些特定的符合和線條來進行演示用戶在使用系統時的過程,在進行系統分析的時候,業務流程可以幫助開發人員更好的理解業務,發現錯誤,完善系統。2.2.1數據增加流程用戶成功登入系統后就能夠實現增加數據的操作,增加數據的編號是特定的,系統生成,用戶不能隨意填寫,除了編號以外,其他增加信息用戶自己填寫,填寫后的信息經過系統驗證,驗證合法通過就顯示增加數據成功了,相反的話,就沒有增加成功,圖2-1顯示的就是在增加數據時的流程。圖2-1數據增加流程圖2.2.2數據修改流程數據修改時的流程和上面介紹的數據增加時的流程差不多,如圖2-2所示。圖2-2數據修改流程圖2.2.3數據刪除流程如果系統里面存在一些沒有用的數據的話,相關的管理人員還可以對這些數據進行刪除,圖2-3就是數據刪除時的流程圖。圖2-3數據刪除流程圖2.3系統功能分析2.3.1功能性分析按照教材訂購系統的角色,我劃分為了教師管理模塊、發行人員管理模塊、采購人員管理模塊和管理員管理模塊這四大部分。采購人員管理模塊:(1)采購人員注冊登錄:采購人員注冊為采購人員并登錄教材訂購系統;采購人員對個人信息的增刪改查,比如個人資料,密碼修改。(2)查看教材訂購系統的首頁信息:教材訂購系統的首頁信息包含了首頁、公告消息、教材信息、我的(我的賬戶、個人中心)等。(3)公告欄:用戶在公告這一菜單下對用戶提交的查看、同時也可以發布、評論。(4)教材信息:在首頁導航欄上我們會看到“教材信息”這一菜單,我們點擊進入進去以后,會看到所有管理員在后臺發布的教材信息,我們選擇想要了解教材的購買,查看教材信息,可以購買+評論;(5)個人中心:當用戶點擊右上角“我的”這個按鈕,就會進入到對應的后臺進行信息的管理了;(6)我的賬戶:當用戶點擊右上角“我的”這個按鈕,會出現子菜單,點擊“我的賬戶”可以對個人的資料以及登錄系統的密碼進行設置;教師管理模塊:(1)更多管理:在“更多管理”這一菜單下,可以對教師操作的教材信息+購書單+領書單等增刪改查。管理員管理模塊:(1)登錄:管理員的賬號是在數據表表中直接設置生成的,不需要進行注冊;(2)用戶管理:當點擊“用戶管理”這一菜單的時候,會出現管理員+發行人員+教師+采購人員四個子菜單,可以對這四個模塊進行增刪改查操作;(3)更多管理:當點擊“更多”這一菜單的時候,會出現教材信息+教材類型+進書單+購書單+領書單這五個子菜單,能夠對教材信息進行增刪改查操作,對發行人員和教師提交的購書單+領書單進行管控,以及實現對采購人員提交的領書單進行審核管理;(4)站點管理:管理員可以對教材訂購系統中首頁顯示的輪播圖以及系統中的一些公告發布到系統當中,讓用戶及時的查看到系統信息,進行合理安排。2.3.2非功能性分析教材訂購系統的非功能性需求比如教材訂購系統的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下3-1表格中:表3-SEQ表3\*ARABIC1教材訂購系統非功能需求表安全性主要指教材訂購系統數據庫的安裝,數據庫的使用和密碼的設定必須合乎規范。可靠性可靠性是指教材訂購系統能夠安裝用戶的指示進行操作,經過測試,可靠性90%以上。性能性能是影響教材訂購系統占據市場的必要條件,所以性能最好要佳才好。可擴展性比如數據庫預留多個屬性,比如接口的使用等確保了系統的非功能性需求。易用性用戶只要跟著教材訂購系統的頁面展示內容進行操作,就可以了。可維護性教材訂購系統開發的可維護性是非常重要的,經過測試,可維護性沒有問題2.4系統用例分析通過2.3功能的分析,得出了本教材訂購系統的用例圖:采購人員角色用例如圖2-3所示。圖2-3教材訂購系統采購人員角色用例圖web后臺管理上的管理員是維護整個教材訂購系統中所有數據信息的。管理員角色用例如圖2-4所示。圖2-4教材訂購系統管理員角色用例圖2.5本章小結本章主要通過對教材訂購系統的可行性分析、流程分析、功能需求分析、系統用例分析,確定整個教材訂購系統要實現的功能。同時也為教材訂購系統的代碼實現和測試提供了標準。3教材訂購系統總體設計本章主要討論的內容包括教材訂購系統的功能模塊設計、數據庫系統設計。3.1系統架構設計本教材訂購系統從架構上分為三層:表現層(UI)、業務邏輯層(BLL)以及數據層(DL)。圖3-1教材訂購系統系統架構設計圖表現層(UI):又稱UI層,主要完成本教材訂購系統的UI交互功能,一個良好的UI可以打打提高用戶的用戶體驗,增強用戶使用本教材訂購系統時的舒適度。UI的界面設計也要適應不同版本的教材訂購系統以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用戶進行交互操作時必須要得到與之相符的交互結果,這就要求表現層要與業務邏輯層進行良好的對接。業務邏輯層(BLL):主要完成本教材訂購系統的數據處理功能。用戶從表現層傳輸過來的數據經過業務邏輯層進行處理交付給數據層,系統從數據層讀取的數據經過業務邏輯層進行處理交付給表現層。數據層(DL):由于本教材訂購系統的數據是放在服務端的mysql數據庫中,因此本屬于服務層的部分可以直接整合在業務邏輯層中,所以數據層中只有數據庫,其主要完成本教材訂購系統的數據存儲和管理功能。3.2系統功能模塊設計3.2.1整體功能模塊設計在上一章節中主要對系統的功能性需求和非功能性需求進行分析,并且根據需求分析了本教材訂購系統中的用例。那么接下來就要開始對本教材訂購系統的架構、主要功能和數據庫開始進行設計。教材訂購系統根據前面章節的需求分析得出,其總體設計模塊圖如圖3-2所示。圖3-2教材訂購系統功能模塊圖3.2.2用戶模塊設計后臺管理者能夠實現對前臺注冊的用戶增刪改查操作,用戶模塊結構圖如下圖:圖3-3用戶用戶模塊結構圖3.2.3評論管理模塊設計教材訂購系統是一個交流性質的公開平臺,用戶用戶和管理人員用戶可以對平臺上信息進行評論,增加用戶之間的互動性。但是同時也為了更好的規范評論的內容,給予管理員刪除不合適的言論的功能,所以需要專門設計一個評論管理模塊,具體的結構圖如下:圖3-4評論模塊結構圖3.3數據庫設計數據庫設計一般包括需求分析、概念模型設計、數據庫表建立三大過程,其中需求分析前面章節已經闡述,概念模型設計有概念模型和邏輯結構設計兩部分。3.3.1數據庫概念結構設計下面是整個教材訂購系統中主要的數據庫表總E-R實體關系圖。圖3-6教材訂購系統總E-R關系圖下面根據教材訂購系統的數據庫總E-R關系圖可以得出教材訂購系統需要很多E-R圖,在此羅列出來一些主要的數據庫E-R模型圖。圖3-7教師信息E-R關系圖圖3-8教材信息E-R關系圖圖3-9進書單E-R關系圖圖3-10購書單E-R關系圖3.3.2數據庫邏輯結構設計通過上一小節中教材訂購系統中總E-R關系圖上得出一共需要創建很多個數據表。在此我主要羅列幾個主要的數據庫表結構設計。textbook_type表:名稱類型長度不是null主鍵注釋textbook_type_idint11是是教材類型IDtextbook_typevarchar64否否教材類型recommendint11是否智能推薦create_timedatetime0是否創建時間update_timetimestamp0是否更新時間textbook_information表名稱類型長度不是null主鍵注釋textbook_information_idint11是是教材信息IDbook_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型book_cover_varchar255否否書籍封面book_inventoryint11否否書籍庫存book_priceint11否否書籍價格issuerint11否否發行人員name_of_issuervarchar64否否發行人姓名book_introductiontext0否否書籍簡介hitsint11是否點擊數recommendint11是否智能推薦create_timedatetime0是否創建時間update_timetimestamp0是否更新時間teacher表:名稱類型長度不是null主鍵注釋teacher_idint11是是教師IDteacher_namevarchar64否否教師姓名teacher_gendervarchar64否否教師性別examine_statevarchar16是否審核狀態recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創建時間update_timetimestamp0是否更新時間purchasing_personnel表名稱類型長度不是null主鍵注釋purchasing_personnel_idint11是是采購人員IDname_of_purchaservarchar64否否采購人姓名purchaser_gendervarchar64否否采購人性別examine_statevarchar16是否審核狀態recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創建時間update_timetimestamp0是否更新時間issuer表:名稱類型長度不是null主鍵注釋issuer_idint11是是發行人員IDname_of_issuervarchar64否否發行人姓名issuer_gendervarchar64否否發行人性別examine_statevarchar16是否審核狀態recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創建時間update_timetimestamp0是否更新時間comment表:名稱類型長度不是null主鍵注釋comment_idint11是是評論IDuser_idint11是否評論人IDreply_to_idint11是否回復評論IDcontentlongtext0否否內容nicknamevarchar255否否昵稱avatarvarchar255否否頭像地址create_timetimestamp0是否創建時間update_timetimestamp0是否更新時間source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是否來源IDbook_requisition表:名稱類型長度不是null主鍵注釋book_requisition_idint11是是領書單IDorder_numbervarchar64否否訂單號book_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型quantity_receivedint11否否領取數量receive_teachersint11否否領取教師teacher_namevarchar64否否教師姓名collection_datedate0否否領取日期purchasing_personnelint11否否采購人員name_of_purchaservarchar64否否采購人姓名examine_statevarchar16是否審核狀態recommendint11是否智能推薦create_timedatetime0是否創建時間update_timetimestamp0是否更新時間book_purchase_order表:名稱類型長度不是null主鍵注釋book_purchase_order_idint11是是購書單IDorder_numbervarchar64否否訂單號book_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型book_pricevarchar64否否書籍價格purchase_quantityint11否否購買數量total_amountvarchar64否否合計金額purchasing_personnelint11否否采購人員name_of_purchaservarchar64否否采購人姓名purchase_datedate0否否購買日期issuerint11否否發行人員name_of_issuervarchar64否否發行人姓名pay_statevarchar16是否支付狀態pay_typevarchar16否否支付類型recommendint11是否智能推薦create_timedatetime0是否創建時間update_timetimestamp0是否更新時間book_entry_list表:名稱類型長度不是null主鍵注釋book_entry_list_idint11是是進書單IDbook_namevarchar64否否書籍名稱book_numbervarchar64否否書籍編號textbook_typevarchar64否否教材類型warehousing_datedate0否否入庫日期receipt_quantityint11否否入庫數量issuerint11否否發行人員name_of_issuervarchar64否否發行人姓名recommendint11是否智能推薦create_timedatetime0是否創建時間update_timetimestamp0是否更新時間3.4本章小結整個教材訂購系統的需求分析主要對系統總體架構以及功能模塊的設計,通過建立E-R模型和數據庫邏輯系統設計完成了數據庫系統設計。4教材訂購系統詳細設計與實現教材訂購系統的詳細設計與實現主要是根據前面的教材訂購系統的需求分析和教材訂購系統的總體設計來設計頁面并實現業務邏輯。主要從教材訂購系統界面實現、業務邏輯實現這兩部分進行介紹。4.1用戶功能模塊4.1.1前臺首頁界面當進入教材訂購系統的時候,首先映入眼簾的是系統的導航欄,下面是輪播圖以及系統內容,其主界面展示如下圖4-1所示。圖4-1前臺首頁界面圖4.1.2采購人員登錄界面教材訂購系統中的前臺上注冊后的采購人員是可以通過自己的賬戶名和密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數據,再次驗證輸入的賬戶名+密碼和數據庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到教材訂購系統的首頁中;否則將會提示相應錯誤信息,采購人員登錄界面如下圖4-2所示。圖4-2采購人員登錄界面圖登錄關鍵代碼如下所示。/***登錄*@paramdata*@paramhttpServletRequest*@return*/@PostMapping("login")publicMap<String,Object>login(@RequestBodyMap<String,String>data,HttpServletRequesthttpServletRequest){("[執行登錄接口]");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);//查詢用戶審核狀態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,"該用戶審核未通過");}}//查詢用戶狀態if(byUsername.getState()!=1){returnerror(30000,"用戶非可用狀態,不能登錄");}Stringmd5password=service.encryption(password);if(byUsername.getPassword().equals(md5password)){//存儲Token到數據庫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采購人員注冊界面不是教材訂購系統中正式采購人員的是可以在線進行注冊的,如果你沒有本教材訂購系統的賬號的話,添加“注冊”,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號等后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數據,再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數據庫表中已經注冊的賬戶名是否重復,只有都驗證沒問題后即可采購人員注冊成功。其用采購人員注冊界面展示如下圖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]用戶獲取其他與用戶相關的數據*/@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="user_id")privateIntegeruserId;/***賬戶狀態:[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位數字或英文組成*/@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;/***創建時間:*/@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教材詳情界面當訪客點擊了任意教材后將會進入該教材的詳情界面,可以了解到該教材的書籍名稱、書籍編號、教材類型、書籍庫存、書籍價格、發行人員、發行人姓名等,同時可以對該教材進行購買,教材詳情展示頁面如圖4-5所示。圖4-5教材詳情界面圖4.2管理員功能模塊4.2.1用戶管理界面教材訂購系統中的管理人員是可以對前臺注冊的采購人員、教師、發行人員進行管理的,也可以對管理員進行管控。界面如下圖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站點管理界面教材訂購系統中的管理人員在“站點管理”這一菜單中是可以對前臺顯示的輪播圖以及公告欄進行管控。界面如下圖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更多管理界面教材訂購系統中的管理人員在“更多管理”這一菜單下是可以對教材訂購系統內的教材信息、教材類型、進書單、領書單、購書單計進行管控的,其管理界面如下圖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系統測試5.1系統測試的目的 系統開發到了最后一個階段那就是系統測試,系統測試對軟件的開發其實是非常有必要的。因為沒什么系統一經開發出來就可能會盡善盡美,再厲害的系統開發工程師也會在系統開發的時候出現紕漏,系統測試能夠較好的改正一些bug,為后期系統的維護性提供很好的支持。通過系統測試,開發人員也可以建立自己對系統的信心,為后期的系統版本的跟新提供支持。5.2系統測試用例系統測試包括:用戶登錄功能測試、教材展示功能測試、教材添加、教材搜索、密碼修改功能測試,如表5-1、5-2、5-3、5-4、5-5所示:用戶登錄功能測試:表5-1用戶登錄功能測試表用例名稱用戶登錄系統目的測試用戶通過正確的用戶名和密碼可否登錄功能前提未登錄的情況下測試流程1)進入登錄頁面2)輸入正確的用戶名和密碼預期結果用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入實際結果實際結果與預期結果一致教材查看功能測試:表5-2教材查看功能測試表用例名稱教材查看目的測試教材查看功能前提用戶登錄測試流程點擊教材列表預期結果可以查看到所有教材信息實際結果實際結果與預期結果一致管理員添加教材界面測試:表5-3管理員添加教材界面測試表用例名稱教材發布測試用例目的測試教材發布功能前提用戶正常登錄情況下測試流程1)點擊教材信息管理就,然后點擊添加后并填寫信息。2)點擊進行提交。預期結果提交以后,頁面首頁會顯示新的教材信息實際結果實際結果與預期結果一致教材搜索功能測試:表5-4教材搜索功能測試表用例名稱教材搜索測試目的測試教材搜索功能前提無測試流程1)在搜索框填入搜索關鍵字。2)點擊搜索按鈕。預期結果頁面顯示包含有搜索關鍵字的教材實際結果實際結果與預期結果一致密碼修改功能測試:表5-5密碼修改功能測試表用例名稱密碼修改測試用例目的測試管理員密碼修改功能前提管理員用戶正常登錄情況下測試流程1)管理員密碼修改并完成填寫。2)點擊進行提交。預期結果使用新的密碼可以登錄實際結果實際結果與預期結果一致5.3系統測試結果通過編寫教材訂購系統的測試用例,已經檢測完畢用戶登錄模塊、教材查看模塊、教材添加模塊、教材搜索模塊、密碼修改功能測試,通過這5大模塊為教材訂購系統的后期推廣運營提供了強力的技術支撐。結論至此,教材訂購系統已經結束,在開發前做了許多的準備,在本系統的設計和開發過程中閱覽和學習了許多文獻資料,從中我也收獲了很多寶貴的方法和設計思路,對系統的開發也起到了很重要的作用,系統的開發技術選用的都是自己比較熟悉的,比如Web、springboot技術、MYSQL,這些技術都是在以前的學習中學到了,其中許多的設計思路和方法都是在以前不斷地學習中摸索出來的經驗,其實對于我們來說工作量還是比較大的,但是正是由于之前的積累與準備,才能順利的完成這個項目,由此看來,積累經驗跟做好準備是十分重要的事情。當然在該系統的設計與實現的過程中也離不開老師以及同學們的幫助,正是因為他們的指導與幫助,我才能夠成功的在預期內完成了這個系統。同時在這個過程當中我也收獲了很多東西,此系統也有需要改進的地方,但是由于專業知識的淺薄,并不能做到十分完美,希望以后有機會可以讓其真正的投入到使用之中。參考文獻[1]于旭蕾,李相澤.基于JAVA技術平臺的氣動輕量機械臂伺服控制系統設計[J/OL].計算機測量與控制:1-8[2022-05-18]./kcms/detail/11.4762.tp.20220506.1000.004.html[2]王煒,陶章成,喻鈴華,苗迪,于維杰,王宇航.一種基于springboot框架的輕量化交通仿真系統[P].江蘇省:CN114417567A,2022-04-29.[3]姜健,劉永富,陸萬川,嚴甜甜.一種基于切面技術的JAVA應用內存溢出監控系統[P].上海市:CN114398261A,2022-04-26.[4]王曼維,楊荻,李巖,及松潔.基于SpringBoot框架的智慧醫療問診系統設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論