何夢麗(1067001052)--基于Java的二手圖書交易系統(tǒng)后臺管理.doc_第1頁
何夢麗(1067001052)--基于Java的二手圖書交易系統(tǒng)后臺管理.doc_第2頁
何夢麗(1067001052)--基于Java的二手圖書交易系統(tǒng)后臺管理.doc_第3頁
何夢麗(1067001052)--基于Java的二手圖書交易系統(tǒng)后臺管理.doc_第4頁
何夢麗(1067001052)--基于Java的二手圖書交易系統(tǒng)后臺管理.doc_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

普 通 本 科 畢 業(yè) 論 文 2010 2014 年 年 題目 基于 Java 的二手圖書交易系統(tǒng)后臺管理 設計與實現(xiàn) Topic Used books Java based trading system admin Design and Implementation 學 生 姓 名 何 夢 麗 學 院 軟 件 學 院專 業(yè) 軟 件 工 程 學 號 1067001052 屆 別 2014 指 導 教 師 李 弟 平 二 O 一四 年 六 月 普通本科生畢業(yè)論文 設計 誠信承諾書普通本科生畢業(yè)論文 設計 誠信承諾書 畢業(yè)論文 設計 題 目 基于 Java 的二手圖書交易系統(tǒng)后臺管理 設計與實現(xiàn) 學生姓名何夢麗專 業(yè)軟件工程學 號 1067001052 指導老師李弟平職 稱講師 所在學院軟件學院 誠信承諾誠信承諾 本人慎重承諾和聲明 我承諾在畢業(yè)論文 設計 活動中遵守學校有關規(guī)定 恪守學術規(guī) 范 在本人的畢業(yè)論文中未剽竊 抄襲他人的學術觀點 思想和成果 未篡改研究數(shù)據(jù) 如有違規(guī)行為發(fā)生 我愿承擔一切責任 接受學校的 處理 學生 簽名 2014 年 月 日 摘摘 要要 互聯(lián)網的誕生不僅極大的縮小了地球 也給人們帶來非常大的好處 隨著 科技的發(fā)展 越來越多的日常事務都能夠通過網絡實現(xiàn) 讓人們即使不出家門 也可以買到東西 了解到一些國家新聞 還能聽音樂 看視頻 放松我們的心 情 為了讓廣大的學子可以更方便買到自己想要的書籍 并且能夠使舊書籍得 到充分的利用 設計了一個用于二手圖書交易的系統(tǒng) 本系統(tǒng)非常具有實用性 既可以節(jié)省用戶淘書的時間 又可以減少舊書的浪費 本課題研究的是對校園二手書交易系統(tǒng)的后臺后臺設計與實現(xiàn) 詳細描述該系 統(tǒng)后臺的設計與實現(xiàn) 主要實現(xiàn)管理員登陸 圖書管理 用戶管理 賣書管理 以及發(fā)送消息等功能 系統(tǒng)開發(fā)基于 B S 模式 采用 Struts2 框架 以 Java 為 編程語言 使用的開發(fā)工具為 eclipse 數(shù)據(jù)庫使用 SQL Server 2005 由 Jsp Struts2 Jdbc 的技術來完成系統(tǒng)后臺代碼的編碼 從而實現(xiàn)面向對象的界面 設計 個性化的設計特點以及簡單實用的操作功能 該論文首先介紹本系統(tǒng)所用到的關鍵技術 接著是闡述對整個系統(tǒng)的需求 分析 然后再到系統(tǒng)的設計與實現(xiàn) 關鍵詞 二手圖書交易系統(tǒng) 后臺管理 Java Struts2 Abstract The birth of the Internet not only greatly reduce the earth but also to bring great benefits With the development of technology more and more routine transactions are realized through the network even if not home so that people can buy things I learned some of the national press but also to listen to music watch videos relax our mood To make it easier for the majority of students want to buy their own books old books and the ability to be fully utilized to design a system for second hand book trade This system is very useful not only can save the user Taoshu time they can reduce the waste of old books This research is on the campus of the background used book trading system design and implementation design and implementation of a detailed description of the background of the system the main administrator login library management user management management and send messages to sell books and other functions System development based on B S mode using Struts2 framework to Java as the programming language used to develop tools for the eclipse the database using SQL Server 2005 By the Jsp Struts2 Jdbc technology to complete the background code coding system In order to achieve the object oriented interface design personalization simple and practical design features and operating functions This paper introduces the key technologies used in this system followed by elaborate analysis of the entire system needs and then design and implementation and then the system Key words second hand book trading system management background Java Struts2 目目 錄錄 第第 1 1 章章 緒論緒論 6 1 1 項目背景 6 1 2 研究意義 6 1 3 國內外的研究現(xiàn)狀 6 1 4 研究內容與論文的組織結構 7 第第 2 2 章章 關鍵技術介紹關鍵技術介紹 6 2 1 JAVA 與 J2EE 技術 8 2 2 開發(fā)環(huán)境 ECLIPSE 9 2 3 動態(tài)頁面 JSP 9 2 4 數(shù)據(jù)庫技術 JDBC 8 2 5 STRUTS 框架 9 2 6 JAVA 與 J2EE 技術 8 第第 3 3 章章 需求分析需求分析 11 3 1 用戶分析 11 3 2 功能分析 11 3 3 用例分析 13 3 4 可行性分析 14 第第 4 4 章章 系統(tǒng)系統(tǒng)詳細詳細設計設計 17 4 1 系統(tǒng)總體結構設計 18 4 1 1 系統(tǒng)體系結構 18 4 1 2 程序系統(tǒng)結構 18 4 2 數(shù)據(jù)庫設計 20 4 3 系統(tǒng)后臺功能設計 23 4 3 1 后臺功能 23 第第 5 5 章章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 26 5 1 系統(tǒng)應用環(huán)境 26 5 1 1 系統(tǒng)運行的軟件環(huán)境 26 5 2 頁面設計的實現(xiàn) 27 5 3 角色功能代碼的實現(xiàn) 31 5 3 1 數(shù)據(jù)庫連接 31 5 3 2 登陸 31 5 3 3 用戶管理 31 5 3 4 設定 33 第第 6 6 章章 總結與展望總結與展望 57 6 1 總結 35 6 2 展望 35 參考文獻 36 致 謝 37 第第 1 章章 緒論緒論 1 1 項目背景項目背景 在這個科技飛速發(fā)展的時代 網絡正以驚人的速度向社會生活的各個領域 滲透 并進而改變著我們的生活 學習 工作乃至思維方式 網絡的快捷 方 便 開放等特點 使得我們的學習以及工作效率得到大大的提高 基于 Java 的 網上舊書交易系統(tǒng)是基于互聯(lián)網的應用軟件 它適用于不同地方不同語言的讀 者交流 此系統(tǒng)可以將舊書交易簡單化 使人們買書更加方便 同時也使舊書 利于率增加 人與人之間的交流與工作變得更加便捷 準確 及時 可以更準 確便捷及時地了解各類舊書的信息 在網上進行舊書交易 本系統(tǒng)主要分為前臺與后臺兩部分 而本文則是從本人負責的系統(tǒng)后臺的 設計與實現(xiàn)來闡述 后臺管理是一個系統(tǒng)不可缺少的部分 只有通過前臺的運 營以及后臺的管理才可以使系統(tǒng)正常工作 1 2 研究意義研究意義 基于上訴的項目背景 本文的研究意義在于解決系統(tǒng)后臺的設計與實現(xiàn)的 問題 使得系統(tǒng)后臺界面美觀 操作簡單 功能全面 并且簡化工作流程的復 雜度 讓系統(tǒng)去做繁瑣而相似的大量流水化手工操作 節(jié)約人力與時間 優(yōu)化 了辦公效率 該系統(tǒng)不僅為用戶提供了方便 也改變了以往大家只有去舊書店淘書的方 式 在網上實現(xiàn)了舊書交易 并且提高了舊書的使用率 使得大家有書買有書 看 也使得大家處理不了的舊書等到回收利用 買書與賣書都可以只用該系統(tǒng) 使用性是相當強的 該系統(tǒng)后臺具有較大的數(shù)據(jù)庫資源 為后臺的實現(xiàn)奠定基礎 第一 該系統(tǒng)后臺的圖書資源 包括圖書名稱 作者 出版社等信息 也 為廣大的學子尋找想要的圖書提供了極大的便利 使學子們能夠在線直接搜索 查看 評論以及購買圖書 第二 該系統(tǒng)后臺對用戶的管理 強大的系統(tǒng)用戶 資源 登陸名 密碼等 也為廣大的學子提供了交流的平臺 第三 該系統(tǒng)后 臺對買賣的圖書同樣也有獨立的管理 使得廣大的學子知道什么書正在銷售 什么書需求量大 而什么書暫時缺貨等等 1 3 國內外的研究現(xiàn)狀國內外的研究現(xiàn)狀 根據(jù)調查 目前互聯(lián)網用于二手圖書交易的網站系統(tǒng)很少 而被人們熟知 的則幾乎還沒有 現(xiàn)在互聯(lián)網的一些網站已開始啟用二手圖書交易的平臺 但 這些剛剛出世的還未成熟的系統(tǒng)還存在以下幾點問題 1 界面風格不統(tǒng)一 不美觀 操作復 2 使用門檻較高 沒有顧及普通用戶 3 無法真正實現(xiàn)二手書交易 4 系統(tǒng)維護及升級 所以 我與我的團隊決定挑戰(zhàn)此項目 設計并實現(xiàn)一個二手圖書交易系 統(tǒng) 為了開發(fā)出真正滿足用戶需求的軟件產品 首先必須知道用戶的需求 然 后嚴格按照軟件開發(fā)的步驟 一步一步實現(xiàn)并完善我們的系統(tǒng) 雖然我們的系 統(tǒng)還不夠完善 但是我們會努力使它變得越來越好 由于團隊人數(shù) 有限 所以 系統(tǒng)只分為了前臺設計與后臺管理兩個部分 而我則是負責后臺設計與實現(xiàn) 1 4 項目的確立項目的確立 針對目前的國內外科技發(fā)展形勢 二手圖示交易系統(tǒng)的特點可以滿足廣大 學子的需要 可以實現(xiàn)真正的實用性 為了幫助廣大的學子可以找到自己喜歡 的圖書 以及可以擁有想要的圖書 我們將開發(fā)本系統(tǒng) 項目名稱 二手圖書交易系統(tǒng) 項目提出者 江西師范大學軟件學院 項目開發(fā)者 系統(tǒng)開發(fā)人員及其指導老師 項目鑒定者 待定 項目開始時間 2013 9 1 5 研究內容與論文的組織結構研究內容與論文的組織結構 該項目的設計采用軟件工程的方法 每個軟件都有生命周期 概括地說 軟件生命周期由軟件定義 軟件開發(fā)和運行維護 3 個時期組成 每個時期又進 一步劃分成若干個階段 1 系統(tǒng)開發(fā)也是如此 由需求分析到詳細設計再到實現(xiàn)和測試維護部分都采 納其思想原則 本論文結合本人的設計的過程以及實際產物從開發(fā)初期到開發(fā)完畢作詳細 的分析和介紹 包括了以下幾個部分 第一部分 介紹項目背景和研究意義 結合國內外的研究現(xiàn)狀提出意見 第二部分 介紹系統(tǒng)開發(fā)所采用的技術以及開發(fā)環(huán)境 第三部分 系統(tǒng)的需求分析 第四部分 系統(tǒng)的詳細設計 第五部分 系統(tǒng)的實現(xiàn)與測試 第六部分 為該系統(tǒng)及論文總結 提出系統(tǒng)仍然存在的不足以及如何改善使 之進一步發(fā)展 第第 2 章章 關鍵技術關鍵技術介紹介紹 本系統(tǒng)涉及到以下技術 Java J2ee JSP JDBC Struts2 以及 UML 建模 等技術 以及開發(fā)工具 Eclipse 所以本章簡要介紹以下關鍵技術 Java 和 J2ee 技術 Eclipse JSP 技術 數(shù)據(jù)庫連接 JDBC Java Data Base Connectivity Struts UML 2 1 JAVA 與與 J2EE 技術技術 隨著互聯(lián)網的普及和持續(xù)增長 面向 Web 應用的程序的開發(fā)方法已成為軟 件編程的主流方法 而 Java 正是互聯(lián)網編程的一種主流語言 Java 提供了成熟 的 高效的軟件開發(fā)工具以及大量包括多線程和高級圖形用戶界面在內的各種 應用程序的開發(fā)包 此外 體系結構中立的設計使 Java 具有很好的可移植性 2 J2EE 是 Java2 平臺企業(yè)版 Java 2 Platform Enterprise Edition 一套全然 不同于傳統(tǒng)應用開發(fā)的技術架構 包含許多組件 主要可簡化且規(guī)范應用系統(tǒng) 的開發(fā)與部署 進而提高可移植性 安全與再用價值 2 2 開發(fā)環(huán)境 開發(fā)環(huán)境 ECLIPSE Eclipse 是一個開放源代碼的 基于 Java 的可擴展開發(fā)平臺 其附帶了一 個標準的插件集 包括 Java 開發(fā)工具 Java Development Kit JDK Eclipse 還包括插件開發(fā)環(huán)境 Plug in Development Environment PDE 這個組件主要 針對希望擴展 Eclipse 的軟件開發(fā)人員 因為它允許他們構建與 Eclipse 環(huán)境 無縫集成的工具 Eclipse 軟件圖如下圖 2 1 所示 圖圖 2 12 1 EclipseEclipse 軟件圖軟件圖 2 3 動態(tài)頁面動態(tài)頁面 JSP JSP Java Server Pages 是由 Sun Microsystems 公司倡導 許多公司參與 一起建立的一種動態(tài)網頁技術標準 JSP 技術有點類似 ASP 技術 它是在傳統(tǒng) 的網頁 HTML 文件 htm html 中插入 Java 程序段 scriptlet 和 JSP 標記 tag 從而形成 JSP 文件 jsp 3 Web 服務器在遇到訪問 JSP 網頁的請求時 首先執(zhí)行其中的程序段 然后 將執(zhí)行結果連同 JSP 文件中的 HTML 代碼一起返回給客戶 插入的 Java 程序 段可以操作數(shù)據(jù)庫 重新定向網頁等 以實現(xiàn)建立動態(tài)網頁所需要的功能 JSP 與 Java Servlet 一樣 是在服務器端執(zhí)行的 通常返回該客戶端的就是 一個 HTML 文本 因此客戶端只要有瀏覽器就能瀏覽 2 4 數(shù)據(jù)庫連接數(shù)據(jù)庫連接 JDBC JDBC Java DataBase Connectivity 是用于運行 SQL 的解決方案 開 發(fā)人員使用 JDBC 的標準接口 是由一組標準接口與類所組成的 4 JDBC 為工具 數(shù)據(jù)庫開發(fā)人員提供了一個標準的API 據(jù)此可以構建更高級的工 具和接口 使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應用程序 5 任何一個系統(tǒng)都必須有后臺強大的數(shù)據(jù)庫支持 Java 數(shù)據(jù)庫連接體系 結構是用于 Java 應用程序連接數(shù)據(jù)庫的標準方法 JDBC 對 Java 程序員而 言是 API 對實現(xiàn)與數(shù)據(jù)庫連接的服務提供商而言是接口模型 其連接體系 結構圖如圖 2 2 所示 圖圖 2 2 JDBC 連接體系結構圖連接體系結構圖 2 5 Struts2 框架框架 Struts 2 是 Struts 的下一代產品 是在 struts 1 和 WebWork 的技術基礎 上進行了合并的全新的 Struts 2 框架 其全新的 Struts 2 的體系結構與 Struts 1 的體系結構差別巨大 Struts 2 以 WebWork 為核心 采用攔截器的機制來處理用戶的請求 這樣 的設計也使得業(yè)務邏輯控制器能夠與 ServletAPI 完全脫離開 所以 Struts 2 可以理解為 WebWork 的更新產品 Struts2 對應的有自己的標簽 并且功能強 大 Struts 工作原理圖如圖 2 3 所示 圖圖 2 32 3 strutsstruts 工作原理圖工作原理圖 2 6 UML 建模建模 UML Unified Modeling Language 統(tǒng)一建模語言 是一種通用的 統(tǒng)一 的 可視化建模語言 是用現(xiàn)代抽象模型理論建立的面向對象軟件系統(tǒng)結構 表示方法 8 UML 展現(xiàn)了一系列最佳工程實踐 這些最佳實踐在對大規(guī)模 復雜系統(tǒng)進行建模方面 特別是在軟件架構層次已經被驗證有效 UML 可以貫穿軟件開發(fā)周期中的每一個階段 被OMG 采納作為業(yè)界的標 準 UML 最適于數(shù)據(jù)建模 業(yè)務建模 對象建模 組件建模 UML 作為一種模型語言 它使開發(fā)人員專注于建立產品的模型和結構 而不是選用什么程序語言和算法實現(xiàn) 當模型建立之后 模型可以被UML 工具轉化成指定的程序語言代碼 第第 3 章章 需求分析需求分析 3 1 用戶分析用戶分析 該系統(tǒng)后臺管理用戶角色 系統(tǒng)管理員系統(tǒng)管理員 下面對用戶角色進行分析 系統(tǒng)管理員是指該系統(tǒng)的超級用戶 其主要職責是進行系統(tǒng)相關設置 進 行系統(tǒng)維護的人員 同時擁有對用戶進行設置 分配權限等更能作 并且負責 管理數(shù)據(jù)庫的數(shù)據(jù)查詢 刪除和修改等操作 主要管理模塊劃分為 用戶管理 書籍管理和交易管理等 管理員功能包括對書籍 用戶 賣書信息幾大模塊的管理 主要能夠實現(xiàn) 以下功能 1 管理員可對系統(tǒng)數(shù)據(jù)進行維護 修改 打印 2 管息理員能夠在線查閱與網頁相關的數(shù)據(jù)信息 3 管理員可以進行各板塊的管理操作 4 管理員可通過此系統(tǒng)對書籍信息等行查詢 查看 刪除等操作 5 管理員可通過此系統(tǒng)對用戶信息等進行查詢 查看等操作 6 管理員可通過此系統(tǒng)對用戶進行發(fā)送消息的操作 與用戶進行溝通 7 管理員可進行強制的處理操作 8 此系統(tǒng)允許用戶在線對賣家進行評價以及舉報不良用戶 管理員可 根據(jù)規(guī)定對不良用戶進行處理等 3 2 功能分析功能分析 3 2 1 功能結構圖功能結構圖 功能結構圖就是按照功能的從屬關系畫成的圖表 圖中的每一個框都稱為 一個功能模塊 功能模塊可以根據(jù)具體情況分的大一點或小一點 分解得最小 功能模塊可以是一個程序中的每個處理過程 而較大的功能模塊則可能是完成 某一個任務的一組程序 通過對系統(tǒng)需求的分析 以及對要設計并實現(xiàn)的功能的分析 得到的系統(tǒng) 功能結構圖如下圖 3 1 所示 圖圖 3 1 系統(tǒng)功能結構圖系統(tǒng)功能結構圖 通過對系統(tǒng)后臺的需求的分析 以及對要設計并實現(xiàn)后臺的功能的分析 得到的后臺功能結構圖如下圖 3 2 所示 圖圖 3 2 后臺功能結構圖后臺功能結構圖 3 2 2 后臺功能分析后臺功能分析 就開發(fā)一個新系統(tǒng)而言 首先要討論的問題不是系統(tǒng)的界面要多么美觀 而是要了解系統(tǒng)要滿足什么要求 系統(tǒng)要實現(xiàn)什么功能以及開發(fā)此系統(tǒng)的目的 所以 為了開發(fā)出好的系統(tǒng) 必須先知道用戶使用該系統(tǒng)的需求 通過詳細的 研究 結合論文的研究方向以及預期目標 經過分析預計基于 Java 的二手圖書 交易系統(tǒng)后臺管理應該具備以下主要功能 1 登陸 系統(tǒng)管理員登陸系統(tǒng) 2 圖書管理 對圖書信息等行查詢 刪除 修改等操作 3 用戶管理 對用戶信息等進行查詢等操作 4 求書管理 對用戶需求的圖書進行添加 修改等操作 5 發(fā)送消息 向用戶發(fā)送消息 6 設定 對管理員自身信息的修改 3 3 用例分析用例分析 3 3 1 用例圖用例圖 用例 Use Case 是對系統(tǒng)的用戶需求 主要是功能需求 的描述 用例 表達了系統(tǒng)的功能和所提供的需求情況 6 通過 Use Case 觀察系統(tǒng) 能夠將系 統(tǒng)實現(xiàn)與系統(tǒng)目標分開 有助于了解最重要的部分 滿足用戶要求和期望 而不會沉浸于實現(xiàn)細節(jié) 通過對系統(tǒng)的用戶需求的分析 得到的系統(tǒng)總體用例圖如下圖 3 1 所示 上上 上上上 上上 上上 上上上上 上上上上 上上上上 上上上上 上上上上 上上 上上上上 上上 上上上上上上 上上 上上上上 圖圖 3 3 系統(tǒng)總體用例圖系統(tǒng)總體用例圖 通過對系統(tǒng)后臺用戶需求的分析 得到管理員用例圖如下圖 3 4 所示 上上上 上上 上上上上 上上上上 上上上上 上上上上 上上上上 上上上上上上 上上上上 上上上上 上上上上上上 上上上上上上 圖圖 3 4 管理員用例圖管理員用例圖 3 3 2 系統(tǒng)主要用例詳細描述系統(tǒng)主要用例詳細描述 1 登陸用例 表表 3 13 1 登陸用例表登陸用例表 用例名稱登陸 參與者系統(tǒng)后臺管理員 用例描述系統(tǒng)使用者登陸系統(tǒng)過程 基本操作流程1 登陸信息已給出 2 驗證身份 3 點擊登陸系統(tǒng) 2 查詢圖書用例 表表 3 23 2 查詢圖書用例表查詢圖書用例表 用例名稱查詢圖書用例 參與者系統(tǒng)后臺管理員 用例描述系統(tǒng)使用者對后臺的圖書庫進行查詢操 作 基本操作流程1 圖書相關信息已給出 點擊搜索 2 查詢此書 3 查看此書的信息 3 刪除圖書用例 表表 3 33 3 刪除圖書用例表刪除圖書用例表 用例名稱刪除圖書用例 參與者系統(tǒng)后臺管理員 用例描述系統(tǒng)使用者對后臺的圖書庫進行刪除操 作 基本操作流程1 查看圖書管理的所有圖書的列表或 查詢圖書 2 根據(jù)實際情況是否此圖書已經售空 等刪除圖書 4 查看圖書信息用例 表表 3 43 4 修改圖書信息用例表修改圖書信息用例表 用例名稱查看圖書信息用例 參與者系統(tǒng)后臺管理員 用例描述系統(tǒng)使用者對后臺的圖書庫的信息進行 查看操作 基本操作流程1 點擊壓迫查看的圖書 2 圖書相關信息已給出 3 查看圖書信息 根據(jù)實際情況查看 圖書的基本信息 包括作者 出版社 圖書的數(shù)量等 5 發(fā)送消息用例 表表 3 53 5 發(fā)送消息用例表發(fā)送消息用例表 用例名稱發(fā)送消息用例 參與者系統(tǒng)后臺管理員 用例描述系統(tǒng)使用者對前臺用戶進行發(fā)郵件操作 基本操作流程1 查找用戶 2 用戶郵箱已取得 3 編輯消息并發(fā)送郵件 3 4 可行性分析可行性分析 系統(tǒng)進行可行性研究的目的 就是用最小的代價在盡可能短的時間內確定 問題是否能夠解決 1 下面是對二手圖書交易系統(tǒng)后臺管理的可行性分析 1 技術可行性 該系統(tǒng)的開發(fā)采用的技術都是當代的領先技術 由于該系 統(tǒng)后臺數(shù)據(jù)較大 所以數(shù)據(jù)庫采用 SQL Server 2005 作為后臺數(shù)據(jù)存儲管理 eclipse 的開發(fā)環(huán)境結合 struts2 標簽是實現(xiàn)該系統(tǒng)的技術奠基 2 經濟可行性 由于該系統(tǒng)的開發(fā)所應用的物理資源與人力資源并不多 所以系統(tǒng)的經濟效益能夠超過它的開發(fā)成本 3 操作可行性 鑒于 Web 系統(tǒng)的特點 為了方便用戶操作 使用一些常見 的操作 使得系統(tǒng)操作簡單 大大提高系統(tǒng)的效率 第第 4 章章 系統(tǒng)設計系統(tǒng)設計 4 1 系統(tǒng)總體結構設計系統(tǒng)總體結構設計 4 1 1 系統(tǒng)體系結構設計系統(tǒng)體系結構設計 使用模式最好的方式是 把模式裝進腦子里 然后在你的設計和已有的 應用中飯 尋找何處可以使用它們 以往是代碼復用 現(xiàn)在是經驗復用 7 系統(tǒng)的體系結構設計是對整個系統(tǒng)的一個規(guī)劃性設計 其對系統(tǒng)設計有著 很大的決定性因素 如下圖 4 1 所示 WEB服務器端數(shù)據(jù)庫服務器端 客戶端 圖圖 4 14 1 系統(tǒng)體系結構圖系統(tǒng)體系結構圖 本系統(tǒng)結構為 Browser Server B S 與平常的三層體系結構類似 也同 樣擁有系統(tǒng)頁面呈現(xiàn)端 客戶瀏覽器端 系統(tǒng)服務端 數(shù)據(jù)儲存端 用戶由瀏覽器端進入系統(tǒng) WEB 服務器端相應請求向客戶端發(fā)送數(shù)據(jù) 客 戶端接收數(shù)據(jù)并在瀏覽器中刷新顯示 用戶的一部分操作將通過 DOM 向服務 器端發(fā)送請求 服務器響應請求并向數(shù)據(jù)庫服務器端寫入或者讀取數(shù)據(jù) 將數(shù) 據(jù)再次發(fā)送給響應方 此時客戶端瀏覽器局部刷新提出響應請求的部分而顯示 為響應后得到的數(shù)據(jù) WEB 服務端可與數(shù)據(jù)庫服務端位于同一臺機器上而邏輯 上將拆分為兩個相互獨立的虛擬終端 因本系統(tǒng)基于 AJAX DOM 技術使用較多 因而客戶端顯得略為 肥 一 些 這種略 肥 型隨著計算機終端技術的發(fā)展已顯得微不足道 但該系統(tǒng)并 不是 肥客戶端 型 很多操作在客戶端前端能夠輕松進行但并不影響其安全 除了前段的基本校驗外其后臺也有一系列數(shù)據(jù)校驗措施 在訪問數(shù)據(jù)庫端時有 一系列具備校驗功能的存儲過程將非法數(shù)據(jù)濾除在外 4 1 2 程序系統(tǒng)結構設計程序系統(tǒng)結構設計 關于系統(tǒng)類圖 用于描述系統(tǒng)中所包含的類以及它們之間的相互關系 幫 助人們簡化對系統(tǒng)的理解 它是系統(tǒng)分析和設計階段的重要產物 也是系統(tǒng)編 碼和測試的重要模型依據(jù) 系統(tǒng)類圖如下圖 4 2 所示 user index index register login user main user trade user buy user sale user change user update user want book user sale book use search save exit user id int password string 用用戶戶 send exit user id int m id int 信信息息 m index login m booklist m userlist m book m change m sale m send m delete user m delete user m search exit m id int m name string m sex string m password string user id int book id int 管管理理員員 searchbook book book id int book name string author string kind string public string 書書籍籍 look exit booklist 書書籍籍列列表表 look user id int user name string addr string tel int sex string photo string password string 個個人人資資料料 圖圖 4 2 系統(tǒng)類圖系統(tǒng)類圖 Web 應用程序設計應用程序設計 Web 應用程序的組織結構可以分為 5 個部分 Web 應用根目錄下放置用于前端展現(xiàn)的 JSP 文件 action 文件夾內放置調用某個 java 類的某個方法進行數(shù)據(jù)預處理的類 bean 文件夾內放置處理的 javabean service 文件夾內放置處理請求相應的類 serviceImpl 文件夾放置處理數(shù)據(jù)持久化類 另外 在 src 下放置了數(shù)據(jù)庫配置文件 struts xml 1 后臺 JSP 文件 如表 4 1 所示 表表 4 14 1 JSPJSP 文件列表文件列表 文件名稱功 能 login jsp登錄頁面 m index jsp管理員首頁 管理員 m userlist jsp用戶管理頁面 管理員 m booklist jsp書籍管理頁面 管理員 m book jsp書籍信息顯示頁面 管理員 m sale jsp賣書管理頁面 管理員 出售的書籍列表 m send jsp發(fā)送信息頁面 管理員 m change jsp修改密碼頁面 管理員 2 action 文件夾中包括的類 如表 4 2 所示 表表 4 24 2 actionaction 列表列表 文件名稱功 能 BookManagerAction java圖書管理處理類 LoginAction java登陸處理類 ManagerAction java管理員資料處理類 UserManagerAction java用戶管理處理類 3 bean 文件夾中包括的類 如表 4 3 所示 表表 4 4 3 3 beanbean 列表列表 文件名稱功 能 User java客戶類 Book java圖書類 Needbook java求書書籍類 Picture java圖片類 4 service 文件夾中包括的類 如表 4 4 所示 表表 4 44 4 serviceservice 列表列表 文件名稱功 能 UserManagerService java處理用戶管理相關的類 BookManagerService java處理圖書管理相關的類 LoginService java處理登陸的類 ManagerService java處理管理員相關功能類 5 serviceImpl 文件夾中包括的類 如表 4 4 所示 表表 4 54 5 serviceImplserviceImpl 列表列表 文件名稱功 能 UserServiceImpl java處理用戶管理相關數(shù)據(jù)的類 BookServiceImpl java處理圖書管理相關數(shù)據(jù)的類 LoginServiceImpl java處理評價管理相關功能數(shù)據(jù)的類 ManagerServiceImpl java處理管理員功能數(shù)據(jù)類 4 2 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 4 2 1 數(shù)據(jù)庫設計原則數(shù)據(jù)庫設計原則 數(shù)據(jù)庫的設計應該以系統(tǒng)需求分析中對數(shù)據(jù)的需求描述為依據(jù) 遵循數(shù)據(jù) 庫設計的基本原則 為后期的系統(tǒng)開發(fā)實現(xiàn)提供支持 8 在進行系統(tǒng)數(shù)據(jù)庫設 計時一般應該遵循的基本原則主要如下 1 一致性 系統(tǒng)數(shù)據(jù)庫設計要符合數(shù)據(jù)一致性原則 數(shù)據(jù)的一致性是指表示同一個客 觀事物的數(shù)據(jù) 在同一時刻無論出現(xiàn)在何處都應該是一致的 正確的 在關系 型數(shù)據(jù)庫中 事務執(zhí)行的結果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)轉變到另一個 一致性狀態(tài) 當事務完成時 必須使所有數(shù)據(jù)都具有一致的狀態(tài) 由于數(shù)據(jù)庫 面向整個系統(tǒng) 可以被多個應用程序和多個用戶共享數(shù)據(jù) 因此 數(shù)據(jù)庫設計 應該考慮各種破壞數(shù)據(jù)一致性的因素 并采取了一些相應的保護措施 2 規(guī)范化 系統(tǒng)的數(shù)據(jù)庫設計應遵循規(guī)范化原則 規(guī)范化一般分為幾個級別 1NF 2NF 3NF 4NF BCNF 規(guī)范化程度過低的關系 可能會存在插入 刪 除異常 修改復雜 數(shù)據(jù)冗余等問題 需要轉換成高級范式 但是并非規(guī)范化 程度越高越好 系統(tǒng)操作如果經常涉及執(zhí)行多表之間的關聯(lián)查詢 將會降低系 統(tǒng)性能 同時也增加了程序的編程難度 因此 規(guī)范化應該根據(jù)實際情況需要 進行考慮 一般原則上要采用第三范式要求進行設計 3 完整性 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性 主要是需要防止合法用戶使用數(shù)據(jù)庫 時向數(shù)據(jù)庫加入不符合語義的數(shù)據(jù) 保護數(shù)據(jù)結構不受損害 防止錯誤數(shù)據(jù)輸 入和輸出 對輸入到數(shù)據(jù)庫中的數(shù)據(jù)要有預定義的規(guī)則約束 4 可伸縮性 數(shù)據(jù)庫結構的設計應該在滿足現(xiàn)有系統(tǒng)功能應用需求的基礎上 充分考慮 業(yè)務發(fā)展的需要 移植的需要 滿足可伸縮性 可擴展性和移植性等要求 5 可維護和管理 在進行數(shù)據(jù)庫設計時 應該考慮易于對數(shù)據(jù)進行管理和維護 提高系統(tǒng)運行效 率 4 2 2 數(shù)據(jù)庫表設計數(shù)據(jù)庫表設計 1 用于定義系統(tǒng)管理員用戶 管理員屬性如表 4 7 所示 表表 4 64 6 managermanager 表表 列 名類 型是否允許空描 述 m idvarchar 10 否表示管理員 ID 是自動遞增的主鍵 m namevarchar 32否表示管理員名稱 m passwordvarchar 32 否表示管理員登錄密碼 m telvarchar 32 是表示管理員聯(lián)系電話 m emailvarchar 32 是表示管理員電子郵件地址 2 用于定義系統(tǒng)用戶 用戶屬性如表 4 7 所示 表表 4 74 7 useruser 表表 列 名類 型是否允許空描 述 user idint否表示用戶 ID 是自動遞增的主鍵 user namevarchar 32 否表示用戶名稱 passwordvarchar 32 否表示用戶登錄密碼 telvarchar 32 否表示用戶聯(lián)系電話 Emailvarchar 32 否表示用戶電子郵件地址 addrvarchar max 是表示用戶地址 sexvarchar 10 否表示用戶性別 picturevarchar max 是表示用戶頭像路徑 3 用于定義圖書 圖書屬性如表如表 4 8 所示 表表 4 84 8 bookbook 表表 列 名類 型是否允許空描 述 bnoint否表示書籍 ID 是自動遞增的主鍵 bnamevarchar 32 否表示書籍名稱 publishvarchar 32 是表示書籍出版社 publishtimevarchar 32 是表示出版時間 editorvarchar 32 是表示作者 pricevarchar 32 否表示書籍價格 revisionint是表示書籍版次 kindvarchar 32 否表示書籍種類 isbnvarchar 32 是表示書籍 isbn describevarchar max 是表示對書籍的描述 user idint否表示賣家 ID 外鍵 4 用于定義求書 圖書屬性如表如表 4 8 所示 表表 4 94 9 needbookneedbook 表表 列 名類 型是否允許空描 述 bnoint否表示書籍 ID 是自動遞增的主鍵 bnamevarchar 32 否表示書籍名稱 publishvarchar 32 是表示書籍出版社 editorvarchar 32 是表示作者 user idint否表示求書者 ID 外鍵 5 用于定義圖片 圖片屬性如表如表 4 8 所示 表表 4 94 9 picturepicture 表表 列 名類 型是否允許空描 述 pnoint否表示圖片 ID 是自動遞增的主鍵 picturevarchar max 否表示圖片路徑 4 3 系統(tǒng)后臺功能設計系統(tǒng)后臺功能設計 4 3 1 后臺功能后臺功能 1 管理員登陸 A 功能 實現(xiàn)管理員登陸 B 輸入項 登錄頁面輸入用戶名和密碼 C 輸出項 顯示管理員管理界面信息 D 算法 管理員輸入用戶名和密碼登陸進入管理員管理平臺 E 流程邏輯如圖 4 3 所示 圖圖 4 34 3 登陸時序圖登陸時序圖 2 用戶管理 A 功能 實現(xiàn)注冊用戶的屏蔽和啟用 查看與搜索 強制刪除用戶信息 B 輸入項 點擊管理員管理界面導航欄上的用戶管理 進入用戶管理界 面 點擊相應操作進入相對應的頁面 C 輸出項 顯示管理員管理界面信息 D 算法 管理員輸入用戶名和密碼登陸進入管理員管理平臺 E 流程邏輯 如圖 4 4 所示 圖圖 4 44 4 用戶管理時序圖用戶管理時序圖 3 圖書管理 A 功能 實現(xiàn)對用戶上傳的舊書的信息的查詢 刪除功能 B 輸入項 點擊管理員管理界面導航欄上的書籍管理 進入書籍管理界 面 C 輸出項 顯示新的結果頁面 D 算法 點擊書籍管理 展現(xiàn)所有書籍信息的數(shù)據(jù) 刪除書籍時 銷毀 此書籍信息 輸入關鍵字 點擊搜索 跳轉頁面顯示書籍信息 E 流程邏輯 查詢圖書如圖 4 5 所示 刪除圖書如圖 4 6 所示 圖圖 4 54 5 查詢圖書時序圖查詢圖書時序圖 個 個 個 admin WebinterfaceStruts2actionServiceServiceimpDataAccess 1 個 個 個 個 個 個 個 個 個 個 2 個 個 個 個 3 個 個 個 個 4 個 個 個 個 5 個 個 個 個 6 getconnection 7 個 個 個 個 圖圖 4 64 6 刪除圖書時序圖刪除圖書時序圖 4 求書管理 A 功能 實現(xiàn)對管理員對用戶上傳需求的圖書的管理功能 B 輸入項 點擊管理員管理界面導航欄上的求書管理 進入求書管理界 面 C 輸出項 顯示新的結果頁面 D 算法 點擊管理 展現(xiàn)所有需要書籍的數(shù)據(jù) E 流程邏輯 查詢如圖 4 7 所示 圖圖 4 7 查詢求書時序圖查詢求書時序圖 5 發(fā)送消息 A 功能 實現(xiàn)對管理員向用戶發(fā)送信息的功能 B 輸入項 點擊管理員管理界面導航欄上的發(fā)送消息 進入發(fā)送信息界 面 C 輸出項 顯示新的結果頁面 D 算法 點擊登錄用戶管理 展現(xiàn)所有登錄用戶的數(shù)據(jù) 點擊發(fā)送時 發(fā) 送信息給相應的用戶 E 流程邏輯 6 設定 修改信息 A 功能 實現(xiàn)對管理員修改個人信息的功能 B 輸入項 點擊管理員管理界面左側上欄中的修改 進入修改界面 C 輸出項 顯示新的結果頁面 D 算法 點擊進入修改頁面 展現(xiàn)部分管理員原有的數(shù)據(jù) 將修改的內 容填好 點擊保存時 信息入庫 保存成功 E 流程邏輯 設定如圖 4 8 所示 圖圖 4 8 設定時序圖設定時序圖 個 個 user WebinterfaceStruts2ActionDataAccess 1 個 個 個 個 個 個 個 個 個1 2 個 個 個 個 3 個 個 個 個 4 個 個 個 個 個 第第 5 章章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 5 1 系統(tǒng)應用環(huán)境系統(tǒng)應用環(huán)境 所謂計算機網絡 9 是指通過數(shù)據(jù)通信系統(tǒng)把地理上分散的自主計算機系 統(tǒng)連接起來 以達到數(shù)據(jù)通信和資源共享目的的一種計算機系統(tǒng) 為了保證我們的系統(tǒng)的穩(wěn)定性以及良好的訪問狀態(tài) 系統(tǒng)的應用環(huán)境盡量 滿足如下條件 5 1 1 系統(tǒng)運行的軟件環(huán)境系統(tǒng)運行的軟件環(huán)境 1 操作系統(tǒng) Windows 2 數(shù)據(jù)庫 SQL SERVER 2000 2005 或更高版本數(shù)據(jù)庫服務器 3 程序語言工具包 JDK 1 5 以上版本 4 服務端 TOMCAT 5 0 以上版本服務器 5 2 頁面設計的實現(xiàn)頁面設計的實現(xiàn) 網頁設計是藝術與技術的結合 從藝術的角度看 網頁設計的本質是一種 平面設計 對于平面設計要考慮的兩個基本問題就是布局和配色 10 以下是本系統(tǒng)后臺的相關頁面 1 用戶選擇角色登錄 登錄頁面 login jsp 如圖 5 1 所示 圖圖 5 15 1 登陸界面登陸界面 2 管理員輸入正確的用戶名與密碼 用戶名 hml 密碼 123 驗證成功后登 陸 進入管理主頁 m index jsp 如圖 5 2 所示 圖圖 5 25 2 管理主頁管理主頁 3 點擊頁面上方的導航條的用戶管理 進入用戶管理頁面 m userlist jsp 如圖 5 3 所示 圖圖 5 35 3 用戶管理頁面用戶管理頁面 4 點擊會員操作下方的發(fā)郵件 進入發(fā)送信息頁面 m send jsp 如圖 5 4 所示 圖圖 5 45 4 發(fā)送信息頁面發(fā)送信息頁面 5 點擊頁面上方的導航條的書籍管理 進入圖書管理頁面 m booklist jsp 如圖 5 5 所示 圖圖 5 55 5 圖書管理頁面圖書管理頁面 6 點擊圖書名稱 進入圖書信息頁面 m book jsp 如圖 5 6 所示 圖圖 5 65 6 圖書信息頁面圖書信息頁面 7 點擊求書管理 進入求書管理頁面 m need jsp 如圖 5 7 所示 圖圖 5 75 7 求書管理頁面求書管理頁面 8 點擊左側設定 進入管理員修改頁面 m change jsp 如圖 5 8 所示 圖圖 5 85 8 修改界面修改界面 5 3 角色功能代碼的實現(xiàn)角色功能代碼的實現(xiàn) 5 3 1 數(shù)據(jù)庫連接數(shù)據(jù)庫連接 1 實現(xiàn)原理 由于系統(tǒng)對數(shù)據(jù)庫的操作非常頻繁 故設計一個好的與數(shù)據(jù)庫打交道的接 口顯得尤為重要 好的接口不僅能提高工作效率 同時也節(jié)省一些不必要的資 源 系統(tǒng)中專門設計一個 DbConnection java 用來為業(yè)務邏輯層提供操作數(shù)據(jù)庫的方 法 包括建立連接 執(zhí)行更新操作 執(zhí)行查詢操作 釋放資源 在 DbConnection java 的構造函數(shù)中建立連接并創(chuàng)建語句 在業(yè)務邏輯層當 實例化一個 DbConnection java 時就已經建立連接 同時在業(yè)務邏輯層將釋放資 源的方法放在捕捉異常的 finally 語句塊中 這樣不管出現(xiàn)什么異常 系統(tǒng)都會 釋放掉不需要的資源 2 代碼實現(xiàn) DbConnection java 文件為使用 JDBC 操作數(shù)據(jù)庫的一個 javabean 里面提 供了操作數(shù)據(jù)庫的常用方法 詳細代碼實現(xiàn)如下 public class DbConnection private String driver com microsoft sqlserver jdbc SQLServerDriver private String url jdbc sqlserver localhost 1433 DatabaseName bs pubs 為你的數(shù)據(jù)庫的 private String user sa private String password 123456 private Connection conn null private Statement stmt null private ResultSet rs null public DbConnection try Class forName driver catch ClassNotFoundException e TODO Auto generated catch block e printStackTrace TODO Auto generated constructor stub public ResultSet excuteQuery String sql try conn DriverManager getConnection url user password stmt conn createStatement rs stmt executeQuery sql catch SQLException e TODO Auto generated catch block e printStackTrace return rs public int excuteUpdate String sql int result 0 try conn DriverManager getConnection url user password stmt conn createStatement result stmt executeUpdate sql catch SQLException e TODO Auto generated catch block e printStackTrace return result public boolean closeRs boolean bl false if rs null try rs close bl true catch SQLException e TODO Auto generated catch block e printStackTrace else bl true return bl public boolean closeStmt boolean bl false if stmt null try stmt close bl true catch SQLException e TODO Auto generated catch block e printStackTrace else bl true return bl public boolean closeConn boolean bl false if conn null try conn close bl true catch SQLException e TODO Auto generated catch block e printStackTrace else bl true return bl 5 3 2 登錄登錄 管理員在登陸頁面填寫登陸信息 點擊提交 由 jsp 頁面通過標簽將登陸信息傳至服務器 代碼如下 由 action 中代碼 記住登陸的管理員信息 將信息放入 session 代碼如下 HttpServletRequest request ServletActionContext getRequest HttpSession session request

溫馨提示

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

評論

0/150

提交評論