2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。?0 屆)</b></p><p>  web系統(tǒng)助手的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>

2、;  AbstractII</p><p><b>  1. 緒論1</b></p><p>  1.1 系統(tǒng)開(kāi)發(fā)的背景及意義1</p><p>  1.2 Web系統(tǒng)助手的發(fā)展現(xiàn)狀2</p><p>  1.3 系統(tǒng)應(yīng)用技術(shù)概述2</p><p>  1.3.1 RMI技術(shù)框架2&l

3、t;/p><p>  1.3.2 Flex RIA介紹3</p><p>  1.3.3 Flex數(shù)據(jù)訪(fǎng)問(wèn)組件4</p><p>  2. 系統(tǒng)需求分析6</p><p>  2.1 需求概述6</p><p>  2.2 系統(tǒng)功能需求6</p><p>  2.3 軟件質(zhì)量需求9<

4、;/p><p>  3. 系統(tǒng)設(shè)計(jì)11</p><p><b>  3.1 簡(jiǎn)述11</b></p><p>  3.2 架構(gòu)設(shè)計(jì)11</p><p>  3.2.1 系統(tǒng)物理架構(gòu)11</p><p>  3.2.2 系統(tǒng)業(yè)務(wù)架構(gòu)12</p><p>  3.2.3

5、系統(tǒng)功能架構(gòu)13</p><p>  3.3 關(guān)鍵問(wèn)題解決方案設(shè)計(jì)15</p><p>  3.3.1 簡(jiǎn)述15</p><p>  3.3.2 Web端啟動(dòng)web助手(pc應(yīng)用)15</p><p>  3.3.3 Web端與web助手通信17</p><p>  3.3.4 Web助手單點(diǎn)登錄18<

6、;/p><p>  3.3.5 Web助手與文件系統(tǒng)通信(文件斷點(diǎn)續(xù)傳)20</p><p>  3.3.6 負(fù)載均衡以及文件存儲(chǔ)策略21</p><p>  3.4 系統(tǒng)詳細(xì)設(shè)計(jì)24</p><p>  3.4.1 用戶(hù)登錄模塊設(shè)計(jì)24</p><p>  3.4.2 文件管理28</p><

7、;p>  3.4.3 消息管理32</p><p>  3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)35</p><p>  3.5.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)35</p><p>  3.5.2 邏輯結(jié)構(gòu)設(shè)計(jì)36</p><p>  3.5.3 物理結(jié)構(gòu)設(shè)計(jì)38</p><p>  4. 系統(tǒng)實(shí)現(xiàn)40</p>&l

8、t;p>  4.1 單點(diǎn)登錄實(shí)現(xiàn)40</p><p>  4.1.1 主要代碼40</p><p>  4.1.2 功能界面41</p><p>  4.2 文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)41</p><p>  4.2.1 主要代碼41</p><p>  4.2.2 功能界面43</p><

9、p>  4.3 消息實(shí)時(shí)提醒實(shí)現(xiàn)43</p><p>  4.3.1 主要代碼43</p><p>  4.3.2 功能界面44</p><p>  5. 系統(tǒng)測(cè)試45</p><p>  5.1 測(cè)試計(jì)劃45</p><p>  5.2 測(cè)試設(shè)計(jì)45</p><p>  5.

10、3 測(cè)試實(shí)施48</p><p><b>  6. 總結(jié)49</b></p><p><b>  致 謝50</b></p><p><b>  參考文獻(xiàn)51</b></p><p><b>  文獻(xiàn)綜述53</b></p>&

11、lt;p><b>  摘 要</b></p><p>  Web系統(tǒng)助手是一套以增強(qiáng)傳統(tǒng)web應(yīng)用為目的的桌面應(yīng)用系統(tǒng)。</p><p>  傳統(tǒng)web應(yīng)用是基于瀏覽器的應(yīng)用,瀏覽器的固有交互方式,安全限制等因素會(huì)造成web應(yīng)用無(wú)法實(shí)時(shí)消息提醒,文件上傳功能單一,登錄繁瑣。</p><p>  本系統(tǒng)通過(guò)分析傳統(tǒng)web應(yīng)用缺陷,以“科

12、委項(xiàng)目申報(bào)系統(tǒng)”為案例,設(shè)計(jì)完成了一套以提升傳統(tǒng)web應(yīng)用用戶(hù)體驗(yàn),增強(qiáng)傳統(tǒng)web應(yīng)用軟件質(zhì)量為目的c/s與b/s架構(gòu)相結(jié)合的系統(tǒng)。本系統(tǒng)能夠解決:</p><p><b>  1、消息實(shí)時(shí)接收。</b></p><p>  2、大文件斷點(diǎn)續(xù)傳,分布式存儲(chǔ)。</p><p><b>  3、單點(diǎn)登錄。</b></p&

13、gt;<p>  本系統(tǒng)在Flex平臺(tái)下開(kāi)發(fā),客戶(hù)端采用flex AIR技術(shù),Web前端采用flash技術(shù),實(shí)現(xiàn)客戶(hù)端與web端通信。服務(wù)端在java平臺(tái)下使用Hibernate和Spring等框架技術(shù)做到數(shù)據(jù)持久化,事務(wù)管理。用DBblaze框架實(shí)現(xiàn)flex與java服務(wù)端通信。</p><p>  論文分為7部分,第一部分首先介紹了課題研究的背景和意義,web系統(tǒng)助手的發(fā)展現(xiàn)狀以及系統(tǒng)應(yīng)用技術(shù)做

14、了簡(jiǎn)短介紹;第二部分詳細(xì)的闡述了系統(tǒng)的需求分析;第三部分介紹從架構(gòu)設(shè)計(jì),關(guān)鍵問(wèn)題解決方案設(shè)計(jì),系統(tǒng)詳細(xì)設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)等方面來(lái)闡述系統(tǒng)設(shè)計(jì)。第四部分從主要代碼和功能效果方面介紹了系統(tǒng)實(shí)現(xiàn),第五部分做了系統(tǒng)測(cè)試。最后第六部分對(duì)論文的研究成果進(jìn)行了總結(jié)。</p><p>  關(guān)鍵詞:web系統(tǒng)助手 實(shí)時(shí) 斷點(diǎn)續(xù)傳 單點(diǎn)登錄 分布式</p><p><b>  Abstract&l

15、t;/b></p><p>  Web Assistant is a system to enhance traditional web applications for the purpose desktop applications.</p><p>  Traditional web applications are based on the inherent interact

16、ive mode applications , the browser browser , and security restrictions and other factors that may cause the web application can not be real-time news alert , single file upload function , log cumbersome.</p><

17、p>  The system by analyzing the defects of traditional web applications , "the CST project reporting system " for the case of a completed design to enhance the user experience of traditional web applications

18、 , and enhance the quality of traditional web applications for the purpose of c / s and b / s architecture phase binding systems. The system is able to solve :</p><p>  1、the message received in real time .&

19、lt;/p><p>  2、large file HTTP, distributed storage .</p><p>  3、ingle sign-on .</p><p>  The system platform developed under the Flex client using flex AIR technology, Web front-end us

20、ing flash technology, the client communicates with a web client. Server using frameworks such as Hibernate and Spring technologies to achieve data persistence in java platform , transaction management. Achieve flex and j

21、ava server communication DBblaze framework.</p><p>  Paper is divided into seven parts, the first part introduces the background and significance of the research , web systems and system development status a

22、ssistant application technology made ??a brief introduction ; second part describes in detail the system requirements analysis ; third part introduces the overall architecture of the system , then the design of the datab

23、ase and the functional modules of the system has done a detailed exposition ; part V describes the realization of the main fun</p><p>  Key words: Assistant web system, Real time, HTTP, Single Sign-On ,Distr

