日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

(附源码)springboot电影院售票与管理系统 毕业设计011449

發布時間:2024/3/13 windows 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (附源码)springboot电影院售票与管理系统 毕业设计011449 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

電影院售票與管理系統的設計與實現

摘?要

信息化社會內需要與之針對性的信息獲取途徑,但是途徑的擴展基本上為人們所努力的方向,由于站在的角度存在偏差,人們經常能夠獲得不同類型信息,這也是技術最為難以攻克的課題。針對電影院售票等問題,對電影院售票進行研究分析,然后開發設計出電影院售票與管理系統已解決問題。

電影院售票與管理系統主要功能模塊包括用戶管理、影院信息、影片信息、購票中心、退票記錄,采取面對對象的開發模式進行軟件的開發和硬體的架設,能很好的滿足實際使用的需求,完善了對應的軟體架設以及程序編碼的工作,采取mysql作為后臺數據的主要存儲單元,采用Java語言、springboot技術、Ajax技術進行業務系統的編碼及其開發,實現了本系統的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎。針對電影院售票與管理系統的各項需求以及技術問題進行分析,證明了系統的必要性和技術可行性,然后對設計系統需要使用的技術軟件以及設計思想做了基本的介紹,最后來實現電影院售票與管理系統和部署運行使用它。

關鍵詞:電影院售票;Java語言;mysql數據庫

Design and implementation of cinema ticket selling and management system

Abstract

In the information society, there is a need for targeted information access, but the expansion of access is basically the direction of people's efforts. Due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult subject for technology to overcome. Aiming at the problems of cinema ticket sales, this paper studies and analyzes the cinema ticket sales, and then develops and designs the cinema ticket sales and management system, which has solved the problems.

The main functional modules of the cinema ticketing and management system include user management, cinema information, film information, ticket purchase center and ticket refund record. The object-oriented development mode is adopted for software development and hardware erection, which can well meet the needs of actual use, improve the corresponding software erection and program coding, take MySQL as the main storage unit of background data, and adopt Java language, springboot technology Ajax technology encodes and develops the business system, and realizes all the functions of the system. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. This paper analyzes the various requirements and technical problems of the cinema ticketing and management system, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design idea required by the design system. Finally, it realizes the cinema ticketing and management system and deploys it.

Key words:Cinema ticket sales; Java language; Mysql database

目 ?錄

第1章 緒論 1

1.1?研究背景與意義 1

1.2?開發現狀 1

1.3?研究方法 1

第2章 相關技術介紹 3

2.1 Myeclipse描述 3

2.2 Mysql描述 3

2.3 B/S結構 3

2.4 Tomcat描述 3

2.5?springboot框架介紹 5

第3章 系統分析 7

3.1?可行性分析 7

3.2?功能需求分析 7

3.2.1?前臺用戶功能 9

3.2.2?后臺管理員功能 9

3.3?非功能需求分析 10

3.4?安全性需求分析 10

3.4.1?系統的安全性 10

3.4.2?數據的安全性 10

第4章 系統設計 11

4.1?系統架構設計 11

4.2?系統總體設計 11

4.3?系統功能設計 12

4.4?數據庫設計 13

4.4.1?數據需求分析 13

4.4.2?數據庫概念設計 13

4.4.3?數據庫表設計 14

第5章 系統實現 18

5.1?數據庫訪問層的實現 18

5.2?注冊模塊的實現 19

5.3?登錄模塊的實現 21

5.4?用戶資料修改模塊的實現 24

5.5?評論模塊的實現 25

5.6?購票中心模塊的實現 28

5.7退票記錄模塊的實現 31

5.8?影院信息管理模塊的實現 33

5.9影片信息管理模塊的實現 35

第6章 系統測試 36

6.1?測試目的 36

6.2?功能測試 36

6.3?性能測試 37

第7章 總結與展望 38

參考文獻 39

