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