社會公共體育館管理系統設計與實現.doc_第1頁
社會公共體育館管理系統設計與實現.doc_第2頁
社會公共體育館管理系統設計與實現.doc_第3頁
社會公共體育館管理系統設計與實現.doc_第4頁
社會公共體育館管理系統設計與實現.doc_第5頁
免費預覽已結束,剩余61頁可下載查看

下載本文檔

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

文檔簡介

編 號: 審定成績: *大學畢業設計(論文)設計(論文)題目:社會公共體育館管理系統的設計與實現學 院 名 稱 :軟件工程學院學 生 姓 名 :專 業 :軟件工程班 級 :學 號 :指 導 教 師 :答辯組 負責人 :填表時間:2016 年 6 月*大學教務處制*大學本科畢業設計(論文)摘 要人們生活水平的提高,工作的繁忙,促使社會生活節奏越來越快。由于科學技術水平迅速發展,人們長期生活在高節奏的社會中,意識到身心健康的重要性。為了讓公共體育館內各個事務進行有效地管理,更好地滿足人們體育活動過程中的各方面需求,同時能夠減輕各方面的開支和人力資源消耗,設計和實現了一個社會公共體育館管理系統。綜合多個體育館管理系統的具體管理功能,軟件工程領域的技術知識,該系統決定采用面向對象的思想,嚴格遵循軟件工程的過程、方法和規范完成系統設計與開發。使用UML用例對系統進行需求分析,概要設計中通過劃分實體、按照數據庫三范式進行數據庫設計,最后運用類圖、順序圖來完成該的系統詳細設計。開發技術上運用JAVA語言、Bootstrap和Spring+SpringMVC+MyBatis開發框架讓系統實現了以下功能:場地預訂、場地開單、賬單結算、場地管理、信息查詢、會員管理和用戶管理。社會公共體育館管理系統的設計與實現,方便系統人員對體育館內大小事務進行操作和管理,讓客戶更快捷地進行場地預訂和下單,從而提高了社會公共體育館管理質量和員工工作效率。【關鍵詞】體育館管理 JAVA Spring+SpringMVC+MyBatis BootstrapABSTRACTPeople living standard rise, the busy work, prompting social life rhythm faster and faster. Due to the rapid development of science and technology level, people realize the importance of physical and mental health living in high pace society for a long time. In order to effectively manage. Each transaction of public sports stadium, to better meet the demand of people on various aspects in the process of sports activities, and at the same time it can reduce the spending and human resources consumption, a public stadium management system was designed and implemented.Integrated multiple gymnasium management system specific management features, technical knowledge of software engineering, the system decided to use object-oriented thinking, strictly follow the process of software engineering methods and specifications to complete the systems designment and implementation. Using UML case on the system to carry out the demand analysis, dividing the entity in the outline design, according to the database three paradigm of database design, finally using the class diagram, sequence diagram to complete the detailed design of the system. Technically the use of JAVA language, Bootstrap and Spring + SpringMVC + MyBatis framework allows system developers to achieve the following functions: booking site, site billing, invoicing, site management, information inquiry, members of management and user management.The design and implementation of Social public stadium management system, the system personnel can operate the stadium and the size of the transaction management, allowing customers to carry out site reservation and orders more quickly, thereby improving the quality of management and public gymnasium employee productivity.【Key words】 Stadium management JAVA Spring+SpringMVC+MyBatis Bootstrap60目 錄摘 要IABSTRACTII第一章 緒論1第一節 項目背景1一、系統發展趨勢及現狀1二、系統設計目的1三、系統設計意義2第二節 本章小結2第二章 系統開發環境及主要技術3第一節 系統主要技術3第二節 本章小結5第三章 系統分析6第一節 可行性分析6一、經濟可行性6二、技術可行性6三、操作可行性7四、法律可行性7第二節 需求分析7一、系統概述7二、系統目標7三、功能需求8四、非功能需求10第三節 本章小結11第四章 概要設計12第一節 系統結構設計12一、系統整體結構12第二節 數據庫設計14一、數據庫設計思想14二、數據庫概念模型設計14三、數據庫表設計17第三節 本章小結20第五章 詳細設計及實現21第一節 預約管理模塊21一、預約管理類圖21二、子模塊圖詳細設計及實現22第二節 收銀結賬模塊25一、收銀結賬類圖25二、子模塊圖詳細設計及實現26第三節 本章小結30第六章 測試31第一節 測試定義31第二節 測試目的及意義31第三節 功能測試31一、登錄32二、預訂管理32三、業務管理33四、會員管理35五、用戶管理36第四節 本章小結37結 論38致 謝39參考文獻40附 錄41一、英文原文42二、英文翻譯53第一章 緒論第一節 項目背景一、系統發展趨勢及現狀據全國體育場地普查統計結果顯示,體育產業的潛力首先來自于其擁有比較完備的體育設施。據統計分析得出,體育場館市場開發的潛力和必要性。我國體育場館或多或少都實行了對外開放有償服務,但取得的效果不盡如人意。社會公共體育館目前的管理模式雖然對于改善體育場館的管理、提高服務質量、具有明顯的作用,但也帶來了一些新的問題。比如人員管理難度大、衛生環境受到外來干擾影響等。因此,總結現有的改革經驗,探索更為完善的新模式,非常必要。目前社會公共體育館利用率不高,運營效益不明顯,其主要因素之一就是體育場館運行模式存在問題,為進一步開發體育館的使用價值,以下就是本人對社會公共體育館運營過程中存在的問題進行分析的工作,具體如下:1.體育館中體育設施加速損耗,從而增加維護管理時間。2.在體育館管理體制的改進過程中,舊的管理模式已不能適應當前的需求,日的管理體制逐漸被打破。而新的管理體制尚不成熟,新舊管理體制并存的格局仍將長期存在,會阻礙體育館運營的順利發展,在這種趨勢下,開發一套針對社會公共體育館的管理系統變成了體育行業的發展方向。二、系統設計目的隨著科技的飛速發展,信息時代,各種信息技術被應用于行業領域中,發揮著重要的作用。體育館適應時代發展的需求,將信息技術引入到體育館管理中,其中構建管理網絡成為了重點內容1。因此,建立一個完整的社會公共體育館管理系統是非常有必要的。普通的公共體育館管理系統已經不能適應社會的發展。為了提高公共體育館管理系統的效率,促使我選擇了公共體育館管理系統作為我今年畢業設計的課題。三、系統設計意義隨著各個體育館管理理念的擴大、人們對身體健康的重視和健身人數的增加,公共體育館管理系統是整個體育館非常重要的組成部分,介于它的重要性,一個公共體育館有一個完善的管理系統能夠減輕管理員的工作量,減少人員開支,提高工作效率和準確率。提高會員及臨時用戶的鍛煉積極性。當今生活節奏的加快,社會公共體育館管理是一個非常繁瑣的事務,首先用戶需求量大、人群不同,并且每個年齡階段有不同的鍛煉需求。對于一個公共體育館而言,對其中的會員、臨時用戶和體育館里的工作人員進行有效地管理是非常重要的。因此,設計和實現出一套公共體育館管理系統是極為必要的。第二節 本章小結在這一章中,主要介紹了系統的目的與設計意義。新型體育館應實現多功能模式,即多項目文化、文娛商展和群眾健身三個方面并重,形成競技、健身、娛樂、社交、產業于一體的多功能體育館2,相信該系統對于新型體育館而言尤為重要。結合實際情況,對設計該系統的目標有了更明確的定位。第二章 系統開發環境及主要技術第一節 系統主要技術該系統整體使用了JAVA語言來實現,采用B/S架構,實現了瀏覽器、服務器和數據庫之間進行數據交互。前臺使用JSP構建頁面,SpringMVC來控制整個業務邏輯層,MyBatis作為數據持久層,與數據庫數據進行交互。同時,整個項目在MyEclipse開發工具中進行開發,開發過程中運用MAVEN來管理開發過程中所需要的JAR包,這樣大大減少了人工操作的步驟。一、MyEclipseMyEclipse是企業工作平臺(MyEclipse Enterprise)的簡稱,是Eclipse IDE的延伸版,我們可以用它來進行數據庫和Java Web項目的開發,MyEclipse在程序發布以及服務器的整合方面提高了工作效率。它屬于一個集成開發環境,功能豐富(包含編碼,調試,測試和發布所有功能),HTML,JSP ,JavaScript,CSS, Spring,Struts,Hibernate全面支持。MyEclipse的功能非常強大,能夠廣泛地支持Java、J2EE的各種插件。 MyEclipse還能夠支持EJB3,JDBC等數據庫連接工具。因此,MyEclipse可以說是一個幾乎包含了目前開源的、主流產品的開發工具。MyEclipse具有7類(J2EE模型、WEB開發工具、EJB開發工具、應用程序服務器的連接器、J2EE項目部署服務、數據庫服務、MyEclipse整合幫助)特征。對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任意一個模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發環境,支持代碼編寫、配置、測試以及除錯二、JSPJSP是html時代的擴展產物。它不僅融合了html語言的所有特征,還加入了Java面向對象的設計思想,使得在JSP頁面中能夠用來寫入Java語言。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。 在JSP頁面中可以使用JavaScript腳本語言,能夠與Access數據庫創立連接,并且能夠在Apache、Netscape和Microsoft IIS等這些服務器中使用。因此,JSP功能強大,是大多數動態網頁中所不可或缺的。目前,JSP具有如下優勢:一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼無需做任何更改。系統的多平臺支持。基本上可以在所有平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是顯而易見的。 強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。 多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下。三、SpringMVCSpringMVC就是在MVC設計模式中融入了Spring的注解功能。項目框架才用SpringMVC,不僅能夠將模型、視圖、控制器分離,還能用Spring對這三層進行管理。Spring從簡單性、松耦合和可測試性的角度而言,所有的Java應用程序都可以從Spring框架中受益3。由此可知,SpringMVC能夠大大縮短項目的開發周期,提高開發效率。Spring3.x中定義一個控制器類,必須以Controller注解標記。當控制器類接收到一個請求時,它會在自己內部尋找一個合適的處理方法來處理請求。使用RequestMapping注解將方法映射到一些請求上,以便讓該方法處理那些請求。這種方法就像一般的類中的方法,方法名參數列表和返回值并不像Struts2之類的框架有很強的限制。控制器在選擇好適合處理請求的方法時,傳入收到的請求(根據方法參數類型,可能以不同的類型傳入),并且調用該方法中的邏輯來進行處理(也可以是調用Service來真正處理)。方法邏輯可能也會在參數中添加或者刪除數據。處理方法處理完之后,會委派給一個視圖,由該視圖來處理方法的返回值。處理程序的返回值并不代表視圖的具體實現,可以只是String類型,代表視圖名,甚至是void(這時候Spring MVC可以根據方法名或者控制器名稱找默認視圖)。也不需要擔心返回值只是視圖名稱的話,視圖拿不到要顯示的數據。因為方法參數對于視圖來說也是可以拿到的。比如說,如果處理方法以Map為參數,那么這個Map對于視圖也是可以拿到的。四、MyBatisMyBatis由iBatis演變而來,是一個開源項目,最后遷移到GitHub。跟hibernate一樣,它是一個Java的持久層框架。在實際開發中,它根據XML的配置文件,將數據庫的數據按照映射規則,映射到Java對象中,以便程序員進行快速地訪問。它的應用程序主要的實現思路是:通過XML文件定義獲得SqlSessionFactoryBuilder實例,以此獲得SqlSessionFactory實例來實現功能。MyBatis的功能架構分為三層:API接口層:提供給外部使用的接口API,開發人員通過這些本地API來操縱數據庫。接口層接收到調用請求就會調用數據處理層來完成具體的數據處理。數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操作。基礎支撐層:負責基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供基礎的支撐。第二節 本章小結在這一章中,主要介紹了開發該系統所需的環境和技術,在MyEclipse開發工具中搭建好環境和項目框架,是整個系統進行正常開發的前提,并且能夠保證系統能夠在瀏覽器中流暢地運行。第三章 系統分析第一節 可行性分析一、經濟可行性1、成本方面此次畢業設計是軟件工程(本科)教學最后一個環節,因此在人力消耗是免費的。成本只需將系統開發者的生活消費以及開發期間的硬件消耗計算在內即可,所以該系統的開發成本是比較低的。2、效益方面本系統的使用人數可以控制幾個人以內,能夠大大降低人力資源的開銷。因此,此系統能夠給社會帶來較好的經濟效益。本系統的開發在經濟上,由以上兩點看出是可行的。二、技術可行性1、功能方面該系統一共分為預訂管理、業務管理、會員管理、用戶管理四個模塊,其中還包括了四大權限:超級管理員、管理員、業務員和會員。會員可以操作預訂管理(包含增加預訂、修改和刪除個人預訂)、會員管理中個人信息的修改。業務員可以操作預訂管理、業務管理、會員管理、用戶管理中個人信息的查詢和修改。管理員可以操作預訂管理、業務管理(包括場地管理)、會員管理、用戶管理(包含業務員、客戶信息的增刪改查,自己信息查詢和修改)。超級管理員在管理員的基礎上,還能夠對管理員信息進行添加和刪除。2、技術要求方面該系統在技術上要求使用JAVA語言進行整個B/S模式的開發,此種語言能夠使用面向對象的方法,將該系統的各個模塊的各個功能表現得非常具體。結合以上兩點來看,此系統在技術上是可行的。三、操作可行性此系統給用戶提供的界面簡潔美觀,在操作上,用戶能夠非常方便地進行相關的操作。例如:業務員登錄該系統后增加場地預訂信息,并對所有預訂信息進行瀏覽;管理員登錄系統后可以對業務管信息的瀏覽和修改。因此,操作本系統是比較簡單的。四、法律可行性開發此系統所用的技術和開發工具不會觸犯相關的法律,不對任何公司、集體和個人造成財產或信息的侵權。因此,該系統在法律上是可行的。第二節 需求分析一、系統概述公共體育館管理系統是一個面向社會的體育館管理系統,主要面向的目標人群是業務員和客戶。不僅能讓用戶高效、快捷地對系統進行管理;還能滿足客戶隨時進行預約、體育鍛煉的需求。該系統能夠實現場地的預約、開單、結賬以及用戶管理的各種功能,操作簡單、界面簡潔大方,按照目前所實現的功能來看,此系統能夠適用各大體育館。二、系統目標公共體育館管理系統能夠達到以下目標: 界面美觀、簡潔、大方。 使用該系統的用戶能夠立即上手。 要利于維護,在維護過程中所需的開銷不大。三、功能需求采用UML用例圖方法進行系統需求分析。該系統重在對公共體育館進行管理,故分為以下幾個模塊來對功能需求進行描述。 該系統主要的角色分為:超級管理員、管理員、業務員、會員和臨時客戶,不同的角色具有不同的功能。公共體育館管理系統需要完成的功能模塊大致如下:預訂管理:業務員針對會員的場地預訂進行管理。業務管理:包括場地的開單、客戶信息查詢、賬單查詢以及場地的增刪改查。會員管理:會員信息的增刪改查。用戶管理:管理員、業務員以及客戶信息的增刪改查。下面將介紹系統的用戶能夠使用的各個功能:1、超級管理員超級管理員能夠操作會員管理、用戶管理(包含管理員、業務員、用戶信息的增刪改查,個人信息的修改)。下圖清楚地描述了超級管理員所操作的功能模塊,如圖3.2所示。圖3.2 超級管理員用例圖2、管理員管理員可以操作預訂管理、業務管理中的場地管理、會員管理、用戶管理(包含業務員、用戶信息的增刪改查,個人信息修改和查詢),如圖3.3所示。圖3.3管理員用例圖3、業務員業務員可以操作預訂管理、業務管理、會員管理、業務員信息查詢和修改、客戶信息的增刪改查,如圖3.4所示。圖3.4 業務員用例圖4、會員會員可以操作預訂管理中預訂信息的增刪改查、會員管理中會員信息的增刪改查,如圖3.5所示。圖3.5 會員用例圖四、非功能需求為確保本系統能夠長期安全、穩定地運行,還需滿足如下方面的需求:1、易用性易用性包括易理解性、易學習性和易操作性。這些特性與界面有著很大的關系,因此,操作界面友好、簡單是實現易用性的關鍵。2、可維護性該系統屬于不太成熟的系統,往往中后期會出現種種狀況,從而對系統進行維護,在此過程中要求系統的維護性處于較強的水平。3、可擴充性隨著用戶需求不斷增多,該系統需要針對不同的需求進行功能擴充,甚至會讓整個系統功能改變。該系統的可擴充性較強,才能在短時間內使功能或性能得到提升。4、適應性要求該系統能夠適應不同運行條件(如軟件環境、硬件環境)、技術條件和系統條件的改變。第三節 本章小結在這一章中,主要介紹了開發該系統的可行性分析和需求分析。可行性分析和需求分析是系統能夠進行開發的前提條件,雖然有的方面并未涉及到用戶的需求,但是在開發過程中至關重要。而非功能需求會在此系統的運用過程中逐步體現出來,它時刻影響著系統的運行狀況和應對變更的能力。第四章 概要設計上一章進行了系統的分析,這一章是對系統進行概要設計。概要設計就是對系統在需求分析階段中所提出的一系列問題進行一個概要性地解答,它的主要目的是確定系統的框架是什么。第一節 系統結構設計一、系統整體結構為確定社會公共體育館管理系統的層次關系,按照系統各功能相對獨立、安全的原則,將該系統的總體功能進行劃分,讓體育館管理核心功能在每個子功能中得以體現。通過系統結構圖來體現該系統的總體結構,如圖4.1所示。圖4.1 社會公共體育館管理系統總體結構圖1、預訂管理圖4.2 預訂管理結構圖2、業務管理圖4.3 業務管理結構圖3、會員管理圖4.4 會員管理結構圖4、用戶管理圖4.5 用戶管理結構圖第二節 數據庫設計一、數據庫設計思想一個合理的數據庫設計能夠讓系統準確表達數據間的關系,提高查詢效率。如果數據庫設計不合理,會導致系統性能低下、喪失數據完整性、失去可擴展性等后果。從數據關系模型映射出來的數據庫表是建立在用戶應用域的基礎上的數據庫表。從實際上來說,同一個數據關系模型可以映射出不同的數據庫表的多種組合4。此系統對數據庫的依賴性非常高,故在數據庫設計方面要保證數據的準確和一致。下面將介紹本系統所涉及的各個實體和E-R圖,并通過E-R圖來設計數據庫表。二、數據庫概念模型設計數據庫中存在六大實體,分別是:超級管理員、管理員、業務員、臨時客戶、會員和場地。1、實體(1)超級管理員超級管理員:超級管理員id(自增)、用戶名、密碼、姓名,如圖4.6所示。圖4.6 超級管理員實體(2)管理員管理員:管理員id(自增)、用戶名、密碼、姓名,如圖4.7所示。圖4.7 管理員實體(3)業務員管理員:業務員id(自增)、用戶名、密碼、姓名,如圖4.8所示。圖4.8 業務員實體(4)會員會員:會員id(自增)、姓名、性別、電話、生日、余額,如圖4.9所示。圖4.9 會員實體(5)場地場地:場地id、場地名稱、場地狀態,如圖4.10所示。圖4.10 場地實體(6)臨時客戶臨時客戶:臨時客戶id(自增)、姓名、性別、電話,如圖4.11所示。圖4.11 臨時客戶實體2、E-R圖E-R圖也稱實體關系圖,主要用來描述實體間的關系,以及通過關系所產生的表屬性。除其他聯系外,會員與場地、臨時客戶與場地之間產生了如下屬性: 會員占用場地生成會員賬單:(會員賬單編號、會員編號、場地編號、消費金額、進場時間、出場時間) 臨時客戶占用場地生成臨時客戶賬單:(臨時客戶賬單編號、進場時間、出場時間、消費金額、場地編號、臨時客戶編號) 會員預訂場地產生訂單:(訂單編號、預訂時間、進場時間、出場時間、消費金額、場地編號、會員編號、訂單狀態)系統E-R圖如圖4.12所示。圖4.12 系統E-R圖三、數據庫表設計為了使數據庫的設計更加合理,在設計數據庫的過程中,應該使用一些數據庫的設計規范作為設計數據庫時的約束來減少不合理設計所造成的影響5。在數據庫實際應用中,為了既能使數據冗余與數據更新異常現象有所減少,又能使數據查詢性能不會顯著下降,大多選用第三范式作為設計優化依據6。本系統采用的數據庫是MYSQL,通過上述E-R圖來設計數據庫表,E-R圖轉換為數據庫表的過程如下:超級管理員、管理員和業務員用戶表會員會員表臨時客戶臨時客戶表場地場地表會員預訂場地場地預訂表會員占用場地會員賬單表臨時客戶占用場地賬單表下面將列出這些表的表結構。1、用戶表(user) 如表4.1所示。表4.1用戶表序號列名類型長度鍵說明1user_id整型11主鍵用戶id2name字符型255姓名4power整型11用戶類型5username字符型255用戶名6password字符型255密碼2、會員表(customer) 如表4.2所示。表4.2 會員表序號列名類型長度鍵說明1customer_id整型11主鍵會員id(自增)2stored_value字符型255余額3name字符型255姓名4birthday日期類型生日5sex整型11性別6tele_number字符型255電話3、臨時客戶表(temporary)如表4.3所示。表4.3 臨時客戶表序號列名類型長度鍵說明1temporary_id整型11主鍵臨時客戶id(自增)2name字符型255姓名3sex整型11性別4tele_number字符型255電話4、場地表(space) 如表4.4所示。表4.4 場地表序號列名類型長度鍵說明1space_id整型11主鍵場地id2status整型11場地狀態3name字符型255場地名稱5、會員預訂表(book) 如表4.5所示。表4.5 會員預訂表序號列名類型長度鍵說明1book_id整型11主鍵預定id(自增)2booking_time日期類型預定時間3start_time日期類型進場時間4end_time日期類型出場時間5deposit浮點型押金6note字符類型255備注7customer_id整型11會員id8space_id整型11場地id9order_object整型11訂單狀態6、會員賬單表(bill) 如表4.6所示。表4.6 會員賬單表序號列名類型長度鍵說明1bill_id整型11主鍵賬單id(自增)2real_cost整型11消費金額3start_time日期類型進場時間4end_time日期類型出場時間5book_id整型11預定id7、臨時客戶賬單表(temp_bill) 如表4.7所示。表4.7 臨時客戶賬單表序號列名類型長度鍵說明1temp_bill_id整型11主鍵臨時客戶賬單id2real_cost整型11消費金額3start_time日期類型進場時間4end_time日期類型出場時間5temporary_id整型11臨時客戶id第三節 本章小結在這一章中用組織結構圖來描述了社會公共體育館管理系統的總體結構以及每個子功能模塊的具體劃分。數據庫設計中,用E-R圖將每個實體間的聯系體現出來。只有做好了數據庫設計的規范化工作,企業信息收集工作的智能化、高效化才能夠得以彰顯,企業信息收集工作與企業信息化建設才能夠充分地滿足企業的要求、市場的要求7。在此期間也存在不足之處,如在場地管理中不能只對場地進行管理,還需對場地內的設施進行管理,由于時間原因,此功能暫未實現。第五章 詳細設計及實現這一階段的目標是通過概要設計中得出的系統大致框架進行詳細的內部設計詳細設計根據控制規格 說明、狀態轉換圖和加工規格說明,將軟件體系結構的 組成部分,轉換成為軟件組成部分的過程性描述8。下面將主要運用類圖和順序圖對本系統實現的關鍵模塊進行闡述。類圖主要用來描述系統中各種類以及類之間關系的靜態結構。類是指一些具有相同屬性和操作的對象的集合9。順序圖用于描述對象間動態的交互關系具有良好的軟件對象交互的表達性,它著重體現對象間消息傳遞的時間順序10。順序圖采用兩維坐標:垂直軸表 示時間,水平軸表示不同的對象11。第一節 預約管理模塊一、預約管理類圖圖5.1 預約管理類圖圖5.1是系統預約管理類圖,預訂管理類(BookController.java)與圖中場地管理接口實現類(SpaceServiceImpl.java)、預訂管理接口實現類(BookServiceImpl.java)存在關聯關系,預訂管理接口實現類(BookServiceImpl.java)和場地接口(SpaceMapper.java)存在繼承關系。該類具有以下屬性和方法:屬性UserService userService用于調用用戶管理類中的用戶類型查詢方法。CustomerService: customerService用于調用會員管理類方法中的根據id查詢會員方法SpaceService spaceService用于調用場地管理類當中的根據id查詢場地信息方法BookService bookService用于調用預訂管理類當中的根據id查詢訂單信息方法函數 addOrderRedirect():場地開單頁面跳轉 addOrder():場地開單功能 selectAllOrders():查詢所有訂單 changeOrderRedirect():修改訂單頁面跳轉 selectOrderById():根據id查詢訂單 changeOrderInfo():修改訂單 selectSpaceByEqualId():根據id查詢相同的場地 isConflictTime():判斷相同場地時間是否沖突二、子模塊圖詳細設計及實現預約管理類中包含有新增預訂、修改預訂(包含查詢預訂)和刪除預訂。下面將針對修改預訂進行詳細設計說明。1、修改預訂順序圖業務員通過單擊主界面的預訂管理模塊,再選擇修改預訂,后臺會請求數據庫查詢所有訂單信息,返回數據供界面展示。業務員選擇其中一條數據進行修改,輸入修改信息,后臺輸入訂單修改數據,數據庫進行更新,返回成功結果,界面展示修改成功。如圖5.2所示。圖5.2修改預訂順序圖關鍵代碼 /取出其他所有的進場出場時間for(Book oneOrder : allOrders)long timePart = new long2;timePart0 = oneOrder.getStartTime().getTime();timePart1 = oneOrder.getEndTime().getTime();allTime.add(timePart);/進行比較該訂單的出場和進場時間是否與其他的沖突;if(isConflictTime(newTime,allTime)/若沖突:則返回falsereturn changeOrderFailure;else/不沖突Space newSpace= new Space();newSpace.setId(book.getSpaceId();spaceService.updateSpace(newSpace);/更新該訂單信息bookService.updateOneBook(book);/進行比較該訂單的出場和進場時間是否與其他的沖突;if(isConflictTime(newTime,allTime)/若沖突:則返回falsereturn changeOrderFailure;else/ 不沖突:Space newSpace = new Space();newSpace.setId(book.getSpaceId();spaceService.updateSpace(newSpace);/ 更新該訂單信息bookService.updateOneBook(book);說明:代碼匯總的isConflictTime()函數主要功能是為了驗證新訂單中的進場時間和出場時間與數據庫中相同場地訂單中的進場、出場時間是否沖突。若沖突,返回false;反之;返回true。界面業務員可以選擇列表中某一行來選中某個訂單,修改預訂的界面如圖5.3所示。圖5.3 修改預訂界面第二節 收銀結賬模塊一、收銀結賬類圖圖5.4 收銀結賬類圖收銀結賬類(BillController.java)與圖中收銀結賬接口實現類(BillServiceImpl.java)存在關聯關系,銀結賬接口實現類(BillServiceImpl.java)和賬單接口(BillMapper.java)存在繼承關系)以下屬性和方法屬性BillService billService用于查詢賬單接口實現類中添加賬單和結賬方法CustomerService customerService用于調用會員管理類方法中的根據id查詢會員方法SpaceService spaceService用于調用場地管理類當中的根據id查詢場地信息方法BookService bookService用于調用預訂管理類當中的根據id查詢訂單信息方法函數makeBill():會員賬單結賬selectAllBillsData:查詢所有會員賬單信息(通過object返回)selectAllBills:查詢所有會員賬單信息(返回String,跳轉到下一個頁面)addBill():新增會員賬單二、子模塊圖詳細設計及實現收銀結賬類中包含有已預約會員結賬、未預約會員結賬和臨時賓客結賬。下面將針對查詢所有會員賬單信息進行詳細設計說明。1、已預約會員開單順序圖業務員通過單擊主界面的業務管理模塊,在場地開單中再選擇已預約會員開單,后臺會請求數據庫查詢所有訂單信息,后臺取出接受到訂單信息中的訂單編號,通過集合類將數據包裝并返回,供界面展示。業務員填入賬單信息后,點擊提交賬單到后臺,后臺調數據庫進行數據更新,返回成功信息,前臺展示成功頁面,如圖5.5所示。圖5.5 已預約會員開單順序圖關鍵代碼/ 提交會員賬單RequestMapping(/addBill)public String addBill(Bill bill, Model model) /根據id查詢場地是否被占用int newBookId = bill.getBookId();Book book = bookService.selectOrderById(newBookId);int spaceStaus = spaceService.selectSpaceById(book.getSpaceId().getStatus();Space updateSpace = new Space();Date spaceEndtime = book.getEndTime();if(spaceStaus = 1)/查詢被占用的場地是否由于時間沖突不能用if(!spaceService.selectSpaceWheatherCanUse(book.getSpaceId(),book.getStartTime()return addBillFailure;if(spaceStaus = 0)updateSpace.setStatus(byte) 1);updateSpace.setEndtime(spaceEndtime);updateSpace.setId(book.getSpaceId();spaceService.updateSpace(updateSpace);billService.InsertOne(bill);return addBillSuccess;上面代碼是提交會員賬單的代碼,主要的處理流程是將前臺摻入的賬單信息進行判斷,與相同場地的其他賬單在時間上是否沖突。若沖突,則返回false;若不沖突,進行新增賬單操作,并返true。selectSpaceWheatherCanUse()函數主要作用是判斷場地是否由于時間沖突不能用。成功,返回true;失敗,返回false。界面已預約會員開單只需要綁定訂單后,輸入預計花費就可以開賬單,已預約會員開單界面如圖5.6所示。圖5.6 已預約會員開單界面2、查詢會員賬單順序圖圖5.7 查詢會員賬單順序圖如圖5.7所示,業務員通過單擊主界面的業務管理模塊,在收銀結賬中再選擇已預約會員結賬,后臺會請求數據庫查詢所有已預約會員賬單信息,返回后臺,后臺通過集合類將數據包裝并返回,供界面展示。關鍵代碼/所有已預約會員的賬單信息,數據讀取,返回List,給前臺表格填數據ResponseBodyRequestMapping(/selectAllBillsData)public Object selectAllBillsData(Model model)List allBills = billService.selectAllBills();if(allBills = null)return getAllBillsFailure;SimpleDateFormat df = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);/用List、Map集合類對賬單信息進行包裝ListMap bills = new ArrayListMap();int indexId = 1;for(Bill bill:allBills) Map map = new HashMap(); map.put(indexId, indexId); map.put(id, bill.getId(); map.put(endTime, df.format(bill.getEndTime(); map.put(hopeCost, bill.getRealCost(); map.put(bookId, bill.getBookId(); int object = bill.getObject(); String objectName = ; if(object = 0)objectName = 未結算;els

溫馨提示

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

最新文檔

評論

0/150

提交評論