24、ibuted</p><p><b>  緒論</b></p><p>  系統(tǒng)開(kāi)發(fā)的背景及意義</p><p>  Web應(yīng)用程序是一種可以通過(guò)Web訪(fǎng)問(wèn)的應(yīng)用程序。Web應(yīng)用程序的一個(gè)最大好處是用戶(hù)很容易訪(fǎng)問(wèn)應(yīng)用程序,用戶(hù)只需要有瀏覽器即可。</p><p>  在計(jì)算機(jī)產(chǎn)業(yè)飛速發(fā)展的12年間,軟硬件以及互聯(lián)網(wǎng)已有日

25、新月異的變化。業(yè)務(wù)需求愈加復(fù)雜的今天,傳統(tǒng)的web應(yīng)用已經(jīng)露出了它的不足之處。</p><p>  傳統(tǒng)的web系統(tǒng)基于B/S模式, B/S模式本身具體很多優(yōu)點(diǎn),但同時(shí)也存在一些不能依靠B/S模式克服的重要的缺陷,如:</p><p>  用戶(hù)接受web端發(fā)送的消息不夠及時(shí);</p><p>  文件上傳有大小限制,不支持多文件同時(shí)上傳,也不支持?jǐn)帱c(diǎn)續(xù)傳;</

26、p><p>  用戶(hù)想要訪(fǎng)問(wèn)web系統(tǒng)的某個(gè)功能,需要經(jīng)過(guò)登錄,跳轉(zhuǎn)等諸多繁瑣的步驟。</p><p>  這些web系統(tǒng)的缺陷會(huì)給用戶(hù)的操作帶來(lái)極大的不便,而且隨著業(yè)務(wù)的不斷增大,這些缺陷所暴露出來(lái)的問(wèn)題也越來(lái)越嚴(yán)重,促使軟件商不得不高度重視這個(gè)問(wèn)題,于是開(kāi)發(fā)一個(gè)能夠輔助web系統(tǒng)的軟件顯得十分有必要。</p><p>  Web系統(tǒng)助手能夠彌補(bǔ)Web系統(tǒng)先天所存在的

27、缺陷,延長(zhǎng)Web系統(tǒng)的生命周期。從用戶(hù)的角度看,使用Web系統(tǒng)助手相比直接使用Web系統(tǒng)更加方便,界面交互更加友好,操作效率更高。從軟件開(kāi)發(fā)商的角度來(lái)看,使用Web系統(tǒng)助手可以輕松的解決一些B/S系統(tǒng)固有的技術(shù)難題,而且能把Web系統(tǒng)助手直接通過(guò)接口的方式集成到該開(kāi)發(fā)商開(kāi)發(fā)的其它Web系統(tǒng)。</p><p>  現(xiàn)針對(duì)以上問(wèn)題,web系統(tǒng)助手提出解決方案,首要解決:</p><p><

28、;b>  1、消息實(shí)時(shí)提醒。</b></p><p>  2、大文件斷點(diǎn)續(xù)傳,分布式存儲(chǔ)。</p><p><b>  3、單點(diǎn)登錄。</b></p><p>  本系統(tǒng),主要針對(duì)以上問(wèn)題,從需求分析,系統(tǒng)設(shè)計(jì),主要實(shí)現(xiàn)等方面來(lái)討論,設(shè)計(jì)和開(kāi)發(fā)web系統(tǒng)助手。</p><p>  Web系統(tǒng)助手的發(fā)展現(xiàn)

29、狀</p><p>  Web系統(tǒng)助手在現(xiàn)今大型互聯(lián)網(wǎng)應(yīng)用中應(yīng)用極為廣泛。從輔助web應(yīng)用角度來(lái)說(shuō),有大家熟知的互聯(lián)網(wǎng)應(yīng)用QQ。它在打開(kāi)網(wǎng)頁(yè)時(shí),會(huì)啟用單點(diǎn)登錄打開(kāi)的網(wǎng)頁(yè),比如qq空間,郵箱系統(tǒng)等;迅雷在建立文件任務(wù)下載前,會(huì)啟動(dòng)迅雷應(yīng)用。以及youku客戶(hù)端等。</p><p>  web系統(tǒng)助手技術(shù)已相對(duì)成熟。但是各種web系統(tǒng)助手的功能卻不盡相同,有的以非常單一的功能構(gòu)成,有的以極為豐

30、富的功能構(gòu)成。隨著日益復(fù)雜的需求,web系統(tǒng)助手會(huì)以各種表現(xiàn)形式出現(xiàn)。</p><p>  web應(yīng)用不斷發(fā)展,Web系統(tǒng)助手將會(huì)在以后的互聯(lián)網(wǎng)應(yīng)用中大展拳腳,web系統(tǒng)助手也將會(huì)有擁有自己的發(fā)展市場(chǎng)。</p><p>  但目前的web系統(tǒng)助手仍然存在一些問(wèn)題,如:</p><p>  1、沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),通用性差.</p><p>  2

31、、缺乏知識(shí)管理,資源共享。主要的實(shí)現(xiàn)技術(shù)沒(méi)有開(kāi)源社區(qū)支持。</p><p><b>  系統(tǒng)應(yīng)用技術(shù)概述 </b></p><p><b>  RMI技術(shù)框架</b></p><p>  遠(yuǎn)程方法調(diào)用是一種計(jì)算機(jī)之間對(duì)象互相調(diào)用對(duì)方函數(shù),啟動(dòng)對(duì)方進(jìn)程的一種機(jī)制,使用這種機(jī)制,某一臺(tái)計(jì)算機(jī)上的對(duì)象在調(diào)用另外一臺(tái)計(jì)算機(jī)上的方法

32、時(shí),使用的程序語(yǔ)法規(guī)則和在本地機(jī)上對(duì)象間的方法調(diào)用的語(yǔ)法規(guī)則一樣。  這種機(jī)制給分布計(jì)算的系統(tǒng)設(shè)計(jì)、編程都帶來(lái)了極大的方便。只要按照RMI規(guī)則設(shè)計(jì)程序,可以不必再過(guò)問(wèn)在RMI之下的網(wǎng)絡(luò)細(xì)節(jié)了,如:TCP和Socket等等?! ∪我鈨膳_(tái)計(jì)算機(jī)之間的通訊完全由RMI負(fù)責(zé)。調(diào)用遠(yuǎn)程計(jì)算機(jī)上的對(duì)象就像本地對(duì)象一樣方便。  1、面向?qū)ο螅篟MI可將完整的對(duì)象作為參數(shù)和返回值進(jìn)行傳遞,而不僅僅是預(yù)定義的數(shù)據(jù)類(lèi)型。也就是說(shuō),可以將類(lèi)似Java哈

33、西表這樣的復(fù)雜類(lèi)型作為一個(gè)參數(shù)進(jìn)行傳遞?! ?、可移動(dòng)屬性:RMI可將屬性從客戶(hù)機(jī)移動(dòng)到服務(wù)器,或者從服務(wù)器移動(dòng)到客戶(hù)機(jī)?! ?、設(shè)計(jì)方式:對(duì)象傳遞功能使您可以在分布式計(jì)算中充分利用面向?qū)ο蠹夹g(shù)的強(qiáng)大功能,如二層和三層結(jié)構(gòu)系統(tǒng)。如果用戶(hù)能夠傳遞屬性,那么就可以在自己的解決方案中使用面向?qū)ο蟮脑O(shè)計(jì)方式。所有面向?qū)ο蟮脑O(shè)計(jì)方式無(wú)不依靠不同的屬性來(lái)發(fā)揮功能,如果不能傳遞完整的對(duì)象——包括實(shí)現(xiàn)和類(lèi)型——就會(huì)失去設(shè)計(jì)方式上所提</p&g

