進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng).doc_第1頁
進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng).doc_第2頁
進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng).doc_第3頁
進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng).doc_第4頁
進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng).doc_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

本科畢業(yè)論文本科畢業(yè)論文 科研訓(xùn)練 畢業(yè)設(shè)計 題題 目 進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)目 進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng) 姓 名 邱少烽 學(xué) 院 軟件學(xué)院 系 專 業(yè) 軟件工程 年 級 2003 級復(fù)合型 學(xué) 號 01162027 指導(dǎo)教師 校內(nèi) 蘇淑文 職稱 助教 指導(dǎo)教師 校外 職稱 2005 年 5 月 30 日 2 32 進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng) 摘要 進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)包含了兩大模塊的設(shè)計 1 是系統(tǒng)管理模塊 2 是數(shù)據(jù)管理模塊 數(shù)據(jù)管理模塊又包含首頁 產(chǎn)品管理 項目管理 樣品管理 訂單管理 出貨管理和收匯管理 通過對該數(shù)據(jù)管理平臺系統(tǒng)的設(shè)計與開發(fā) 有效組織公司的大量數(shù)據(jù) 實現(xiàn)辦公的自動化 繼而實現(xiàn)公司信息管理的系統(tǒng)化 該系統(tǒng)采用 B S 結(jié)構(gòu) 后臺基于 SQL Server 2000 數(shù)據(jù)庫 前臺采用 ASP 開發(fā) 完成后的系統(tǒng)將可在瀏覽器上完成絕大部分的數(shù) 據(jù)顯示與操作 另外涉及到需要輸出的文檔均以文本文件 郵件 Word 文檔或 Excel 文檔 的形式 方便易用 ASP 開發(fā)中 采用 MVC 構(gòu)架 實現(xiàn)邏輯層與表示層的分離 通過對該系 統(tǒng)的研究 形成一套針對于中小型 貿(mào)易型公司的數(shù)據(jù)管理平臺的開發(fā)思路與模式 開發(fā)過 程中形成高復(fù)用性模塊 以加速今后類似數(shù)據(jù)管理平臺的開發(fā)速度與質(zhì)量 關(guān)鍵詞 ASP MVC B S 數(shù)據(jù)管理 系統(tǒng)管理 3 32 Data Management Platform System of Trading Company of Imports and Exports abstract The data management platform system of trading company of the exit includes the design of two major module 1 is the system management module 2 is data management module data management module include home products management project management sample management order manage produce the goods not to manage and collect to manage Through to the design and development of this data management platform system organize a large number of data of the company effectively realize the automation that handles official business then realize the systematization of company s information management This system adopts B S structure the backstage supporter is because of SQL Server 2000 database the front desk adopts ASP development the system after finishing can finish most data to show and operate on the browser the file involved needing to output in addition is in text file the forms of mail Word file or Excel file it is used that it is convenient to be easy In ASP is developed adopt MVC framework realizes the logic layer and expresses the separation of layer Through study on this system take shape one direct against on medium and small scale trade data management development thinking and mode of platform of Company Develop course form high to is it use module to reply in order to is it similar to development speed and quality data management of platform in the future to accelerate keywords ASP MVC B S Data Management System Management 4 32 目錄 引言 1 第一章 項目概述 2 1 1 項目總體介紹 2 1 2 界面說明 3 1 2 1 界面風(fēng)格說明 3 1 2 2 列表頁面風(fēng)格 4 1 2 3 明細頁面風(fēng)格 4 1 3 系統(tǒng)管理模塊 5 1 4 數(shù)據(jù)管理模塊 6 1 4 1 首頁 6 1 4 2 產(chǎn)品管理 6 1 4 3 項目管理 樣品管理 7 1 4 4 訂單管理 出貨管理 收匯管理 8 第二章 項目相關(guān)技術(shù) 9 2 1 技術(shù)及配置簡介 9 2 2 關(guān)于選擇 ASP 9 2 3 選擇 MVC 架構(gòu) 10 2 3 1 MVC 如何工作 11 2 3 2 為什么要使用 MVC 11 2 3 3 MVC 的缺點 12 2 3 4 MVC 是一條創(chuàng)建軟件的好途徑 13 第三章 系統(tǒng)管理模塊的設(shè)計與實現(xiàn) 14 3 1 員工 用戶信息的表設(shè)計 14 3 2 角色的表設(shè)計 15 5 32 3 3 權(quán)限的表設(shè)計 15 3 4 用戶與角色的表設(shè)計 16 3 5 角色與權(quán)限的表設(shè)計 16 3 6 用戶 角色與權(quán)限 17 3 7 關(guān)于系統(tǒng)管理模塊 21 結(jié)論 25 致謝 26 參考文獻 27 引言 為某進出口貿(mào)易公司設(shè)計一套統(tǒng)一的數(shù)據(jù)管理平臺系統(tǒng) 以加強數(shù)據(jù)共享 提高工作效 率 為公司決策提高量化數(shù)據(jù) 以改變該公司現(xiàn)有的以文件級共享為基礎(chǔ) 大量手工操作為 方法的低效信息共享方式 該數(shù)據(jù)管理平臺主要涵蓋系統(tǒng)管理模塊與數(shù)據(jù)管理模塊 通過系統(tǒng)管理模塊 可提供對 不同用戶的訪問權(quán)限控制 通過數(shù)據(jù)管理模塊 可實現(xiàn)對客戶與項目信息 訂單 收匯及出 貨信息 以及產(chǎn)品與樣品信息的實時跟蹤與自動化管理 該數(shù)據(jù)管理平臺系統(tǒng)可很大程度上加快信息交流速度與信息共享質(zhì)量 從而提高公司工 作效率 通過對該數(shù)據(jù)管理平臺系統(tǒng)的設(shè)計與開發(fā) 有效組織公司的大量數(shù)據(jù) 實現(xiàn)辦公的自動 化 繼而實現(xiàn)公司信息管理的系統(tǒng)化 通過對該系統(tǒng)的研究 形成一套針對于中小型 貿(mào)易 型公司的數(shù)據(jù)管理平臺的開發(fā)思路與模式 開發(fā)過程中形成高復(fù)用性模塊 以加速今后類似 數(shù)據(jù)管理平臺的開發(fā)速度與質(zhì)量 2 32 第一章 項目概述 1 1 項目總體介紹 該數(shù)據(jù)管理平臺主要涵蓋了系統(tǒng)管理模塊 由本人獨立完成 與數(shù)據(jù)管理模塊 協(xié)同小 組成員共同完成 根據(jù)公司的業(yè)務(wù)特點與業(yè)務(wù)流程 數(shù)據(jù)管理模塊又可以具體細分為 首 頁 產(chǎn)品管理 項目管理 樣品管理 訂單管理 出貨管理和收匯管理等 7 個具體的模塊 系統(tǒng)管理模塊對應(yīng)系統(tǒng)管理員的工作 主要包括角色的創(chuàng)建 權(quán)限的分配 網(wǎng)頁的安全性等 問題 數(shù)據(jù)管理模塊則主要包括產(chǎn)品管理對應(yīng)產(chǎn)品部門的工作 項目管理對應(yīng)與客戶交互的 過程 而訂單模塊則包含下單后的所有工作 包括了出貨和收匯工作 是跟單員 QC 主管 船務(wù) 單證員和財務(wù)的工作重點 具體功能分解如圖 1 所示 圖 1 數(shù)據(jù)管理平臺系統(tǒng)功能分解圖 進出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng) 系統(tǒng)管理模塊數(shù)據(jù)管理模塊 首 頁 產(chǎn) 品 管 理 項 目 管 理 樣 品 管 理 訂 單 管 理 出 貨 管 理 收 匯 管 理 3 32 1 2 系統(tǒng)界面說明 1 2 1 界面風(fēng)格說明 界面風(fēng)格說明如圖 2 所示 圖 2 界面風(fēng)格說明圖 頁面第一行 版本記錄 公司信息 定位 導(dǎo)航條 主體內(nèi)容 活動看板 4 32 1 2 2 列表頁面風(fēng)格 列表頁面風(fēng)格如圖 3 所示 圖 3 列表頁面風(fēng)格圖 1 2 3 明細頁面風(fēng)格 明細頁面風(fēng)格如圖 4 所示 圖 4 明細頁面風(fēng)格圖 查詢域 列表域 明細域 相關(guān)模塊 5 32 1 3 系統(tǒng)管理模塊 系統(tǒng)管理模塊是該數(shù)據(jù)管理平臺系統(tǒng)的框架基礎(chǔ)模塊 主要對應(yīng)的是系統(tǒng)管理員的工作 主要包括用戶管理和基礎(chǔ)數(shù)據(jù)的維護 功能分解如圖 5 所示 圖 5 系統(tǒng)管理功能分解圖 此模塊是本人此次畢業(yè)設(shè)計的重點 主要包括系統(tǒng)登陸后的權(quán)限問題 由于公司具有登 陸該系統(tǒng)賬號的員工眾多 根據(jù)公司要求 登陸此系統(tǒng)后必須根據(jù)職位不同 分工不同 分 配登陸人員不同的權(quán)限 例如 任何人員都有瀏覽通訊錄的權(quán)限 但只有管理員才有修改 編輯 刪除 新增通訊錄的權(quán)限 再例如 該系統(tǒng)的某些模塊具有一定的保密性 并不是所 有登陸人員都可以查看 甚至是修改 這些模塊只允許公司管理層的人員瀏覽 只允許更高 層人員修改 編輯 對于這些要求 為每個登陸賬號逐一分配權(quán)限是不可能的 那樣 工作 量將極為繁瑣 所以 必須根據(jù)公司的不同工種 不同職務(wù) 創(chuàng)建相應(yīng)的多種類型的角色 把符合員工職位 工種的角色分配給他們 這樣一來 就可以通過編輯角色的權(quán)限 來修改 一類員工的權(quán)限 事半功倍 而達到更好的登陸效果和管理效果 在角色權(quán)限上 主要分為四種模式 分別為查看 編輯 增加和刪除 又可以通過模塊 分為系統(tǒng)管理和數(shù)據(jù)管理兩大模塊 數(shù)據(jù)管理模塊又可以細分為首頁 產(chǎn)品管理 項目管理 樣品管理 訂單管理 出貨管理和收匯管理七個小模塊 方便角色的編輯查找工作 系統(tǒng)管理還涉及到一個網(wǎng)頁的安全性問題 即必須防止用戶通過在 IE 欄上敲入 URL 地 系統(tǒng)管理 用戶管理基礎(chǔ)數(shù)據(jù) 員 工 信 息 定 義 角 色 信 息 定 義 用 戶 角 色 分 配 模 塊 角 色 定 義 登 陸 注 銷 密 碼 修 改 操 作 日 志 部 門 設(shè) 置 資 料 國 家 地 區(qū) 信 息 客 戶 渠 道 信 息 6 32 址來訪問不可到達的相關(guān)網(wǎng)頁 以上提到的一系列問題將在系統(tǒng)管理模塊的設(shè)計與實現(xiàn)中從 技術(shù)性的角度一一解答 1 4 數(shù)據(jù)管理模塊 1 4 1 首頁 當(dāng)我們打開 IE 頁 進入該數(shù)據(jù)管理平臺系統(tǒng)時 我們首先將進入首頁模塊 而且在未 登陸之前 我們也只能始終停留在該模塊 未登陸之前 我們只允許瀏覽首頁模塊的幾個功 能小板塊 包括通訊錄和一些參考資料 功能分解如圖 6 所示 圖 6 首頁功能分解圖 1 4 2 產(chǎn)品管理 產(chǎn)品管理是數(shù)據(jù)管理平臺系統(tǒng)的核心基礎(chǔ)模塊 系統(tǒng)所有的業(yè)務(wù)都將基于它而建立 它 主要對應(yīng)的是產(chǎn)品部門的工作 主要包括產(chǎn)品管理 配件管理和消息管理 功能分解如圖 7 所示 首頁 公司信息參考資料 今 日 動 態(tài) 公 司 通 知 通 訊 錄 色 值 對 應(yīng) 世 界 時 間 國 際 區(qū) 號 單 位 換 算 域 名 對 照 7 32 圖 7 產(chǎn)品管理功能分解圖 1 4 3 項目管理 樣品管理 項目管理和樣品管理是該數(shù)據(jù)管理平臺系統(tǒng)的基礎(chǔ)業(yè)務(wù)模塊 對應(yīng)的是業(yè)務(wù)部門的日常 工作 它基于產(chǎn)品管理的數(shù)據(jù) 記錄與客戶的每一次交互信息 主要包括客戶管理 項目跟 蹤報價管理 樣品管理以及消息管理 它的功能分解如圖 8 所示 圖 8 項目管理 樣品管理功能分解圖 產(chǎn) 品 類 別 產(chǎn)品管理 產(chǎn)品明細管理配件管理消息管理 產(chǎn) 品 資 料 產(chǎn) 品 箱 規(guī) 配 件 類 別 價 格 查 詢 采 購 建 議 產(chǎn) 品 目 錄 配 件 資 料 供 應(yīng) 商 出 庫 單 生 產(chǎn) 計 劃 單 項目管理 客 戶 管 理 項 目 明 細 管 理 項 目 消 息 管 理 樣品管理 樣 品 明 細 管 理 寄 件 管 理 樣 品 消 息 管 理 8 32 1 4 4 訂單管理 出貨管理 收匯管理 訂單 出貨 收匯管理是該數(shù)據(jù)管理平臺系統(tǒng)中核心業(yè)務(wù)模塊 包含了所有的訂單處理 工作 根據(jù)訂單的工作流程 可將其分為 訂單 生產(chǎn) 出貨和收匯四個步驟 它的功能分 解如圖 9 所示 圖 9 訂單管理 出貨管理 收匯管理功能分解圖 訂單 出貨 收匯管理 單 證 管 理 訂 單 管 理 出 貨 貨 代 管 理 收 匯 管 理 消 息 管 理 9 32 第二章 項目相關(guān)技術(shù) 2 1 技術(shù)及配置簡介 系統(tǒng)采用 B S 結(jié)構(gòu) 后臺基于 SQL Server 2000 數(shù)據(jù)庫 前臺采用 ASP 開發(fā) 完成后的 系統(tǒng)將可在瀏覽器上完成絕大部分的數(shù)據(jù)顯示與操作 另外涉及到需要輸出的文檔均以文本 文件 郵件 Word 文檔或 Excel 文檔的形式 方便易用 除去輔助開發(fā)所需的一些工具軟件外 系統(tǒng)所需的軟件列表如表 1 軟件類型軟件名稱 應(yīng)用平臺 Windows 2000 Professional XP 數(shù)據(jù)庫軟件SQL Server 2000 IIS5 0 服務(wù)器 開發(fā)工具 UltraEdit 應(yīng)用平臺 Windows 2000 98 XP 客戶端 應(yīng)用軟件IE Office 系列 表 1系統(tǒng)組網(wǎng)軟件列表 ASP 開發(fā)中 采用 MVC 構(gòu)架 實現(xiàn)邏輯層與表示層的分離 2 2 關(guān)于選擇 ASP ASP Active Server Pages 動態(tài)網(wǎng)頁 是微軟公司推出的一種用以取代 CGI Common Gateway Interface 通用網(wǎng)關(guān)接口的技術(shù) 我們可以通過 ASP 結(jié)合 HTML 語言 ASP 指令和 ActiveX 元件以及數(shù)據(jù)庫等方面知識 使用自己的 Web 服務(wù)器創(chuàng)建并運行動態(tài)的交互式 Web 站點 ASP 的主要優(yōu)點大概可以歸納如下 1 您可以用 VBScript 或 JScript 創(chuàng)建腳本 同時結(jié)合 HTML 語言就能夠非常方便地完 成網(wǎng)站的應(yīng)用程序 對于 VBScript 和 JScript 使用哪種語言并不重要 Web 服務(wù)器等同 地處理這兩種語言 并向用戶的瀏覽器發(fā)送 HTML 格式化結(jié)果 10 32 2 因為 ASP 采用 Script 語言 VBScript 和 JScript 就可以輕松編寫程序 因此這就 大節(jié)省了網(wǎng)絡(luò)設(shè)計人員又得重新學(xué)習(xí)一種新語言的時間 而且編寫 ASP 無須手工 compile 編 譯或鏈接程序 可在服務(wù)器端直接執(zhí)行 這無疑是更加方便了我們的編寫過程 3 使用普通的使用記事本之類的文本編輯器 即可進行編輯設(shè)計 如 Windows 的記事 本 建議不要用 FontPage98 或 DreamWeaver2 0 等主頁制作軟件修改 因為他們會破壞源代 碼的 在這里我建議使用 CuteFTP 攜帶的 CuteHTML 編輯器進行編輯設(shè)計 4 ASP 是運行在服務(wù)器端 所以我們無須擔(dān)心瀏覽器是否支持 ASP 所使用的編程語言 用戶端只要使用可執(zhí)行 HTML 碼的瀏覽器 即可瀏覽 Active Server Pages 所設(shè)計的網(wǎng)頁內(nèi) 容 ASP 在服務(wù)器端運行 當(dāng)程序執(zhí)行完畢后 服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器 這樣也就減輕了客戶端瀏覽器的負擔(dān) 大大提高了交互的速度 5 ASP 能與任何 ActiveX scripting 語言相容 除了可用 VBScript 或 JScript 語言來 設(shè)計外 還通過 plug in 的方式 使用由第三方所提供的其他腳本語言 譬如 Perl Tcl 等 腳本引擎是處理腳本程序的 COM Component Object Model 組件 6 Active Server Pages 的程序代碼隱藏 在客戶端上僅可以看到由 ASP 輸出的動態(tài) HTML 文件 因而可以避免所寫的源程序被他人剽竊 也提高了程序的安全性 7 可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本 8 面向?qū)ο?Object oriented 并可擴展 ActiveX Server 組件功能 9 ActiveX Server Components ActiveX 服務(wù)器組件 具有無限可擴充性 你可以使用 任何編程語言來編寫你所需要的 ActiveX Server 組件 10 可以通過 ADO ActiveX Data Objects 微軟的一種新的數(shù)據(jù)訪問模型 是一種可以 提供 WEB 頁面開發(fā)者輕松存取 Internet 的數(shù)據(jù)庫 并可以在用戶端實現(xiàn)網(wǎng)上立即 即時更 新顯示的最新 WEB 頁面數(shù)據(jù)庫技術(shù) 非常方便地訪問數(shù)據(jù)庫 從而使存取數(shù)據(jù)庫變得輕松 容易 2 3 選擇 MVC 構(gòu)架 MVC 設(shè)計模式帶來更好的軟件結(jié)構(gòu)和代碼重用 模型 視圖 控制器 MVC 是 Xerox PARC 在八十年代為編程語言 Smalltalk 80 發(fā)明的一種軟件設(shè)計模式 至今已被廣 泛使用 模型 視圖 控制器模式是一個有用的工具箱 它有很多好處 但也有一些缺點 11 32 2 3 1 MVC 如何工作 MVC 是一個設(shè)計模式 它強制性的使應(yīng)用程序的輸入 處理和輸出分開 使用 MVC 應(yīng) 用程序被分成三個核心部件 模型 視圖 控制器 它們各自處理自己的任務(wù) 視圖是用戶看到并與之交互的界面 對老式的 Web 應(yīng)用程序來說 視圖就是由 HTML 元素組成的界面 在新式的 Web 應(yīng)用程序中 HTML 依舊在視圖中扮演著重要的角色 但 一些新的技術(shù)已層出不窮 它們包括 Macromedia Flash 和象 XHTML XML XSL WML 等一些標(biāo)識語言和 Web services 如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性 MVC 一個大的好處是它能為你的應(yīng)用 程序處理很多不同的視圖 在視圖中其實沒有真正的處理發(fā)生 不管這些數(shù)據(jù)是聯(lián)機存儲的 還是一個雇員列表 作為視圖來講 它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則 在 MVC 的三個部件中 模型擁有最多的處理任務(wù) 例 如它可能用象 EJBs 和 ColdFusion Components 這樣的構(gòu)件對象來處理數(shù)據(jù)庫 被模型返回 的數(shù)據(jù)是中立的 就是說模型與數(shù)據(jù)格式無關(guān) 這樣一個模型能為多個視圖提供數(shù)據(jù) 由于 應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用 所以減少了代碼的重復(fù)性 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求 所以當(dāng)單擊 Web 頁面中的 超鏈接和發(fā)送 HTML 表單時 控制器本身不輸出任何東西和做任何處理 它只是接收請求 并決定調(diào)用哪個模型構(gòu)件去處理請求 然后用確定用哪個視圖來顯示模型處理返回的數(shù)據(jù) 現(xiàn)在我們總結(jié) VC 的處理過程 首先控制器接收用戶的請求 并決定應(yīng)該調(diào)用哪個模 型來進行處理 然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù) 最后控制器用相應(yīng)的視 圖格式化模型返回的數(shù)據(jù) 并通過表示層呈現(xiàn)給用戶 2 3 2 為什么要使用 MVC 大部分 Web 應(yīng)用程序都是用像 ASP PHP 或者 CFML 這樣的過程化語言來創(chuàng)建的 它們 將像數(shù)據(jù)庫查詢語句這樣的數(shù)據(jù)層代碼和像 HTML 這樣的表示層代碼混在一起 經(jīng)驗比較豐 富的開發(fā)者會將數(shù)據(jù)從表示層分離開來 但這通常不是很容易做到的 它需要精心的計劃和 不斷的嘗試 MVC 從根本上強制性的將它們分開 盡管構(gòu)造 MVC 應(yīng)用程序需要一些額外的工 作 但是它給我們帶來的好處是無庸質(zhì)疑的 首先 最重要的一點是多個視圖能共享一個模型 正如我所提及的 現(xiàn)在需要用越來越 多的方式來訪問你的應(yīng)用程序 對此 其中一個解決之道是使用 MVC 無論你的用戶想要 12 32 Flash 界面或是 WAP 界面 用一個模型就能處理它們 由于你已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表 示層分開 所以你可以最大化的重用你的代碼了 由于模型返回的數(shù)據(jù)沒有進行格式化 所以同樣的構(gòu)件能被不同界面使用 例如 很多 數(shù)據(jù)可能用 HTML 來表示 但是它們也有可能要用 Macromedia Flash 和 WAP 來表示 模型也 有狀態(tài)管理和數(shù)據(jù)持久性處理的功能 例如 基于會話的購物車和電子商務(wù)過程也能被 Flash 網(wǎng)站或者無線聯(lián)網(wǎng)的應(yīng)用程序所重用 因為模型是自包含的 并且與控制器和視圖相分離 所以很容易改變你的應(yīng)用程序的數(shù) 據(jù)層和業(yè)務(wù)規(guī)則 如果你想把你的數(shù)據(jù)庫從 MySQL 移植到 Oracle 或者改變你的基于 RDBMS 數(shù)據(jù)源到 LDAP 只需改變你的模型即可 一旦你正確的實現(xiàn)了模型 不管你的數(shù)據(jù)來自數(shù) 據(jù)庫或是 LDAP 服務(wù)器 視圖將會正確的顯示它們 由于運用 MVC 的應(yīng)用程序的三個部件是 相互對立 改變其中一個不會影響其它兩個 所以依據(jù)這種設(shè)計思想你能構(gòu)造良好的松偶合 的構(gòu)件 對我來說 控制器的也提供了一個好處 就是可以使用控制器來聯(lián)接不同的模型和視圖 去完成用戶的需求 這樣控制器可以為構(gòu)造應(yīng)用程序提供強有力的手段 給定一些可重用的 模型和視圖 控制器可以根據(jù)用戶的需求選擇模型進行處理 然后選擇視圖將處理結(jié)果顯示 給用戶 2 3 3 MVC 的缺點 MVC 的缺點是由于它沒有明確的定義 所以完全理解 MVC 并不是很容易 使用 MVC 需要精心的計劃 由于它的內(nèi)部原理比較復(fù)雜 所以需要花費一些時間去思考 你將不得不花費相當(dāng)可觀的時間去考慮如何將 MVC 運用到你的應(yīng)用程序 同時由于模 型和視圖要嚴(yán)格的分離 這樣也給調(diào)試應(yīng)用程序到來了一定的困難 每個構(gòu)件在使用之前都 需要經(jīng)過徹底的測試 一旦你的構(gòu)件經(jīng)過了測試 你就可以毫無顧忌的重用它們了 根據(jù)我個人經(jīng)驗 由于我們將一個應(yīng)用程序分成了三個部件 所以使用 MVC 同時也意 味著你將要管理比以前更多的文件 這一點是顯而易見的 這樣好像我們的工作量增加了 但是請記住這比起它所能帶給我們的好處是不值一提 MVC 并不適合小型甚至中等規(guī)模的應(yīng)用程序 花費大量時間將 MVC 應(yīng)用到規(guī)模并不是 很大的應(yīng)用程序通常會得不償失 13 32 2 3 4 MVC 是一條創(chuàng)建軟件的好途徑 MVC 設(shè)計模式是一個很好創(chuàng)建軟件的途徑 它所提倡的一些原則 像內(nèi)容和顯示互相分 離可能比較好理解 但是如果你要隔離模型 視圖和控制器的構(gòu)件 你可能需要重新思考你 的應(yīng)用程序 尤其是應(yīng)用程序的構(gòu)架方面 如果你肯接受 MVC 并且有能力應(yīng)付它所帶來的 額外的工作和復(fù)雜性 MVC 將會使你的軟件在健壯性 代碼重用和結(jié)構(gòu)方面上一個新的臺階 14 32 第三章 系統(tǒng)管理模塊的設(shè)計與實現(xiàn) 3 1 員工 用戶信息的表設(shè)計 首先 必須考慮員工 用戶的信息問題 因此 設(shè)計 Employee 表如表 2 所示 表名 Employee 字段 英文名中文名類型非空備注 ID 用戶 ID IntY 主鍵 系統(tǒng)自動生成 ID 號 與表 Employee Role 的 Employee id 相關(guān) 聯(lián) Company ID 公司 ID Int 1 表示恒好公司 2 表示榮興達工廠 Dept ID 部門 ID Int Duty 職務(wù) Varchar 50 Respon 職責(zé) Varchar 250 UID 登陸 ID Varchar 20 不一定要填寫 CN Name 姓名 Varchar 20 EN Name 英文名 Varchar 20 Phone 電話號碼 Varchar 20 Ext 分機號 Varchar 5 XLTPhone 小靈通號碼 Varchar 20 Mobile 手機號 Varchar 20 Email 電子郵件 Varchar 50 IP IP 地址 Varchar 16 Stmt PWD 密碼 2 Varchar 20 密碼 2 PWD 登陸密碼 Varchar 20 系統(tǒng)登陸用的密碼 6 20 位 Dscp 備注 Varchar 250 表 2 Employee 表的設(shè)計表格 此表在系統(tǒng)管理模塊的用戶帳號上和首頁模塊的通訊錄上使用 需要注意的是 通訊錄 上只有對該表進行瀏覽的權(quán)限 而在用戶帳號上 則具備查看 編輯 新增和刪除權(quán)限 15 32 3 2 角色的表設(shè)計 考慮到角色信息問題 設(shè)計 Role 表如表 3 所示 表名 Role 字段 英文名中文名類型非空備注 ID 角色 ID IntY 主鍵 系統(tǒng)自動生成 ID 號 與表 Role Permission 的 Role id 相關(guān) 聯(lián) Name 角色名稱 Varchar 20 Y Dscp 備注 Varchar 250 表 3 Role 表的設(shè)計表格 3 3 權(quán)限的表設(shè)計 考慮到權(quán)限信息問題 設(shè)計 Permission 表如表 4 所示 表名 Permission 字段 英文名中文名類型非空描述 ID 許可權(quán)限 ID IntY 主鍵 系統(tǒng)自動生成 ID 號 Name 許可權(quán)限名稱 Varchar 150 Y Privilege Type 權(quán)限類型 ID IntY 包括四種權(quán)限 1 查看 2 編輯 3 添加 4 刪除 Pattern Type 模塊類型 ID IntY 包括八種模塊 1 首頁 2 產(chǎn)品管理 3 項目管理 4 樣品管理 5 訂單管 理 6 出貨管理 7 收匯管理 8 系 統(tǒng)管理 Dscp 描述 Varchar 250 表 4 Permission 表的設(shè)計表格 該系統(tǒng)建立之初 提供一個系統(tǒng)管理員的角色 并把該角色分配給某個用戶 即管理員 管理員角色具有使用該系統(tǒng)的所有功能的權(quán)限 并且 只有具備管理員角色的用戶才能進行 系統(tǒng)維護工作 使用者可以根據(jù)需要 附給某個用戶 即管理員該角色的權(quán)限 然后通過此 用戶登陸系統(tǒng) 建立各種角色 根據(jù)工種的不同 職位的高低需要附給各種角色不同類型的 權(quán)限 再把新建立的角色根據(jù)需要附給與其職位高低 工種類型相匹配的的用戶使用 達到 16 32 不同的管理目的 該系統(tǒng)的權(quán)限分為四大類 具體為查看權(quán)限 編輯權(quán)限 添加權(quán)限和刪除權(quán)限 此外 權(quán)限還可以通過另外一種模式分類 具體方法是該系統(tǒng)一共有八個模塊 于是所有權(quán)限便可 以通過分屬于不同模塊而分為八大模塊 例如 部門資料查看權(quán)限 它屬于查看權(quán)限 編 輯權(quán)限 添加權(quán)限和刪除權(quán)限四大類中的查看權(quán)限 又可以通過系統(tǒng)一共有八個模塊的分類 方法 屬于系統(tǒng)管理模塊的權(quán)限 3 4 用戶與角色的表設(shè)計 如何把用戶表和角色表關(guān)聯(lián)起來 這里 我們需要創(chuàng)建這么一張表格 如表 5 所示 表名 Employee Role 字段 英文名中文名類型非空描述 IDIDIntY 主鍵 系統(tǒng)自動生成 ID 號 Employee ID 用戶 ID Int Role ID 角色 ID Int 表 5 Employee Role 表的設(shè)計表格 如此 表 Employee 的字段 ID 和表 Employee Role 的字段 Employee ID 均表示用戶的 ID 號 具備唯一性 彼此相關(guān)聯(lián) 表 Role 的字段 ID 和表 Employee Role 的字段 Role ID 均 表示角色的 ID 號 彼此相關(guān)聯(lián) 這樣 通過 Employee Role 表 把 Employee 表和 Role 表 緊密地結(jié)合在一起 如圖 10 所示 圖 10 3 5 角色與權(quán)限的表設(shè)計 如何把角色表和權(quán)限表關(guān)聯(lián)起來 這里 我們需要創(chuàng)建這么一張表格 如表 6 所示 表名 Role Permission 字段 Employee Role Employee ID Role ID Employee ID 其他字段 Role ID 其他字段 17 32 英文名中文名類型非空描述 IDIDIntY 主鍵 系統(tǒng)自動生成 ID 號 Role ID 角色 ID Int Perm ID 許可權(quán)限 ID Int 表 6 Role Permission 表的設(shè)計表格 如此表所示 表 Role 的字段 ID 與表 Role Permission 的字段 Role ID 均表示角色的 ID 號碼 彼此相關(guān)聯(lián) 表 Permission 的字段 ID 與表 Role Permission 的字段 Perm ID 均表示角 色的 ID 號碼 彼此相關(guān)聯(lián) 如此 通過 Role Permission 表 就可以把 Role 表和 Permission 表緊密地結(jié)合在一起了 如圖 11 所示 圖 11 3 6 用戶 角色與權(quán)限 通過添加 Employee Role 與 Role Pemission 這兩張表格 于是 我們將 Employee 表 Role 表和 Permission 表有機的結(jié)合在一塊 這五張表格互相配合 便形成了系統(tǒng)管理模塊用 戶權(quán)限系統(tǒng)的基礎(chǔ) 下面 將詳細介紹一下如何添加一個具有某種角色的用戶 首先 我們應(yīng)該新增加一個角色類型 圖 11 角色列表圖 Role Permission Role ID Perm ID Role ID 其他字段 Permission ID 其他字段 18 32 如圖 11 所示 我們點擊新增 將彈出以下窗口 如圖 12 寫入角色名 點擊保存 圖 12 角色編輯圖 例如 我們新增加了一個普通瀏覽權(quán)限的角色 在圖 11 的角色名欄中就會出現(xiàn)這么一個角 色名稱 我們雙擊它 便如圖 13 所示 圖 13 角色明細列表圖 于是我們可以通過權(quán)限類型 或者通過權(quán)限所屬模塊 更或者直接敲入所需要查找的權(quán)限名 稱的查找 找到自己所需要的權(quán)限 這些權(quán)限將在權(quán)限名稱一欄一一列出來 我們可以通過 在左邊的小框打勾 進行一個權(quán)限或者多個權(quán)限的同時添加 接下來是我們要做的是增加一個新用戶的信息工作 19 32 圖 14 用戶信息列表圖 如圖 14 所示 這是用戶信息的列表 我們可以點擊新增按鈕 便彈出如圖 15 所示 圖 15 用戶信息編輯圖之一 20 32 將所有信息一一輸入后 點擊保存 此時我們便增加完一位新的用戶信息 返回圖 14 所示 窗口 例如我們新增的員工名稱為簡樹良 我們雙擊他的名字 進入圖 16 頁面 圖 16 用戶信息編輯圖之二 現(xiàn)在 可以考慮增加該用戶的角色了 點擊圖 16 的新增按鈕 如圖 17 所示 圖 17 用戶信息角色編輯圖 選中所需要的角色 點擊增加 即可 若之前已經(jīng)增加過的角色則不會在圖 17 的角色名稱 列表欄上面出現(xiàn) 避免重復(fù)和不必要的麻煩 21 32 3 7 系統(tǒng)管理模塊的其他要點 第一 我們在編輯用戶信息的用戶登陸名時 加入了一段驗證代碼 用于從數(shù)據(jù)庫檢驗 是否此登陸名此前已經(jīng)被使用過 若無使用過 則可以成功添加 否則 會有提示 請重新 輸入 通過這樣來確保用戶登陸名的唯一性 但在此前 則是考慮使用的是在數(shù)據(jù)庫表 Employee 上加以用戶登陸名字段的唯一性 確實 如此做法較為方便 但一旦用戶輸入輸 入了重復(fù)的登陸名 雖然在結(jié)果上是和現(xiàn)在的方法是一樣的 既無法成功添加 但是 在系 統(tǒng)的提示效果上卻較為不人性化 運用先前的解決方法 提示出錯是一些較為專業(yè)的出錯提 示 由數(shù)據(jù)庫系統(tǒng)自動完成 而運用后者 則會彈出一提示框 提示出錯和出錯緣由 顯然 后者較為妥當(dāng) 這也是我們開發(fā)研究系統(tǒng)今后必須加以注意的地方 第二 關(guān)于密碼的輸入問題 我們仿效了一般的網(wǎng)站注冊程序一樣 必須先后兩次輸入 一樣的密碼 才可以成功保存 如此可以減少不必要的麻煩 第三 關(guān)于用戶的角色和角色的權(quán)限的編輯問題 我們新增用戶角色的時候 不應(yīng)該把 所有的角色全部列在列表欄上面 應(yīng)該在這個列表的 SQL 語句上加入一些限定 即應(yīng)該把該 用戶本身已經(jīng)具備的角色排除在列表欄外 以避免重復(fù)的添加 同樣的問題也出現(xiàn)在角色的 權(quán)限編輯上 也必須加以注意 第四 注意到圖 5 的密碼 2 了嗎 根據(jù)客戶的要求 一個用戶必須具備兩套密碼 當(dāng)使 用不同密碼登陸時 他所具備的角色應(yīng)該是不同的 換句話說 當(dāng)使用密碼 1 登陸時 該用 戶應(yīng)該具備他的用戶信息欄里面所選擇的角色 但使用第二套密碼登陸時 即任何用戶使用 密碼 2 登陸時 應(yīng)該具備一個統(tǒng)一的角色 但是登陸框的提示登陸名還必須是使用者本人 于是 本人想到了 是否可以在創(chuàng)建一個用戶 A 他只具備密碼 1 他的角色就是使用第 2 套 密碼登陸系統(tǒng)后所應(yīng)該具備的角色 而任何人若使用第 2 套密碼登陸系統(tǒng) 便相當(dāng)于此人使 用第 1 套密碼登陸 但登陸名則要顯示為使用第 2 套密碼登陸的人的登陸名 如圖 18 所示 22 32 圖 18 密碼 1 和密碼 2 的登陸差別圖 見以下這段代碼 1 FUNCTION LOGIN 2DIM UID 3DIM PWD 4DIM SQL 5 6UID REQUEST LOGINID 7PWD REQUEST LOGINPW 8 9SESSION USER ID 10SESSION DENGLUMING 11 12SQL SELECT COUNT FROM EMPLOYEE WHERE UID SQLSTR UID AND STMT PWD SQLSTR PWD 13 14IF CINT SQLSELECTONEFIELD SQL 0 THEN 15 16 SESSION USER ID 2 17 SESSION DENGLUMING UID 18 LOGIN TRUE 19 20ELSE 21 SQL SELECT COUNT FROM EMPLOYEE WHERE UID SQLSTR UID AND PWD SQLSTR PWD 22 23 IF CINT SQLSELECTONEFIELD SQL 0 THEN 24 用 戶 登 陸 使用第 1 套密碼 正常登陸 使用第 2 套密碼 登陸 記住登陸名 相當(dāng)于 A 用戶使用第 1 套 密碼登陸系統(tǒng) 提示框所顯示的登陸名為使 用第 2 套密碼登陸的用戶的 登陸名 23 32 25 SQL SELECT ID FROM EMPLOYEE WHERE UID SQLSTR UID AND PWD SQLSTR PWD 26 SESSION USER ID SQLSELECTONEFIELD SQL 27 SESSION DENGLUMING UID 28 LOGIN TRUE 29 30 ELSE 31 SESSION DENGLUMING 32 LOGIN FALSE 33 END IF 34END IF 35END FUNCTION 第 12 行代碼表示首先判斷是否輸入的密碼為第 2 套密碼 第 14 18 行表示判斷是否使用第 2 套密碼登陸 若是 則記住登陸名 系統(tǒng)認(rèn)為是 A 用 戶登陸 顯示記住的登陸名 若否 則繼續(xù)往下 第 19 29 行表示判斷是否使用第 1 套密碼的登陸 若是 則正常登陸 若否 則繼續(xù) 第 30 35 行表示若用戶名和密碼均不匹配 則函數(shù)返回 False 提示登陸出錯框 第五 關(guān)于防止通過在 IE 欄上輸入 URL 地址而進入使用者不具備查看權(quán)限的網(wǎng)頁 根 據(jù)顧客的要求 為了防止某些用戶通過其他途徑得到某些重要的而自己又不具備訪問權(quán)限的 網(wǎng)頁地址 通過在 IE 欄上面敲入 URL 地址 進入這些重要頁面 本人考慮在 utils asp 中加 入兩個驗證函數(shù) 通過該函數(shù)的調(diào)用已完成客戶的需求 首先 我們進入任何頁面之前 必 須先登陸系統(tǒng) 每個頁面在被訪問前 都會調(diào)用系統(tǒng)是否被登陸的驗證函數(shù) 若系統(tǒng)未被登 陸 頁面將始終停留在登陸頁面上 接下來 登陸系統(tǒng)后 我們在訪問任何頁面之前 頁面 還會調(diào)用另外一個驗證函數(shù) 判斷該用戶是否有查看該部分頁面的權(quán)限 還記得我們的權(quán)限 分類上有這么一種分類嗎 就是根據(jù)權(quán)限的類型分為查看 編輯 增加和刪除 查看的權(quán)限 就是在這個時候起作用的 試想一下 若你連查看的權(quán)限都沒有 怎么有辦法去進行編輯 增加和刪除呢 我們的權(quán)限分得很細 具體到了八個模塊的下一級下拉菜單部分 舉例說明 某個用戶的具有的角色里包含了系統(tǒng)管理模塊的用戶帳號的查看權(quán)限 不具備系統(tǒng)管理模塊 的角色資料的任何權(quán)限 那么當(dāng)他點擊系統(tǒng)管理頁面時 下拉菜單欄只有用戶帳號的一欄 而沒有出現(xiàn)角色資料一欄 你可以通過鼠標(biāo)點擊用戶帳號 對用戶帳號進行查看 而你卻無 法通過鼠標(biāo)點擊角色資料一欄進行查看 因為這一

溫馨提示

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

最新文檔

評論

0/150

提交評論