版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計說明書(論文)</p><p> 作 者: 學 號: </p><p> 學 院: 信息工程學院 </p><p> 專 業(yè): </p><p> 題
2、 目: 網上訂餐管理系統(tǒng) </p><p> 指導者: 講師 </p><p> 評閱者: </p><p> 2013 年 6 月 </p><
3、p> 畢業(yè)設計說明書(論文)中文摘要</p><p> 畢業(yè)設計說明書(論文)外文摘要</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p> 第1章 緒
4、 論1</p><p> 1.1 課題研究的背景1</p><p> 1.2 課題研究的意義1</p><p> 1.3 課題研究的目的2</p><p> 1.4 主要研究內容2</p><p> 1.5 論文結構2</p><p> 第2章 系統(tǒng)的開發(fā)環(huán)境及技術
5、簡介3</p><p> 2.1 系統(tǒng)開發(fā)環(huán)境3</p><p> 2.1.1 MyEclipse3</p><p> 2.1.2 MySQL數(shù)據庫3</p><p> 2.1.3 Tomcat4</p><p> 2.2 系統(tǒng)開發(fā)的思想與技術4</p><p> 2.2
6、.1 JSP技術與MVC模式以及系統(tǒng)的基本框架4</p><p> 2.2.2 S.S.H框架的優(yōu)點4</p><p> 第3章 系統(tǒng)需求分析7</p><p> 3.1 可行性分析7</p><p> 3.1.1 經濟可行性分析7</p><p> 3.1.2 技術能力分析8</p>
7、<p> 3.1.3 運行可行性分析8</p><p> 3.1.4 法律可行性分析8</p><p> 3.2 用戶需求分析8</p><p> 3.2.1 功能分析8</p><p> 3.2.2 用例分析9</p><p> 3.3 系統(tǒng)設計目標分析11</p>
8、<p> 3.4 業(yè)務流程分析11</p><p> 3.4.1 管理員業(yè)務流程11</p><p> 3.4.2 會員業(yè)務流程11</p><p> 3.5 數(shù)據流圖11</p><p> 第4章 系統(tǒng)總體設計14</p><p> 4.1 系統(tǒng)流程概述14</p>
9、<p> 4.2 總體功能模塊14</p><p> 4.3 管理員功能模塊15</p><p> 4.4 用戶功能模塊15</p><p> 第5章 系統(tǒng)詳細設計與系統(tǒng)功能實現(xiàn)16</p><p> 5.1 系統(tǒng)和數(shù)據庫設計16</p><p> 5.2 概念模型設計16</p
10、><p> 5.3 數(shù)據庫邏輯模型17</p><p> 5.4 數(shù)據庫表設計17</p><p> 5.5 平臺數(shù)據表的實現(xiàn)19</p><p> 5.6 系統(tǒng)功能實現(xiàn)的主要框架22</p><p> 5.6.1 SSH框架22</p><p> 5.6.2 Hibernat
11、e配置文件22</p><p> 5.6.3 Struts配置文件23</p><p> 5.6.4 Spring配置文件24</p><p> 5.7 系統(tǒng)功能實現(xiàn)的主要模塊25</p><p> 5.7.1 網站主頁面25</p><p> 5.7.2 管理員登陸頁面27</p>
12、<p> 5.7.3 菜單分類管理主頁面27</p><p> 5.7.4 菜單管理主頁面29</p><p> 5.7.5 訂單管理主頁面30</p><p> 5.7.6 購物車主頁面33</p><p> 第6章 系統(tǒng)的調試與測試35</p><p> 6.1 軟件測試的目的3
13、5</p><p> 6.2 軟件測試的方法35</p><p> 6.3 主模塊測試36</p><p> 6.3.1 登錄/注冊模塊36</p><p> 6.3.2 訂餐服務模塊36</p><p> 6.3.3 訂單處理模塊37</p><p> 6.3.4 菜單管
14、理模塊37</p><p> 6.3.5 測試總結37</p><p> 6.4 測試環(huán)境38</p><p> 6.5 測試環(huán)境的配置38</p><p> 6.5.1 創(chuàng)建安裝項目38</p><p> 6.5.2 添加項目輸出38</p><p> 6.5.3 運行
15、項目38</p><p> 6.6 系統(tǒng)維護38</p><p><b> 結 論39</b></p><p><b> 參考文獻40</b></p><p><b> 致 謝41</b></p><p> 第1章 緒
16、 論</p><p> 1.1 課題研究的背景</p><p> 貿易的全球化合internet網絡的全球化特征使兩者自然的走到了一起,形成了如今風靡全球的電子商務。電子商務是指應用電子信息技術和現(xiàn)代Internet網絡技術在客戶,廠商及其他交易主體之間進行的以信息為依托的商務活動,而購物網站正是這種活動的具體表現(xiàn)形式。隨著時代的進步,上網的人數(shù)越來越多,網上訂餐是人們的一大生活方式
17、之一,網上訂餐系統(tǒng)的完善合便捷將是現(xiàn)代社會必然的需求。 本系統(tǒng)的設計目的是為了滿足消費者只要通過互聯(lián)網就可以足不出戶的訂購自己喜歡的菜品。改變傳統(tǒng)商業(yè)交易,在互聯(lián)網上進行交易,實現(xiàn)網上購買菜品。 </p><p> 1.2 課題研究的意義</p><p> 在我國,網上訂餐最早出現(xiàn)在20世紀90年代末期,98年廣州等大城市己出現(xiàn)網上訂餐業(yè)務。2000年7月,北京麗華快餐公司為了探索餐飲
18、業(yè)網絡經營的道路,尋求新的經濟增長點,也推出了網上訂餐,成為探索網上訂餐的先驅。 目前網上訂餐已逐漸普及,特別是在快餐業(yè)發(fā)達的東部地區(qū)。但目前網上訂餐在我國并未成氣候,很多大的餐飲公司網上訂餐業(yè)務經營慘淡,很多網站每天只有幾十份,經營較好的也只有幾百份。如果單純依靠網上訂餐,公司根本無法生存。相反,一些小的個體飲食店老板巧妙地利用QQ、MSN等即時通信軟件作為網上訂餐工具,卻取得了相當不錯的效益。他們隨著網上訂餐業(yè)務的擴大,建立了自己的
19、訂餐網站,但最初單純的網上訂餐卻發(fā)展成了網上送花,網上送票等的網上送貨網站或者綜合類的飲食網站,已經偏離了網上訂餐的初衷。 在美國,食品網是目前美國網上訂餐行業(yè)中的先驅。設在三藩市的食品網,在99年已服務于全美一萬三千間餐館,有七十萬的網上消費者。任何消費者只要輕松上網,輸入郵區(qū)號碼,就可以了解到在周圍有哪些餐館提供網上送餐服務,并可以瀏覽到這些餐館的菜單,做出預訂。僅在二分鐘內,預訂者就可以通過電子郵件得到確定。再過一會,就</
20、p><p> 1.3 課題研究的目的</p><p> 近幾年類似于淘寶網這種大型的網上購物網站的飛速發(fā)展,網上購物已成為一種時尚。為了方便在校那些學習工作緊張的學生、老師飲食方便,提供新的一種便捷快速的訂餐方式。本系統(tǒng)的設計目的是為了滿足消費者只要通過互聯(lián)網就可以足不出戶的訂購自己喜歡的菜品,改變傳統(tǒng)商業(yè)交易,在互聯(lián)網上進行交易,實現(xiàn)網上購買菜品。本論文主要涉及軟件,數(shù)據庫與網絡技術等。
21、涵蓋知識面廣,可有效地提高學生綜合運用所學知識分析解決問題的能力,增強學生對事物的理解與掌握能力,培養(yǎng)學生掌握科學的研究方法,正確的設計思想,獨立思考,勇于進取,探索創(chuàng)新,為今后進一步學習與工作奠定了良好的基礎。</p><p> 1.4 主要研究內容</p><p> 本文主要研究網上訂餐系統(tǒng)的設計與實現(xiàn),在整個過程中主要完成以下工作: </p><p>
22、1. 分析網上訂餐系統(tǒng)的現(xiàn)狀和發(fā)展趨勢,探討、選擇系統(tǒng)開發(fā)技術和開發(fā)平臺。</p><p> 2. 研究系統(tǒng)開發(fā)所涉及的相關技術和理論,采用軟件工程的指導思想,分析系統(tǒng)的功能需求、性能需求和安全需求,進行系統(tǒng)的總體設計。</p><p> 3. 根據需求分析與總體設計,實現(xiàn)基于Java的網上訂餐系統(tǒng),應用Java Swing技術解決開發(fā)過程中所面臨的各種技術問題。</p>
23、<p> 4. 對系統(tǒng)進行部署與測試,根據測試結果,繼續(xù)完善系統(tǒng)。</p><p><b> 1.5 論文結構</b></p><p> 論文共分為六章,各章主要內容如下:</p><p> 第一章:緒論。提出項目背景、項目意義、項目目的,介紹本文的主要工作和組織結構。</p><p> 第二章:系
24、統(tǒng)的開發(fā)環(huán)境及技術簡介。主要介紹了本系統(tǒng)使用的編程語言是Java,服務器軟件為Tomcat,系統(tǒng)開發(fā)工具為MyEclipse,動態(tài)網頁技術JSP,數(shù)據庫軟件MySQL。</p><p> 第三章:系統(tǒng)需求分析。對將要實施的項目進行可行性分析,確定項目是否值得進行。</p><p> 第四章:系統(tǒng)總體設計。將系統(tǒng)的各個模塊進行系統(tǒng)的概要設計。</p><p>
25、第五章:系統(tǒng)詳細設計與功能實現(xiàn)。系統(tǒng)前臺、后臺的主要頁面的設計與實現(xiàn)。</p><p> 第六章:系統(tǒng)的調試與測試。主要介紹了系統(tǒng)的運行和測試。</p><p> 第2章 系統(tǒng)的開發(fā)環(huán)境及技術簡介</p><p> 2.1 系統(tǒng)開發(fā)環(huán)境</p><p> 在摘要中已經提到,本系統(tǒng)使用的編程語言是Java,服務器軟件為Tomcat,系統(tǒng)
26、開發(fā)工具為MyEclipse,動態(tài)網頁技術JSP,數(shù)據庫軟件MySQL,下面分別給予簡單介紹。</p><p> 2.1.1 MyEclipse</p><p> 在開發(fā)本平臺中所用到的開發(fā)工具就是知名的java項目開發(fā)工具MyEclipse。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse I
27、DE的一種擴展,利用MyEclipse,我們可以在數(shù)據庫和J2EE的開發(fā)、發(fā)布,以及在應用程序服務器的整合當中極大地提高系統(tǒng)的工作效率。MyEclipse是一個功能非常豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate。</p><p> 在結構上,MyEclipse的特征可以被分為7類
28、: J2EE模型,WEB開發(fā)工具,EJB開發(fā)工具,應用程序服務器的連接器,J2EE項目部署服務,數(shù)據庫服務,MyEclipse整合幫助。</p><p> 對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。</p><p> 簡單而言,
29、MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。</p><p> 2.1.2 MySQL數(shù)據庫</p><p> 數(shù)據庫使用的是MySQL開源數(shù)據庫。MySQL是一個出色的開源數(shù)據庫,在易用性和性能方面都有相當不錯的表現(xiàn)。</p><p> MySQL的特性:使用C和C++編寫,并使用了多種
30、編譯器進行測試,保證源代碼的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 。為多種編程語言提供API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多線程充分利用CPU資源。優(yōu)化的SQL查詢算法,有效地提高查詢速度。既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環(huán)境中,也
31、能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據表名和數(shù)據列名。提供TCP/IP、ODBC和JDBC等多種數(shù)據庫連接途徑。提供用于管理、檢查、優(yōu)化數(shù)據庫操作的管理工具??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據庫。</p><p> MySQL的應用:與其他的大型數(shù)據庫例如Oracle、DB2、SQL Server等相比,MySQL自有
32、它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體成本。</p><p> 2.1.3 Tomcat</p><p> Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,
33、擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 </p><p> Tomcat 是一個輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上T
34、omcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。 </p><p> 這里的訣竅是,當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容
35、器,獨立的Servlet容器是Tomcat的默認模式。</p><p> 2.2 系統(tǒng)開發(fā)的思想與技術</p><p> 2.2.1 JSP技術與MVC模式以及系統(tǒng)的基本框架</p><p> 本系統(tǒng)采用JSP技術,基于MVC模式開發(fā),使用SSH框架(struts2、spring、hibernate)來增加系統(tǒng)的開發(fā)速度。所謂的MVC模式是"Mode
36、l-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。程序就是用struts2和hibernate這兩個框架來實現(xiàn)模型層和控制器這兩層,JSP實現(xiàn)視圖這一層。一般來說程序就是在數(shù)據庫和頁面之間起橋梁作用的,JSP頁面請求先到action,再到dao,再回到action,回到JSP頁面,action主要處理來自頁面的請求,dao主要是和數(shù)據庫的交互,struts2主要用在action,
37、處理來自頁面的請求,處理完請求后跳轉回頁面。Hibernate主要用在dao,包括對數(shù)據庫的增、刪、改、查的操作,spring控制程序的流程。</p><p> 2.2.2 S.S.H框架的優(yōu)點</p><p> S.S.H框架是J2EE應用中struts2+spring+hibernate三大免費開源框架的結合使用, 它可以看成工具,也是中間件。他是用來提高我們的開發(fā)效率,提高我們軟
38、件產品的可維護性、可擴展性乃至敏捷性的。他們里面有很多優(yōu)秀的設計理念及模式應用。比如,struts屬于MVC框架,關鍵是要了解MVC的概念及大致原理;而hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對ORM的概念及原理有一個總體的了解。而spring屬于應用程序框架,其核心是IOC容器以及AOP,Spring中還集成了很多適用東西,比如對JDBC的封裝、自己的MVC、對動態(tài)語言的簡潔訪問等。它由以下3個框架構成:<
39、;/p><p> 1.Struts2框架</p><p> Struts2是Apache組織的一個開放源碼項目。Struts2是一個比較好的MVC框架,提供了對開發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術是Servlet,JSP和Custom tag library。其基本構成如圖2-1所示:</p><p> 圖2-1 Struts框架工作流程</p>
40、<p> 2.Spring框架</p><p> Spring框架由以下7個部分組成,如圖2-2所示:</p><p> 圖2-2 Spring框架構成</p><p> Spring 的核心是個輕量級(Lightweight)的容器(Container),它是實現(xiàn)IoC(Inversion of Control)容器、非侵入性(No intr
41、usive)的框架,并提供AOP(Aspect-oriented programming)概念的實現(xiàn)方式,提供對持久層(Persistence)、事務(Transaction)的支持,提供MVC Web 框架的實現(xiàn),并對一些常用的企業(yè)服務API(Application Interface)提供一致的模型封裝,是一個全方位的應用程序框架(Application framework),除此之外,對于現(xiàn)存的各種框架(Struts、JSF、Hi
42、bernate 等),Spring 也提供了與它們相整合的方案。 </p><p> 3.Hibernate框架</p><p> Hibernate 是一個開放源碼的 ORM 持久層框架。作為優(yōu)秀的持久層框架實現(xiàn),Hibernate 框架提供了強大、高性能的對象到關系型數(shù)據庫的持久化服務,開發(fā)人員可以使用面向對象的設計進行持久層開發(fā)。簡單的說,Hibernate 只是一個將持久化類與
43、數(shù)據庫表相映射的工具,每個持久化類實例均對應于數(shù)據庫表中的一個數(shù)據行而已。用戶只需直接使用面向對象的方法操作此持久化類實例,即可完成對數(shù)據庫表數(shù)據的插入、刪除、修改、讀取等操作。如圖2-3所示:</p><p> 圖2-3 Hibernate框架
44、 </p><p> 第3章 系統(tǒng)需求分析</p><p><b> 3.1 可行性分析</b></p><p> 在實施一個項目之前,首先要對將要實施的項目進行可行性分析,確定項目是否值得進行。并不是所有的問題都有簡單明顯的解決辦法,事實上,許多問題
45、不可能在預定的系統(tǒng)規(guī)模之內解決。如果問題沒有可行解的話,那么花費在這項工程上的任何時間、資源、人力和經費都是浪費的。</p><p> 隨著經濟的快速發(fā)展,B2C電子商務越來越受到人們的關注。訂餐類網站,已如雨后春筍般的出現(xiàn)在了個大城市。特別是在公司,企業(yè)內部,團體訂餐已經成為趨勢。同時,隨著全國人民的物質、精神和文化生活的高度提高,人們已經不再僅僅停留在吃飽的程度,而是不但要吃飽,還要吃好,并且越來越挑刺,正
46、因為如此網上訂餐業(yè)務的出現(xiàn),正迎合了這些人的口味,他們不但省去了自己做飯的麻煩,而且也能尋找和發(fā)現(xiàn)新的菜種,品嘗不同風格和不同種類的菜品,網上訂餐業(yè)務在中國有著極大的發(fā)展空間和良好的發(fā)展前景。當代大學生與白領工作人士作為社會中的重要群體,他們對飲食的要求都在不斷提高,飲食在他們生活中起著重要作用。因此,面向大學生與都市白領人士的網上訂餐系統(tǒng)的設計有著良好的現(xiàn)實意義。</p><p> 下面分別從技術可行性、經濟
47、可行性、操作可行性等方面進行分析和研究。</p><p> 3.1.1 經濟可行性分析</p><p> 新系統(tǒng)的經濟可行性分析的含義是,估計新系統(tǒng)開發(fā)和運行所需的費用,以及新系統(tǒng)的效益,將投資和效益進行比較,說明在經濟上是合算的。</p><p> 本系統(tǒng)投資低,只需配置一臺稍好的電腦及相關的應用軟件,此外本系統(tǒng)能夠提高數(shù)據處理的及時性和準確性;降低了管理人
48、員的勞動強度,提高了勞動效率;使用信息更加方便,從而使決策更及時、準確;取得了其他經濟和社會效益。</p><p> 本環(huán)節(jié)通過分析新系統(tǒng)的成本效益,其中包括估計項目開發(fā)的成本,開發(fā)費用和今后的運行、維護費用以及新系統(tǒng)將獲得的效益,估算開發(fā)成本是否高于項目預期的全部經費。下面具體列出了成本和效益的分析:</p><p><b> 1.支出 </b></p&g
49、t;<p> 現(xiàn)在電腦的應用已經得到了普及是基礎的信息化設施,目前使用計算機進行軟件開發(fā),網絡環(huán)境和基礎設施能滿足本系統(tǒng)的實施要求,所以無須另外的資金投入。</p><p> 其它一次性支出如下: </p><p> 由于本系統(tǒng)的開發(fā)是作為課程實踐來進行的,無須資金投入,而且本系統(tǒng)所用到的軟件成本投入也不高。因此軟件設計和開發(fā)費可以承受。</p><
50、p><b> 經常性支出如下: </b></p><p> 系統(tǒng)運行后的日常維護費用少。僅需簡單的管理中心,該中心的工作人員可以負責本系統(tǒng)的維護工作。</p><p><b> 2.效益</b></p><p> 本系統(tǒng)的效益可以從經濟效益和社會效益兩方面考慮。其社會效益包括系統(tǒng)運行后可以使管理實現(xiàn)科學化、規(guī)
51、范化,增強用戶對知識信息的管理能力,從而提高工作效率,從長遠來看,也是信息化的必經之路。</p><p> 由此可見系統(tǒng)的建設還是非常有發(fā)展前景的。</p><p> 3.1.2 技術能力分析</p><p> 根據本系統(tǒng)的功能需求,采用Java與開源的MySQL數(shù)據庫引擎進行開發(fā)。Java是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在
52、Web應用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數(shù)據接口的處理都能無縫的整合到Java的web應用中。Java同時也是語言獨立化(language-independent)的,所以,可以選擇一種最適合自己的語言來編寫程序,或者用很多種語言來編寫程序,現(xiàn)在已經支持的有C#(C++和Java的結合體),Java,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向Ja
53、va。因此在技術層面上,是完全可行的。</p><p> 3.1.3 運行可行性分析</p><p> 本系統(tǒng)的客戶端采用的是圖形界面方式,由于業(yè)務人員日常所使用的操作系統(tǒng)都是Windows系統(tǒng),所以經過簡單的培訓就可以勝任新系統(tǒng)的操作工作。新系統(tǒng)的目標就是幫助用戶實現(xiàn)資料的管理,并且新系統(tǒng)的運行不會對組織機構和管理方式產生大的影響,所以不會受到任何阻礙。</p><
54、;p> 系統(tǒng)的設計上需要注重安全性和用戶操作的流暢性。因此要在對用戶的管理和資格審核環(huán)節(jié)做出限定,只有經過審核確認的用戶才有權使用,而且需要對管理員進行不同的權限分配。</p><p> 3.1.4 法律可行性分析</p><p> 法律可行性主要是指待開發(fā)的軟件是否存在知識產權等與法律有關的問題,如有這類問題,該軟件即使開發(fā)成功,也難以成為產品銷售。開發(fā)該系統(tǒng)的所有軟件都使用
55、正版,且屬于自主設計,無剽竊他人設計行為。</p><p> 因此,開發(fā)本系統(tǒng)在法律上是可行的。</p><p> 3.2 用戶需求分析</p><p> 3.2.1 功能分析</p><p> 作為一個網上訂餐系統(tǒng)。首先為了保證客戶能夠很方便的進行餐品訂購,系統(tǒng)應該具有分類查看餐品,系統(tǒng)應該實現(xiàn)“購物車”的功能,用戶可以把選中的商品
56、放入“購物訂單”中,在選購完畢后再一起結帳。在系統(tǒng)的后臺,管理員能夠查看客戶購買菜品的訂單,發(fā)布新菜品,管理各類用戶等。因此可分析出本系統(tǒng)所實現(xiàn)的功能包括前臺和后臺兩部分,前臺為系統(tǒng)功能的主要部分。前臺主要以會員身份登錄后的頁面為主,功能如表3-1所示:</p><p> 表3-1 前臺功能例表</p><p> 后臺功能如表3-2所示:</p><p> 表
57、3-2 后臺功能例表</p><p> 通過調查及需求分析可以了解網上訂餐管理系統(tǒng)的基本功能。</p><p> 3.2.2 用例分析</p><p> 用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一些用例,以及它們之間的關系,主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進行建模,用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系
58、的。</p><p> 本系統(tǒng)業(yè)務用例圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)業(yè)務圖</p><p> 本系統(tǒng)分管理員和用戶2個權限。管理員主要功能:菜系管理、菜單管理、訂單管理、用戶管理、密碼管理。用戶主要功能是瀏覽菜單、搜索菜單、購物車功能、訂單管理、登陸注冊。用戶在瀏覽菜單后,選定菜品后加入購物車,這樣確認后生成訂單,在后臺即可顯示訂單信息,
59、管理員在后臺登錄可查詢用戶訂單,并且對其做出相應處理。</p><p> 本系統(tǒng)主要的角色(Actor)包括數(shù)據庫、管理員、游客、會員; </p><p> 下面介紹應用程序中的主要用例(user case)如表3-3所示。</p><p> 表3-3 管理員用例描述</p><p> 游客注冊用例描述如表3-4所示:</p&
60、gt;<p> 表3-4 游客注冊用例描述</p><p> 會員訂餐用例描述如表3-5所示:</p><p> 表3-5 會員訂餐用例描述</p><p> 3.3 系統(tǒng)設計目標分析</p><p> 開發(fā)的系統(tǒng)是簡易的網上訂餐系統(tǒng),以各種用戶為主要服務對象。提供良好的用戶界面,實現(xiàn)與用戶的交流,方便會員訂餐是本系統(tǒng)
61、設計的目標。該系統(tǒng)能夠實現(xiàn)用戶的注冊,餐品查看,購物車式的餐品訂購等功能,在系統(tǒng)的后臺,管理員可以處理用戶訂單并配送獲取,并可以對餐品信息等實現(xiàn)集中管理。初步預想使用Java,MySQL等技術來完成本網上訂餐系統(tǒng)。</p><p> 系統(tǒng)需要提供的主要功能如下:</p><p> 1.用戶能夠隨意瀏覽餐品,并能獲取餐品的詳細信息,如餐品圖片預覽、餐品簡介等。</p>&l
62、t;p> 2.系統(tǒng)能夠向用戶提供一些瀏覽信息,讓用戶能夠快速的了解系統(tǒng)出售餐品的信息,如特色餐品等。</p><p> 3.系統(tǒng)能夠提供菜品信息,讓用戶快速了解系統(tǒng)的菜品信息。</p><p> 4.用戶可以注冊成為本系統(tǒng)的會員,能隨時修改自己的信息。</p><p> 5.系統(tǒng)有不同權限的用戶,如會員、系統(tǒng)管理員。</p><p&
63、gt; 6.系統(tǒng)可以管理餐品(添加、刪除、修改、查詢),訂單等等。</p><p> 3.4 業(yè)務流程分析</p><p> 該系統(tǒng)應該主要的用戶有兩大類,一是賣家,在使用系統(tǒng)時為管理員身份;而是買家,在使用時是會員身份。下面分別就這兩類用戶介紹具體的業(yè)務流程。</p><p> 3.4.1 管理員業(yè)務流程</p><p> 1.輸
64、入網址,進入網站主頁面。</p><p> 2.進入管理員登錄頁面,輸入用戶名和密碼并登錄。</p><p> 3.登錄成功后即可對網站內儲存的各種信息,包括已注冊的用戶信息,菜品類別,菜品信息,已提交的訂單信息, 進行相應的適當操作,以維護網站的正常運行。</p><p> 4.注銷登錄,退出網站。</p><p> 3.4.2 會
65、員業(yè)務流程</p><p> 1.輸入網址,進入網站主頁面。</p><p> 2.若是已經注冊用戶,可以直接登錄。若不是,則先注冊,再登錄。</p><p> 3.登錄成功后即可以使用網站的相關功能,包括下訂單等。</p><p> 會員業(yè)務流程如圖3-2所示:</p><p><b> 3.5
66、數(shù)據流圖</b></p><p> 本系統(tǒng)中的數(shù)據流程圖是結構化系統(tǒng)分析的工具。它既可以表達數(shù)據在系統(tǒng)內部的邏輯流向及存儲,又可以表達系統(tǒng)的邏輯功能和數(shù)據的邏輯變換。數(shù)據流程圖既能表達現(xiàn)行人工系統(tǒng)的數(shù)據流程和邏輯處理功能,也能表達自動化系統(tǒng)的數(shù)據流程和邏輯處理功能。數(shù)據流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數(shù)據在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功
67、能模型。</p><p> 圖3-2 會員業(yè)務流程</p><p> 數(shù)據流圖英文縮寫DFD(Data Flow Diagram)它是描繪信息流和數(shù)據從輸入移動到輸出的過程中所經受的變換。 </p><p> 數(shù)據流圖從數(shù)據傳遞和加工的角度,以圖形的方式刻畫數(shù)據流從輸入到輸出的移動變換過程。 </p><p> 網上訂餐管理系統(tǒng)的數(shù)據
68、流程圖包括: </p><p> 1.指明數(shù)據存在的數(shù)據符號,這些數(shù)據符號也可指明該數(shù)據所使用的媒體,如本系統(tǒng)中的會員表,管理員表等; </p><p> 2.指明對數(shù)據執(zhí)行的處理符號,這些符號也可指明該處理所用到的機器功能,如本系統(tǒng)中的付款,查詢等; </p><p> 3.指明幾個處理和(或)數(shù)據媒體之間的數(shù)據流的流線符號,如本系統(tǒng)中的訂單,類別等; &l
69、t;/p><p> 4.便于讀、寫數(shù)據流程圖的特殊符號。 </p><p> 在處理符號的前后都應是數(shù)據符號。數(shù)據流程圖以數(shù)據符號開始和結束。數(shù)據流圖有兩種典型結構,一是變換型結構,它所描述的工作可表示為輸入、主處理和輸出,呈線性狀態(tài)。另一種是事務型結構,這種數(shù)據流圖呈束狀,即一束數(shù)據流平行流入或流出,可能同時有幾個事務要求處理。 </p><p> 本系統(tǒng)主要的
70、數(shù)據流圖如圖3-3所示:</p><p> 圖3-3系統(tǒng)主要數(shù)據流圖</p><p> 第4章 系統(tǒng)總體設計</p><p> 系統(tǒng)總體設計主要目標是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉換成可以實施的基于計算機運行環(huán)境的具體方案,進行系統(tǒng)的概要設計,為下一階段系統(tǒng)詳細設計提供必要的技術資料。</p><p> 4.1
71、系統(tǒng)流程概述</p><p> 用戶在瀏覽網站時首先看到的就是網站首頁。在首頁用戶可以了解本餐館的餐品的信息。用戶如果想要訂餐時直接填寫收貨人的信息或者注冊成為會員,在用戶查看完商品的信息后,可以把自己想要購買的商品加入購物車中,也可以隨時修改,刪除訂單里的商品,如果用戶對訂單里的商品都很滿意,就可以直接下訂單。這時相關的程序模塊會將用戶所提交的所有信息都記錄在數(shù)據庫里以便系統(tǒng)的管理人員可以核對信息并準備餐品,
72、專門送餐人員給用戶配送餐品并收取現(xiàn)金,此時整個訂餐的過程便結束。</p><p> 在網絡訂餐的后臺管理方面還需要添加、修改、刪除餐品,同時各類用戶信息的管理和訂單的處理等都需要系統(tǒng)的管理人員來操作。</p><p> 4.2 總體功能模塊</p><p> 本系統(tǒng)分用戶和管理員兩個模塊。用戶模塊包括用戶登陸、訂單管理、購物車查詢、搜索菜單、瀏覽菜單等功能。管
73、理員模塊主要對用戶的功能進行管理,包括密碼管理、用戶管理、訂單管理、菜單管理、菜系管理??偣δ軋D如圖4-1所示:</p><p> 圖4-1 系統(tǒng)功能需求分析</p><p> 4.3 管理員功能模塊</p><p> 管理員主要功能:菜系管理、菜單管理、訂單管理、用戶管理、密碼管理。管理員功能模塊的功能圖如圖4-2所示:</p><p&g
74、t; 圖4-2 管理員功能圖</p><p> 4.4 用戶功能模塊</p><p> 用戶主要功能是瀏覽菜單、搜索菜單、購物車功能、訂單管理、登陸注冊。</p><p> 用戶的功能圖如圖4-3所示:</p><p> 圖4-3 用戶的功能圖</p><p> 第5章 系統(tǒng)詳細設計與系統(tǒng)功能實現(xiàn)</
75、p><p> 5.1 系統(tǒng)和數(shù)據庫設計</p><p> 網上訂餐管理系統(tǒng)按通用的B/S(瀏覽器、服務器)模式進行設計如圖5-1:</p><p> 圖5-1 B/S結構</p><p> 數(shù)據庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據庫結構設計的好壞將直接對應用系統(tǒng)的效率,以及實現(xiàn)的效果產生影響。合理的數(shù)據庫結構設計可以提高數(shù)據存儲
76、的效率,保證數(shù)據的完整和一致。</p><p> 5.2 概念模型設計</p><p> 概念模型設計的典型方法是用E-R圖方法,E-R圖也即實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。</p><p> 網上訂餐管理系統(tǒng)中構成E-R圖的基本要素是實體型、屬性和聯(lián)系,其
77、表示方法為: </p><p> 實體型(Entity):具有相同屬性的實體具有相同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體;在E-R圖中用矩形表示,矩形框內寫明實體名;比如本系統(tǒng)中的管理員和用戶都是實體。如果是弱實體的話,在矩形外面再套實線矩形。 </p><p> 屬性(Attribute):實體所具有的某一特性,一個實體可由若干個屬性來刻畫。在E-R圖中用橢
78、圓形表示,并用無向邊將其與相應的實體連接起來;比如本系統(tǒng)中用戶的用戶名,用戶密碼;訂單的訂單號,下單日期等都是屬性。如果是多值屬性的話,再橢圓形外面再套實線橢圓。如果是派生屬性則用虛線橢圓表示。 </p><p> 聯(lián)系(Relationship):聯(lián)系也稱關系,信息世界中反映實體內部或實體之間的聯(lián)系。實體內部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。在E-R圖中
79、用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1 : 1,1 : n或m : n),如本系統(tǒng)中的管理,管理員可以管理菜單,管理員對菜單是1:n,用戶可以管理訂單,用戶對菜單是1:n等。</p><p> 網上訂餐管理系統(tǒng)E-R圖如圖5-2所示:</p><p><b> 圖5-2 E-R圖</b></p>
80、;<p> 5.3 數(shù)據庫邏輯模型</p><p> 依據軟件工程數(shù)據設計規(guī)范和系統(tǒng)E-R圖,網上訂餐管理系統(tǒng)的數(shù)據邏輯模型如下,包含四個基本表:</p><p> 分類表(主鍵、是否刪除標志、分類名)。</p><p> 用戶表(主鍵、地址、注冊時間、郵箱、密碼、聯(lián)系方式、QQ、用戶權限、真實姓名、是否刪除標志、用戶名)。</p>
81、<p> 訂單條目表(主鍵、單價、關聯(lián)的菜單ID、菜單名、數(shù)量、關聯(lián)的訂單ID)。</p><p> 菜單表(主鍵、添加時間、圖片路徑、簡介、菜單名、是否推薦、原價、熱銷價、商品否刪除的標志、關聯(lián)的分量ID)。</p><p> 5.4 數(shù)據庫表設計</p><p> 數(shù)據表是數(shù)據庫中一個非常重要的對象,是其他對象的基礎。沒有數(shù)據表,關鍵字、主
82、鍵、索引等也就無從談起。在數(shù)據庫畫板中可以顯示數(shù)據庫中的所有數(shù)據表,創(chuàng)建數(shù)據表,修改表的定義等數(shù)據表是數(shù)據庫中一個非常重要的對象,是其他對象的基礎。</p><p> 根據系統(tǒng)功能設計的要求以及功能模塊的劃分,對于本系統(tǒng)信息數(shù)據庫主要有分類表,如表5-1所示,用戶表如表5-2所示,訂單條目表如表5-3所示,訂單表如表5-4所示,菜單表如表5-5所示:</p><p><b>
83、 表5-1 分類表</b></p><p><b> 表5-2 用戶表</b></p><p> 表5-3 訂單條目表</p><p><b> 表5-4 訂單表</b></p><p><b> 表5-5 菜單表</b></p><p&
84、gt; 5.5 平臺數(shù)據表的實現(xiàn)</p><p> 根據平臺的需求分析和功能模塊的劃分,所涉及的實體有菜單,菜單,訂單條目,分類用戶。因此系統(tǒng)的定義數(shù)據庫主要包含5張表:菜單表t_product如圖5-3所示,訂單表t_order如圖5-4所示,訂單條目表t_orderitem如圖5-5所示:</p><p> 圖5-3 菜單表t_product</p><p&g
85、t; 建表的sql語句為:</p><p> CREATE TABLE `t_product` (</p><p> `id` bigint(20) NOT NULL auto_increment,</p><p> `createtime` datetime default NULL,</p><p> `imgpath` var
86、char(255) default NULL,</p><p> `info5` varchar(255) default NULL,</p><p> `name` varchar(255) default NULL,</p><p> `newstuijian` int(11) NOT NULL,</p><p> `price1
87、` double NOT NULL,</p><p> `price2` double NOT NULL,</p><p> `productlock` int(11) NOT NULL,</p><p> `xiaoliang` int(11) NOT NULL,</p><p> `cateid` bigint(20) defau
88、lt NULL,</p><p> PRIMARY KEY (`id`),</p><p> KEY `FKA91FC024ED19CAFA` (`cateid`),</p><p> CONSTRAINT `FKA91FC024ED19CAFA` FOREIGN KEY (`cateid`) REFERENCES `t_category` (`id`)&l
89、t;/p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> 圖5-4 訂單表t_order</p><p><b> 建表的語句為:</b></p><p> CREATE TABLE `t_order` (</p><p> `id`
90、bigint(20) NOT NULL auto_increment,</p><p> `address` varchar(255) default NULL,</p><p> `createtime` datetime default NULL,</p><p> `orderid` varchar(255) default NULL,</p>
91、;<p> `phone` varchar(255) default NULL,</p><p> `status` int(11) NOT NULL,</p><p> `totalprice` double NOT NULL,</p><p> `username` varchar(255) default NULL,</p>
92、<p> `userid` bigint(20) default NULL,</p><p> PRIMARY KEY (`id`),</p><p> KEY `FKA0C0C3C31433B443` (`userid`),</p><p> CONSTRAINT `FKA0C0C3C31433B443` FOREIGN KEY (`user
93、id`) REFERENCES `t_user` (`id`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> 圖5-5 訂單條目表t_orderitem</p><p><b> 建表的語句為:</b></p><p> CREATE TABLE
94、`t_orderitem` (</p><p> `id` bigint(20) NOT NULL auto_increment,</p><p> `price` double NOT NULL,</p><p> `productid` int(11) NOT NULL,</p><p> `productname` varcha
95、r(255) default NULL,</p><p> `productnum` int(11) NOT NULL,</p><p> `orderid` bigint(20) default NULL,</p><p> PRIMARY KEY (`id`),</p><p> KEY `FK794A55632BFB425`
96、(`orderid`),</p><p> CONSTRAINT `FK794A55632BFB425` FOREIGN KEY (`orderid`) REFERENCES `t_order` (`id`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> 5.6 系統(tǒng)功能實現(xiàn)的主要框架</
97、p><p> 5.6.1 SSH框架</p><p> SSH框架就是Struts2,Spring,Hibernate的簡稱,運用3個框架的集成協(xié)作使用,可以有效的提高代碼編寫的效率,從而有效的降低程序開發(fā)的周期。</p><p> 5.6.2 Hibernate配置文件</p><p> <hibernate-configurat
98、ion></p><p> <session-factory></p><p> <!-- oracel處理大文本clob需要添加的屬性 --></p><p> <property name="hibernate.connection.SetBigStringTryClob">true</p
99、roperty></p><p> <!-- Database connection settings --></p><p> <property name="proxool.pool_alias">DBPool</property></p><p> <property name=&quo
100、t;proxool.xml">proxool.xml</property></p><p> <property name="connection.provider_class"></p><p> org.hibernate.connection.ProxoolConnectionProvider</p>&l
101、t;p> </property></p><p> <property name="connection.driver_class">com.mysql.jdbc.Driver</property></p><p> <!-- Echo all executed SQL to stdout --></p&
102、gt;<p> <property name="show_sql">false</property></p><p> <property name="format_sql">false</property></p><p> <property name="dial
103、ect">org.hibernate.dialect.MySQLDialect</property></p><p> <!-- Enable Hibernate's automatic session context management --></p><p> <property name="current_sess
104、ion_context_class">thread</property> </p><p> <property name="hibernate.hbm2ddl.auto">update</property></p><p> <mapping class="com.model.Category&q
105、uot;/></p><p> <mapping class="com.model.Order"/></p><p> <mapping class="com.model.OrderItem"/></p><p> <mapping class="com.model.Prod
106、uct"/></p><p> <mapping class="com.model.User"/></p><p> </session-factory></p><p> </hibernate-configuration></p><p> 這是Hibern
107、ate的配置文件,在該文件中<property name="proxool.xml">proxool.xml</property></p><p> 首先加載了連接池的一個配置,就是加載了數(shù)據庫的連接信息,</p><p> <property name="show_sql">true</property
108、></p><p> <property name="format_sql">true</property></p><p> 表示控制臺打印SQL語句,并格式化SQL語句</p><p> <property name="dialect">org.hibernate.diale
109、ct.MySQLDialect</property></p><p> 表示當前數(shù)據庫的語言是MYSQL</p><p> <mapping class="com.model.Category"/></p><p> <mapping class="com.model.Order"/>
110、</p><p> <mapping class="com.model.OrderItem"/></p><p> <mapping class="com.model.Product"/></p><p> <mapping class="com.model.User"/
111、></p><p> 都表示當前數(shù)據庫建立起來的表和類之間的映射關系,比如<mapping class="bbs.model.User"/>表示User類和t_user表之間的建立起來的對應關系,其他也都類似。</p><p> 5.6.3 Struts配置文件</p><p><b> <struts&g
112、t;</b></p><p> <constant name="struts.objectFactory" value="spring" /></p><p> <constant name="struts.i18n.encoding" value="UTF-8" />&
113、lt;/p><p> <package name="index" namespace="/" extends="struts-default"></p><p> <action name="index" method="index" class="qiantai
114、Action" ></p><p> <result name="success" >index.jsp</result></p><p><b> </action></b></p><p> <action name="houtaimethod&q
115、uot; class="houtaiAction"></p><p> <result type="dispatcher">${url}</result></p><p> <result name="redirect" type="redirect">${url}
116、</result></p><p><b> </action></b></p><p> <action name="qiantaimethod" class="qiantaiAction"></p><p> <result type="dis
117、patcher">${url}</result></p><p> <result name="redirect" type="redirect">${url}</result></p><p><b> </action></b></p><
118、;p> </package></p><p> </struts>這是struts的配置文件,該文件的作用主要起到來自JSP的請求的跳轉分配的作用.</p><p> 該struts配置文件是個總的配置文件。 </p><p> 5.6.4 Spring配置文件</p><p> Spring 在本項目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--網上訂餐管理系統(tǒng)
- 網上訂餐系統(tǒng)畢業(yè)論文
- 網上訂餐系統(tǒng)(畢業(yè)論文)
- 網上訂餐系統(tǒng)——畢業(yè)論文
- 網上訂餐系統(tǒng)畢業(yè)論文
- 本科畢業(yè)論文--網上訂餐管理系統(tǒng)
- 網上訂餐系統(tǒng)畢業(yè)論文 (2)
- 網上訂餐jsp系統(tǒng)畢業(yè)論文
- 網上訂餐管理系統(tǒng)畢業(yè)論文-龍思思3
- 畢業(yè)論文--基于android的網上訂餐系統(tǒng)
- 畢業(yè)論文--基于android的網上訂餐系統(tǒng)
- 畢業(yè)論文-----網上訂餐系統(tǒng)的設計與實現(xiàn)
- 網上訂餐系統(tǒng)的設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文---基于bs的網上訂餐系統(tǒng)設計
- 網上訂餐系統(tǒng)的設計與開發(fā)-畢業(yè)論文
- 網上訂餐系統(tǒng)畢業(yè)設計論文
- 校園b2c網上訂餐系統(tǒng)的設計與實現(xiàn)——網上訂餐系統(tǒng)【畢業(yè)論文設計】
- 網上訂餐系統(tǒng)畢業(yè)設計論文
- 網上訂餐系統(tǒng)畢業(yè)設計論文
- 網上訂餐系統(tǒng)-畢業(yè)論文與設計-外加源碼-ssh
評論
0/150
提交評論