34、t;<p>  本系統(tǒng)分布式文件系統(tǒng)主要用此技術(shù)框架實(shí)現(xiàn)。遠(yuǎn)程調(diào)用用于檢測(cè)文件系統(tǒng)的負(fù)載。最終根據(jù)負(fù)載情況為上傳的文件指定一臺(tái)文件服務(wù)器,以實(shí)現(xiàn)負(fù)載均衡。</p><p>  Flex RIA介紹</p><p>  Flex 是一個(gè)高效、免費(fèi)的開(kāi)源框架,可用于構(gòu)建具有表現(xiàn)力的 Web應(yīng)用程序,這些應(yīng)用程序利用Adobe Flash Player和Adobe AIR, 運(yùn)行時(shí)

35、跨瀏覽器、桌面和操作系統(tǒng)實(shí)現(xiàn)一致的部署。雖然只能使用 Flex 框架構(gòu)建 Flex應(yīng)用程序,但Adobe Flash Builder?(之前稱(chēng)為 Adobe Flex Builder?)軟件可以通過(guò)智能編碼、交互式遍歷調(diào)試以及可視設(shè)計(jì)用戶(hù)界面布局等功能加快開(kāi)發(fā)。</p><p>  使用 Flex 創(chuàng)建的 RIA 可運(yùn)行于使用 Adobe Flash Player 軟件的瀏覽器中,或在瀏覽器外運(yùn)行于跨操作系統(tǒng)運(yùn)行

36、時(shí) Adobe AIR上,它們可以跨所有主要瀏覽器、在桌面上實(shí)現(xiàn)一致的運(yùn)行。連接到 Internet 的計(jì)算機(jī)中超過(guò) 98% 裝有 Flash Player,這是一個(gè)企業(yè)級(jí)客戶(hù)端運(yùn)行時(shí),它的高級(jí)矢量圖形能處理要求最高、數(shù)據(jù)密集型應(yīng)用程序,到桌面應(yīng)用程序的執(zhí)行速度。通過(guò)利用 AIR,F(xiàn)lex應(yīng)用程序可以訪(fǎng)問(wèn)本地?cái)?shù)據(jù)和系統(tǒng)資源。</p><p>  Flex數(shù)據(jù)訪(fǎng)問(wèn)組件</p><p>  通

37、過(guò)數(shù)據(jù)訪(fǎng)問(wèn)組件,客戶(hù)端應(yīng)用程序可以通過(guò)網(wǎng)絡(luò)調(diào)用操作和服務(wù)。數(shù)據(jù)訪(fǎng)問(wèn)組件使用遠(yuǎn)程過(guò)程調(diào)用與服務(wù)器環(huán)境進(jìn)行交互。數(shù)據(jù)訪(fǎng)問(wèn)組件有以下三種:RemoteObject 組件、HTTPService 組件和 WebService 組件。</p><p>  數(shù)據(jù)訪(fǎng)問(wèn)組件是針對(duì)客戶(hù)端應(yīng)用程序設(shè)計(jì)的,其中的調(diào)用和響應(yīng)模型是訪(fǎng)問(wèn)外部數(shù)據(jù)的最佳選擇。通過(guò)這些組件,客戶(hù)端可以對(duì)處理請(qǐng)求的遠(yuǎn)程服務(wù)發(fā)出異步請(qǐng)求,然后將數(shù)據(jù)返回到應(yīng)用程序。

38、</p><p>  數(shù)據(jù)訪(fǎng)問(wèn)組件調(diào)用遠(yuǎn)程服務(wù)。隨后將從服務(wù)獲得的響應(yīng)數(shù)據(jù)存儲(chǔ)到 ActionScript 對(duì)象中,或存儲(chǔ)為服務(wù)返回的任何其它格式。在客戶(hù)端應(yīng)用程序中使用數(shù)據(jù)訪(fǎng)問(wèn)組件可處理以下三種服務(wù)類(lèi)型:</p><p>  遠(yuǎn)程對(duì)象服務(wù) (RemoteObject)</p><p>  Web 服務(wù) (WebService)</p><p&g

39、t;  HTTP 服務(wù) (HTTPService)</p><p>  WebService 組件</p><p>  WebService 組件用于訪(fǎng)問(wèn) SOAP Web 服務(wù),此類(lèi)服務(wù)是帶有方法的軟件模塊。Web 服務(wù)方法通常稱(chēng)為“操作”。Web 服務(wù)接口通過(guò) Web 服務(wù)描述語(yǔ)言 (WSDL) 進(jìn)行定義。通過(guò) Web 服務(wù)提供的標(biāo)準(zhǔn)相容方式,在不同平臺(tái)上運(yùn)行的軟件模塊可以相互交互。有

40、關(guān) Web 服務(wù)的詳細(xì)信息,請(qǐng)?jiān)L問(wèn)萬(wàn)維網(wǎng)聯(lián)合會(huì)網(wǎng)站的 Web 服務(wù)部分,網(wǎng)址為 www.w3.org/2002/ws/。</p><p>  客戶(hù)端應(yīng)用程序可以與在 Web 服務(wù)描述語(yǔ)言 (WSDL) 文檔(以 URL 形式提供)中定義其接口的 Web 服務(wù)進(jìn)行交互。WSDL 是一種標(biāo)準(zhǔn)格式,用于描述能夠由 Web 服務(wù)理解的消息、Web 服務(wù)對(duì)于這些消息的響應(yīng)格式、Web 服務(wù)支持的協(xié)議以及將這些消息發(fā)送到何處

41、。</p><p>  Flex 支持 WSDL 1.1,有關(guān)說(shuō)明,請(qǐng)?jiān)L問(wèn) www.w3.org/TR/wsdl。Flex 支持 RPC-encoded 和 document-literal Web 服務(wù)。</p><p>  Flex 支持格式設(shè)置為 SOAP 消息且通過(guò) HTTP 傳輸?shù)?Web 服務(wù)請(qǐng)求和結(jié)果。SOAP 提供基于 XML 格式的定義,用于在 Web 服務(wù)客戶(hù)端(如使用

42、 Flex 構(gòu)建的應(yīng)用程序)和 Web 服務(wù)之間交換結(jié)構(gòu)化和類(lèi)型化信息。</p><p>  如果在您的環(huán)境中 Web 服務(wù)是公認(rèn)標(biāo)準(zhǔn),則可以使用 WebService 組件連接 SOAP 相容的 Web 服務(wù)。對(duì)于企業(yè)環(huán)境中的對(duì)象,WebService 組件也很有用,但無(wú)需在 Web 應(yīng)用程序的源路徑上提供。</p><p>  Flash Builder 提供了用于以交互方式連接 We

43、b 服務(wù)的工作流。有關(guān)更多信息,請(qǐng)參閱訪(fǎng)問(wèn) Web 服務(wù)。</p><p>  RemoteObject 組件</p><p>  與 REST 樣式服務(wù)或 Web 服務(wù)一樣,使用遠(yuǎn)程對(duì)象服務(wù)可以直接以本機(jī)格式訪(fǎng)問(wèn)業(yè)務(wù)邏輯,而無(wú)需轉(zhuǎn)化為 XML 格式,從而節(jié)約將現(xiàn)有邏輯公開(kāi)為 XML 所需的時(shí)間。遠(yuǎn)程對(duì)象服務(wù)的另一個(gè)好處是通過(guò)有線(xiàn)網(wǎng)絡(luò)進(jìn)行通信的速度較快。雖然數(shù)據(jù)交換仍通過(guò) HTTP 或 H