致謝 41

  • 緒論
  • 研究背景與意義
  • 網絡發展到今天,是必然的結果。網絡使人們的生活發生了深刻的變革,Internet成為很多活動的重要場所。電影院購票管理系統現在雖然還處于發展階段,但是隨著互聯網經濟的發展,越來越多的人投入到電影院購票管理系統維護這個領域中來。網上維護最大程度的方便了顧客。顧客足不出戶,在電影院購票管理系統通過www瀏覽器實現網上把售票員請到家服務,便可將得到自己喜歡的電影,無需東奔西跑。本次設計的電影院購票管理系統-是一種具有交互功能的商業網站,可以方便服務于每一個客戶。

    隨著科技的發展,時代的進步,互聯網已經成為了人們生活中不可缺少的東西,網上購物成為了一種時代的象征,人們生活水平日以提高,壓力也越來越大,人們需要放松自己的心情,看電影顯然是個不錯的選擇,但是傳統的窗口售票工作效率低,人們往往需要排很長的隊伍才能買到票,不僅浪費了寶貴的時間,而且可能還會影響購票人的心情,工作人員的工作量也大,因此擁有一套完整的高效的實用的電影院購票管理系統就顯得非常重要了,他可以幫你解決排隊問題,還可以足不出戶就可以在家網上查詢電影票價和購買情況,節約了很多寶貴的時間,故而本次研究的目標就在此。

  • 開發現狀
  • 隨著社會經濟的快速發展,人們的娛樂活動越來越豐富,其中看電影占了很大的比例。開發此系統的目的是解決喜愛電影的人們買票難的問題。以前要買電影票必須到電影院買,這樣既浪費時間,浪費精力,而且最終還不一定買到自己想看要的。有了本系統,可以很方便的讓影迷在家上網查看影院的影片以及票務的信息,這樣既省時又省力,可以同時了解到不同影片的信息,有更多的選擇。本系統充分利用網絡資源和人力資源。

    面對全球性影院觀看熱潮,國內外對影院觀看的視覺需求,以及其規模的優勢,其獨有的互動效果和場內氣憤贏得了越來越多的人的喜歡。1980 ~ 1984年平均產量達120部,每年觀眾人次平均在250億左右。同時中國電影也進入一個蓬勃發展的新時期,中國美術片從形式到內部都極其富有民族色彩。伴隨電影的發展,國內外的電子票務系統也告訴的發展,國內有許多的電影院購票管理系統,如格瓦拉以及一些團購網站都有相關的內容。

  • 研究方法
  • 首先,通過引擎搜索或者查閱相關文獻資料,了解了本系統開發的背景以及設計系統的意義所在,收集用戶需求信息。其次,在開發工具上,最終確定選用springboot平臺來設計開發本系統,mysql作為設計數據庫的工具。即利用Java語言實現用戶界面,并同數據庫連接起來實現完整的通信功能。之后,設計出系統大致的功能模塊。主要從方便系統用戶和系統管理員的角度進行分析,明確該系統應該具有的功能。最終是測試系統,通過用例測試發現存在的問題并找到解決的方案。利用現有的開發平臺,結合自己所學的知識,在老師的指導幫助下來完成該設計,確保系統的可用性、實用性。

  • 相關技術介紹
  • 2.1Myeclipse描述

    我們在利用Java來開發系統時通常采用的軟件就是Myeclipse,它是用來設計Java, JavaEE的Eclipse插件的調集,采取了 Myeclipse大部分可以實現對Mysql的數據庫和Javaee的研究和開發。用了Myeclipse很大的便利了開發人員,系統開發的進度也會得到一些提高。

    2.2?Mysql描述

    現在Mysql數據庫在網絡上它可以支撐許多個用戶,而且也可以適應客服機和服務器的部署或者配置等,我們這里的服務器和客戶機其實就是一種軟件上的概念,并且我們使用的計算機硬件也與他們不存在一一對應的關系。

    Mysql是一款非常流行的關系型數據庫管理系統,它的出現一直都是佼佼者,它不僅功能非常強大,而且使用起來非常方便,并且Mysql的跨平臺能力也很好,軟件開發人員非常喜歡它的這些強大的優點。不同于其他關系型數據庫,對于數據庫的管理它有著自己的一套方案,通過對用戶設定相應的權限和角色來達到對數據庫的管理。由此可見,Mysql是一個能夠適用于吞吐量高,可靠性高,效率高的一款數據庫管理軟件[4]。

    優點一:Mysql中對于不同身份的用戶都設定其不同的權限來完成不同的業務邏輯,這使得Mysql在安全和完整性遠遠超出了其他關系型數據庫。

    優點二:對于那些動畫、圖形和聲音的數據類型Mysql也可以支持,這說明多數據類型Mysql也是可以支持的。

    優點三:Mysql還可以做到多個平臺的開發,軟件開發的多種編程語言都可以實現對Mysql數據庫的操作。

    2.3 B/S結構

    在系統的開發上采用了B/S結構,在B/S結構中,統一采用瀏覽器,而不需要去開發任何的用戶界面,Web瀏覽器向處理它的Web服務器發送請求,并一步一步地將處理結果返回給客戶端。B/S結構主要采用了各種腳本語言和ActiveX技術,降低了系統的開發難度并簡化了系統維護以及使用。

    B/S結構有如下特點:B/S結構建立在廣域網上,不需要專門為其配置硬件環境,比C/S結構的適應范圍更強;由于其基于廣域網,所以其對安全的控制能力相對較弱;B/S的多種結構要求構造相對獨立的函數,這樣才能可以更好地重用;B/S結構組成簡單,便于對個別構件進行更換,降低了系統的維護成本B/S信息流向與C/S不同,B/S信息流向可變化。

    2.4Tomcat描述

    Tomcat是一個不收費的服務器。使用場景比較適合訪問量比較少的情況下。意思就是,將Tomcat安裝到電腦上的時候,前端HTML頁面的訪問請求可以通過它進行解析。實際上,Tomcat是對Apache的擴展,但它相對于Apache卻是相對獨立作業的,由此可以看作它與Apache 是相對獨立進程運行的。

    Tomcat最開始是sun公司的戴維森進行開發應用的,經過他的努力,不斷地將其變為開源的服務器。還由sun公司將其交給了Apache軟件基金會。不斷發展的tomcat服務器在最近的一個版本中進行了大量的重構和梳理,使其使用起來更加的方便。基于Tomcat負載均衡算法是一種開源的軟件,實現方式。不需要增加額外的硬件投入,實現起來也很方便,特別適用于一般的小企業網站服務器在現在和將來一段時間的擴展。從目前的實踐來看,可作為需要進行類似應用的一個參考借鑒。

    2.5 spring boot框架介紹

    Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發提供了一系列的解決方案,比如利用控制反轉的核心特性,并通過依賴注入實現控制反轉來實現管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數據訪問,提供大量優秀的Web框架方便開發等等。Spring框架具有控制反轉(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務管理、遠程訪問等功能均可以通過使用SpringAOP技術實現。Spring的事務管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務以及嵌套事務能夠與保存點一起工作,并且幾乎可以在Java平臺的任何環境中工作。Spring集成多種事務模板,系統可以通過事務模板、XML或Java注解進行事務配置,并且事務框架集成了消息傳遞和緩存等功能。Spring的數據訪問框架解決了開發人員在應用程序中使用數據庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數據對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數據訪問框架中提供支持,同時還可以與Spring的事務管理一起使用,為數據訪問提供了靈活的抽象。Spring框架最初是沒有打算構建一個自己的WebMVC框架,其開發人員在開發過程中認為現有的StrutsWeb框架的呈現層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創建了SpringMVC。

  • 系統分析
  • 可行性分析
  • 技術性方面,采用當前主流的是springboot框架進行系統主體框架的搭建,前臺使用jquery,ajax,實現前臺頁面的設計與美觀調整,以上技術,均由本人經過系統學習,并且都是在課程設計中實踐過的,可以使得開發更加便捷和系統。從技術角度看,這個系統是完全可以實現的。

    實用性方面,本次設計的主要任務是在電影院售票與管理系統內¥購票會員卡等,符合當前潮流的發展。從用戶角度出發,同時也考慮系統運營成本和人力資源,采用網絡上的便捷方式,實現線上業務,使得業務流程更系統,也更方便用戶的體驗,比較實用。

    經濟性方面,由于本課題中設計的電影院售票與管理系統的主要目的是為了能夠更加方便及快捷的進行信息的查詢管理及檢索服務,也就是能夠可以直接投入使用的信息化軟件。系統的主要成本主要是集中在對使用數據后期繼續維護及其管理更新這個操作上。但是一旦系統投入到實際的運行及使用之后就能夠很好的提高信息查詢檢索的效率,同時也需要有效的保證查詢者的信息方面的安全性,同時這個電影院售票與管理系統所帶來的實際應用方面的價值是遠遠的超過了實際系統進行開發與維護方面的成本,因此,從經濟上來說開發這個軟件是可行的。

  • 功能需求分析
  • 電影院售票與管理系統的功能主要分為前臺用戶根據自己的需求進行注冊登錄,瀏覽電影資訊并對選中的電影進行購票操作。后臺系統管理員因職責的不同,分為普通管理員和超級管理員,普通管理員主要對購票單進行處理,處理退票單,而超級管理員主要對注冊用戶,影院信息、影片信息、購票中心、退票記錄進行處理。

    管理員用例圖如下所示。

    ?

    圖3-1 管理員用例圖

    用戶用例圖如下所示。

    ?

    圖3-1 用戶用例圖

  • 前臺用戶功能
  • 前臺用戶可分為未注冊用戶需求和以注冊用戶需求。

    前臺用戶的功能如下:

    登錄:根據賬號密碼進行登錄操作。

    維護個人信息:用戶因個人信息的變更可以隨時修改自己注冊信息。

    瀏覽影片信息:用戶可以根據電影類型瀏覽影片的信息,并選中某個影片查看詳情,例如:影片編號、影片名稱、影片類型、影院名稱、上映時間、票價等。

    瀏覽影院信息:用戶可以根據電影類型瀏覽影院的信息,并選中某個影院查看詳情,例如:影院編號、影院名稱、影院地址、影院電話等。

    瀏覽評論信息:選中某間電影可查看其用戶的評論。

    評論:用戶可以根據自己的觀點看法對相關電影進行評論。

  • 后臺管理員功能
  • 管理員功能如下:

    修改密碼:管理員可以隨時修改自己進入系統的登錄密碼,以保證系統的安全性。

    對購票單信息進行處理:辦理購票單審核等。

    管理普通管理員:對普通管理員進行管理。調動相關工作人員時可以添加或刪除普通管理員。

    影院信息管理:對影院信息進行維護,添加、刪除、修改信息。

    對退票記錄信息進行處理:辦理退票審核等。

    影片信息管理:對影片信息進行維護,添加、刪除、修改信息。

    評論信息管理:可以查看用戶的評論,及時了解用戶發起的建議。

    用戶管理:可以查看注冊用戶的信息,并對其進行管理。

  • 非功能需求分析
  • 首先主要考慮的是系統功能軟件,在具體設計的環節上,是不是能夠較好的滿足各類用戶的基本功能需求,如果不能較好的滿足用戶需求,那么這個系統的存在是沒有價值的。軟件系統的非功能性求分析,從7個方面展開,一個是性能分析,針對系統;一個是安全分析,針對系統,一個是完整度分析,針對系統,一個是可維護分析,針對系統,一個是可擴展性分析,針對系統,一個是適應業務的性能分析。面對電影院售票與管理系統存在的性能、安全、擴展、完整度等7個方面性能綜合比對分析后發現,需要相應的非功能性需求分析。

  • 安全性需求分析
  • 系統的安全性
  • 安全性對每一個系統來說都是非常重要的。安全性很好的系統可以保護企業的信息和用戶的信息不被竊取。提高系統的安全性不僅是對用戶的負責,更是對企業的負責。尤其針對于電影院售票與管理系統來說,必須要有很好的安全性來保障整個系統。

    系統具有對使用者有權限控制,針對角色的不通限制使用者的權限,以此來確保系統的安全性。

  • 數據的安全性
  • 數據庫中的數據是從外界輸入的,當數據的輸入時,由于種種原因,輸入的數據會無效,或者是臟數據。因此,怎樣保證輸入的數據符合規定,成為了數據庫系統,尤其是多用戶的關系數據庫系統首要關注的問題。

    因此,在寫入數據庫時,要保證數據完整性、正確性和一致性。

  • 系統設計
  • 系統架構設計
  • 本電影院售票與管理系統的架構設計主要分為可以3層,主要有Web層,業務層,Model層。其中web層還包括View層和Controller層,Model層包括元數據擴展層和數據訪問層。

    系統架構如下圖所示。

    ?

    圖4-1 系統架構

  • 系統總體設計
  • 電影院售票與管理系統總體分為前臺用戶模塊和后臺管理員模塊。

    兩個模塊表現上是分別獨立存在,但是訪問的數據庫是一樣的。每一個模塊的功能都是根據先前完成的需求分析,并查閱相關資料后整理制作的。

    綜上所述,系統功能結構圖如下圖所示。

    ?

    圖4-2 系統功能結構圖

  • 系統功能設計
  • 登錄模塊:登錄模塊是進入系統的入口,所有用戶必須登錄后才能訪問系統。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗證碼。登錄時需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會通過數據庫獲取用戶的權限,并跳轉至用戶的主頁面。

    管理員用戶管理模塊:管理員管理包括:管理員的添加,修改和刪除操作。添加管理員時,先判斷用戶添加的管理員是否是admin(超級管理員),如果不是則添加成功。修改時候,如果是超級管理員,可以修改所有管理員的信息,如果是普通管理員,那么只能修改自己的信息。超級管理員可以刪除自己以外的所有其他管理員,普通管理員不能執行刪除管理員的操作。

    評價模塊:評價模塊促進用戶對電影進行點評,查看某個電影已存在的評價,發表評價可以達到真實描述電影的效果。

    影院信息模塊:可分為影院信息瀏覽、影院信息檢索、影院信息維護三個模塊,管理員對影院信息有維護的權限,發布新的影院信息、更新已有的影院信息等。

    影片信息管理模塊:影片信息管理分為影片添加、修改和影片票價。影片信息由管理員進行修改、添加、刪除操作;影片購票由普通用戶來執行。

  • 數據庫設計
  • 數據需求分析
  • 從前面可以分析到數據庫中最重要的是用戶注冊表,退票記錄表,購票中心表,影片信息表,影院信息表,收藏表,評論表。分析可以得到如下數據描述:

    用戶注冊:用于記錄用戶的各種信息,包括性別、審核狀態等數據項。

    管理員:記錄管理員的登錄信息。包括用戶名,密碼,權限等數據項。

    退票記錄:存放給退票記錄的內容,包括影片編號、影片類型、票價、購買張數、總金額、退款原因、退款時間、退款金額、用戶賬號、審核狀態、審核回復等數據項。

    購票中心:存儲各種購票中心信息。包括影片編號、影片類型、影片名稱、票價、購買張數、總金額、用戶賬號、支付狀態、支付類型、座位號等數據項。

    影片信息:存儲用戶的影片信息。包括影片信息的影片編號、影片類型、影片名稱、影片封面、上映時間、票價、影片簡介、點擊數等數據項。

    影院信息。存儲用戶的影院信息。包括影院編號、影院名稱、影院地址、影院封面、點擊數等數據項。

  • 數據庫概念設計
  • 根據前面的數據流程圖,結合系統的功能模塊設計,設計出符合系統的各信息實體。

    系統ER圖如下圖所示。

    ?

    圖4-3 系統ER圖

  • 數據庫表設計
  • 電影院售票與管理系統所擁有的數據表有以下:用戶注冊表,退票記錄表,購票中心表,影片信息表,影院信息表,收藏表,評論表。

    由于數據表較多,只展示系統主要數據表,如下表所示。

    user_registration表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    user_registration_id

    int

    11

    用戶注冊ID

    gender

    varchar

    64

    性別

    examine_state

    varchar

    16

    審核狀態

    recommend

    int

    11

    智能推薦

    user_id

    int

    11

    用戶ID

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    ticket_refund_record表

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    ticket_refund_record_id

    int

    11

    退票記錄ID

    film_number

    varchar

    64

    影片編號

    film_type

    varchar

    64

    影片類型

    movie_title

    varchar

    64

    影片名稱

    ticket_price

    varchar

    64

    票價

    number_of_purchased_sheets

    varchar

    64

    購買張數

    total_amount

    varchar

    64

    總金額

    refund_reason

    varchar

    64

    退款原因

    refund_time

    varchar

    64

    退款時間

    refund_amount_

    int

    11

    退款金額

    user_account

    int

    11

    用戶賬號

    examine_state

    varchar

    16

    審核狀態

    examine_reply

    varchar

    16

    審核回復

    recommend

    int

    11

    智能推薦

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    ticket_center表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    ticket_center_id

    int

    11

    購票中心ID

    film_number

    varchar

    64

    影片編號

    film_type

    varchar

    64

    影片類型

    movie_title

    varchar

    64

    影片名稱

    cinema_name

    varchar

    64

    影院名稱

    ticket_price

    varchar

    64

    票價

    number_of_purchased_sheets

    int

    11

    購買張數

    total_amount

    varchar

    64

    總金額

    user_account

    int

    11

    用戶賬號

    pay_state

    varchar

    16

    支付狀態

    pay_type

    varchar

    16

    支付類型

    recommend

    int

    11

    智能推薦

    seat

    varchar

    64

    座位號

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    film_information表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    film_information_id

    int

    11

    影片信息ID

    film_number

    varchar

    64

    影片編號

    film_type

    varchar

    64

    影片類型

    movie_title

    varchar

    64

    影片名稱

    cinema_name

    varchar

    64

    影院名稱

    film_cover

    varchar

    255

    影片封面

    release_time

    date

    0

    上映時間

    ticket_price

    int

    11

    票價

    film_introduction

    text

    0

    影片簡介

    hits

    int

    11

    點擊數

    recommend

    int

    11

    智能推薦

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    cinema_information表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    cinema_information_id

    int

    11

    影院信息ID

    theater_number

    varchar

    64

    影院編號

    cinema_name

    varchar

    64

    影院名稱

    cinema_address

    varchar

    64

    影院地址

    cinema_telephone

    varchar

    64

    影院電話

    cinema_cover

    varchar

    255

    影院封面

    hits

    int

    11

    點擊數

    recommend

    int

    11

    智能推薦

    create_time

    datetime

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    comment表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    comment_id

    int

    11

    評論ID

    user_id

    int

    11

    評論人ID

    reply_to_id

    int

    11

    回復評論ID

    content

    longtext

    0

    內容

    nickname

    varchar

    255

    昵稱

    avatar

    varchar

    255

    頭像地址

    create_time

    timestamp

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    source_table

    varchar

    255

    來源表

    source_field

    varchar

    255

    來源字段

    source_id

    int

    10

    來源ID

    collect表:

    名稱

    類型

    長度

    不是null

    主鍵

    注釋

    collect_id

    int

    10

    收藏ID

    user_id

    int

    10

    收藏人ID

    source_table

    varchar

    255

    來源表

    source_field

    varchar

    255

    來源字段

    source_id

    int

    10

    來源ID

    title

    varchar

    255

    標題

    img

    varchar

    255

    封面

    create_time

    timestamp

    0

    創建時間

    update_time

    timestamp

    0

    更新時間

    ??

  • 系統實現
  • 數據庫訪問層的實現
  • 該系統是通過jdbc和MySQL達成連接的,新建一個jdbc.properties文件來填寫與數據庫連接所需要的驅動和參數。

    jdbc.driverClass=com.MySQL.jdbc.Driver

    jdbc.url=jdbc:MySQL://localhost:3306/tsi

    jdbc.username=root

    jdbc.password=123

    第一個參數代表MySQL數據庫的驅動,第二個參數代表要連接的數據庫,第三個和第四個參數代表數據庫連接名和密碼。

    后臺與數據庫訪問主要是通過HQL語句來進行查詢的,查詢語句中的表名是表格的實體類名,在這種查詢語句中*是不允許使用的,除非適合聚合函數一起使用才可以。

  • 注冊模塊的實現
  • 用戶在填寫數據的時候必須與注冊頁面上的驗證相匹配否則會注冊失敗,注冊頁面的表單驗證是通過JavaScript進行驗證的,用戶名的長度必須在6到18之間,郵箱必須帶有@符號,密碼和密碼確認必須相同,你輸入的密碼,系統會根據你輸入密碼的強度給出指定的值,電話號碼和身份證號碼必須要求輸入格式與生活相符合,當你前臺驗證通過的時候你點擊注冊,表單會將你輸入的值通過name值傳遞給后臺并保存到數據庫中。

    用戶注冊流程圖如下圖所示。

    ?

    圖5-1用戶注冊流程圖

    用戶注冊界面如下圖所示。

    ?

    圖5-2用戶注冊界面

    用戶注冊的關鍵代碼為:

    /**

    ?????* 注冊

    ?????* @param user

    ?????* @return

    ?????*/

    ????@PostMapping("register")

    ????public Map<String, Object> signUp(@RequestBody User user) {

    ????????// 查詢用戶

    ????????Map<String, String> query = new HashMap<>();

    ????????query.put("username",user.getUsername());

    ????????List list = service.select(query, new HashMap<>()).getResultList();

    ????????if (list.size()>0){

    ????????????return error(30000, "用戶已存在");

    ????????}

    ????????user.setUserId(null);

    ????????user.setPassword(service.encryption(user.getPassword()));

    ????????service.save(user);

    ????????return success(1);

    }

    /**

    ?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據

    ?????*/

    ????@Id

    ????@GeneratedValue(strategy = GenerationType.IDENTITY)

    ????@Column(name = "user_id")

    ????private Integer userId;

    ????/**

    ?????* 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷)

    ?????*/

    ????@Basic

    ????@Column(name = "state")

    ????private Integer state;

    ????/**

    ?????* 所在用戶組:[0,32767]決定用戶身份和權限

    ?????*/

    ????@Basic

    ????@Column(name = "user_group")

    ????private String userGroup;

    ????/**

    ?????* 上次登錄時間:

    ?????*/

    ????@Basic

    ????@Column(name = "login_time")

    ????private Timestamp loginTime;

    ????/**

    ?????* 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時

    ?????*/

    ????@Basic

    ????@Column(name = "phone")

    ????private String phone;

    ????/**

    ?????* 手機認證:[0,1](0未認證|1審核中|2已認證)

    ?????*/

    ????@Basic

    ????@Column(name = "phone_state")

    ????private Integer phoneState;

    ????/**

    ?????* 用戶名:[0,16]用戶登錄時所用的賬戶名稱

    ?????*/

    ????@Basic

    ????@Column(name = "username")

    ????private String username;

    ????/**

    ?????* 昵稱:[0,16]

    ?????*/

    ????@Basic

    ????@Column(name = "nickname")

    ????private String nickname;

    ????/**

    ?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成

    ?????*/

    ????@Basic

    ????@Column(name = "password")

    ????private String password;

    ????/**

    ?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時

    ?????*/

    ????@Basic

    ????@Column(name = "email")

    ????private String email;

    ????/**

    ?????* 郵箱認證:[0,1](0未認證|1審核中|2已認證)

    ?????*/

    ????@Basic

    ????@Column(name = "email_state")

    ????private Integer emailState;

    ????/**

    ?????* 頭像地址:[0,255]

    ?????*/

    ????@Basic

    ????@Column(name = "avatar")

    ????private String avatar;

    ????/**

    ?????* 創建時間:

    ?????*/

    ????@Basic

    ????@Column(name = "create_time")

    ????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    ????private Timestamp createTime;

    ????@Basic

    ????@Transient

    ????private String code;

    }

  • 登錄模塊的實現
  • 主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當用戶名和密碼其中一個輸入為空時,給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數據庫中查找,如果用戶名存在,以及對應的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點停在文本框中。登錄成功后將該次會話的全局變量username設置為用戶名。登錄成功后進入會員的功能模塊,主要有會員基本信息修改,已經發布電影信息管理,發布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁。

    登錄流程圖如下圖所示。

    圖5-4登錄流程圖

    用戶登錄界面如下圖所示。

    ?

    圖5-5用戶登錄界面

    用戶登錄的關鍵代碼如下:

    /**

    ?????* 登錄

    ?????* @param data

    ?????* @param httpServletRequest

    ?????* @return

    ?????*/

    ????@PostMapping("login")

    ????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

    ????????log.info("[執行登錄接口]");

    ????????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, "賬號或密碼不能為空");

    ????????}

    ????????//判斷是否有這個用戶

    ????????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);

    ????????//查詢用戶審核狀態

    ????????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,"該用戶審核未通過");

    ????????????}

    ????????}

    ????????//查詢用戶狀態

    ????????if (byUsername.getState()!=1){

    ????????????return error(30000,"用戶非可用狀態,不能登錄");

    ????????}

    ????????String md5password = service.encryption(password);

    ????????if (byUsername.getPassword().equals(md5password)) {

    ????????????// 存儲Token到數據庫

    ????????????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, "賬號或密碼不正確");

    ????????}

    }

  • 用戶資料修改模塊的實現
  • 用戶登錄/注冊成功之后可以修改自己的基本信息。修改頁面的表單中每一個input的name值都要與實體類中的參數相匹配,在用戶點擊修改頁面的時候,如果改后用戶名與數據庫里面重復了,頁面會提示該用戶名已經存在了,否則通過Id來查詢用戶,并將用戶的信息修改為表單提交的數據。

  • 評論模塊的實現
  • 用戶便可以對電影做出評論。點擊按鈕之后會跳轉至評論填寫頁面,填寫評論提交之后,后臺通過PinglunController的publish方法將相關信息保存到數據庫系統。

    評論添加流程圖如下圖所示。

    圖5-10評論添加流程圖

    評論添加界面如下圖所示。

    ?

    圖5-11評論添加界面

    評論添加關鍵代碼為:

    @RequestMapping(value = "/del")

    ????@Transactional

    ????public Map<String, Object> del(HttpServletRequest request) {

    ????????service.delete(service.readQuery(request), service.readConfig(request));

    ????????return success(1);

    }

    ????@Transactional

    ????public void delete(Map<String,String> query,Map<String,String> config){

    ????????StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");

    ????????sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));

    ????????log.info("[{}] - 刪除操作:{}",table,sql);

    ????????Query query1 = runCountSql(sql.toString());

    ????????query1.executeUpdate();

    ????}

  • 購票中心模塊的實現
  • 購票功能需要考慮高并發,防止出現電影重復購票、電影狀態顯示出錯等情況,特對電影這一共享數據增加鎖機制。在樂觀鎖、悲觀鎖以及線程鎖中,綜合考慮性能效率和錯誤的可接受性選擇了樂觀鎖機制。樂觀鎖的實現方式是使用版本標識來確定讀到的數據與提交時的數據是否一致,提交后修改版本標識,不一致時可以采取丟棄和再次嘗試的策略。在數據庫電影表(對應電影實體)設計中增加了version字段,每次數據提交時(更改電影狀態)會判斷version是否匹配,若不匹配停止本次提交,若匹配則提交成功并增加version的值。

    購票功能整體流程:用戶瀏覽電影信息時,同時會顯示電影的狀態,系統會在其顯示詳細信息的頁面時便會判斷電影的狀態,若電影狀態為可購票,則會顯示購票的鏈接按鈕。在用戶點擊購票按鈕時,會先通過攔截器判斷用戶是否登錄,若未登錄,會跳轉至登錄頁面,提示用戶先登錄,若為登錄用戶就會跳轉至填寫購票信息的頁面,填寫好購票信息之后,點擊提交按鈕,購票成功之后返回提示信息,告知用戶購票成功。

    購票中心流程圖如下圖所示。

    ?

    圖5-12購票中心流程圖

    購票中心界面如下圖所示。

    ?

    圖5-13購票中心界面

    購票中心管理關鍵代碼為:

    @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();

    ????}

  • 退票記錄模塊的實現
  • 退票功能整體流程:用戶瀏覽退票記錄時,同時會顯示退票記錄的狀態,系統會在其顯示詳細信息的頁面時便會判斷退票記錄的狀態,若退票記錄狀態為可退票,則會顯示退票的鏈接按鈕。在用戶點擊退票按鈕時,會先通過攔截器判斷用戶是否登錄,若未登錄,會跳轉至登錄頁面,提示用戶先登錄,若為登錄用戶就會跳轉至填寫退票信息的頁面,填寫好退票信息之后,點擊提交按鈕,退票成功之后返回提示信息,告知用戶退票成功。

    退票記錄流程圖如下圖所示。

    ?

    圖5-12退票記錄流程圖

    退票記錄界面如下圖所示。

    ?

    圖5-15退票記錄界面

    退票添加關鍵代碼為:

    @PostMapping("/upload")

    ????public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

    ????????log.info("進入方法");

    ????????if (file.isEmpty()) {

    ????????????return error(30000, "沒有選擇文件");

    ????????}

    ????????try {

    ????????????//判斷有沒路徑,沒有則創建

    ????????????String filePath = System.getProperty("user.dir") + "\\target\\classes\\static\\upload\\";

    ????????????File targetDir = new File(filePath);

    ????????????if (!targetDir.exists() && !targetDir.isDirectory()) {

    ????????????????if (targetDir.mkdirs()) {

    ????????????????????log.info("創建目錄成功");

    ????????????????} else {

    ????????????????????log.error("創建目錄失敗");

    ????????????????}

    ????????????}

    ????????????String fileName = file.getOriginalFilename();

    ????????????File dest = new File(filePath + fileName);

    ????????????log.info("文件路徑:{}", dest.getPath());

    ????????????log.info("文件名:{}", dest.getName());

    ????????????file.transferTo(dest);

    ????????????JSONObject jsonObject = new JSONObject();

    ????????????jsonObject.put("url", "/api/upload/" + fileName);

    ????????????return success(jsonObject);

    ????????} catch (IOException e) {

    ????????????log.info("上傳失敗:{}", e.getMessage());

    ????????}

    ????????return error(30000, "上傳失敗");

    }

  • 影院信息管理模塊的實現
  • 此頁面的關鍵是編寫影院信息,包括影院編號,名稱,詳情等。單擊提交按鈕以完成信息的添加。如果未寫入完整的影院信息,例如,如果未寫入影院編號,系統將給出相應的錯誤提示,并且無法成功輸入。數據以概念的形式以onsubmit =“return checkForm()”的形式寫入以進行檢查,checkForm()函數是一種用于寫入數據的不同類型的校對方法,是不是為空也是經過form表單中的οnsubmit=”return checkForm()來檢查。

    管理員點擊左側菜單“影院信息管理”,頁面跳轉到影院信息管理外觀,調用后臺影院查詢所有影院信息。并將信息密封到數據集合List,綁定到請求對象,然后頁面跳轉到相應的aspx界面,顯示出影院信息,單擊刪除按鈕完成影院信息的刪除。

    影院管理流程圖如下圖所示。

    ?

    圖5-17影院管理流程圖

    影院添加界面如下圖所示。

    ?

    圖5-18影院添加界面

    影院管理界面如下圖所示。

    ?

    圖5-19影院管理界面

  • 影片管理模塊的實現
  • 根據需求,需要對影片進行添加、刪除或修改詳情信息。刪除或修改影片時,系統根據影片的狀態判定為可刪除狀態下,才會給出刪除和修改鏈接,點擊刪除鏈接按鈕時,請求到達后臺,還會先查詢影片狀態再次做出判定能否刪除。點擊修改鏈接按鈕時,會跳轉到修改信息的頁面,重新填寫好數據后,數據提交到后臺會對數據庫中相應的記錄做出修改。

    添加影片時,會給出數據填寫的頁面,該頁面根據填寫好的影片編號同樣會事先發送Ajax請求查詢編號是否已存在,數據填寫好之后提交到后臺,會調用相關服務在數據庫中插入記錄。

    影片管理流程圖如下圖所示。

    ?

    圖5-20影片管理流程圖

    影片信息管理頁面設計效果如下圖所示。

    ?

    圖5-21影片信息管理界面

  • 系統測試
  • 測試目的
  • 對任何系統而言,測試都是必不可少的環節,測試可以發現系統存在的很多問題,所有的軟件上線之前,都應該進行充足的測試之后才能保證上線后不會Bug頻發,或者是功能不滿足需求等問題的發生。下面分別從單元測試,功能測試和用例測試來對系統進行測試以保證系統的穩定性和可靠性。

  • 功能測試
  • 下表是系統登錄功能測試用例,檢測了用戶名和密碼的不同的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。

    表6-1 系統登錄功能測試用例

    功能描述

    用于系統登錄

    測試目的

    檢測登錄時的合法性檢查

    測試數據以及操作

    預期結果

    實際結果

    輸入的用戶名和密碼帶有非法字符

    提示用戶名或者密碼錯誤

    與預期結果一致

    輸入的用戶名或者密碼為空

    提示用戶名或者密碼錯誤

    與預期結果一致

    輸入的用戶名和密碼不存在

    提示用戶名或者密碼錯誤

    與預期結果一致

    輸入正確的用戶名和密碼

    登錄成功

    與預期結果一致

    下表是注冊功能測試用例,檢測了各種數據的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。

    表6-2 注冊功能測試用例

    功能描述

    用于用戶注冊

    測試目的

    檢測用戶注冊時的合法性檢查

    測試數據以及操作

    預期結果

    實際結果

    輸入的手機號不合法

    提示請輸入正確的手機號碼

    與預期結果一致

    輸入的字段為空

    提示必填項不能為空

    與預期結果一致

    輸入的密碼少于6位

    提示密碼必須為6-12位

    與預期結果一致

    輸入的密碼大于12位

    提示密碼必須為6-12位

    與預期結果一致

    下表是影院管理功能的測試用例,檢測了影院管理中對影院信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。

    前置條件;用戶登錄系統。

    表6-3 影院管理的測試用例

    功能描述

    用于影院管理

    測試目的

    檢測影院管理時的各種操作的運行情況

    測試數據以及操作

    預期結果

    實際結果

    點擊添加影院,必填項合法輸入,點擊保存

    提示添加成功

    與預期結果一致

    點擊添加影院,必填項輸入不合法,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊修改影院,必填項修改為空,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊修改影院,必填項輸入不合法,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊刪除影院,選擇影院刪除

    提示刪除成功

    與預期結果一致

    點擊搜索影院,輸入存在的影院名

    查找出影院

    與預期結果一致

    點擊搜索影院,輸入不存在的影院名

    不顯示影院

    與預期結果一致

    下表是購票中心管理功能的測試用例,檢測了購票中心管理中對購票中心信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。

    前置條件;用戶登錄系統。

    表6-4 購票中心管理的測試用例

    功能描述

    用于購票中心管理

    測試目的

    檢測購票中心管理時的各種操作的運行情況

    測試數據以及操作

    預期結果

    實際結果

    點擊添加購票中心,必填項合法輸入,點擊保存

    提示添加成功

    與預期結果一致

    點擊添加購票中心,必填項輸入不合法,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊修改購票中心,必填項修改為空,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊修改購票中心,必填項輸入不合法,點擊保存

    提示必填項不能為空

    與預期結果一致

    點擊刪除購票中心,選擇購票中心刪除

    提示刪除成功

    與預期結果一致

    點擊搜索購票中心,輸入存在的購票中心名

    查找出購票中心

    與預期結果一致

    點擊搜索購票中心,輸入不存在的購票中心名

    不顯示購票中心

    與預期結果一致

    下表是退票記錄管理功能的測試用例,檢測了退票記錄管理中退票記錄單的操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。

    前置條件;用戶登錄系統。

    表6-5 退票記錄管理的測試用例

    功能描述

    用于退票記錄管理

    測試目的

    檢測退票記錄管理時各種操作的情況

    測試數據以及操作

    預期結果

    實際結果

    未選擇影院,點擊提交

    提示請選擇影院

    與預期結果一致

    未輸入數量,點擊提交

    提示請輸入數量

    與預期結果一致

    未輸入場次,點擊提交

    提示請輸入場次

    與預期結果一致

  • 性能測試
  • 使用阿里云PTS(Performance Testing Service)性能測試服務對線上系統進行壓力測試。線上服務器環境為:1核心CPU,1G內存,1Mbps公網帶寬,Centos7.0操作系統。

    壓測過程中使用了2臺并發機器,每臺機器20個用戶并發,對系統主頁,登錄,數據查詢和數據維護等模塊進行并發訪問,測試結果是有40個用戶并發時,數據管理相關頁面的響應時間甚至達到了7s,通過查看服務器出網流量發現已經達到1381kb/s,可以看出服務器的帶寬已經達到峰值,如果系統使用5Mbps的帶寬,系統的響應時間和TPS將會大大增加。在整個測試的過程中,CPU的使用率占用僅8%,也提現出帶寬瓶頸對系統的影響非常嚴重。

  • 總結與展望
  • 隨著計算機互聯網技術的迅猛發展,各行各業都已經實現采用計算機相關技術對日益放大的數據進行管理。該課題是電影院售票與管理系統為核心展開的,主要是為了實現電影院購票信息化管理和用戶退票的需求。

    電影院售票與管理系統的開發是以Java編程語言作為基礎,在VisualStudio平臺上完成編碼工作,系統整體為B/S架構,數據庫系統使用mysql。文中詳細分析了電影院售票與管理系統的研究背景、研究目的和意義、開發工具和相關技術以及系統需求、系統詳細設計和系統測試等等一系列內容。系統實現了電影院售票與管理系統所需的一些基本功能,并通過測試對這些實現的功能進行了完善,進而提高了系統整體的實用性。整個系統的開發過程中大量使用了Java相關的知識以及前端開發使用的html和javascript等,同時涉及到了很多開源框架和組件,例如后臺系統中運用的MVC架構、Freemarker模板引擎等,前端運用的UI框架等。

    系統投入運行時,各功能均運行正常。系統的每個界面的操作符合常規邏輯,對使用者來說操作簡單,界面友好。整個系統的各個功能設計合理,體現了人性化。

    但是由于自己在系統開發過程中對一些用到的相關知識和技術掌握不夠牢固,再加上自身開發經驗欠缺,因此系統在有些方面的功能還不夠完善,考慮的不夠全面,因此整個系統還有待日后逐步完善。

    參考文獻

    [1]王曼維,楊荻,李巖,及松潔.基于SpringBoot框架的智慧醫療問診系統設計與實現[J].中國醫學裝備,2022,19(03):133-136.

    [2]常兵,薛楨一,陳德徐,孫誠彬,阮瑩瑩. 一種基于JAVA技術實現數據結構化導入導出的方法[P]. 江蘇省:CN114063989A,2022-02-18.

    [3]劉在英,楊磊. 一種基于SpringBoot框架的企業進存銷系統的設計方法[P]. 山東省:CN114003204A,2022-02-01.

    [4]熊柏祥.基于Springboot和Vue框架的考試資源服務平臺的設計與實現[J].信息與電腦(理論版),2022,34(01):97-99+103.

    [5]熊柏祥.基于Springboot和Vue框架的考試資源服務平臺的設計與實現[J].信息與電腦(理論版),2022,34(01):97-99+103.

    [6]汪杰,萬振華,王頡,董燕,李華,吳鐘良,洪二穩. JAVA開源組件的漏洞檢測方法、裝置及存儲介質[P]. 廣東省:CN112868008B,2021-12-24.

    [7]林飛,胡鳳嬌,楊小擔,易永波,古元,毛華陽. 一種基于Java反射技術實現數據校驗的方法[P]. 北京市:CN113805863A,2021-12-17.

    [8]曹明昊. 基于SpringBoot和Vue框架的邯鄲市現代農業園區信息管理系統的研發[D].河北工程大學,2021.

    [9]單樹倩,任佳勛.基于SpringBoot和Vue框架的數據庫原理網站設計與實現[J].電腦知識與技術,2021,17(30):40-41+50.

    [10]喻佳,吳丹新.基于SpringBoot的Web快速開發框架[J].電腦編程技巧與維護,2021(09):31-33.

    [11]向福川,方玉,劉浪,唐振云,練瑤.基于SpringBoot+Vue框架的協同育才系統設計與開發[J].現代信息科技,2021,5(14):5-7+12.DOI:10.19850/j.cnki.2096-4706.2021.14.002.

    [12]劉欣,李亮亮,牛聰. 基于Vue和SpringBoot框架的流域監管平臺的研究和應用[A]. 《中國防汛抗旱》雜志社、中國水利學會減災專業委員會、水利部防洪抗旱減災工程技術研究中心(中國水利水電科學研究院防洪抗旱減災研究中心).第十一屆防汛抗旱信息化論壇論文集[C].《中國防汛抗旱》雜志社、中國水利學會減災專業委員會、水利部防洪抗旱減災工程技術研究中心(中國水利水電科學研究院防洪抗旱減災研究中心):中國水利學會減災專業委員會,2021:5.

    [13]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).

    [14]Tian Ming Huang. Design and Implementation of App System for Legal Consulting Based on JAVA Technology[J]. Procedia Computer Science,2020,166(C).

    [15]Xuchun Chen. Design and Implementation of University Art Education Management System Based on JAVA Technology[J]. International Journal of Emerging Technologies in Learning (iJET),2018,13(10).

    [16]朱祥東,楊保華.在線售票系統的設計與搭建[J].價值工程,2018,37(27):244-245.

    致謝

    本次設計歷時3個月。在這個畢業設計中,它離不開指導教師的指導,使事情基本順利。指導老師無論是在畢業設計歷經中,還是在論文做完中都給了了我特別大的助益。另1個方面,教師認真負責的工作姿態,謹慎的教學精神厚重的理論水準都使我獲益匪淺。他勤懇謹慎的教學育人學習姿態也給我留下了特別特別深的感覺。我從老師那里學到了很多東西。在理論和實踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。

    經過對該畢業設計的全部研究和開發,我的系統研發經歷了從需求分析到實現詳細功能,再到最終測試和維護的特殊進展。讓我對系統研發有了更深層次的認識。如今我的動手本領單獨處理疑惑的本領也獲取到了特別大的演練學習增多,這是這次畢業設計最好的收獲。

    最后,在整個系統開發過程中,我周圍的同學和朋友給了我很多意見,所以我很快就確認了系統的商業思想。在次,我由衷的向他們表示感激。

    免費領取項目源碼,請關注點贊+私聊

    總結

    以上是生活随笔為你收集整理的(附源码)springboot电影院售票与管理系统 毕业设计011449的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。