

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p> (科研訓(xùn)練、畢業(yè)設(shè)計)</p><p> 題 目:進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)</p><p><b> 姓 名:</b></p><p> 學(xué) 院:軟件學(xué)院</p><p><
2、;b> 系:</b></p><p> 專 業(yè):軟件工程</p><p><b> 年 級: </b></p><p><b> 學(xué) 號:</b></p><p> 指導(dǎo)教師(校內(nèi)): 職稱: </p><
3、p> 指導(dǎo)教師(校外): 職稱:</p><p><b> 年 月 日</b></p><p> 進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)</p><p> [摘要] 進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)包含了兩大模塊的設(shè)計,1是系統(tǒng)管理模塊,2 是數(shù)據(jù)管理模塊,數(shù)據(jù)管理模塊又包含首頁、產(chǎn)品管理、項目管理、樣品
4、管理、訂單管理、出貨管理和收匯管理。通過對該數(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)邏輯層與表示層的分離。通過
5、對該系統(tǒng)的研究,形成一套針對于中小型,貿(mào)易型公司的數(shù)據(jù)管理平臺的開發(fā)思路與模式。開發(fā)過程中形成高復(fù)用性模塊,以加速今后類似數(shù)據(jù)管理平臺的開發(fā)速度與質(zhì)量。</p><p> [關(guān)鍵詞] ASP MVC B/S 數(shù)據(jù)管理 系統(tǒng)管理</p><p> Data Management Platform System of</p><p> Trading Co
6、mpany of Imports and Exports</p><p> [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 man
7、agement 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
8、 of this data management platform system , organize a large number of data of the company effectively, realize </p><p> [keywords] ASP MVC B/S Data Management System Management</p><p><
9、b> 目錄</b></p><p><b> 引言1</b></p><p> 第一章 項目概述2</p><p> 1.1項目總體介紹2</p><p><b> 1.2界面說明3</b></p><p> 1.2.1界面風(fēng)格說明3
10、</p><p> 1.2.2列表頁面風(fēng)格4</p><p> 1.2.3明細(xì)頁面風(fēng)格4</p><p> 1.3系統(tǒng)管理模塊5</p><p> 1.4數(shù)據(jù)管理模塊6</p><p> 1.4.1 首頁6</p><p> 1.4.2 產(chǎn)品管理6</p>
11、<p> 1.4.3 項目管理,樣品管理7</p><p> 1.4.4 訂單管理,出貨管理, 收匯管理8</p><p> 第二章 項目相關(guān)技術(shù)9</p><p> 2.1 技術(shù)及配置簡介9</p><p> 2.2 關(guān)于選擇ASP9</p><p> 2.3 選擇MVC架構(gòu)10&
12、lt;/p><p> 2.3.1 MVC如何工作11</p><p> 2.3.2 為什么要使用 MVC11</p><p> 2.3.3 MVC的缺點12</p><p> 2.3.4 MVC是一條創(chuàng)建軟件的好途徑13</p><p> 第三章 系統(tǒng)管理模塊的設(shè)計與實現(xiàn)14</p>&
13、lt;p> 3.1 員工,用戶信息的表設(shè)計14</p><p> 3.2 角色的表設(shè)計15</p><p> 3.3 權(quán)限的表設(shè)計15</p><p> 3.4 用戶與角色的表設(shè)計16</p><p> 3.5 角色與權(quán)限的表設(shè)計16</p><p> 3.6 用戶,角色與權(quán)限17<
14、/p><p> 3.7 關(guān)于系統(tǒng)管理模塊21</p><p><b> 結(jié)論25</b></p><p><b> 致謝26</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 引言</b>
15、;</p><p> 為某進(jìn)出口貿(mào)易公司設(shè)計一套統(tǒng)一的數(shù)據(jù)管理平臺系統(tǒng),以加強(qiáng)數(shù)據(jù)共享,提高工作效率,為公司決策提高量化數(shù)據(jù)。以改變該公司現(xiàn)有的以文件級共享為基礎(chǔ),大量手工操作為方法的低效信息共享方式。</p><p> 該數(shù)據(jù)管理平臺主要涵蓋系統(tǒng)管理模塊與數(shù)據(jù)管理模塊。通過系統(tǒng)管理模塊,可提供對不同用戶的訪問權(quán)限控制。通過數(shù)據(jù)管理模塊,可實現(xiàn)對客戶與項目信息,訂單、收匯及出貨信息,以
16、及產(chǎn)品與樣品信息的實時跟蹤與自動化管理。</p><p> 該數(shù)據(jù)管理平臺系統(tǒng)可很大程度上加快信息交流速度與信息共享質(zhì)量,從而提高公司工作效率。</p><p> 通過對該數(shù)據(jù)管理平臺系統(tǒng)的設(shè)計與開發(fā),有效組織公司的大量數(shù)據(jù),實現(xiàn)辦公的自動化,繼而實現(xiàn)公司信息管理的系統(tǒng)化。通過對該系統(tǒng)的研究,形成一套針對于中小型,貿(mào)易型公司的數(shù)據(jù)管理平臺的開發(fā)思路與模式。開發(fā)過程中形成高復(fù)用性模塊,以
17、加速今后類似數(shù)據(jù)管理平臺的開發(fā)速度與質(zhì)量。</p><p><b> 第一章 項目概述</b></p><p> 1.1 項目總體介紹</p><p> 該數(shù)據(jù)管理平臺主要涵蓋了系統(tǒng)管理模塊(由本人獨立完成)與數(shù)據(jù)管理模塊(協(xié)同小組成員共同完成)。根據(jù)公司的業(yè)務(wù)特點與業(yè)務(wù)流程,數(shù)據(jù)管理模塊又可以具體細(xì)分為:首頁、產(chǎn)品管理、項目管理、樣品
18、管理、訂單管理、出貨管理和收匯管理等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所示。</p><p> 圖1 數(shù)據(jù)管理平臺系統(tǒng)功能分解圖</p
19、><p><b> 1.2系統(tǒng)界面說明</b></p><p> 1.2.1界面風(fēng)格說明</p><p> 界面風(fēng)格說明如圖2 所示。</p><p> 圖2 界面風(fēng)格說明圖</p><p> 1.2.2列表頁面風(fēng)格</p><p> 列表頁面風(fēng)格如圖3所示。&l
20、t;/p><p> 圖3 列表頁面風(fēng)格圖</p><p> 1.2.3明細(xì)頁面風(fēng)格</p><p> 明細(xì)頁面風(fēng)格如圖4所示。</p><p> 圖4 明細(xì)頁面風(fēng)格圖</p><p> 1.3 系統(tǒng)管理模塊</p><p> 系統(tǒng)管理模塊是該數(shù)據(jù)管理平臺系統(tǒng)的框架基礎(chǔ)模塊,主要對應(yīng)的
21、是系統(tǒng)管理員的工作,主要包括用戶管理和基礎(chǔ)數(shù)據(jù)的維護(hù),功能分解如圖5所示。</p><p> 圖5 系統(tǒng)管理功能分解圖</p><p> 此模塊是本人此次畢業(yè)設(shè)計的重點,主要包括系統(tǒng)登陸后的權(quán)限問題,由于公司具有登陸該系統(tǒng)賬號的員工眾多,根據(jù)公司要求,登陸此系統(tǒng)后必須根據(jù)職位不同,分工不同,分配登陸人員不同的權(quán)限,例如,任何人員都有瀏覽通訊錄的權(quán)限,但只有管理員才有修改,編輯,刪除,
22、新增通訊錄的權(quán)限;再例如,該系統(tǒng)的某些模塊具有一定的保密性,并不是所有登陸人員都可以查看,甚至是修改,這些模塊只允許公司管理層的人員瀏覽,只允許更高層人員修改,編輯。對于這些要求,為每個登陸賬號逐一分配權(quán)限是不可能的,那樣,工作量將極為繁瑣,所以,必須根據(jù)公司的不同工種,不同職務(wù),創(chuàng)建相應(yīng)的多種類型的角色,把符合員工職位,工種的角色分配給他們。這樣一來,就可以通過編輯角色的權(quán)限,來修改一類員工的權(quán)限,事半功倍,而達(dá)到更好的登陸效果和管理
23、效果。</p><p> 在角色權(quán)限上,主要分為四種模式,分別為查看,編輯,增加和刪除;又可以通過模塊分為系統(tǒng)管理和數(shù)據(jù)管理兩大模塊,數(shù)據(jù)管理模塊又可以細(xì)分為首頁、產(chǎn)品管理、項目管理、樣品管理、訂單管理、出貨管理和收匯管理七個小模塊,方便角色的編輯查找工作。</p><p> 系統(tǒng)管理還涉及到一個網(wǎng)頁的安全性問題,即必須防止用戶通過在IE欄上敲入URL地址來訪問不可到達(dá)的相關(guān)網(wǎng)頁,以上
24、提到的一系列問題將在系統(tǒng)管理模塊的設(shè)計與實現(xiàn)中從技術(shù)性的角度一一解答。</p><p> 1.4 數(shù)據(jù)管理模塊</p><p><b> 1.4.1 首頁</b></p><p> 當(dāng)我們打開IE頁,進(jìn)入該數(shù)據(jù)管理平臺系統(tǒng)時,我們首先將進(jìn)入首頁模塊,而且在未登陸之前,我們也只能始終停留在該模塊。未登陸之前,我們只允許瀏覽首頁模塊的幾個功能
25、小板塊,包括通訊錄和一些參考資料,功能分解如圖6所示。</p><p> 圖6 首頁功能分解圖</p><p> 1.4.2 產(chǎn)品管理</p><p> 產(chǎn)品管理是數(shù)據(jù)管理平臺系統(tǒng)的核心基礎(chǔ)模塊,系統(tǒng)所有的業(yè)務(wù)都將基于它而建立。它主要對應(yīng)的是產(chǎn)品部門的工作,主要包括產(chǎn)品管理、配件管理和消息管理,功能分解如圖7所示。</p><p>
26、 圖7 產(chǎn)品管理功能分解圖</p><p> 1.4.3 項目管理,樣品管理</p><p> 項目管理和樣品管理是該數(shù)據(jù)管理平臺系統(tǒng)的基礎(chǔ)業(yè)務(wù)模塊,對應(yīng)的是業(yè)務(wù)部門的日常工作。它基于產(chǎn)品管理的數(shù)據(jù),記錄與客戶的每一次交互信息,主要包括客戶管理、項目跟蹤報價管理,樣品管理以及消息管理,它的功能分解如圖8所示。</p><p> 圖8 項目管理,樣品管理功能
27、分解圖</p><p> 1.4.4 訂單管理,出貨管理, 收匯管理</p><p> 訂單,出貨,收匯管理是該數(shù)據(jù)管理平臺系統(tǒng)中核心業(yè)務(wù)模塊,包含了所有的訂單處理工作。根據(jù)訂單的工作流程,可將其分為:訂單、生產(chǎn)、出貨和收匯四個步驟,它的功能分解如圖9所示。</p><p> 圖9 訂單管理,出貨管理,收匯管理功能分解圖</p><p&g
28、t; 第二章 項目相關(guān)技術(shù)</p><p> 2.1 技術(shù)及配置簡介</p><p> 系統(tǒng)采用B/S結(jié)構(gòu),后臺基于SQL Server 2000數(shù)據(jù)庫,前臺采用ASP開發(fā),完成后的系統(tǒng)將可在瀏覽器上完成絕大部分的數(shù)據(jù)顯示與操作,另外涉及到需要輸出的文檔均以文本文件、郵件、Word文檔或Excel文檔的形式,方便易用。</p><p> 除去輔助開發(fā)所需的
29、一些工具軟件外,系統(tǒng)所需的軟件列表如表1:</p><p> 表 1系統(tǒng)組網(wǎng)軟件列表</p><p> ASP開發(fā)中,采用MVC構(gòu)架,實現(xiàn)邏輯層與表示層的分離。</p><p> 2.2 關(guān)于選擇ASP</p><p> ASP(Active Server Pages)動態(tài)網(wǎng)頁,是微軟公司推出的一種用以取代CGI(Common Ga
30、teway Interface)通用網(wǎng)關(guān)接口的技術(shù)。我們可以通過ASP結(jié)合HTML語言、ASP指令和ActiveX元件以及數(shù)據(jù)庫等方面知識,使用自己的 Web 服務(wù)器創(chuàng)建并運行動態(tài)的交互式 Web 站點。ASP的主要優(yōu)點大概可以歸納如下:</p><p> 1、您可以用 VBScript 或JScript創(chuàng)建腳本,同時結(jié)合HTML語言就能夠非常方便地完成網(wǎng)站的應(yīng)用程序。對于 VBScript和JScript,使
31、用哪種語言并不重要,Web 服務(wù)器等同地處理這兩種語言,并向用戶的瀏覽器發(fā)送 HTML 格式化結(jié)果。</p><p> 2、因為ASP采用Script語言(VBScript和JScript)就可以輕松編寫程序,因此這就大節(jié)省了網(wǎng)絡(luò)設(shè)計人員又得重新學(xué)習(xí)一種新語言的時間。而且編寫ASP無須手工compile編譯或鏈接程序,可在服務(wù)器端直接執(zhí)行,這無疑是更加方便了我們的編寫過程。</p><p&g
32、t; 3、使用普通的使用記事本之類的文本編輯器,即可進(jìn)行編輯設(shè)計,如:Windows的記事本。建議不要用FontPage98或DreamWeaver2.0等主頁制作軟件修改,因為他們會破壞源代碼的。在這里我建議使用CuteFTP攜帶的CuteHTML編輯器進(jìn)行編輯設(shè)計。</p><p> 4、ASP是運行在服務(wù)器端,所以我們無須擔(dān)心瀏覽器是否支持ASP所使用的編程語言,用戶端只要使用可執(zhí)行HTML碼的瀏覽器,
33、即可瀏覽Active Server Pages所設(shè)計的網(wǎng)頁內(nèi)容。ASP在服務(wù)器端運行,當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。</p><p> 5、ASP能與任何ActiveX scripting語言相容。除了可用VBScript或JScript語言來設(shè)計外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如Perl、Tc
34、l等。腳本引擎是處理腳本程序的COM(Component Object Model)組件。</p><p> 6、Active Server Pages的程序代碼隱藏,在客戶端上僅可以看到由ASP輸出的動態(tài)HTML文件。因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。</p><p> 7、可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。</p><p>
35、8、面向?qū)ο螅∣bject oriented),并可擴(kuò)展ActiveX Server組件功能。</p><p> 9、ActiveX Server Components(ActiveX服務(wù)器組件)具有無限可擴(kuò)充性。你可以使用任何編程語言來編寫你所需要的ActiveX Server 組件。</p><p> 10、可以通過ADO(ActiveX Data Objects,微軟的一種新的數(shù)
36、據(jù)訪問模型,是一種可以提供WEB頁面開發(fā)者輕松存取Internet的數(shù)據(jù)庫,并可以在用戶端實現(xiàn)網(wǎng)上立即、即時更新顯示的最新WEB頁面數(shù)據(jù)庫技術(shù)。)非常方便地訪問數(shù)據(jù)庫,從而使存取數(shù)據(jù)庫變得輕松容易。</p><p> 2.3 選擇MVC構(gòu)架</p><p> MVC設(shè)計模式帶來更好的軟件結(jié)構(gòu)和代碼重用。模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smallta
37、lk-80發(fā)明的一種軟件設(shè)計模式,至今已被廣泛使用。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。</p><p> 2.3.1 MVC如何工作</p><p> MVC是一個設(shè)計模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。</p><p> 視圖
38、是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Web services.</p><p> 如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的
39、視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。</p><p> 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由
40、于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。</p><p> 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后用確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。</p><p> 現(xiàn)在我們總結(jié)MVC的處理過程,首先控
41、制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。</p><p> 2.3.2 為什么要使用 MVC</p><p> 大部分Web應(yīng)用程序都是用像ASP,PHP,或者CFML這樣的過程化語言來創(chuàng)建的。它們將像數(shù)據(jù)庫查詢語句這樣的數(shù)據(jù)層代碼和像HTML這樣的表示層代碼
42、混在一起。經(jīng)驗比較豐富的開發(fā)者會將數(shù)據(jù)從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強(qiáng)制性的將它們分開。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質(zhì)疑的。</p><p> 首先,最重要的一點是多個視圖能共享一個模型,正如我所提及的,現(xiàn)在需要用越來越多的方式來訪問你的應(yīng)用程序。對此,其中一個解決之道是使用MVC,無論你的用戶想要Flash界面
43、或是 WAP 界面;用一個模型就能處理它們。由于你已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,所以你可以最大化的重用你的代碼了。</p><p> 由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是它們也有可能要用Macromedia Flash和WAP來表示。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會話的購物車和電子商務(wù)過程也能被Flash網(wǎng)站或者無線聯(lián)
44、網(wǎng)的應(yīng)用程序所重用。</p><p> 因為模型是自包含的,并且與控制器和視圖相分離,所以很容易改變你的應(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)用程序的三個部件是相互對立,改變其中一個不會影響其它兩個
45、,所以依據(jù)這種設(shè)計思想你能構(gòu)造良好的松偶合的構(gòu)件。</p><p> 對我來說,控制器的也提供了一個好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。</p><p> 2.3.3 MVC的缺點</p><
46、;p> MVC的缺點是由于它沒有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費一些時間去思考。</p><p> 你將不得不花費相當(dāng)可觀的時間去考慮如何將MVC運用到你的應(yīng)用程序,同時由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序到來了一定的困難。每個構(gòu)件在使用之前都需要經(jīng)過徹底的測試。一旦你的構(gòu)件經(jīng)過了測試,你就可以毫無顧忌的重用它們了。
47、</p><p> 根據(jù)我個人經(jīng)驗,由于我們將一個應(yīng)用程序分成了三個部件,所以使用MVC同時也意味著你將要管理比以前更多的文件,這一點是顯而易見的。這樣好像我們的工作量增加了,但是請記住這比起它所能帶給我們的好處是不值一提。</p><p> MVC并不適合小型甚至中等規(guī)模的應(yīng)用程序,花費大量時間將MVC應(yīng)用到規(guī)模并不是很大的應(yīng)用程序通常會得不償失。</p><p&
48、gt; 2.3.4 MVC是一條創(chuàng)建軟件的好途徑</p><p> MVC設(shè)計模式是一個很好創(chuàng)建軟件的途徑,它所提倡的一些原則,像內(nèi)容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構(gòu)件,你可能需要重新思考你的應(yīng)用程序,尤其是應(yīng)用程序的構(gòu)架方面。如果你肯接受MVC,并且有能力應(yīng)付它所帶來的額外的工作和復(fù)雜性,MVC將會使你的軟件在健壯性,代碼重用和結(jié)構(gòu)方面上一個新的臺階。</p>
49、<p> 第三章 系統(tǒng)管理模塊的設(shè)計與實現(xiàn)</p><p> 3.1 員工,用戶信息的表設(shè)計</p><p> 首先,必須考慮員工,用戶的信息問題,因此,設(shè)計Employee表如表2所示,</p><p> 表2 Employee表的設(shè)計表格</p><p> 此表在系統(tǒng)管理模塊的用戶帳號上和首頁模塊的通訊錄上使用
50、,需要注意的是,通訊錄上只有對該表進(jìn)行瀏覽的權(quán)限,而在用戶帳號上,則具備查看,編輯,新增和刪除權(quán)限。</p><p> 3.2 角色的表設(shè)計</p><p> 考慮到角色信息問題,設(shè)計Role表如表3所示,</p><p> 表3 Role表的設(shè)計表格</p><p><b> 3.3權(quán)限的表設(shè)計</b><
51、;/p><p> 考慮到權(quán)限信息問題,設(shè)計Permission表如表4所示,</p><p> 表4 Permission表的設(shè)計表格</p><p> 該系統(tǒng)建立之初,提供一個系統(tǒng)管理員的角色,并把該角色分配給某個用戶,即管理員。管理員角色具有使用該系統(tǒng)的所有功能的權(quán)限,并且,只有具備管理員角色的用戶才能進(jìn)行系統(tǒng)維護(hù)工作。使用者可以根據(jù)需要,附給某個用戶,即管
52、理員該角色的權(quán)限。然后通過此用戶登陸系統(tǒng),建立各種角色,根據(jù)工種的不同,職位的高低需要附給各種角色不同類型的權(quán)限,再把新建立的角色根據(jù)需要附給與其職位高低,工種類型相匹配的的用戶使用,達(dá)到不同的管理目的。</p><p> 該系統(tǒng)的權(quán)限分為四大類,具體為查看權(quán)限,編輯權(quán)限,添加權(quán)限和刪除權(quán)限。此外,權(quán)限還可以通過另外一種模式分類,具體方法是該系統(tǒng)一共有八個模塊,于是所有權(quán)限便可以通過分屬于不同模塊而分為八大模塊
53、。例如,“部門資料查看權(quán)限”,它屬于查看權(quán)限,編輯權(quán)限,添加權(quán)限和刪除權(quán)限四大類中的查看權(quán)限;又可以通過系統(tǒng)一共有八個模塊的分類方法,屬于系統(tǒng)管理模塊的權(quán)限。</p><p> 3.4 用戶與角色的表設(shè)計</p><p> 如何把用戶表和角色表關(guān)聯(lián)起來,這里,我們需要創(chuàng)建這么一張表格,如表5所示,</p><p> 表5 Employee_Role表的設(shè)計表
54、格</p><p> 如此,表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所示。</p><p><
55、b> 圖10</b></p><p> 3.5 角色與權(quán)限的表設(shè)計</p><p> 如何把角色表和權(quán)限表關(guān)聯(lián)起來,這里,我們需要創(chuàng)建這么一張表格,如表6所示,</p><p> 表6 Role_Permission表的設(shè)計表格</p><p> 如此表所示,表Role的字段ID與表Role_Permission
56、的字段Role_ID均表示角色的ID 號碼,彼此相關(guān)聯(lián);表Permission的字段ID與表Role_Permission的字段Perm_ID均表示角色的ID號碼,彼此相關(guān)聯(lián)。如此,通過Role_Permission表,就可以把Role表和Permission表緊密地結(jié)合在一起了,如圖11所示。</p><p><b> 圖11</b></p><p> 3.6
57、用戶,角色與權(quán)限</p><p> 通過添加Employee_Role與Role_Pemission這兩張表格,于是,我們將Employee表,Role表和Permission表有機(jī)的結(jié)合在一塊,這五張表格互相配合,便形成了系統(tǒng)管理模塊用戶權(quán)限系統(tǒng)的基礎(chǔ)。</p><p> 下面,將詳細(xì)介紹一下如何添加一個具有某種角色的用戶。</p><p> 首先,我們應(yīng)該
58、新增加一個角色類型,</p><p> 圖11 角色列表圖</p><p> 如圖11所示,我們點擊新增,將彈出以下窗口,如圖12,寫入角色名,點擊保存</p><p> 圖12 角色編輯圖</p><p> 例如,我們新增加了一個普通瀏覽權(quán)限的角色,在圖11的角色名欄中就會出現(xiàn)這么一個角色名稱。我們雙擊它,便如圖13所示<
59、/p><p> 圖13 角色明細(xì)列表圖</p><p> 于是我們可以通過權(quán)限類型,或者通過權(quán)限所屬模塊,更或者直接敲入所需要查找的權(quán)限名稱的查找,找到自己所需要的權(quán)限,這些權(quán)限將在權(quán)限名稱一欄一一列出來,我們可以通過在左邊的小框打勾,進(jìn)行一個權(quán)限或者多個權(quán)限的同時添加。</p><p> 接下來是我們要做的是增加一個新用戶的信息工作,</p>&
60、lt;p> 圖14 用戶信息列表圖</p><p> 如圖14所示,這是用戶信息的列表,我們可以點擊新增按鈕,便彈出如圖15 所示,</p><p> 圖15 用戶信息編輯圖之一</p><p> 將所有信息一一輸入后,點擊保存,此時我們便增加完一位新的用戶信息,返回圖14所示窗口,例如我們新增的員工名稱為簡樹良,我們雙擊他的名字,進(jìn)入圖16 頁面
61、</p><p> 圖16 用戶信息編輯圖之二</p><p> 現(xiàn)在,可以考慮增加該用戶的角色了,點擊圖16的新增按鈕,如圖17所示</p><p> 圖17 用戶信息角色編輯圖</p><p> 選中所需要的角色,點擊增加,即可。若之前已經(jīng)增加過的角色則不會在圖17的角色名稱列表欄上面出現(xiàn),避免重復(fù)和不必要的麻煩。</p
62、><p> 3.7 系統(tǒng)管理模塊的其他要點</p><p> 第一,我們在編輯用戶信息的用戶登陸名時,加入了一段驗證代碼,用于從數(shù)據(jù)庫檢驗是否此登陸名此前已經(jīng)被使用過,若無使用過,則可以成功添加,否則,會有提示,請重新輸入。通過這樣來確保用戶登陸名的唯一性。但在此前,則是考慮使用的是在數(shù)據(jù)庫表Employee上加以用戶登陸名字段的唯一性,確實,如此做法較為方便,但一旦用戶輸入輸入了重復(fù)的登
63、陸名,雖然在結(jié)果上是和現(xiàn)在的方法是一樣的,既無法成功添加,但是,在系統(tǒng)的提示效果上卻較為不人性化,運用先前的解決方法,提示出錯是一些較為專業(yè)的出錯提示,由數(shù)據(jù)庫系統(tǒng)自動完成;而運用后者,則會彈出一提示框,提示出錯和出錯緣由,顯然后者較為妥當(dāng),這也是我們開發(fā)研究系統(tǒng)今后必須加以注意的地方。</p><p> 第二,關(guān)于密碼的輸入問題,我們仿效了一般的網(wǎng)站注冊程序一樣,必須先后兩次輸入一樣的密碼,才可以成功保存,如
64、此可以減少不必要的麻煩。</p><p> 第三,關(guān)于用戶的角色和角色的權(quán)限的編輯問題,我們新增用戶角色的時候,不應(yīng)該把所有的角色全部列在列表欄上面,應(yīng)該在這個列表的SQL語句上加入一些限定,即應(yīng)該把該用戶本身已經(jīng)具備的角色排除在列表欄外,以避免重復(fù)的添加,同樣的問題也出現(xiàn)在角色的權(quán)限編輯上,也必須加以注意。</p><p> 第四,注意到圖5 的密碼2了嗎?根據(jù)客戶的要求,一個用戶必
65、須具備兩套密碼,當(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套密碼登陸,但
66、登陸名則要顯示為使用第2套密碼登陸的人的登陸名。如圖18所示,</p><p> 圖18 密碼1和密碼2的登陸差別圖</p><p><b> 見以下這段代碼:</b></p><p> 1 Function Login()</p><p> 2Dim UID</p><p>
67、3Dim PWD</p><p> 4Dim sql</p><p><b> 5</b></p><p> 6UID = Request("LoginID")</p><p> 7PWD = Request("LoginPW")</p>&l
68、t;p><b> 8</b></p><p> 9Session("User_ID") = ""</p><p> 10Session("dengLuMing") = ""</p><p><b> 11</b></
69、p><p> 12sql = "SELECT COUNT(*) FROM Employee Where UID = " & SQLStr(UID) & " AND Stmt_PWD=" & SQLStr(PWD)</p><p><b> 13</b></p><p> 1
70、4If CInt(SQLSelectOneField(sql)) > 0 Then</p><p><b> 15</b></p><p> 16 Session("User_ID") = "2"</p><p> 17 Session("dengLuMing&qu
71、ot;) = UID</p><p> 18 Login = True</p><p><b> 19 </b></p><p><b> 20Else</b></p><p> 21 sql = "SELECT COUNT(*) FROM Employ
72、ee Where UID = " & SQLStr(UID) & " AND PWD=" & SQLStr(PWD)</p><p><b> 22 </b></p><p> 23 If CInt(SQLSelectOneField(sql)) > 0 Then</p&g
73、t;<p><b> 24 </b></p><p> 25 sql = "SELECT ID FROM Employee Where UID = " & SQLStr(UID) & " AND PWD=" & SQLStr(PWD)</p><p> 26
74、 Session("User_ID") = SQLSelectOneField(sql)</p><p> 27 Session("dengLuMing") = UID</p><p> 28 Login = True</p><p><b> 29
75、</b></p><p> 30 Else</p><p> 31 Session("dengLuMing") = ""</p><p> 32 Login = False</p><p> 33 End If</p&
76、gt;<p> 34End if</p><p> 35End Function</p><p> 第12行代碼表示首先判斷是否輸入的密碼為第2套密碼</p><p> 第14-18行表示判斷是否使用第2套密碼登陸,若是,則記住登陸名,系統(tǒng)認(rèn)為是A用戶登陸,顯示記住的登陸名;若否,則繼續(xù)往下</p><p
77、> 第19-29行表示判斷是否使用第1套密碼的登陸,若是,則正常登陸,若否,則繼續(xù)</p><p> 第30-35行表示若用戶名和密碼均不匹配,則函數(shù)返回False,提示登陸出錯框。</p><p> 第五,關(guān)于防止通過在IE欄上輸入URL地址而進(jìn)入使用者不具備查看權(quán)限的網(wǎng)頁。根據(jù)顧客的要求,為了防止某些用戶通過其他途徑得到某些重要的而自己又不具備訪問權(quán)限的網(wǎng)頁地址,通過在IE
78、欄上面敲入URL地址,進(jìn)入這些重要頁面,本人考慮在utils.asp中加入兩個驗證函數(shù),通過該函數(shù)的調(diào)用已完成客戶的需求。首先,我們進(jìn)入任何頁面之前,必須先登陸系統(tǒng),每個頁面在被訪問前,都會調(diào)用系統(tǒng)是否被登陸的驗證函數(shù),若系統(tǒng)未被登陸,頁面將始終停留在登陸頁面上;接下來,登陸系統(tǒng)后,我們在訪問任何頁面之前,頁面還會調(diào)用另外一個驗證函數(shù),判斷該用戶是否有查看該部分頁面的權(quán)限,還記得我們的權(quán)限分類上有這么一種分類嗎?就是根據(jù)權(quán)限的類型分為查
79、看,編輯,增加和刪除,查看的權(quán)限就是在這個時候起作用的。試想一下,若你連查看的權(quán)限都沒有,怎么有辦法去進(jìn)行編輯,增加和刪除呢?我們的權(quán)限分得很細(xì),具體到了八個模塊的下一級下拉菜單部分。舉例說明,某個用戶的具有的角色里包含了系統(tǒng)管理模塊的用戶帳號的查看權(quán)限,不具備系統(tǒng)管理模塊的角色資料的任何權(quán)限,那么當(dāng)他點擊系統(tǒng)管理頁面時,下拉菜單欄只有用戶帳號的一欄,而沒有出現(xiàn)角色資料一欄,你可</p><p> 以下是關(guān)于兩
80、個驗證函數(shù)的代碼</p><p> 1Sub CheckPagePrivilege</p><p> 2Dim strPageURL</p><p> 3Dim PrivilegeCode</p><p><b> 4Dim I</b></p><p> 5Dim Cu
81、rrMenuItem </p><p> 6Dim bMatched</p><p> 7Dim AMenuDefine</p><p> 8Dim TargetRef</p><p><b> 9</b></p><p> 10'如果還沒有登陸系統(tǒng)則首先重定
82、位到首頁</p><p> 11If (Session("User_ID") = "") And (MyRequest("NoLogin") <> "True") Then</p><p> 12Response.Redirect("/?NoLogin=True")
83、'后面增加一個?NoLogin=True是為了避免在首頁循環(huán)的重定位。</p><p> 13End If</p><p><b> 14</b></p><p> 15PrivilegeCode = ""</p><p> 16strPageURL = Request
84、.ServerVariables("URL")</p><p><b> 17</b></p><p> 18AMenuDefine = Left_Menu_Define</p><p> 19bMatched = False</p><p> 20For I = LBound(
85、AMenuDefine) To UBound(AMenuDefine) </p><p> 21CurrMenuItem = Split(Replace(Replace(AMenuDefine(I), " ", ""), "", ""), "|")</p><p> 22
86、PrivilegeCode = CurrMenuItem(2)</p><p> 23TargetRef = CurrMenuItem(3)</p><p> 24If UCase(TargetRef) = UCase(strPageURL) Then </p><p> 25bMatched = True</p>&
87、lt;p> 26Exit For</p><p> 27End If</p><p><b> 28Next</b></p><p> 29End Sub</p><p> 1sub CheckURL(PrivilegeCheckTemp)</p><p>&
88、lt;b> 2 </b></p><p> 3 if (not(PrivilegeCheckTemp)) Then</p><p><b> 4 </b></p><p> 5 Response.Redirect("../Privilege_Error.asp")<
89、/p><p><b> 6</b></p><p> 7 end If</p><p><b> 8end sub</b></p><p><b> 結(jié)論</b></p><p> 進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)的建設(shè)是一個繁雜的過程,我
90、們經(jīng)歷了需求分析階段,深入的調(diào)查了貿(mào)易公司的各種需求。制定了進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)的前景文檔,系統(tǒng)概要設(shè)計說明書,需求規(guī)格說明書,詳細(xì)設(shè)計說明書,系統(tǒng)表說明等一系列文檔。嚴(yán)格按照軟件工程的思想進(jìn)行設(shè)計,使我們增加了對開發(fā)一個實際項目的認(rèn)識,充實了所學(xué)的知識。</p><p> 在整個系統(tǒng)的開發(fā)設(shè)計中,我們遇到了許多困難,通過互聯(lián)網(wǎng)、相關(guān)書籍的查詢和老師的幫助,都一一解決了。通過此次畢業(yè)設(shè)計,我們進(jìn)一步的
91、掌握了ASP的技術(shù),加深了對SQL Server 2000的理解和使用,也豐富了我對軟件工程的認(rèn)識,加強(qiáng)了與他人的團(tuán)隊合作精神。由于此次設(shè)計的時間較為倉促,還存在著許多功能性的問題,必須進(jìn)一步加以改善。</p><p><b> 致謝</b></p><p> 此次進(jìn)出口貿(mào)易公司數(shù)據(jù)管理平臺系統(tǒng)的畢業(yè)設(shè)計能夠順利的完成,我要衷心的感謝老師,她為我們的設(shè)計提供了各種
92、詳盡的資料,提供給此次設(shè)計所需要的各種實驗設(shè)備和器材,提供給我們許多寶貴的指導(dǎo)意見,在我們遇到困難時也能及時給與我們幫助;我還要感謝我們的組長和其他小組成員,林銘,趙偉,肖凱,當(dāng)我在遇到問題的時候,大家都能及時幫助我解決問題,與他們的這次畢業(yè)設(shè)計的合作令人十分愉快;最后,我還要感謝在這兩年的學(xué)習(xí)生活中,所有關(guān)心過我,幫助過我的老師和同學(xué)們,謝謝大家。</p><p><b> 參考文獻(xiàn):</b&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何注冊進(jìn)出口貿(mào)易公司
- 進(jìn)出口貿(mào)易公司程序文件
- 某進(jìn)出口貿(mào)易公司業(yè)務(wù)數(shù)據(jù)管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- J進(jìn)出口貿(mào)易公司出口業(yè)務(wù)流程優(yōu)化.pdf
- 進(jìn)出口貿(mào)易國際結(jié)算成本研究——基于SZ公司進(jìn)出口貿(mào)易.pdf
- 進(jìn)出口貿(mào)易題庫
- 進(jìn)出口貿(mào)易答案
- 進(jìn)出口貿(mào)易詞匯
- 畢業(yè)論文-經(jīng)濟(jì)對中國進(jìn)出口貿(mào)易的影響
- 農(nóng)業(yè)進(jìn)出口貿(mào)易論文,張亞川的畢業(yè)論文
- 進(jìn)出口貿(mào)易流程[1]
- 進(jìn)出口貿(mào)易實務(wù)教程
- 進(jìn)出口貿(mào)易操作流程
- 進(jìn)出口貿(mào)易題庫-精品
- 進(jìn)出口貿(mào)易復(fù)習(xí)(整理)
- 進(jìn)出口貿(mào)易實務(wù)題庫
- 我國進(jìn)出口貿(mào)易研究
- 進(jìn)出口貿(mào)易操作流程
- 進(jìn)出口貿(mào)易實務(wù)教案
- 哈爾濱億鑫進(jìn)出口貿(mào)易公司經(jīng)營戰(zhàn)略研究.pdf
評論
0/150
提交評論