44、TTPS 進(jìn)行,但數(shù)據(jù)自身會(huì)序列化為二進(jìn)制表示形式。使用 RemoteObject 組件將減少通過(guò)有線(xiàn)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,降低客戶(hù)端內(nèi)存使用率,從而縮短處理時(shí)間。</p><p>  在訪(fǎng)問(wèn)服務(wù)器上的數(shù)據(jù)時(shí),ColdFusion、PHP、BlazeDS 和 Adobe LiveCycle Data Services 可以使用服務(wù)器端類(lèi)型化。客戶(hù)端應(yīng)用程序可直接通過(guò)遠(yuǎn)程調(diào)用指定對(duì)象上的方法,來(lái)訪(fǎng)問(wèn) Java 對(duì)象、C

45、oldFusion 組件(本質(zhì)上是一個(gè) Java 對(duì)象)或 PHP 類(lèi)。服務(wù)器上的對(duì)象使用本機(jī)數(shù)據(jù)類(lèi)型作為參數(shù),使用這些參數(shù)查詢(xún)數(shù)據(jù)庫(kù),并返回屬于其本機(jī)數(shù)據(jù)類(lèi)型的值。</p><p><b>  系統(tǒng)需求分析</b></p><p><b>  需求概述</b></p><p>  需求分析是系統(tǒng)開(kāi)發(fā)的很重要的一環(huán),首先要

46、進(jìn)行需求調(diào)研,包括創(chuàng)建調(diào)研計(jì)劃、協(xié)調(diào)調(diào)研時(shí)間;收集客戶(hù)資料、獲取客戶(hù)需求;然后是編寫(xiě)需求文檔,確定開(kāi)發(fā)環(huán)境與運(yùn)行環(huán)境,估算出項(xiàng)目工作量。在這一階段,系統(tǒng)分析員還要列出系統(tǒng)的大功能模塊,每個(gè)大功能模塊有哪些小功能模塊,對(duì)于有些需求比較明確相關(guān)的界面時(shí),在這一步里還可以初步定義好少量的界面。在需求分析階段系統(tǒng)分析員要多次和客戶(hù)進(jìn)行溝通,以便能夠滿(mǎn)足客戶(hù)的需求。本文參考以前WEB系統(tǒng)助手的成功經(jīng)驗(yàn),并經(jīng)過(guò)仔細(xì)的分析與調(diào)查后,得出系統(tǒng)用例如圖所

47、示:</p><p>  圖2-1 系統(tǒng)用例圖</p><p><b>  系統(tǒng)功能需求</b></p><p>  Web系統(tǒng)助手業(yè)務(wù)功能</p><p>  Web系統(tǒng)助手業(yè)務(wù)主要包括以下幾方面:</p><p>  文件上傳功能。要求支持大文件上傳,多文件同時(shí)上傳,文件的分布式存儲(chǔ),并且上傳

48、時(shí)依靠提供負(fù)載均衡器選擇服務(wù)器。能夠觀察上傳任務(wù)的進(jìn)度、大小、狀態(tài)等,能夠?qū)ι蟼鞯娜蝿?wù)進(jìn)行開(kāi)始,暫停,刪除等操作。文件功能詳細(xì)用例表示如下:</p><p>  圖2-2 文件系統(tǒng)用例圖</p><p>  及時(shí)消息通信功能。普通用戶(hù)可以在不登陸web系統(tǒng)的情況下及時(shí)的接收web系統(tǒng)發(fā)送的消息,如果也沒(méi)有登錄Web系統(tǒng)助手,那么在將信息保存,當(dāng)用戶(hù)登錄時(shí)提示。管理用戶(hù)可以對(duì)消息進(jìn)行管理,包

49、括發(fā)送,編輯,刪除消息等操作。詳細(xì)用例表示如下:</p><p>  圖2-3 消息系統(tǒng)用例圖</p><p>  Web系統(tǒng)助手系統(tǒng)功能</p><p>  Web系統(tǒng)助手的系統(tǒng)功能主要包括以下幾方面:</p><p>  單點(diǎn)登錄功能。Web系統(tǒng)和Web系統(tǒng)助手共享用戶(hù)的登錄信息,用戶(hù)登錄或注銷(xiāo)通過(guò)單點(diǎn)登錄服務(wù)器來(lái)統(tǒng)一完成。用例圖如下:&

50、lt;/p><p>  圖2-4 單點(diǎn)登錄系統(tǒng)用例圖</p><p>  2、集成到Web系統(tǒng)的功能。要求能將Web系統(tǒng)助手集成到Web系統(tǒng)中,且要求配置簡(jiǎn)單。</p><p>  集成Web系統(tǒng)的業(yè)務(wù)功能。Web系統(tǒng)助手能夠?qū)eb系統(tǒng)的業(yè)務(wù)集成到助手當(dāng)中,要求配置簡(jiǎn)單,且能夠集成以WebService發(fā)布的web系統(tǒng)。</p><p>  除

51、此之外,還有如下要求: </p><p>  1、安全性。Web系統(tǒng)助手與Web系統(tǒng)采用單點(diǎn)登錄,所以要對(duì)用戶(hù)的信息采用加密,隱藏等安全性措施。</p><p>  2、穩(wěn)定性。當(dāng)同時(shí)登錄Web系統(tǒng)的用戶(hù)逐漸增多時(shí),尤其是用戶(hù)在使用上傳等對(duì)系統(tǒng)有高負(fù)荷的功能時(shí),要使用負(fù)載均衡器來(lái)合理分配服務(wù)端的服務(wù)器。</p><p>  3、移植性。Web系統(tǒng)助手不是孤立的,它可

52、能以后會(huì)在移動(dòng)端或者其它各種設(shè)備中運(yùn)行。在Web系統(tǒng)助手開(kāi)發(fā)的過(guò)程中,應(yīng)確保數(shù)據(jù)互通是各平臺(tái)兼容的,不僅是客戶(hù)端,還需要操作系統(tǒng)的兼容。</p><p>  4、擴(kuò)展性。Web系統(tǒng)助手要求能夠以多種便捷的方式集成各種Web系統(tǒng)和Web系統(tǒng)的業(yè)務(wù)功能,系統(tǒng)需要提供強(qiáng)大的擴(kuò)展性以保證新業(yè)務(wù)能簡(jiǎn)單易行地整合到系統(tǒng)。</p><p>  5、便捷性。因?yàn)楸鞠到y(tǒng)是一款直接被用戶(hù)使用的助手軟件,所以要

53、求操作簡(jiǎn)捷方便,符合多數(shù)用戶(hù)的操作習(xí)慣。</p><p>  總而言之,本系統(tǒng)要實(shí)現(xiàn)的目標(biāo)并不僅僅是針對(duì)某一個(gè)特定Web系統(tǒng)功能的功能軟件,更是成為一個(gè)能夠集成多個(gè)web系統(tǒng),多種web系統(tǒng)業(yè)務(wù)功能的助手軟件。</p><p><b>  軟件質(zhì)量需求</b></p><p>  軟件要符合明確敘述的功能和性能需求、文檔中明確描述的開(kāi)發(fā)標(biāo)準(zhǔn)、以

54、及所有專(zhuān)業(yè)開(kāi)發(fā)的軟件都應(yīng)具有的隱含特征的程度。并且在軟件開(kāi)發(fā)的過(guò)程中要遵循以下的幾點(diǎn)要求:</p><p><b>  需求分析:</b></p><p>  確??蛻?hù)所要求的系統(tǒng)是可行的。 </p><p>  確??蛻?hù)指定的需求確實(shí)能夠滿(mǎn)足他的真正要求。 </p><p>  避免開(kāi)發(fā)者和客戶(hù)之間的誤解。 </

55、p><p>  向用戶(hù)提供為滿(mǎn)足他所提出的需求而實(shí)際構(gòu)建的適當(dāng)軟件系統(tǒng)。 </p><p><b>  軟件規(guī)格說(shuō)明:</b></p><p>  通過(guò)建立需求跟蹤文檔,確保規(guī)格說(shuō)明書(shū)與系統(tǒng)需求保持一致。 </p><p>  確保規(guī)格說(shuō)明書(shū)能適當(dāng)?shù)馗倪M(jìn)系統(tǒng)的靈活性、可維護(hù)性以及性能。 </p><p&g

