版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 題 目 公司資源共享管理系統(tǒng) </p><p> 學(xué)院(部) 信息科學(xué)與技術(shù)學(xué)院 </p><p> 專 業(yè) 軟件工程 </p><p> 學(xué)生姓名
2、 </p><p> 學(xué) 號 年級 </p><p> 指導(dǎo)教師 職稱 </p><p> 年 月 日</p><p> 公司資源共享管理系統(tǒng)</p><p> 摘要:由于信息化社會的來臨
3、,公司在正常運營的過程中會產(chǎn)生大量的電子資源,這些資源往往會零散地分布在每個職員的計算機之中,這樣就會造成共享困難和難以查找的問題。因此對電子資源進行有效的管理和共享具有十分重要的市場意義。本文在已有的資源管理系統(tǒng)的基礎(chǔ)上,著重研究了如何使用計算機技術(shù)對電子資源進行管理和共享,并且采用微軟的ASP.NET技術(shù)和SQL Server數(shù)據(jù)庫,開發(fā)了一個基于B/S架構(gòu)的公司資源共享管理系統(tǒng)。該系統(tǒng)具有資源進行上傳、下載,分類管理,資源權(quán)限控制
4、,系統(tǒng)權(quán)限控制和系統(tǒng)管理的功能。在系統(tǒng)試運行的過程中,用戶可以方便的分享和管理自己的文檔,并且可以輕松地訪問權(quán)限范圍之內(nèi)其他用戶的文檔,從而愉快地完成資源相關(guān)的工作,取得了非常好的效果,具有較好的市場預(yù)期。</p><p> 關(guān)鍵詞:公司;資源管理;共享;權(quán)限</p><p> Resource Management and Sharing System for Corporation
5、</p><p> Abstract: As information society comes, there will be a lot of electronic resources when the company is operating. These resources which tend to be left in every staff’s computer, are difficult to
6、be found and shared. Therefore, effective management and sharing mechanism for electronic resources have important market significance. On the basis of present system, this paper deals with the study of how to manage and
7、 share electronic resources with computer science. And a system based on the B/S st</p><p> Key Words: Corporation; Resource Management; Authorization; Sharing</p><p><b> 目 錄</b>&l
8、t;/p><p><b> 緒論1</b></p><p> 第1章 開發(fā)技術(shù)基礎(chǔ)3</p><p> 1.1 .NET技術(shù)簡介3</p><p> 1.2 .NET技術(shù)的應(yīng)用4</p><p> 1.2.1 Web開發(fā)技術(shù)ASP.NET4</p><p>
9、 1.2.2 數(shù)據(jù)庫訪問技術(shù)ADO.NET4</p><p> 1.3 開發(fā)環(huán)境Visual Studio 簡介5</p><p> 1.4 數(shù)據(jù)庫系統(tǒng) SQL Server5</p><p> 第2章 需求分析6</p><p> 2.1 特性需求分析6</p><p> 2.2 公司資源共享基
10、本過程6</p><p> 2.3 數(shù)據(jù)流程分析7</p><p> 2.4 系統(tǒng)用例圖8</p><p> 2.5 功能需求分析8</p><p> 第3章 概要設(shè)計10</p><p> 3.1 開發(fā)方法10</p><p> 3.2 體系結(jié)構(gòu)設(shè)計10</p&
11、gt;<p> 3.2.1 體系結(jié)構(gòu)簡述10</p><p> 3.2.2 體系結(jié)構(gòu)的選擇11</p><p> 3.3 實體聯(lián)系圖12</p><p> 3.4 系統(tǒng)功能劃分13</p><p> 第4章 詳細設(shè)計14</p><p> 4.1 數(shù)據(jù)庫設(shè)計14</p>
12、<p> 4.1.1 數(shù)據(jù)庫關(guān)系圖14</p><p> 4.1.2 物理結(jié)構(gòu)設(shè)計15</p><p> 4.2 主要模塊設(shè)計17</p><p> 4.2.1 文件管理17</p><p> 4.2.2 查看共享18</p><p> 4.2.3 用戶管理20</p>
13、<p> 4.2.4 權(quán)限管理21</p><p> 第5章 系統(tǒng)的實現(xiàn)23</p><p> 5.1 開發(fā)工具和運行環(huán)境23</p><p> 5.2 主要模塊關(guān)鍵代碼和界面23</p><p> 5.2.1 個人中心23</p><p> 5.2.2 個人信息24</p&
14、gt;<p> 5.2.3 文件管理25</p><p> 5.2.4 查看共享26</p><p> 5.2.5 用戶管理27</p><p> 5.2.6 權(quán)限管理28</p><p> 5.2.7 系統(tǒng)管理29</p><p> 第6章 系統(tǒng)測試30</p>&
15、lt;p> 6.1 測試的基本概念30</p><p> 6.2 功能測試30</p><p> 6.2.1 文件管理30</p><p> 6.2.2 查看共享31</p><p> 6.2.3 用戶管理31</p><p> 6.2.4 權(quán)限管理32</p><p&
16、gt; 6.3 安全性測試32</p><p> 6.3.1 用戶登錄體系32</p><p> 6.3.2 資源體系33</p><p> 6.3.3 權(quán)限體系33</p><p> 6.4 非功能測試34</p><p> 6.5 測試情況總結(jié)34</p><p>&
17、lt;b> 結(jié)論35</b></p><p><b> 致謝36</b></p><p><b> 參考文獻37</b></p><p><b> 緒論</b></p><p><b> 研究背景</b></p>
18、;<p> 資源是一個公司生存的源泉,它通常是公司外來的和集體智慧的結(jié)晶。它通常在公司進行決策或者開發(fā)項目時提供依據(jù)和資料。而資源管理則是公司在運營和經(jīng)驗總結(jié)過程中的一項重要的工作,為公司的高效運行提供最堅實的基礎(chǔ)。</p><p> 傳統(tǒng)的資源管理主要是建立在紙質(zhì)文檔的基礎(chǔ)上的,紙質(zhì)文檔不僅需要耗費大量的紙張資源,而且整理、歸類、查閱等都比較復(fù)雜,不能使管理者和使用者協(xié)調(diào)地運行。另外有些文檔并
19、不是機密,文檔的擁有者和開發(fā)者都有共享和閱讀的意愿,當(dāng)使用傳統(tǒng)的資源管理方式,就無形中為資源的共享設(shè)置了一道障礙。</p><p> 由于信息化社會的來臨,我們會擁有越來越多的電子類資源,比如照片、電子文檔、一些重要的表格信息。特別在一個公司里面,有些資料是公司共有的,而不是存于某個人的電腦里面,否則,一旦該人出走,或者電腦出問題,那么造成的損失將是無法估計的。</p><p> 因此
20、,本文在對基于Web架構(gòu)的公司資源共享管理系統(tǒng)的研究和實現(xiàn)中,以資源管理作為該系統(tǒng)的核心理念,將共享的理念貫穿在系統(tǒng)的每個角落,探索將網(wǎng)絡(luò)、計算機和資源互動的新模式。</p><p><b> 研究意義</b></p><p> 資源管理是管理學(xué)方法下的對資源進行管理的活動,即以管理學(xué)的思想作為基本方法,通過收集、整理、歸類、儲存的過程,對紛繁復(fù)雜的資源進行管理的
21、一種活動。隨著公司的做大做強,原本簡單的資源管理活動變得愈加復(fù)雜,尤其是在電子文檔越來越普及的情況下,企業(yè)必須對資源進行高效的管理。另外,為了滿足資源的每個所有者和所有潛在的閱讀者的需求,將共享精神貫穿于管理的過程中,不僅可以提高每個用戶的效率,更重要的是能夠通過最快捷的資源溝通增強公司的核心競爭力。因此對基于Web的公司資源管理系統(tǒng)進行研究,具有十分重要的意義。</p><p><b> 主要工作&
22、lt;/b></p><p> 隨著公司將電子資源作為一項基礎(chǔ)工程來做,資源管理系統(tǒng)逐步得到各個公司的青睞。在計算機技術(shù)和計算機網(wǎng)絡(luò)技術(shù)的發(fā)展的基礎(chǔ)上,資源管理系統(tǒng)也朝著一些新的方向發(fā)展。在深入調(diào)查國內(nèi)外研究現(xiàn)狀的基礎(chǔ)上,運用C#.NET,ASP.NET和ADO.NET等技術(shù),研究基于Web技術(shù)的公司共享資源管理系統(tǒng)的實現(xiàn)。</p><p> 為此,我主要做了以下工作:</
23、p><p> 研究管理學(xué)的基本思想和基本方法,結(jié)合資源管理和計算機的特點,設(shè)計出基本的流程和系統(tǒng)體系,建立資源管理系統(tǒng)的設(shè)計的理論基礎(chǔ)。</p><p> 調(diào)查目前企業(yè)已經(jīng)投入運行的系統(tǒng),對系統(tǒng)的設(shè)計、優(yōu)缺點做比較透徹的分析,以便為公司資源共享管理系統(tǒng)提供現(xiàn)實依據(jù)。</p><p> 根據(jù)前項工作的成果,在結(jié)合計算機的基本設(shè)計思路的基礎(chǔ)上,進行公司資源共享管理系統(tǒng)
24、的體系結(jié)構(gòu)設(shè)計,制定開發(fā)方法和實現(xiàn)的技術(shù),并對系統(tǒng)進行需求分析和數(shù)據(jù)流程分析。</p><p> 用以往的經(jīng)驗作為實現(xiàn)該系統(tǒng)的基礎(chǔ),在較為高效開發(fā)的基礎(chǔ)上,探索和研究一些新的技術(shù)和方法,以便讓系統(tǒng)變得更為純熟。</p><p> 在開發(fā)完成后,及時總結(jié)開發(fā)過程中遇到的問題、解決思路和最終的解決方法,并且將開發(fā)后比較成熟的組件抽象出來,以便作為組件提供給以后的項目使用。</p>
25、;<p><b> 研究內(nèi)容</b></p><p> 本文第一章主要闡述了該系統(tǒng)所使用的開發(fā)技術(shù).NET Framework。在開發(fā)系統(tǒng)的過程中,我不斷地的復(fù)習(xí)并且回憶以前所學(xué)的知識,旨在從本質(zhì)上理解.NET技術(shù)的精髓。</p><p> 而本文第二章主要是對產(chǎn)品的需求進行分析。先是定義了產(chǎn)品的非功能需求,緊接著分析了公司資源管理的基本過程,再用
26、數(shù)據(jù)流圖分析以上流程。然后再從用戶的角度使用用例圖挖掘用戶的需求,并且形成該系統(tǒng)的功能模塊圖。</p><p> 第三章就進入了系統(tǒng)的設(shè)計階段。開始時先確定系統(tǒng)的體系結(jié)構(gòu),并且根據(jù)需求分析所確定的需求產(chǎn)生實體聯(lián)系圖;接著根據(jù)需求分析所得到的模塊圖,對每個模塊做子模塊的劃分,得到比較具體的系統(tǒng)功能模塊圖。</p><p> 接著第四章就根據(jù)概要設(shè)計對其進行展開,詳細的描述每一個模塊的具體
27、設(shè)計思路和算法。到此,設(shè)計階段就結(jié)束了,然后就進入了產(chǎn)品的實現(xiàn)和測試階段,這一部分將在第5章和第6章中進行介紹。</p><p> 最后就是本文的結(jié)論,它是對這個系統(tǒng)開發(fā)過程的總結(jié)和思考。</p><p><b> 開發(fā)技術(shù)基礎(chǔ)</b></p><p><b> .NET技術(shù)簡介</b></p><
28、;p> Microsoft發(fā)布的.NET Framework簡稱為.NET,是支持生成和運行下一代應(yīng)用程序和Web服務(wù)的內(nèi)部Windows組件,它提供了執(zhí)行環(huán)境托管的、簡化的開發(fā)和部署以及與各種編程語言的集成功能。.NET不僅僅是一種語言,它是開發(fā)語言、開發(fā)工具、開發(fā)框架和服務(wù)器架構(gòu)的集合。</p><p> 具體的來講,由符合公共語言規(guī)范的開發(fā)語言(VB.NET,C#,VC++.NET,J#)進行編程
29、,然后生成中間代碼MSIL(微軟中間語言代碼),這樣就構(gòu)成了.NET的語言體系。開發(fā)環(huán)境包括VS.NET和.NET Framework組成。而在服務(wù)器端,.NET提供了安全的大規(guī)模的.NET應(yīng)用程序開發(fā)平臺,用戶可以使用Windows Server 服務(wù)器、Windows.NET 服務(wù)器和.NET企業(yè)版服務(wù)器作為服務(wù)的基礎(chǔ)平臺。.NET具有以下特性:</p><p> ?。?)支持分布式計算。使用它可以開發(fā)C/S
30、架構(gòu)應(yīng)用程序、多線程應(yīng)用程序和遠程的Web服務(wù)。</p><p> ?。?)全新的組件技術(shù)。傳統(tǒng)的COM組件是非托管對象,不需要.NET Framework即可直接運行,而.NET框架組件是托管對象,由.NET框架進行托管運行,更加方便、安全。</p><p> ?。?)為企業(yè)級的服務(wù)提供優(yōu)化支持,如事務(wù)、安全性、池等概念。</p><p> ?。?)Web規(guī)范轉(zhuǎn)換
31、。如從TCP/IP的連通級到HTML的展示級,再到XML或SOAP的可編程級的規(guī)范的轉(zhuǎn)換;通過Web進行方法或者函數(shù)的共享也體現(xiàn)了此特性。</p><p> ?。?)成熟的開發(fā)模式。.NET支持大規(guī)模的企業(yè)級的應(yīng)用程序和Web應(yīng)用程序,具有較強的互動性、可用性、安全性和可管理型。</p><p> .NET Framework平臺主要由操作系統(tǒng)、.NET服務(wù)器、.NET服務(wù)、.NET框架
32、和Visual Studio.NET開發(fā)環(huán)境五個部分組成。而.NET應(yīng)用程序又分為控制臺應(yīng)用程序、類庫、智能客戶端的Windows應(yīng)用程序、Web應(yīng)用程序、Windows服務(wù)應(yīng)用程序、Web服務(wù)應(yīng)用程序、智能設(shè)備應(yīng)用程序和安裝部署項目組成。</p><p> .NET Framework的具體結(jié)構(gòu)如圖1-1所示。公共語言運行時CLR(Common Language Runtime)負責(zé)系統(tǒng)的執(zhí)行,在此基礎(chǔ)之上是
33、框架類庫FCL(Framework Class Library)和基類庫BCL(Basic Class Library),然后接著就是基于擴展標(biāo)記語言XML(Extensive Makeup Language)的數(shù)據(jù)訪問。再往上是各種應(yīng)用程序,如上面所提到的XML Web服務(wù)程序、Windows窗體程序和Web窗體程序。在最頂層是關(guān)于語言的一些模式,在公共語言規(guī)范的支持下,可以使用VB、C++、C#和J#作為開發(fā)語言。</p>
34、;<p> 公共語言運行時的編譯和執(zhí)行過程。首先源代碼經(jīng)過語言編譯器會編譯成微軟中間語言代碼MSIL,它包括代碼和元數(shù)據(jù),在安裝或者是方法首次調(diào)用時就進入了執(zhí)行過程;執(zhí)行程序時,運用執(zhí)行編譯器JIT(Just-In-Time)編譯器將中間代碼解釋為本地機器碼然后執(zhí)行。若與JAVA作對比,MSIL就相當(dāng)于JAVA的字節(jié)碼,而JIT就相當(dāng)于JAVA的虛擬機,比JAVA略勝一籌在于MSIL支持多種語言,以便具有不同語言習(xí)慣的開
35、發(fā)者更容易的進入開發(fā)狀態(tài);而JAVA的優(yōu)勢在于,它具有支持Windows、Linux等不同系統(tǒng)的虛擬機,可以輕易的實現(xiàn)跨平臺的移植,.NET理論上可以支持在Linux上運行,但由于微軟的操作系統(tǒng)戰(zhàn)略,官方的版本只支持在Windows平臺上運行。</p><p> 圖11 .NET框架結(jié)構(gòu)圖</p><p><b> .NET技術(shù)的應(yīng)用</b></p>
36、<p> Web開發(fā)技術(shù)ASP.NET</p><p> ASP.NET是建立在微軟新一代.NET平臺架構(gòu)上,利用公共語言運行時CLS在服務(wù)器后端為用戶提供建立強大的企業(yè)級Web應(yīng)用服務(wù)的編程框架。</p><p> ASP.NET與ASP的主要區(qū)別在于前者是編譯(Compile)執(zhí)行,而后者是解釋(Interpret)執(zhí)行,前者比后者有更高的效率。實際上我們可以把AS
37、P.NET的執(zhí)行過程看作是編譯后的普通語言運行時代碼充當(dāng)一個和前端瀏覽器和中間件用戶交互的應(yīng)用程序,它接受用戶的請求,輸出HTML流到客戶端顯示。除此之外,ASP.NET還可以利用.NET平臺架構(gòu)的諸多優(yōu)越性能,如類型安全,對XML,SOAP, WSDL等Internet標(biāo)準(zhǔn)的強健支持。</p><p> ASP.NET的執(zhí)行過程是這樣的:當(dāng)我們通過瀏覽器向服務(wù)器發(fā)起請求時,首先是因特網(wǎng)信息服務(wù)器IIS(Int
38、ernet Information Server)收到請求,在IIS判斷請求的是一個aspx頁面之后,便將該請求交給ASP.NET ISAPI(ASP.NET互聯(lián)網(wǎng)服務(wù)器應(yīng)用程序接口)。但是ASP.NET ISAPI并不負責(zé)處理請求,它只是簡單地將請求交給進程aspnet_wp.exe,并且對該進程進行監(jiān)視??梢杂卸鄠€aspnet_wp.exe進程并行執(zhí)行,當(dāng)一個進程負載較大時,ISAPI會將新的請求交給另一個aspnet_wp.exe
39、進行處理。請求在該進程中是通過HTTP管道進行處理的,就像生產(chǎn)的流水線,最終生成一個aspx頁面,而該頁面的表達方式就是具有aspx風(fēng)格的html頁面,并且返回給用戶。</p><p> 數(shù)據(jù)庫訪問技術(shù)ADO.NET</p><p> ADO.NET 是一組向 .NET 程序員公開數(shù)據(jù)訪問服務(wù)的類。ADO.NET 為創(chuàng)建分布式數(shù)據(jù)共享應(yīng)用程序提供了一組豐富的組件。它提供了對關(guān)系數(shù)據(jù)、X
40、ML 和應(yīng)用程序數(shù)據(jù)的訪問,因此是 .NET Framework 中不可缺少的一部分。ADO.NET 支持多種開發(fā)需求,包括創(chuàng)建由應(yīng)用程序、工具、語言或 Internet 瀏覽器使用的前端數(shù)據(jù)庫客戶端和中間層業(yè)務(wù)對象。</p><p> ADO.NET 對 Microsoft SQL Server 和 XML 等數(shù)據(jù)源以及通過 OLE DB 和 XML 公開的數(shù)據(jù)源提供一致的訪問。數(shù)據(jù)共享使用者應(yīng)用程序可以使用
41、 ADO.NET 來連接到這些數(shù)據(jù)源,并檢索、處理和更新所包含的數(shù)據(jù)。</p><p> ADO.NET 通過數(shù)據(jù)處理將數(shù)據(jù)訪問分解為多個可以單獨使用或一前一后使用的不連續(xù)組件。ADO.NET 包含用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié)果的 .NET Framework 數(shù)據(jù)提供程序。開發(fā)人員可以直接處理檢索到的結(jié)果,或?qū)⑵浞湃?ADO.NET Dataset 對象,以便與來自多個源的數(shù)據(jù)或在層之間進行遠程處理的數(shù)
42、據(jù)組合在一起,以特殊方式向用戶公開。ADO.NET Dataset 對象也可以獨立于 .NET Framework 數(shù)據(jù)提供程序使用,以管理應(yīng)用程序本地的數(shù)據(jù)或源自 XML 的數(shù)據(jù)。</p><p> 開發(fā)環(huán)境Visual Studio 簡介</p><p> Visual Studio 是微軟公司推出的開發(fā)環(huán)境,Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Wi
43、ndows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件。</p><p> Visual Studio 提供了高級開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,幫助在各種平臺上快速創(chuàng)建當(dāng)前最先進的應(yīng)用程序。它包括各種增強功能,例如可視化設(shè)計器、對 Web 開發(fā)工具的大量改進,以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強功能。Visual Studio 為開發(fā)人員提供了所有
44、相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序。開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前瀏覽器內(nèi)運行并完全訪問 ASP.NET 應(yīng)用程序服務(wù)和 Microsoft 平臺。</p><p> 數(shù)據(jù)庫系統(tǒng) SQL Server</p><p>
45、SQL Server是微軟公司開發(fā)的一套基于關(guān)系模式的數(shù)據(jù)庫管理系統(tǒng)。該軟件通過全面的功能集和現(xiàn)有系統(tǒng)的集成性,以及對日常任務(wù)的自動化管理能力,為不同規(guī)模的企業(yè)提供一個完整的數(shù)據(jù)解決方案。</p><p> 由于SQL Server是微軟的產(chǎn)品,SQL Server與Visual Studio緊密集成,并且提供強大的開發(fā)工具包(如Business Intelligence Development Studio)
46、為用戶提供直觀且豐富的開發(fā)體驗。SQL Server由關(guān)系數(shù)據(jù)庫、復(fù)制服務(wù)、通知服務(wù)、集成服務(wù)、分析服務(wù)、報表服務(wù)、管理工具和開發(fā)工具組成。</p><p> SQL Server針對行業(yè)和分析應(yīng)用程序提供了一種更安全可靠和更高效的數(shù)據(jù)平臺,它更適用于企業(yè)數(shù)據(jù)管理。通過端對端的開發(fā)環(huán)境,它能夠降低數(shù)據(jù)庫創(chuàng)建、部署和管理的復(fù)雜程度,更好的提高開發(fā)人員的生產(chǎn)效率。它實現(xiàn)了集成化商務(wù)智能解決方案,在性能和成本之間做出
47、了比較好的平衡,從而提高了產(chǎn)品的性價比。</p><p> 由于SQL Server從2005版本起,就由.NET Framework 2.0進行了改寫。除了便于使用外,數(shù)據(jù)庫的程序開發(fā)有了相對強大的管理平臺,開發(fā)者在開發(fā)應(yīng)用程序時可以使用其熟悉的開發(fā)語言。為了實現(xiàn)更大的靈活性,它還支持用戶自定義類型和函數(shù),為快速數(shù)據(jù)庫應(yīng)用提供了第三方的選擇。</p><p><b> 需求
48、分析</b></p><p><b> 特性需求分析</b></p><p> 基于現(xiàn)有的資源管理系統(tǒng)的基本特性,在綜合考慮性能和成本的基礎(chǔ)上,為系統(tǒng)定義以下特性需求:</p><p> ?。?)較強的負載能力。</p><p> 所謂負載能力,就是系統(tǒng)(包括硬件系統(tǒng))在一段時間內(nèi)能夠擔(dān)負的處理用戶量。
49、它是衡量一個系統(tǒng)性能的重要指標(biāo)。與其相連的是響應(yīng)速度和處理速度兩個指標(biāo)。響應(yīng)速度標(biāo)志了這個系統(tǒng)與用戶交互的實時性,為了獲取比較好的用戶體驗,必須提高系統(tǒng)的響應(yīng)速度,為了更高的響應(yīng)速度,可采用負載均衡器加上服務(wù)器組的辦法達到要求;而處理速度則標(biāo)志了用戶可以忍受的程度,為了獲取較高的處理速度,除了增強硬件性能之外,合理且高效的編碼也起著舉足輕重的作用,這就要求開發(fā)時在實現(xiàn)功能的基礎(chǔ)上,盡量優(yōu)化系統(tǒng)的性能。為此,我們?yōu)橄到y(tǒng)設(shè)定的指標(biāo)為:在普通
50、的服務(wù)器配置下,能夠在1000人以下的公司流暢運行,支持100人并發(fā)執(zhí)行。</p><p> ?。?)較高的靈活性和可維護性。</p><p> 基于Web的系統(tǒng)通常具有比較好的靈活性,因為系統(tǒng)的主體在服務(wù)器端,而在客戶端,用戶僅需一個可以上網(wǎng)的終端(可以是一臺計算機,也可以是一部手機)就可以通過瀏覽器對資源進行管理和共享,從而實現(xiàn)了比較大的靈活性,僅需要服務(wù)器管理人員進行必要的配置,系
51、統(tǒng)就可以被隨意地按照規(guī)則來訪問。同時基于Web的系統(tǒng)由于大量的部署和配置都在服務(wù)器端完成,因此維護人員只需在機房就可以完成維護操作。而系統(tǒng)的升級和完善并不需要對客戶端進行更新,避免了由于客戶計算機水平參差不齊而造成的系統(tǒng)完善的困難。因此Web系統(tǒng)可以很輕易的具有靈活性和可維護性。</p><p> ?。?)較好的安全性。</p><p> 同上所述,Web系統(tǒng)的主體實在服務(wù)器端,因此,安
52、全工作的中心應(yīng)該在服務(wù)器端。在開發(fā)的過程中,要從機制上完善資源管理系統(tǒng)的安全規(guī)則,從而防止客戶端請求所帶來的一些漏洞。如果發(fā)現(xiàn)系統(tǒng)有漏洞,維護人員可以比較容易的恢復(fù)系統(tǒng);如果遇到黑客攻擊所帶來的數(shù)據(jù)丟失,可以通過數(shù)據(jù)庫及時的備份來挽回損失。</p><p> ?。?)友好的界面和互動性。</p><p> 由于用戶可能需要長時間工作在資源管理系統(tǒng)中,因此友好的界面是維持用戶好心情和高效率
53、工作的重要保證。而較強的互動性可以令用戶在疲憊時打起精神以便出色的完成本職工作。因此本系統(tǒng)需要對前臺進行一定程度的修飾和美化。</p><p> 公司資源共享基本過程</p><p> 由于是資源管理系統(tǒng),產(chǎn)品的需求較容易把握,通過與用戶簡單的溝通和接觸即可定義出需求,所以高層抽象的邏輯實現(xiàn)起來較為簡單,復(fù)雜之處在于底層的實現(xiàn)邏輯,本部分僅描述資源管理的高層抽象邏輯。</p>
54、;<p> 傳統(tǒng)的資源管理一般是不管理、或各部門自己歸檔管理或由公司統(tǒng)一管理,而由公司統(tǒng)一管理最為規(guī)范。統(tǒng)一管理的過程是這樣的,首先員工將自己愿意被納入管理的文件交到資源管理部門審核,審核通過后資源管理部門將該文件編號并且分類,分類之后貼上標(biāo)簽歸檔處理,當(dāng)有其他員工需要調(diào)取相關(guān)文件時,他就報出文件相關(guān)信息,由資源管理部門的員工負責(zé)查找調(diào)取者所需要的文件,當(dāng)調(diào)去完畢后,需要在指定期限內(nèi)歸還,以便別人再調(diào)去文件。</p
55、><p> 由以上流程可見,無論是遞交、整理、歸檔還是調(diào)取,都費時費力而且很容易出差錯。如果在計算機系統(tǒng)上實現(xiàn)電子資料的管理,流程又是這樣的。首先員工將自己確定愿意被納入管理(自愿的或強制的)的資源,將資源上傳到服務(wù)器,服務(wù)器自動完成資源的整理和歸類,然后通過權(quán)限驗證的用戶調(diào)取該資源,如圖2-1所示。</p><p> 圖 21 資源管理流程</p><p>
56、由以上的分析可以很明顯的看出,由計算機和計算機網(wǎng)絡(luò)所實現(xiàn)的資源共享管理系統(tǒng)會比傳統(tǒng)的方式變得高效而靈活。首先企業(yè)可以撤銷專門的資源管理部門,僅需要計算機網(wǎng)絡(luò)部門進行必要的維護,節(jié)省了財力;其次只要用戶在可以連接網(wǎng)絡(luò)的計算機前,就可以隨意的上傳資源,并且下載權(quán)限內(nèi)能夠查看的資源,不必不時地穿梭于資源管理部門和自己的辦公室;而且由于是使用電子資源,不需要耗費大量的紙張,同樣節(jié)省了成本;由于傳統(tǒng)的紙質(zhì)資源一般只有一份或兩份,被調(diào)閱后,其他人只
57、能等待別人歸還后才能調(diào)閱,因此使用電子資源的另一個好處是資源可以被多個人同時使用,提高了工作效率,這樣也突出了該系統(tǒng)的另一個特征——“共享”。</p><p><b> 數(shù)據(jù)流程分析</b></p><p> 數(shù)據(jù)流圖DFD(Data Flow Diagram)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換成邏輯輸出所需的加
58、工處理。它不是傳統(tǒng)的流程圖或框圖,它是從數(shù)據(jù)的角度來描述一個系統(tǒng),數(shù)據(jù)流圖中的箭頭是數(shù)據(jù)流,而框圖中的箭頭則是控制流,控制流表達的是程序執(zhí)行的次序。</p><p> 基于以上對資源管理過程的分析,并且根據(jù)計算機系統(tǒng)的基本特點,得到了資源管理的基本功能的簡化數(shù)據(jù)流圖如圖2-2所示。</p><p> 圖 22 數(shù)據(jù)流程圖</p><p> 在以上的數(shù)據(jù)流圖中
59、,假設(shè)用戶A想上傳資源,他向系統(tǒng)發(fā)出上傳指令,隨即上傳模塊便會將用戶選定的資源通過網(wǎng)絡(luò)流上傳到服務(wù)器,成為服務(wù)器上的資源。當(dāng)上傳完畢時,上傳模塊會向權(quán)限數(shù)據(jù)發(fā)出指令,自動設(shè)置該資源的權(quán)限信息。又假設(shè)用戶B想下載用戶A剛剛上傳的資源,這個時候他向下載模塊發(fā)出請求,下載模塊就想了,他有沒有權(quán)限訪問這個資源呢?于是它就需要調(diào)取權(quán)限數(shù)據(jù),當(dāng)權(quán)限數(shù)據(jù)到達后,如果允許下載,就請求此資源,這個時候先生成數(shù)據(jù)流,并且轉(zhuǎn)換為網(wǎng)絡(luò)流,最終到達用戶B的機器。
60、</p><p> 以上所述是該系統(tǒng)最核心的流程,它完整地描述了系統(tǒng)的關(guān)鍵數(shù)據(jù)流,為以下的分析和設(shè)計奠定基礎(chǔ)。</p><p><b> 系統(tǒng)用例圖</b></p><p> 用例圖(即User Case)是挖掘用戶需求的非常好的方法,它既關(guān)注于邏輯處理流程,又能夠有效捕獲用戶的需求。用例圖最大的特點是在于,它是以用戶的視角來分析問題的。
61、當(dāng)著手繪制用例圖時,需要將系統(tǒng)看作一個黑盒,換句話說就是以一個局外人的角度來看問題。上一節(jié)采用數(shù)據(jù)流的分析方法,得到了系統(tǒng)的關(guān)鍵流程。而這里是從整體的角度來把握問題,便于做進一步的需求分析,如圖2-3所示。</p><p><b> 圖 23 用例圖</b></p><p> 既然是用例圖,從用戶的角度來看,可以設(shè)置若干角色如普通用戶、管理員、系統(tǒng)管理員等。根據(jù)
62、不同的角色,他們可以使用不同的功能,這些功能可能是交叉的,也可能是互不包含的。基于各種功能的特性,普通用戶可以使用“個人中心”、“個人信息修改”、“文件管理”和“查看共享信息”四個功能。而管理員除了可以使用普通用戶的功能之外還具有“用戶管理”和“權(quán)限管理”的功能。另外為了保持系統(tǒng)的正常運轉(zhuǎn),還設(shè)有系統(tǒng)管理員,除了具有普通管理員的兩個系統(tǒng)管理功能之外,他還可以對系統(tǒng)進行設(shè)置,并且可以查看系統(tǒng)的歷史記錄。</p><p&
63、gt; 另外還有幾個子模塊作為通用功能提供給上層模塊使用,如“文件上傳”、“權(quán)限判斷”等。個人中心和文件管理同時要用到“文件上傳”功能,而“文件管理”、“查看共享信息”以及“權(quán)限管理中心”都會用到“權(quán)限判斷”功能。</p><p><b> 功能需求分析</b></p><p> 通過公司資源共享管理流程、數(shù)據(jù)流程和用例圖的分析,系統(tǒng)的需求已經(jīng)逐漸的清晰,這個時
64、候我們非常關(guān)注于用戶的最終需求。為了更好的表述用戶的最終需求,在此繪制了簡單的功能模塊圖,如圖2-4所示。請注意,這里還沒有做模塊的更細致的劃分,因為這里只是為了方便地表示需求。</p><p> 圖 24 功能模塊圖</p><p> 很顯然,該系統(tǒng)分為七個模塊,而這些模塊大都來自于上文中用例圖的分析,包括“個人中心”,“個人信息”,“文件管理”,“查看共享”,“用戶管理”,“權(quán)限
65、管理”和“歷史記錄”。以下對各個功能模塊做一個需求描述。</p><p> ?。?)個人中心。包括快速上傳,最新共享和最近登錄記錄。</p><p> ?。?)個人信息。包括基本信息和上下級信息。</p><p> ?。?)文件管理。包括文件上傳,文件下載以及權(quán)限相關(guān)設(shè)置。</p><p> ?。?)查看共享。包括文件下載和分類查看。<
66、/p><p> ?。?)用戶管理。主要是用戶的增加、刪除、修改等。</p><p> (6)權(quán)限管理。對于角色權(quán)限的賦予與撤銷。</p><p> ?。?)歷史記錄。對訪問的情況作記錄展示。</p><p><b> 概要設(shè)計</b></p><p><b> 開發(fā)方法</b&g
67、t;</p><p> 軟件開發(fā)方法是一種使用已經(jīng)定義好的技術(shù)集及符號表示習(xí)慣來阻止軟件生產(chǎn)過程的方法,該方法一般表述為一系列步驟,每一步驟都與相應(yīng)的技術(shù)和符號相關(guān)。其目標(biāo)是要在規(guī)定的投資和時間內(nèi),開發(fā)出符合用戶需求的、高質(zhì)量的軟件。</p><p> 軟件開發(fā)方法大體可以分為兩類:結(jié)構(gòu)化的開發(fā)方法SDM(Structured Design Method)和面向?qū)ο蟮拈_發(fā)方法OOSD(
68、Object-Oriented Software Development)。另外還有原型化的開發(fā)方法作為補充。</p><p> 結(jié)構(gòu)化的開發(fā)方法是以數(shù)據(jù)流作為開發(fā)基礎(chǔ),以功能的分解和抽象作為開發(fā)原則。它包括一系列的準(zhǔn)則,如分解與抽象、模塊的獨立性、信息隱蔽等,以便提高軟件結(jié)構(gòu)的合理性。由于自方法開創(chuàng)之初就得到了大量的應(yīng)用,如今已經(jīng)變得比較成熟且穩(wěn)定,它具有快速、自然、方便的特點。結(jié)構(gòu)化的開發(fā)方法主要由結(jié)構(gòu)化的
69、分析方法SA(Structured Analysis)、結(jié)構(gòu)化的設(shè)計方法SD(Structured Design)和結(jié)構(gòu)化的程序設(shè)計方法SP (Structured Program)組成。這三個方法分別對應(yīng)軟件工程的三個重要過程(需求分析,軟件設(shè)計和軟件實現(xiàn))。結(jié)構(gòu)化的開發(fā)方法要求具有整體思維,能夠從問題的整體著眼,逐漸將問題拆解,即“自定而下、逐步求精”。</p><p> 而面向?qū)ο蟮拈_發(fā)方法的核心思想是:
70、對問題領(lǐng)域進行自然分割,以更接近人類通常思維的方式建立問題領(lǐng)域的模型,以便對客觀的信息實體進行結(jié)構(gòu)和行為模擬,從而使設(shè)計的軟件更直接地表現(xiàn)問題的求解過程。面向?qū)ο蟮拈_發(fā)方法以對象作為基本元素,是分析和解決問題的核心。同樣面向?qū)ο蟮拈_發(fā)方法也分為三個部分,即面向?qū)ο蟮姆治龇椒∣OA(Object-Oriented Analysis),面向?qū)ο蟮脑O(shè)計方法OOD(Object-Oriented Design)和面向?qū)ο蟮某绦蛟O(shè)計方法OOP(O
71、bject-Oriented Program)。</p><p> 在這里本項目采用面向結(jié)構(gòu)的開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法相結(jié)合的方法。</p><p><b> 體系結(jié)構(gòu)設(shè)計</b></p><p><b> 體系結(jié)構(gòu)簡述</b></p><p> 軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行
72、為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、元素間的相互作用、指導(dǎo)元素集成的模式,以及這些模式的約束組成。</p><p> 軟件體系結(jié)構(gòu)主要分為倉儲式結(jié)構(gòu)和分布式結(jié)構(gòu)。</p><p> 在倉儲式結(jié)構(gòu)中,各個子系統(tǒng)都同時依賴于一個中央的數(shù)據(jù)倉儲,所有的程序都圍繞著這個數(shù)據(jù)倉儲運行。其優(yōu)點在于,它只與數(shù)據(jù)相關(guān),數(shù)據(jù)的結(jié)構(gòu)是固定的,因此另一個子系統(tǒng)產(chǎn)生的數(shù)據(jù)可以被其它子系統(tǒng)的數(shù)據(jù)共享。這
73、樣一來,新的子系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)只要能夠映射到這個中央數(shù)據(jù)倉儲,那么很容易集成進去。它的優(yōu)點同時也是它的缺點,每個子系統(tǒng)需要具有一致的數(shù)據(jù)視圖,在這種情況下必然會以損失一定的性能作為代價。而且一旦一個子系統(tǒng)的數(shù)據(jù)視圖發(fā)生改變,必須通過專門的數(shù)據(jù)翻譯模塊才能繼續(xù)融合在此系統(tǒng)中,這就大大增加了時間和空間開銷。</p><p> 相對于倉儲式結(jié)構(gòu),分布式結(jié)構(gòu)將緊密耦合的功能分散開來。分布式結(jié)構(gòu)的核心思想是,充分利用計算機
74、網(wǎng)絡(luò),將繁重的計算按照一定的規(guī)則分配給網(wǎng)絡(luò)的各個節(jié)點,從而提高了計算速度和效率。最典型的分布式結(jié)構(gòu)就是客戶-服務(wù)器C/S(Client/Server)結(jié)構(gòu)了,從字面上來看,它具有兩個抽象意義的節(jié)點服務(wù)器和客戶,再加上網(wǎng)絡(luò),就組成了整個系統(tǒng)。如現(xiàn)在的大型網(wǎng)絡(luò)游戲大多采用客戶-服務(wù)器結(jié)構(gòu),大部分的數(shù)據(jù)邏輯處理和界面表示都由客戶端完成,而服務(wù)器端只進行必要的數(shù)據(jù)存儲和數(shù)據(jù)交換,因此這種結(jié)構(gòu)大大減輕了主計算機的壓力。</p>&l
75、t;p> 而隨著硬件性能的提高和網(wǎng)絡(luò)帶寬的提高,服務(wù)器已經(jīng)能夠承受越來越多的計算任務(wù),正因為如此瀏覽器-服務(wù)器B/S(Browser/Server)結(jié)構(gòu)正悄然的流行開來。從本質(zhì)上來講,B/S結(jié)構(gòu)也是一種C/S結(jié)構(gòu)(如圖3-1所示),只不過服務(wù)器需要承擔(dān)更多的計算任務(wù),我們又稱他為瘦客戶端結(jié)構(gòu)。B/S的好處在于,降低了客戶端的門檻。</p><p> 圖31 B/S架構(gòu)和C/S架構(gòu)</p>
76、<p><b> 體系結(jié)構(gòu)的選擇</b></p><p> 基于上一節(jié)的分析,可以看出,在硬件系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)更為健碩的今天,基于B/S架構(gòu)的體系結(jié)構(gòu)軟件在實現(xiàn)公司資源共享管理系統(tǒng)時具有比較大的優(yōu)勢,因為采用統(tǒng)一的網(wǎng)絡(luò)協(xié)議,它具有比較強的可擴展性,比如使用Web服務(wù),無須開發(fā)者關(guān)心通訊的具體細節(jié),只需要處理網(wǎng)絡(luò)結(jié)構(gòu)提交過來的代碼就可以了。</p><p>
77、; 因此本系統(tǒng)采用基于Web的B/S結(jié)構(gòu)作為基本結(jié)構(gòu)。并且使用數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層作為開發(fā)的基本架構(gòu),如圖3-2所示。</p><p> 圖3 2 三層架構(gòu)示意圖</p><p> 用戶界面層,即展示層,該層主要是處理與用戶界面相關(guān)的代碼,代碼放置的原則是盡量少放置邏輯代碼,將大部分邏輯處理代碼放在業(yè)務(wù)邏輯層。</p><p> 業(yè)務(wù)層邏輯層。該
78、層主要用來放置算法的邏輯代碼,而并不直接訪問數(shù)據(jù)庫,該層需要調(diào)用數(shù)據(jù)訪問層中的方法來獲得數(shù)據(jù)。</p><p> 數(shù)據(jù)訪問層。即直接訪問數(shù)據(jù)的一層,所有的SQL代碼的執(zhí)行和存儲過程的調(diào)用就通過該層來實現(xiàn)。另外,該層中可以抽象出數(shù)據(jù)訪問公用的子層,以便數(shù)據(jù)訪問的高層方法快速實現(xiàn)數(shù)據(jù)訪問。</p><p> 三層架構(gòu)布局清晰,各層各司其職,增強了程序的層次感和可讀性,而且便于程序移植,因此
79、非常適合于本系統(tǒng)的開發(fā)。</p><p><b> 實體聯(lián)系圖</b></p><p> 根據(jù)需求分析中對資源共享管理過程分析和系統(tǒng)數(shù)據(jù)流程圖分析,進一步給出系統(tǒng)的實體-聯(lián)系圖(如圖3-3)。</p><p> 圖33 系統(tǒng)實體關(guān)系圖</p><p> 由圖可見,系統(tǒng)主要由用戶、文件(資源)、角色和權(quán)限四個最重
80、要的實體構(gòu)成。用戶是系統(tǒng)的與人相對應(yīng)的唯一實體,也是一個操作其它實體的主體。它主要與兩個實體發(fā)生關(guān)系,一個文件,另一個是角色。用戶與文件的關(guān)系是擁有與被擁有的關(guān)系,一個文件只能屬于一個用戶,但一個用戶可以有多個文件,因此用戶和文件是1:n的關(guān)系;用戶與角色是扮演與被扮演的關(guān)系,但相對于用戶與文件的關(guān)系,它們之間的關(guān)系卻是多對多,因為一個用戶可以有多個角色,一個角色可以由多個用戶來扮演,這就像一個家庭,如果你是人到中年的男性,那么你既是父
81、親又是丈夫,扮演了兩個角色,而父親這個角色可以有不同的人來承擔(dān),你是你兒子的父親,你父親又是你的父親,這就很形象的說明了用戶與角色具有m:n的關(guān)系。而角色與權(quán)限也存在關(guān)系,比如平時是母親做菜,就說母親具有掌勺的權(quán)限,但是周末了父親想露一手,那么,父親同樣也有掌勺的權(quán)限,也就是說一個權(quán)限可以被多個角色來擁有。同樣,反過來看,更容易理解的是一個角色具有多個權(quán)限,因為你不僅有掌勺的權(quán)限,也可以有買菜的權(quán)限。同樣把這些概念映射到一個公司也是很容
82、易理解的,因此角色和權(quán)限之間也是多對多的關(guān)系。另外,還有文件類</p><p> 另外,這張圖省去了一些并不重要的屬性(這里的“不重要”是指對于關(guān)系的不重要,但也許對于用戶來講會很重要),僅保留了與關(guān)系密切相連的屬性,以突出“聯(lián)系”的重要性。</p><p><b> 系統(tǒng)功能劃分</b></p><p> 在需求分析的最后一節(jié)(見2.5
83、節(jié)),已經(jīng)給出了系統(tǒng)的簡要系統(tǒng)功能模塊圖。然而那僅僅是為了描述需求而模糊定義的。在概要設(shè)計階段,便可以有足夠的精力來關(guān)注模塊的劃分和子模塊的進一步劃分,以便從開發(fā)者的角度來思考系統(tǒng)的功能結(jié)構(gòu)。因此,在這里繪制了詳細的功能模塊圖,如圖3-4所示。</p><p> 圖 34 詳細功能模塊圖</p><p> 同樣,按照需求分析,系統(tǒng)被劃分為“個人中心”、“個人信息”、“文件管理”、“查
84、看共享”、“用戶管理”、“權(quán)限管理”和“歷史記錄”七個模塊。下面就對這八個模塊做一個詳細的劃分。</p><p> ?。?)個人中心。個人中心是用戶登錄后看到的第一個頁面,因此,這里一定要放置最重要的、最可能用到的內(nèi)容,經(jīng)過分析,這里設(shè)置了“快速導(dǎo)航圖標(biāo)”、“最近共享”、“最近的登錄”和“資源快速發(fā)布”四個子模塊。</p><p> ?。?)個人信息。個人信息是用戶最基本信息的操作場所,包
85、括三種類型的信息,即“基本信息”、“上下級信息”和“角色信息”,這些信息有的可讀可寫,有的只讀不寫。</p><p> ?。?)文件管理。由于該系統(tǒng)是資源共享管理系統(tǒng),文件管理負責(zé)文件的相關(guān)操作,因此它是整個系統(tǒng)的核心部分,因此劃分出來的子模塊也是較多的。該模塊包括“文件上傳”、“文件下載”、“文件移動”、“文件刪除”和“文件夾操作”五個子模塊。</p><p> ?。?)查看共享。所謂查
86、看共享指的是查看其它用戶允許你查看的資源,這里就突出該系統(tǒng)的共享的功能。該模塊的子模塊較少,主要是“共享文件的呈現(xiàn)”和“文件的篩選”。</p><p> (5)用戶管理。用戶管理的核心是用戶的相關(guān)操作,為了操作方便,將用戶的角色授予功能也包含在該模塊中。該模塊包括“用戶樹形展現(xiàn)”、“用戶新建”、“用戶信息修改”、“用戶刪除”、“位置移動”和“角色設(shè)置”等六個子模塊。</p><p>
87、(6)權(quán)限管理。該模塊主要是主要權(quán)限與角色的關(guān)系操作,即某個角色給予它某個權(quán)限的。該模塊主要包括三個子模塊“角色權(quán)限的呈現(xiàn)”、“權(quán)限賦予”和“權(quán)限刪除”。</p><p> ?。?)歷史記錄。該模塊是簡單的記錄了IP地址訪問頁面的情況,所以只有一個子模塊“歷史記錄呈現(xiàn)”。</p><p><b> 詳細設(shè)計</b></p><p><b
88、> 數(shù)據(jù)庫設(shè)計</b></p><p><b> 數(shù)據(jù)庫關(guān)系圖</b></p><p> 根據(jù)需求分析階段的系統(tǒng)用例分析,可以基本確定用戶的需求,同時根據(jù)概要設(shè)計階段進一步導(dǎo)出的實體聯(lián)系圖(E-R圖),可以基本確定數(shù)據(jù)庫的必要的字段以及相互間的約束關(guān)系。通過使用SQL Server的數(shù)據(jù)庫關(guān)系圖來設(shè)計數(shù)據(jù)庫各個表格之間的宏觀關(guān)系,如圖4-1所示
89、。</p><p> 圖 41 數(shù)據(jù)庫關(guān)系圖</p><p> 由圖可見,有四個最為重要的表:用戶信息表UserInformation,文件表FileInformation,角色表Role,權(quán)限表Authority。這四個表分別對應(yīng)實體關(guān)系圖中的用戶,文件,角色和權(quán)限這個四個實體。這些實體間會分別相互產(chǎn)生關(guān)系。角色表和用戶表相互作用產(chǎn)生用戶角色表UserRole,權(quán)限表和角色表相互作
90、用產(chǎn)生角色權(quán)限表Role_Authority,因此用戶信息表、用戶角色表、角色表、角色權(quán)限表和權(quán)限表構(gòu)成了系統(tǒng)權(quán)限的主體數(shù)據(jù)。而用戶和文件是一對多的關(guān)系,所以關(guān)系表可以省略,直接加在文件信息表。另外,為了控制資源權(quán)限,需要引入資源角色表ResourceRole,同樣資源角色和資源是一對多的關(guān)系,所以同樣可以將關(guān)系表省略,關(guān)系直接蘊含在文件信息表中。</p><p> 除此之外,還有歷史記錄表HistoryRec
91、ord和系統(tǒng)信息表SystemInformation。</p><p><b> 物理結(jié)構(gòu)設(shè)計</b></p><p> (1)用戶信息表。該表主要記錄用戶的基本信息,以及用戶之間的層次關(guān)系。其中密碼采用32位MD5碼的方式存放。而u_parentid字段是表示層次關(guān)系的關(guān)鍵字段,而讀取時往往采用遞歸的方式查詢,這就需要通過存儲過程來完成。表4-1列出了用戶信息表
92、的物理結(jié)構(gòu)。</p><p> 表4-1 用戶信息表UserInformation</p><p> ?。?)文件信息表。該表主要用于描述文件的基本信息,同樣它也表示文件的層次關(guān)系。比較特殊的是為了虛擬出文件夾,這里增加了一個標(biāo)識字段f_isDictionary來作區(qū)分。同樣,它也設(shè)置了一個f_parentid字段來描述層次關(guān)系。但值得注意的是,如果一條記錄不是“文件夾”,它的編號是不允
93、許成為其它記錄的父編號的。表4-2列出了文件信息表的物理結(jié)構(gòu)。</p><p> 表4-2 文件信息表FileInformation</p><p> ?。?)資源角色表。該表主要定義了資源的幾種訪問權(quán)限,表中僅記錄權(quán)限的類型,具體的權(quán)限判斷操作在存儲過程中實現(xiàn)。表4-3列出了資源角色表的物理結(jié)構(gòu)。</p><p> 表4-3 資源角色表ResourceRole
94、</p><p> ?。?)用戶訪問記錄表。該表的作用是記錄的登錄時間信息,以便提供給用戶判斷自身登錄的安全性,即防止其它用戶冒名登錄而合法用戶登錄卻不知情。設(shè)置該表的目的是,采用互動安全策略,即系統(tǒng)使用過程的安全是用戶和系統(tǒng)共同完成的。表4-4列出了用戶訪問記錄表的物理結(jié)構(gòu)。</p><p> 表4-4 用戶訪問記錄表UserLoginRecord</p><p&g
95、t; ?。?)角色表。該表主要是定義幾種角色以便為其分配相應(yīng)的權(quán)限,它需要與權(quán)限表和用戶表發(fā)生關(guān)系。表4-5列出了角色表的物理結(jié)構(gòu)。</p><p> 表4-5 角色表Role</p><p> ?。?)權(quán)限表。該表定義了頁面級的權(quán)限項目,每一條記錄代表頁面級的權(quán)限。為了發(fā)揮作用,它需要與角色表發(fā)生關(guān)系。表4-6列出了角色表的物理結(jié)構(gòu)。</p><p> 表4-
96、6 權(quán)限表Authority</p><p> (7)用戶角色表。用戶角色表是用戶表與角色表的關(guān)系表,即一個用戶可以有多個角色,一個角色可以被多個用戶扮演,一個用戶的權(quán)限是他所有角色的權(quán)限的并集。表4-7列出了權(quán)限表的物理結(jié)構(gòu)。</p><p> 表4-7 用戶角色表RoleUser</p><p> (8)角色權(quán)限表。角色權(quán)限表是權(quán)限表與角色表的關(guān)系表,即一
97、個權(quán)限可以屬于多個角色,一個角色可以擁有多個權(quán)限。該表需要與與用戶角色表配合使用。表4-8列出了用戶角色表的物理結(jié)構(gòu)。</p><p> 表4-8 用戶角色表RoleAuthority</p><p> ?。?)系統(tǒng)信息表。系統(tǒng)信息表是系統(tǒng)的控制表,該表僅記錄必要的控制信息,為了增強字段的通用性,需要以字符串來存儲。表4-9列出了系統(tǒng)信息表的物理結(jié)構(gòu)。</p><p&
98、gt; 表4-9 系統(tǒng)信息表SystemInformation</p><p> ?。?0)歷史記錄表。歷史記錄表記錄了所有的HTTP請求的頁面、IP地址和時間,為管理員實時關(guān)注系統(tǒng)的運行和被使用的狀態(tài)提供了依據(jù)。表4-10列出了歷史記錄表的物理結(jié)構(gòu)。</p><p> 表4-10 歷史記錄表HistroyRecord</p><p><b> 主要
99、模塊設(shè)計</b></p><p><b> 文件管理</b></p><p> ?。?)功能描述。該模塊是本系統(tǒng)的核心,主要負責(zé)文件和文件夾及其權(quán)限的相關(guān)的操作。</p><p> ?。?)類關(guān)系圖。如圖4-2所示。</p><p> 圖4-2 “文件管理”類關(guān)系圖</p><p>
100、; (3)算法設(shè)計。該模塊需要具有文件管理和文件夾管理功能,它們的實現(xiàn)具有一定的相似性,如添加、刪除和修改操作。</p><p> 文件管理的算法是該系統(tǒng)的核心算法。對于添加文件的功能,首先要將文件的信息加入數(shù)據(jù)庫中,然后上傳文件。值得注意的是,此處需要取得父級目錄的文件表中的標(biāo)識號作為字段f_parentid的值,以便做出層次化的效果。對于刪除文件的操作,要先刪除文件,再刪除數(shù)據(jù)庫中的記錄,這兩部要保持同步
101、。對于文件的權(quán)限配置,它具有“保密”,“上級可見”,“下級可見”和“公開”四種權(quán)限級別,通過整型的f_rr_d字段來做區(qū)分。另外對于文件下載的功能,使用一個獨立的子模塊“文件下載”來實現(xiàn),當(dāng)用戶請求時,僅僅向獨立的子模塊傳遞一個文件的編號,而文件下載之前的一系列的判斷權(quán)限、改名的操作都由該子模塊來實現(xiàn)。</p><p> 文件夾的相關(guān)算法就不那么復(fù)雜。這里的“文件夾”都是虛擬的,在數(shù)據(jù)庫中它和“文件一樣”都是二
102、維表“文件信息表”中的一條記錄,通過字段f_isDirectory來標(biāo)識。文件夾的添加要簡單的多,僅需要插入一條記錄即可。文件夾的刪除就相對麻煩一點,首先要刪除文件實體,然后再刪除數(shù)據(jù)庫中的記錄。而對于文件夾的權(quán)限問題來講,這里做了簡化,即文件夾不存在權(quán)限的問題,用戶如果想共享某個文件,必須指定這個文件的權(quán)限,文件夾無法對文件產(chǎn)生權(quán)限影響。</p><p> 文件和文件夾的移動是比較簡單的,由于文件都是放置在同
103、一級目錄下,因此不需要實體文件的移動,僅需要更新數(shù)據(jù)庫中的該文件或者文件夾的“父編號”字段即可。</p><p> ?。?)模塊結(jié)構(gòu)圖。如圖4-3所示。</p><p> 圖43 “文件管理”結(jié)構(gòu)圖</p><p> ?。?)程序接口。調(diào)用該模塊的上一級模塊是框架頁中的左框架,該模塊調(diào)用“文件下載”模塊和“權(quán)限驗證”模塊。</p><p>
104、;<b> 查看共享</b></p><p> ?。?)功能描述。該模塊主要負責(zé)用戶查看別人共享的資源,這也是共享的實現(xiàn)模塊。</p><p> ?。?)類關(guān)系圖。如圖4-4所示。</p><p> ?。?)算法設(shè)計。該模塊設(shè)計的核心在于能夠根據(jù)用戶上傳時既定的權(quán)限,來確定是否將該資源的信息呈現(xiàn)出來,另外一個是為了方便用戶,提供了篩選的功能。
105、</p><p> 對于資源信息呈現(xiàn),邏輯層的任務(wù)比較簡單,但數(shù)據(jù)層的任務(wù)比較復(fù)雜,因此需要在數(shù)據(jù)庫管理系統(tǒng)內(nèi)部通過存儲過程來實現(xiàn)。為了介紹具體的算法,首先介紹一個重要的子算法。</p><p> 這個子算法是判斷對于某一個文件的編號,該用戶能否訪問,它是通過函數(shù)來實現(xiàn)的,在過程中僅需要調(diào)取其返回值即可。那么該子算法是如何實現(xiàn)的呢?首先要通過文件編號,找到該文件的權(quán)限,然后根據(jù)權(quán)限的不
106、同情況(如“保密”,“上級可見”,“公開”等)查找出可以被查看的用戶表,然后判斷該用戶是否在這個可查看的用戶表中。</p><p> 有了這個子算法就如魚得水了,因為只需要在存儲過程中select文件表中的所有文件,在where條件中調(diào)用此子算法,即可得出該用戶能夠查看的所有文件。因此該算法的重點在于實現(xiàn)子算法的函數(shù),它需要根據(jù)現(xiàn)實意義中的權(quán)限,遞歸地查找二維表中上下級的記錄,以便形成二維表。</p>
107、;<p> 另外為了實現(xiàn)篩選功能,需要在前臺建立一個與后臺代碼連接的響應(yīng)方法,然后根據(jù)用戶所選擇的發(fā)布者的編號,在以上算法的基礎(chǔ)上,再增加where中的條件。</p><p> 值得注意的是,信息的呈現(xiàn)只是權(quán)限的第一步,因為假設(shè)一個用戶圖謀不軌,他將別人的資源鏈接復(fù)制過來,直接拷貝到瀏覽器中瀏覽,那資源的權(quán)限控制同樣沒有達到目的。因此在資源下載的子模塊中同樣要加入對于用戶權(quán)限的判斷,用戶的編號是
108、從Session中讀取,然后判斷該用戶能否有權(quán)限訪問該文件。</p><p> ?。?)模塊結(jié)構(gòu)圖。如圖4-5所示。</p><p> 圖44 “查看共享”類關(guān)系圖</p><p> 圖45 “查看共享”結(jié)構(gòu)圖</p><p> ?。?)程序接口。調(diào)用該模塊的上一級模塊是框架頁中的左框架,該模塊調(diào)用“文件下載”模塊和“權(quán)限驗證”模塊。
109、可見該模塊同文件管理調(diào)用的子模塊類似,因為都提供文件訪問的功能。</p><p><b> 用戶管理</b></p><p> (1)功能描述。該部分的主要實現(xiàn)樹形用戶的顯示,以及建立在這種模式下的管理操作。</p><p> ?。?)類關(guān)系圖。如圖4-6所示。</p><p> 圖46 “用戶管理”類關(guān)系圖&l
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資源共享畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---網(wǎng)上教學(xué)資源共享系統(tǒng)
- 網(wǎng)上教學(xué)資源共享系統(tǒng)
- 畢業(yè)設(shè)計(論文)基于php框架的精品資源共享課程管理評價系統(tǒng)的設(shè)計與開發(fā)
- 3C教學(xué)資源共享系統(tǒng)設(shè)計.pdf
- 高校資源共享與評價系統(tǒng)設(shè)計與實現(xiàn)
- 信息資源共享論文資源共享論文學(xué)校圖書
- 校內(nèi)教學(xué)資源共享平臺畢業(yè)論文
- 中學(xué)教學(xué)資源共享服務(wù)平臺管理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 防偽產(chǎn)業(yè)資源共享博客系統(tǒng)設(shè)計與實現(xiàn).pdf
- HIS與醫(yī)保系統(tǒng)間資源共享系統(tǒng)平臺設(shè)計.pdf
- [jsp畢設(shè)]網(wǎng)上教學(xué)資源共享系統(tǒng)
- 資源共享合作協(xié)議
- 廣東精品資源共享課
- 基于優(yōu)化視頻資源采集系統(tǒng)的教學(xué)資源共享平臺設(shè)計.pdf
- 精品資源共享課程建設(shè)
- 資源共享合作共贏
- 館際互借與資源共享
- 淺談校園教育資源共享
- 涉農(nóng)信息資源共享系統(tǒng)的設(shè)計與實現(xiàn).pdf
評論
0/150
提交評論