56、t;  確保已建立了測(cè)試策略。 </p><p>  確保已建立了現(xiàn)實(shí)的開(kāi)發(fā)進(jìn)度表,包括 預(yù)定的評(píng)審。 </p><p>  確保已為系統(tǒng)設(shè)計(jì)了正式的變更規(guī)程。 </p><p><b>  設(shè)計(jì):</b></p><p>  確保已建立用于描述設(shè)計(jì)的標(biāo)準(zhǔn),并且確保遵循這些標(biāo)準(zhǔn)。 </p><p>

57、;  確保適當(dāng)?shù)乜刂撇⒂梦臋n記錄對(duì)設(shè)計(jì)進(jìn)行的變更。 </p><p>  確保在系統(tǒng)設(shè)計(jì)組件已按照商定的準(zhǔn)則得到批準(zhǔn)之后才開(kāi)始編碼。 </p><p>  確保對(duì)設(shè)計(jì)的評(píng)審按照進(jìn)度進(jìn)行。 </p><p>  確保代碼遵循已建立的風(fēng)格、結(jié)構(gòu)和文檔標(biāo)準(zhǔn)。 </p><p>  確保代碼經(jīng)過(guò)適當(dāng)測(cè)試和集成,同時(shí)對(duì)編碼模塊的修改得到適當(dāng)?shù)臉?biāo)識(shí)。 &

58、lt;/p><p>  查看代碼編寫(xiě)是否遵循既定的進(jìn)度。 </p><p>  確保代碼評(píng)審按照進(jìn)度進(jìn)行。 </p><p><b>  測(cè)試:</b></p><p>  確保測(cè)試計(jì)劃的建立和遵循。 </p><p>  確保創(chuàng)建的測(cè)試計(jì)劃能夠滿(mǎn)足所有系統(tǒng)規(guī)格說(shuō)明書(shū)的要求。 </p>

59、<p>  確保經(jīng)過(guò)測(cè)試和返工后軟件與規(guī)格說(shuō)明書(shū)保持一致。 </p><p><b>  維護(hù):</b></p><p>  確保代碼和文檔的一致性。 </p><p>  確保對(duì)已建立的變更控制過(guò)程進(jìn)行監(jiān)測(cè),包括將變更集成到軟件的產(chǎn)品版本中的過(guò)程。 </p><p>  確保對(duì)代碼的修改遵循編碼標(biāo)準(zhǔn),并且要對(duì)

60、其進(jìn)行評(píng)審,不要破壞整個(gè)代碼結(jié)構(gòu)。</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p><b>  簡(jiǎn)述</b></p><p>  系統(tǒng)采用C/S和B/S的混合結(jié)構(gòu)模式。系統(tǒng)的分析設(shè)計(jì)采用面向?qū)ο蟮募夹g(shù),應(yīng)用VisioViewer、starUML等工具進(jìn)行輔助設(shè)計(jì)。</p><p>  

61、系統(tǒng)的設(shè)計(jì)原則如下:</p><p>  1.用戶(hù)界面設(shè)計(jì)原則:為了讓系統(tǒng)擁有良好人機(jī)交互界面,本軟件系統(tǒng)用戶(hù)界面布局應(yīng)考慮到用戶(hù)的操作習(xí)慣,做到功能布局明顯、空間分配平衡,以及界面統(tǒng)一規(guī)范化等。</p><p>  2.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)原則:在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要注意命名的規(guī)范,數(shù)據(jù)的一致性和完整性等。</p><p>  3.用戶(hù)操作簡(jiǎn)單快捷:作為一款助手軟件,在用戶(hù)

62、操作上,用戶(hù)感覺(jué)操作簡(jiǎn)單易上手,符合多數(shù)用戶(hù)的操作習(xí)慣,且提供某些快捷功能,如系統(tǒng)托盤(pán)等。</p><p>  4.高度可擴(kuò)展性原則:考慮到本系統(tǒng)是針對(duì)Web系統(tǒng)的助手軟件,需要集成許多Web系統(tǒng)的系統(tǒng)功能,所以本系統(tǒng)的數(shù)據(jù)交互跨平臺(tái),且提供了對(duì)Web系統(tǒng)的集成接口。</p><p><b>  架構(gòu)設(shè)計(jì)</b></p><p><b&g

63、t;  系統(tǒng)物理架構(gòu)</b></p><p>  系統(tǒng)共分為兩個(gè)服務(wù),分別是前臺(tái)客戶(hù)端和后臺(tái)服務(wù)端:</p><p>  1、前臺(tái)客戶(hù)端:使用Flex桌面應(yīng)用程序來(lái)顯示前臺(tái)Web系統(tǒng)助手的客戶(hù)端,它與后臺(tái)的Web系統(tǒng)助手構(gòu)成了基于C/S的架構(gòu),使用瀏覽器來(lái)顯示W(wǎng)eb系統(tǒng)的前端,可以顯示現(xiàn)在流行的JSP、ASP、PHP、PERL等動(dòng)態(tài)頁(yè)面,它與后臺(tái)的Web服務(wù)器構(gòu)成基于B/S的架

64、構(gòu)</p><p>  2、后臺(tái)服務(wù)端: Web系統(tǒng)助手服務(wù)器與Web服務(wù)器可單獨(dú)部署,Web服務(wù)器和Web系統(tǒng)助手服務(wù)器都可使用同一數(shù)據(jù)庫(kù),同時(shí),當(dāng)Web系統(tǒng)助手執(zhí)行文件上傳功能時(shí),可通過(guò)負(fù)載均衡器來(lái)分配文件服務(wù)器。</p><p>  圖3-1 系統(tǒng)物理架構(gòu)圖</p><p><b>  系統(tǒng)業(yè)務(wù)架構(gòu)</b></p><

65、p>  以業(yè)務(wù)調(diào)用過(guò)程圖來(lái)說(shuō)明本系統(tǒng)在整個(gè)web業(yè)務(wù)架構(gòu)下大體業(yè)務(wù)流程,如下圖:</p><p>  圖3-2 web系統(tǒng)業(yè)務(wù)調(diào)用過(guò)程</p><p>  Web系統(tǒng)助手主要業(yè)務(wù)調(diào)用過(guò)程如下:</p><p>  圖3-3 web系統(tǒng)助手業(yè)務(wù)調(diào)用過(guò)程</p><p><b>  系統(tǒng)功能架構(gòu)</b></p&g

66、t;<p>  下面采用結(jié)構(gòu)化的圖形方式對(duì)Web系統(tǒng)助手的操作流程進(jìn)行說(shuō)明分析。系統(tǒng)根據(jù)功能可分為3個(gè)子模塊(注:這只是本系統(tǒng)暫時(shí)集成的功能模塊,還可繼續(xù)集成其他Web系統(tǒng)的業(yè)務(wù)功能),下面就對(duì)這些子模塊進(jìn)行闡述分析。以下是Web系統(tǒng)助手后臺(tái)的功能架構(gòu)圖:</p><p>  圖3-4 web系統(tǒng)助手后臺(tái)功能架構(gòu)圖</p><p>  以下是web系統(tǒng)助手客戶(hù)端功能架構(gòu)圖:&

67、lt;/p><p>  圖3-5 web系統(tǒng)助手客戶(hù)端功能架構(gòu)圖</p><p>  用戶(hù)通過(guò)登錄界面登錄本系統(tǒng)后,系統(tǒng)將會(huì)呈現(xiàn)包括文件上傳管理、消息管理、等功能界面,用戶(hù)可以根據(jù)需要選擇相應(yīng)的功能。</p><p>  下面對(duì)各功能模塊間的操作處理關(guān)系進(jìn)行說(shuō)明: </p><p>  1、文件上傳管理。用戶(hù)在本模塊可以對(duì)文件進(jìn)行上傳操作,同時(shí)也

68、可以暫停文件的上傳,或者多個(gè)文件同時(shí)上傳??梢詣h除已經(jīng)建立的文件任務(wù),也可以暫停正在執(zhí)行的任務(wù)。</p><p>  2、消息管理。Web系統(tǒng)助手可以放入系統(tǒng)托盤(pán),當(dāng)Web系統(tǒng)給用戶(hù)發(fā)送了消息,系統(tǒng)托盤(pán)會(huì)提示,同時(shí),也可以快捷的通過(guò)Web系統(tǒng)助手查看消息。</p><p>  3、單點(diǎn)登錄。用戶(hù)無(wú)論從web登錄,還是從web助手登錄,可直接從客戶(hù)端訪(fǎng)問(wèn)web網(wǎng)頁(yè),無(wú)須再次登錄。所能快捷打開(kāi)

69、的網(wǎng)頁(yè)可以自行配置。</p><p>  關(guān)鍵問(wèn)題解決方案設(shè)計(jì) </p><p><b>  簡(jiǎn)述</b></p><p>  本系統(tǒng)主要涉及5個(gè)技術(shù)難點(diǎn)。每個(gè)技術(shù)難點(diǎn)的實(shí)現(xiàn)都是有選擇性的。本系統(tǒng)根據(jù)各種技術(shù)實(shí)現(xiàn)方式,結(jié)合自身系統(tǒng)環(huán)境,參考目前互聯(lián)網(wǎng)應(yīng)用。選擇一種最適合本系統(tǒng)的技術(shù)實(shí)現(xiàn)方式,快速,簡(jiǎn)單,安全,穩(wěn)定地構(gòu)建本系統(tǒng)。</p>

70、;<p>  Web端啟動(dòng)web助手(pc應(yīng)用)</p><p>  目前互聯(lián)網(wǎng)實(shí)現(xiàn)web端調(diào)用桌面應(yīng)用的技術(shù)主要有兩種方式:</p><p><b>  利用web插件</b></p><p>  利用web插件方式實(shí)現(xiàn)web端啟動(dòng)桌面應(yīng)用,優(yōu)點(diǎn)在于夸平臺(tái)性高,穩(wěn)定。目前可見(jiàn)互聯(lián)網(wǎng)產(chǎn)品,迅雷,QQ,快播等都是用這種方式啟動(dòng)桌面應(yīng)

71、用。這也是比較成熟的解決方案。但此種方式實(shí)現(xiàn)過(guò)于復(fù)雜。如果要實(shí)現(xiàn)跨平臺(tái),至少需要開(kāi)發(fā)兩套插件:</p><p>  ActiveX:一套是在windows平臺(tái)上的IE瀏覽器ActiveX插件。ActiveX 是一個(gè)開(kāi)放的集成平臺(tái),為開(kāi)發(fā)人員、 用戶(hù)和 Web生產(chǎn)商提供了一個(gè)快速而簡(jiǎn)便的在 Internet 和 Intranet 創(chuàng)建程序集成和內(nèi)容的方法。 使用 ActiveX, 可輕松方便的在 Web頁(yè)中插入 多

72、媒體效果、 交互式對(duì)象、以及復(fù)雜程序,創(chuàng)建用戶(hù)體驗(yàn)相當(dāng)?shù)母哔|(zhì)量多媒體CD-ROM 。</p><p>  NPAPI: 另一套是其它符合標(biāo)準(zhǔn)瀏覽器的NPAPI插件。NPAPI(Netscape Plugin Application Programming Interface,網(wǎng)景插件應(yīng)用程序接口)是用于在瀏覽器中執(zhí)行外部應(yīng)用程序的通用接口,與微軟的ActiveX是競(jìng)爭(zhēng)技術(shù)。每個(gè)插件聲明自己支持某一種或幾種內(nèi)容類(lèi)型

73、(例如“audio/mp3”),當(dāng)瀏覽器遇到這種類(lèi)型的內(nèi)容時(shí),便在插件庫(kù)尋找一種能夠解碼的插件,將這部分內(nèi)容交由其解析,并在網(wǎng)頁(yè)對(duì)應(yīng)的位置中顯示出來(lái)。</p><p><b>  大致流程如下:</b></p><p>  圖3-6 web端啟動(dòng)桌面應(yīng)用流程簡(jiǎn)圖</p><p>  兩種插件開(kāi)發(fā)成本相當(dāng)高。插件的安裝與維護(hù)也是一大難題。所以本系

74、統(tǒng)沒(méi)有使用這種方式。</p><p>  針對(duì)windows系統(tǒng),利用windows可自定義通信協(xié)議Registering an Application to a URI Scheme</p><p>  目前國(guó)內(nèi)市場(chǎng)windows在操作系統(tǒng)的占有率依舊遙遙領(lǐng)先。特別是在政府或者其它企業(yè)單位winodws操作系統(tǒng)使用率會(huì)更高。所以本系統(tǒng)完全可以只針對(duì)winodws平臺(tái)來(lái)開(kāi)發(fā)。Winodws

75、可以通過(guò)在注冊(cè)表里增加通信協(xié)議來(lái)實(shí)現(xiàn)web端啟動(dòng)本地應(yīng)用。早期各大互聯(lián)網(wǎng)產(chǎn)品qq,迅雷等也是通過(guò)這種方式實(shí)現(xiàn)的。Windows自定義通訊協(xié)議見(jiàn)微軟開(kāi)發(fā)社區(qū)文檔。此方式實(shí)現(xiàn)簡(jiǎn)單??稍趹?yīng)用軟件安裝時(shí),修改pc注冊(cè)表實(shí)現(xiàn)。關(guān)鍵流程如下:</p><p>  圖3-7 windows下web端啟動(dòng)桌面應(yīng)用流程簡(jiǎn)圖</p><p>  Web端與web助手通信</p><p&g

76、t;  Web端與web助手桌面應(yīng)用通信是本系統(tǒng)一大技術(shù)難點(diǎn)。如果用Activex插件進(jìn)行開(kāi)發(fā),會(huì)涉及插件的維護(hù)(3.2已經(jīng)說(shuō)明了使用插件的劣勢(shì))進(jìn)程間的通信等缺點(diǎn)。所以本系統(tǒng)使用flash 進(jìn)行桌面應(yīng)用開(kāi)發(fā),web端嵌入flash。利用flash本身框架技術(shù)進(jìn)行通信。</p><p>  圖3-8 web端啟與助手通信流程簡(jiǎn)圖</p><p><b>  從圖中可以看到:&l

77、t;/b></p><p>  1、本地web應(yīng)用之間是可以通訊的。</p><p>  2、本地文本應(yīng)用與本地桌面應(yīng)用是可以通訊的。</p><p><b>  Web助手單點(diǎn)登錄</b></p><p>  單點(diǎn)登錄是本系統(tǒng)一大功能需求。</p><p>  要實(shí)現(xiàn)單點(diǎn)登錄可以實(shí)現(xiàn)一個(gè)s

78、ession共享。實(shí)現(xiàn)Session共享的技術(shù)很多,但session共享會(huì)依賴(lài)于宿主系統(tǒng)的架構(gòu)實(shí)現(xiàn)。不符合web助手可集成性這一特點(diǎn)。</p><p>  可以攜帶登錄名和密碼,但此種方式極為不安全。</p><p>  可以本系統(tǒng)采用類(lèi)似QQ互聯(lián)網(wǎng)本地應(yīng)用打開(kāi)QQ空間方式,在服務(wù)器端產(chǎn)生一個(gè)key,然后網(wǎng)頁(yè)打開(kāi)后,將此key消除。</p><p>  通過(guò)以上分析

79、比較,最終得如下設(shè)計(jì):</p><p>  如果是web應(yīng)用登錄,通過(guò)web應(yīng)用啟動(dòng)web助手,則web系統(tǒng)助手客戶(hù)端將不用登錄。Web應(yīng)用只需在啟動(dòng)web助手時(shí)傳遞加密的登錄信息。流程簡(jiǎn)圖如下:</p><p>  圖3-9 單點(diǎn)登錄流程簡(jiǎn)圖</p><p>  如果是web助手登錄,那么通過(guò)web助手可直接訪(fǎng)問(wèn)web應(yīng)用的部分模塊。模塊可自行添加配置。流程簡(jiǎn)圖

80、如下:</p><p>  圖3-10 單點(diǎn)登錄流程簡(jiǎn)圖</p><p>  Web助手與文件系統(tǒng)通信(文件斷點(diǎn)續(xù)傳)</p><p>  Flash提供了3種組件來(lái)與服務(wù)器通信。Web助手與文件通信主要是為了解決大文件斷點(diǎn)續(xù)傳。3種組件在有各自的特點(diǎn),適合的場(chǎng)景不一樣。所以要選擇一種能夠解決文件斷點(diǎn)續(xù)傳問(wèn)題的組件。</p><p>  選

81、用組件,文件上傳及斷點(diǎn)續(xù)傳</p><p>  本系統(tǒng)采用的是RemoteObject 組件。實(shí)現(xiàn)的原理是客戶(hù)端頻繁調(diào)用服務(wù)端RemoteObject方法,文件二進(jìn)制數(shù)據(jù)作為調(diào)用方法的參數(shù)。RemoteObject組件雖然是基于http協(xié)議,但是flash官方文檔表明這種組件適合于發(fā)送頻繁請(qǐng)求。斷點(diǎn)續(xù)傳實(shí)現(xiàn)的原理是服務(wù)端記錄文件size,客戶(hù)端調(diào)用方法時(shí),服務(wù)端返回當(dāng)前已傳文件大小。在重新上傳時(shí),以已傳數(shù)據(jù)大小為

82、數(shù)據(jù)傳送起始點(diǎn)傳送文件。流程簡(jiǎn)圖如下:</p><p>  圖3-11 助手與文件系統(tǒng)通信流程簡(jiǎn)圖</p><p>  負(fù)載均衡以及文件存儲(chǔ)策略</p><p>  在文件上傳前,服務(wù)端會(huì)根據(jù)各個(gè)文件服務(wù)器的負(fù)載,進(jìn)行負(fù)載均衡。為當(dāng)前上傳的文件分配一臺(tái)文件服務(wù)器,并將此臺(tái)服務(wù)器與文件相關(guān)聯(lián),記錄于數(shù)據(jù)庫(kù)中。從而建立文件上傳任務(wù)。下面是整個(gè)業(yè)務(wù)流程簡(jiǎn)圖:</p

83、><p>  圖3-12 文件系統(tǒng)工作流程簡(jiǎn)圖</p><p>  上傳文件會(huì)根據(jù)文件上傳時(shí)的ip地址,mac地址已經(jīng)用戶(hù)id來(lái)判斷文件的唯一性,如果文件的這些信息一致,則文件任務(wù)系統(tǒng)認(rèn)為此文件已建立上傳任務(wù)。文件的上傳任務(wù)會(huì)記錄在數(shù)據(jù)庫(kù)中,主要流程簡(jiǎn)圖如下:</p><p>  圖3-13 文件系統(tǒng)流程圖</p><p>  在文件上傳時(shí),

84、需要根據(jù)各個(gè)文件系統(tǒng)的負(fù)載情況,為上傳文件分配一個(gè)負(fù)載較輕的文件系統(tǒng)。這個(gè)負(fù)載均衡策略,可作為一種擴(kuò)展實(shí)現(xiàn)。本系統(tǒng)負(fù)載均衡器默認(rèn)根據(jù)每個(gè)文件的任務(wù)量來(lái)實(shí)現(xiàn)負(fù)載均衡,流程簡(jiǎn)圖如下:</p><p>  圖3-14 文件系統(tǒng)負(fù)載均衡流程簡(jiǎn)圖</p><p><b>  系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b>  用戶(hù)登錄模塊設(shè)計(jì)&

85、lt;/b></p><p><b>  功能描述</b></p><p>  用戶(hù)輸入用戶(hù)名和密碼。</p><p>  從數(shù)據(jù)庫(kù)中查詢(xún)?cè)撚脩?hù)是否存在。</p><p>  判斷該用戶(hù)是否存在,若存在就進(jìn)入系統(tǒng),若不存在就提示錯(cuò)誤信息,要求用戶(hù)重新輸入。</p><p><b>

86、  流程簡(jiǎn)圖</b></p><p>  圖3-15 用戶(hù)登錄流程簡(jiǎn)圖</p><p><b>  靜態(tài)模型</b></p><p>  圖3-16 用戶(hù)登錄模塊類(lèi)圖</p><p><b>  動(dòng)態(tài)模型</b></p><p>  圖3-17 用戶(hù)登錄模塊序列

87、圖</p><p><b>  原型設(shè)計(jì)</b></p><p>  圖3-18 用戶(hù)登錄界面</p><p><b>  文件管理</b></p><p><b>  功能描述</b></p><p>  1.用戶(hù)選擇需要上傳的文件</p>

88、<p>  2.用戶(hù)右擊pop菜單的開(kāi)始按鈕開(kāi)始上傳文件。</p><p>  3.用戶(hù)可以暫?;蛘邉h除文件上傳任務(wù) </p><p><b>  流程簡(jiǎn)圖</b></p><p>  圖3-19 文件系流程簡(jiǎn)圖</p><p><b>  靜態(tài)模型</b></p>&

89、lt;p>  圖3-20 文件系統(tǒng)模塊類(lèi)圖</p><p><b>  動(dòng)態(tài)模型</b></p><p>  圖3-21 文件系統(tǒng)時(shí)序圖</p><p><b>  原型設(shè)計(jì)</b></p><p>  圖3-22 文件管理原型圖</p><p><b>  

90、消息管理</b></p><p><b>  功能描述</b></p><p>  1、系統(tǒng)托盤(pán)提示用戶(hù)有新的消息。</p><p>  2、用戶(hù)打開(kāi)相關(guān)的Web系統(tǒng)查看消息。</p><p><b>  流程簡(jiǎn)圖</b></p><p>  圖3-23 消息管理

91、流程簡(jiǎn)圖</p><p><b>  靜態(tài)模型</b></p><p>  圖3-24 消息管理類(lèi)圖</p><p><b>  動(dòng)態(tài)模型</b></p><p>  圖3-25 消息管理時(shí)序圖</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p

92、><p><b>  數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</b></p><p>  將需求分析得到的用戶(hù)需求抽象為信息結(jié)構(gòu)即概念模型的過(guò)程就是概念結(jié)構(gòu)設(shè)計(jì)。它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。本系統(tǒng)中采用實(shí)體-聯(lián)系圖(簡(jiǎn)稱(chēng)E-R圖)來(lái)描述系統(tǒng)的概念模型。E-R圖由實(shí)體、屬性、聯(lián)系三部分組成,其符號(hào)如圖3-4所示:</p><p>  圖3-26 E-R圖符號(hào)說(shuō)明<

93、/p><p>  圖3-27 E-R圖</p><p><b>  邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)信息進(jìn)行維護(hù)管理,所有數(shù)據(jù)涉及如下數(shù)據(jù)字典:</p><p>  操作員(Operator)</p><p>  UploadTask(上傳任務(wù))</p

94、><p>  SystemFile(系統(tǒng)文件)</p><p>  Message(消息)</p><p><b>  物理結(jié)構(gòu)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱(chēng)為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴(lài)于選定的數(shù)據(jù)庫(kù)管理系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)

95、的物理設(shè)計(jì)。</p><p>  數(shù)據(jù)庫(kù)的物理設(shè)計(jì)通常分為兩步:</p><p>  1、確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要指存取方法和存儲(chǔ)結(jié)構(gòu);</p><p>  2、對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。</p><p>  本系統(tǒng)的MySql數(shù)據(jù)庫(kù)的PDM圖如下所示:</p><p>  圖3-

96、27 pdm圖</p><p><b>  系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  單點(diǎn)登錄實(shí)現(xiàn)</b></p><p><b>  主要代碼</b></p><p><b>  在完成單點(diǎn)登錄時(shí):</b></p><p> 

97、 1、會(huì)涉及web端啟動(dòng)桌面應(yīng)用程序,此解決方案已經(jīng)在上文中提出?,F(xiàn)在給出具體實(shí)現(xiàn)方式以及實(shí)現(xiàn)細(xì)節(jié)。</p><p>  HKEY_CLASSES_ROOT</p><p><b>  alert</b></p><p>  (Default) = "URL:Alert Protocol"</p><p&

98、gt;  URL Protocol = ""</p><p>  DefaultIcon</p><p>  (Default) = "alert.exe,1"</p><p><b>  shell</b></p><p><b>  open</b><

99、;/p><p><b>  command</b></p><p>  (Default) = "C:\Program Files\Alert\alert.exe" "%1"</p><p>  官方參考文檔地址為 http://msdn.microsoft.com/en-us/library/aa76

100、7914%28v=vs.85%29.aspx</p><p>  2、單點(diǎn)登錄成功后會(huì)在服務(wù)端建立session,以便能夠在客戶(hù)端打開(kāi)相應(yīng)模塊頁(yè)面?,F(xiàn)給出主要代碼如下:</p><p>  public String generateKey() {</p><p>  String key = BeanUtil.createId();</p><

101、p>  HttpSession session = FlexUtil.getHttpSession();</p><p>  //客戶(hù)端登錄后打開(kāi)功能將客戶(hù)端session放UserLoginManager</p><p>  UserLoginManager.addSession(key,FlexUtil.getHttpSession());</p><p>

102、;  if(session.getAttribute(OperatorUtil.OPERATOR_ID) !=null){</p><p>  UserSessionManager.addUserSession(</p><p>  (String)session.getAttribute(OperatorUtil.OPERATOR_ID), session);</p>&

103、lt;p><b>  }else{</b></p><p>  return null;</p><p><b>  }</b></p><p>  return key;</p><p><b>  }</b></p><p><b>

104、  功能界面</b></p><p><b>  文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)</b></p><p><b>  主要代碼</b></p><p>  文件斷點(diǎn)續(xù)傳在web助手客戶(hù)端的主要接口為:</p><p>  package com.systemAgent.actionScript<

105、/p><p><b>  {</b></p><p>  public class FileUpload</p><p><b>  {</b></p><p>  public function FileUpload(</p><p>  taskID:String,<

106、/p><p>  mac:String,</p><p>  filePath:String,</p><p>  file_fileSize:Number,</p><p>  hasUploadSize:Number,</p><p>  taskName:String,</p><p>  t

107、askState:int,</p><p>  window:Window</p><p><b>  ){}</b></p><p>  public function startUpload():void{}</p><p><b>  //功能函數(shù)</b></p><p&g

108、t;  private function uploadFile(begin:int,end:int):void{}</p><p><b>  //初始化流</b></p><p>  private function initStream(file:File):void{}</p><p><b>  //遠(yuǎn)程服務(wù)函數(shù)</b&

109、gt;</p><p>  private function checkFile(taskID:String):void</p><p><b>  {</b></p><p>  FlexFileUploadService.checkFile(taskID);</p><p><b>  }</b>

110、;</p><p>  private function writeFile(</p><p>  taskID:String,</p><p>  mac:String,</p><p>  file:File,</p><p>  fileByteArray:ByteArray</p><p&g

111、t;<b>  ):void{</b></p><p>  FlexFileUploadService.writeFile(</p><p><b>  taskID,</b></p><p><b>  mac,</b></p><p>  file.modification

112、Date.time+"",</p><p>  fileByteArray</p><p><b>  );</b></p><p><b>  }</b></p><p>  private function finishUpload(taskID:String,mac:Str

113、ing,file:File):void{}</p><p>  private function init(taskID:String,mac:String,file:File):void{}</p><p>  private function initRemoteObject():void{}</p><p><b>  }</b><

114、/p><p><b>  }</b></p><p><b>  功能界面</b></p><p><b>  消息實(shí)時(shí)提醒實(shí)現(xiàn)</b></p><p><b>  主要代碼</b></p><p>  消息實(shí)時(shí)提醒是以客戶(hù)端設(shè)定定時(shí)器

115、,每個(gè)固定時(shí)間向后臺(tái)Message服務(wù)發(fā)送請(qǐng)求,獲得未讀消息條數(shù),主要代碼如下:</p><p>  /*每隔500ms觸發(fā)Timer狀態(tài)欄閃動(dòng)提醒事件 * */ </p><p>  private function onMessageNotify(evt:TimerEvent):void{ </p><p>  if (!messageFlickerStat

116、e){</p><p>  messageFlickerState = true;</p><p>  NativeApplication.nativeApplication.icon.bitmaps = kongFlicker; </p><p><b>  }</b></p><p><b>  else{

117、 </b></p><p>  messageFlickerState = false; </p><p>  NativeApplication.nativeApplication.icon.bitmaps = MBitmapDataFlicker; </p><p><b>  } </b></p><

118、p><b>  }</b></p><p><b>  功能界面</b></p><p><b>  系統(tǒng)測(cè)試</b></p><p><b>  測(cè)試計(jì)劃</b></p><p><b>  (1) 測(cè)試目的</b></

119、p><p>  在開(kāi)發(fā)本系統(tǒng)的功能與設(shè)計(jì)過(guò)程中,面對(duì)一些程序異步調(diào)用以及同步上傳等等一系列問(wèn)題,有可能會(huì)出現(xiàn)一些差錯(cuò)。而測(cè)試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多的發(fā)現(xiàn)軟件中的錯(cuò)誤。并能夠及時(shí)得對(duì)那些錯(cuò)誤進(jìn)行修改。軟件測(cè)試是保證軟件質(zhì)量的關(guān)鍵步驟,它是對(duì)軟件規(guī)格說(shuō)明,設(shè)計(jì)和編碼的最后復(fù)審,也是必不可少的關(guān)鍵步驟。</p><p><b>  (2) 測(cè)試環(huán)境</b>

120、</p><p>  操作系統(tǒng):windows7</p><p>  服務(wù)器:apache tomcat 7.0、JDK1.6</p><p><b>  數(shù)據(jù)庫(kù):MySQL</b></p><p><b>  (3) 測(cè)試方案</b></p><p>  由于開(kāi)發(fā)時(shí)間比較

121、緊,所以在對(duì)本系統(tǒng)做測(cè)試的時(shí)候采用了單元測(cè)試和集成測(cè)試。在開(kāi)發(fā)的時(shí)候就對(duì)系統(tǒng)做單元測(cè)試,邊測(cè)試邊開(kāi)發(fā),然后等各個(gè)模塊做完之后,把各個(gè)模塊集成進(jìn)來(lái),做集成測(cè)試,看是否有錯(cuò)誤。</p><p><b>  (4) 測(cè)試范圍</b></p><p>  測(cè)試的范圍主要包括本系統(tǒng)Flex桌面應(yīng)用程序以及Flex網(wǎng)頁(yè),首先是對(duì)每個(gè)功能模塊進(jìn)行單元測(cè)試,看是否有未完成的功能,同時(shí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論