版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p> 題 目: 聊天室系統(tǒng) </p><p> 院 系: 經(jīng)濟(jì)管理學(xué)院 </p><p> 專 業(yè): 信息管理與信息系統(tǒng) </p><p> 班 級(jí):
2、 2008-01 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 論文提交日期: 2012年06月18日</p><p> 論文答辯日期: 2012年06月28日</p&g
3、t;<p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 信息管理與信息系統(tǒng) 2008-01 </p><p><b> 內(nèi)容摘要</b></p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中都離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息處理系統(tǒng)的原因。本文以聊天室系統(tǒng)的開發(fā)為背景,基于軟件工程的概念,對(duì)該系
4、統(tǒng)的分析、設(shè)計(jì)、開發(fā)、研制過程進(jìn)行了詳細(xì)的論述。本文是聊天室的實(shí)際應(yīng)用出發(fā),在對(duì)現(xiàn)有聊天工具進(jìn)行認(rèn)真、細(xì)致、深入調(diào)研的基礎(chǔ)上,分析了其實(shí)際運(yùn)用中的不足,并進(jìn)行了科學(xué)的結(jié)構(gòu)分析和設(shè)計(jì),提出一個(gè)實(shí)用的聊天室系統(tǒng)的設(shè)計(jì)方案。</p><p> 網(wǎng)絡(luò)聊天工具已經(jīng)作為一種重要的信息交流工具,受到越來越多的網(wǎng)民的青睞。目前,出現(xiàn)了很多非常不錯(cuò)的聊天工具,其中應(yīng)用比較廣泛的有騰訊QQ、MSN-Messager等等。該聊天室系
5、統(tǒng)開發(fā)主要包括一個(gè)網(wǎng)絡(luò)聊天服務(wù)器程序和一個(gè)網(wǎng)絡(luò)聊天客戶程序兩個(gè)方面。前者通過Socket套接字建立服務(wù)器,服務(wù)器能讀取、轉(zhuǎn)發(fā)客戶端發(fā)來信息,并能刷新用戶列表。后者通過與服務(wù)器建立連接,來進(jìn)行客戶端與客戶端的信息交流。在網(wǎng)絡(luò)編程中對(duì)信息的讀取、發(fā)送,是利用流來實(shí)現(xiàn)信息的交換,其中介紹了對(duì)實(shí)現(xiàn)一個(gè)系統(tǒng)的信息流的分析,包含了一些基本的軟件工程的方法。經(jīng)過分析這些情況,該聊天工具采用Eclipse為基本開發(fā)環(huán)境和java語(yǔ)言進(jìn)行編寫,運(yùn)用Mys
6、ql數(shù)據(jù)庫(kù)。首先可在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行不斷修正和改進(jìn),直到形成可行系統(tǒng)。</p><p> 關(guān)鍵詞:聊天室系統(tǒng); Mysql; Eclipse; </p><p><b> Abstract</b></p><p> Today is the rapid development of the informa
7、tion age, in all walks of life are inseparable from the information processing, this is what the computer is widely used in the cause of the information processing system. Based on the background of the development of th
8、e chat room system, based on the concept of software engineering, the system analysis, design, development, development process are discussed in detail. This paper is the practical application of chat room, based on the
9、existing chat t</p><p> Along with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At prese
10、nt, many extremely good chating tools have appeared . for example, QQ, MSN-Messager and so on. This Chating Room System development mainly includes two aspects of the server procedure of the network chat and the customer
11、 procedure of the network chat. The former establishes the server through the Socket, the server c</p><p> Keywords: Chating Room System; Mysql ; Eclipse</p><p><b> 目 錄</b></
12、p><p><b> 一、引 言1</b></p><p> 1.1開發(fā)背景1</p><p> 1.2開發(fā)目的2</p><p> 1.3開發(fā)設(shè)計(jì)思想2</p><p><b> 二、系統(tǒng)分析3</b></p><p> 2
13、.1 系統(tǒng)初步調(diào)查3</p><p> 2.2 可行性分析3</p><p> 2.2.1 技術(shù)上的可行性3</p><p> 2.2.2 經(jīng)濟(jì)上的可行性4</p><p> 2.2.3 操作上的可行性4</p><p> 2.3 需求分析5</p><p> 2.3.1
14、 系統(tǒng)的功能需求5</p><p> 2.3.2 系統(tǒng)的運(yùn)行環(huán)境要求6</p><p> 2.3.3 系統(tǒng)的性能要求6</p><p> 2.3.4 系統(tǒng)將來可能提出的要求7</p><p> 2.4數(shù)據(jù)流分析7</p><p> 2.4.1數(shù)據(jù)流圖7</p><p>
15、2.4.1主數(shù)據(jù)流程圖8</p><p> 2.4.2 數(shù)據(jù)字典9</p><p> 三、系統(tǒng)功能模塊設(shè)計(jì)10</p><p> 3.1 聊天室系統(tǒng)功能設(shè)計(jì)目標(biāo)10</p><p> 3.2聊天室系統(tǒng)的子系統(tǒng)功能設(shè)計(jì)10</p><p> 3.2.1系統(tǒng)功能模塊圖10</p><
16、;p> 3.2.2系統(tǒng)用例圖11</p><p> 四、數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><p> 4.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述12</p><p> 4.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)12</p><p> 五、系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)14</p><p> 5.1實(shí)現(xiàn)概況14</p><p> 5.2登
17、錄界面的設(shè)計(jì)14</p><p> 5.2.1流程圖14</p><p> 5.2.2登陸界面15</p><p> 5.3注冊(cè)模塊16</p><p> 5.3.1流程圖16</p><p> 5.4聊天模塊17</p><p> 5.4.1流程圖17</p&g
18、t;<p> 5.4.2模塊功能18</p><p> 5.5文件模塊19</p><p> 5.5.1流程圖19</p><p> 5.5.2模塊功能20</p><p> 5.6用戶管理模塊23</p><p> 5.6.1流程圖24</p><p>
19、 5.6.2模塊功能24</p><p> 六、系統(tǒng)的調(diào)試與測(cè)試28</p><p><b> 6.1調(diào) 試28</b></p><p> 6.1.1 程序調(diào)試28</p><p> 6.1.2 分調(diào)28</p><p> 6.1.3 總調(diào)28</p><
20、p><b> 6.2測(cè)試29</b></p><p><b> 七、總 結(jié)31</b></p><p><b> 致謝32</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 程序清單34
21、</b></p><p> 聊天室系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 一、引 言</b></p><p> 隨著人類社會(huì)的不斷進(jìn)步,計(jì)算機(jī)的發(fā)展也突飛猛進(jìn),日新月異。半個(gè)世紀(jì)以來,還沒有任何一種工業(yè)產(chǎn)品像計(jì)算機(jī)那樣對(duì)人類社會(huì)生活產(chǎn)生如此深刻而又巨大的影響。計(jì)算機(jī)以強(qiáng)大的信息處理能力作為人類腦力勞動(dòng)的有力助手登上歷史舞臺(tái)
22、以后,出現(xiàn)了把人類從繁瑣的腦力勞動(dòng)下解放出來的現(xiàn)代信息革命。計(jì)算機(jī)已滲透到社會(huì)生活的各個(gè)領(lǐng)域,推動(dòng)著科學(xué)技術(shù)、社會(huì)經(jīng)濟(jì)等各方面的發(fā)展。</p><p><b> 開發(fā)背景</b></p><p> 隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)聊天工具已經(jīng)作為一種重要的信息交流工具,受到越來越多的網(wǎng)民的青睞。目前,出現(xiàn)了很多非常不錯(cuò)的聊天工具,其中應(yīng)用比較廣泛的有騰訊QQ、MSN-M
23、essager等等。無論是個(gè)人還是企業(yè)等組織機(jī)構(gòu),對(duì)溝通的需求也在不斷發(fā)展,傳統(tǒng)的電話、傳真、郵件等溝通方式顯然已無法滿足當(dāng)今人們工作和生活溝通的需要。隨著軟件、網(wǎng)絡(luò)和通訊三大現(xiàn)代信息技術(shù)的發(fā)展,在溝通、協(xié)作方面有著更多方便、快捷、實(shí)時(shí)等優(yōu)勢(shì)的即時(shí)通訊,成為繼電話、E-Mail之后又一個(gè)完全融入每個(gè)人生活的互聯(lián)網(wǎng)工具。</p><p> Java是一個(gè)由Sun公司開發(fā)而成的新一代編程語(yǔ)言。使用它可在各式各樣不同
24、種機(jī)器、不同種操作平臺(tái)的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件。不論你使用的是哪一種WWW瀏覽器,哪一種計(jì)算機(jī),哪一種操作系統(tǒng),只要WWW瀏覽器上面注明了“支持Java”,你就可以看到生動(dòng)的主頁(yè)。Java正在逐步成為Internet應(yīng)用的主要開發(fā)語(yǔ)言。它徹底改變了應(yīng)用軟件的開發(fā)模式,帶來了自PC機(jī)以來又一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的活力。</p><p><b> 開發(fā)目的</b></p&
25、gt;<p> 網(wǎng)絡(luò)通信在當(dāng)今信息社會(huì)中起著不可或缺的作用,人們可以利用網(wǎng)絡(luò)通信技術(shù)進(jìn)行信息交流。比如說QQ聊天工具,它就是利用網(wǎng)絡(luò)通信技術(shù)開發(fā)的一款眾所周知的網(wǎng)絡(luò)聊天工具。通訊工具最初雖為聊天而誕生,但其作用早已超出了聊天的范疇,隨著企業(yè)網(wǎng)絡(luò)通訊工具的出現(xiàn),聊天室在網(wǎng)絡(luò)營(yíng)銷中將發(fā)揮更大的作用。</p><p> 目前,信息交流是互聯(lián)網(wǎng)提供的主要內(nèi)容,網(wǎng)絡(luò)通信系統(tǒng)有多種實(shí)現(xiàn)方 式,類似ICQ屬于
26、一種點(diǎn)對(duì)點(diǎn)的聊天系統(tǒng);還有一種是基于Socket的集中式聊天系統(tǒng),這種聊天系統(tǒng)需要登錄統(tǒng)一的聊天服務(wù)器考慮到要可以在局域網(wǎng)中應(yīng)用,本系統(tǒng)使用的是第二種方法,經(jīng)過設(shè)置,在局域網(wǎng)上可以使用。</p><p> 但是本次畢業(yè)設(shè)計(jì)默認(rèn)在單機(jī)情況下運(yùn)行,若在局域網(wǎng)中運(yùn)行可在登陸界面的設(shè)置中輸入服務(wù)器端的IP地址。</p><p><b> 開發(fā)設(shè)計(jì)思想</b></p&
27、gt;<p> ?、?盡量采用現(xiàn)有軟硬件環(huán)境開發(fā)方案,從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的;</p><p> 系統(tǒng)應(yīng)符合企業(yè)管理的規(guī)定,滿足對(duì)企業(yè)人事管理的需要,并達(dá)到操作過程中的快捷、方便、實(shí)用、安全等要求;</p><p> ?、?系統(tǒng)采用模塊化程序設(shè)計(jì)方法,具有良好的可擴(kuò)展性和可維護(hù)性。軟件設(shè)計(jì)盡可能模塊化、組件化,使應(yīng)用系統(tǒng)可靈活配置,適應(yīng)不
28、同的情況,便于未參與開發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。數(shù)據(jù)庫(kù)的設(shè)計(jì)盡可能考慮到將來的需要。</p><p> ?、?系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作</p><p><b> 二、系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)初步調(diào)查</p><p> 詳細(xì)了解和深刻認(rèn)識(shí)使用所開
29、發(fā)系統(tǒng)的單位之現(xiàn)狀、發(fā)展方向、存在的問題和各級(jí)管理人員的信息需求是系統(tǒng)建設(shè)的重要基礎(chǔ)。收集到真實(shí)、準(zhǔn)確和適用的相關(guān)信息,是系統(tǒng)開發(fā)的第一階段——系統(tǒng)分析階段工作的重要內(nèi)容。信息收集也是完成系統(tǒng)分析各項(xiàng)任務(wù)的基礎(chǔ)。在系統(tǒng)建設(shè)中,建設(shè)者首先必須收集信息,了解情況,明確問題和目標(biāo),視具體情況決定工作方針。</p><p> 該人事管理系統(tǒng)采取的是訪問與實(shí)踐相結(jié)合的調(diào)查方法。首先,通過提問的方式與用戶進(jìn)行交談,收集有關(guān)
30、信息,在訪問時(shí)充分聽取各方面的要求和希望,同時(shí)做好有關(guān)新系統(tǒng)的宣傳工作;其次,通過參加業(yè)務(wù)實(shí)踐了解系統(tǒng),有目的的跟班學(xué)習(xí),以達(dá)到比較深入細(xì)致地掌握工作流程中數(shù)據(jù)產(chǎn)生、傳送、加工、存儲(chǔ)和輸出的具體過程和內(nèi)容。</p><p> 2.2 可行性分析</p><p> 系統(tǒng)的可行性分析的目的在于用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定在現(xiàn)有的技術(shù)、經(jīng)濟(jì)和人員素質(zhì)等條件下該問題是否能夠解決,是否值
31、得去解決。其實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。一般應(yīng)該從下述三方面研究每種解法的可行性:技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性。</p><p> 2.2.1 技術(shù)上的可行性</p><p> ?、?目前的網(wǎng)絡(luò)狀況可以對(duì)瀏覽器/服務(wù)器應(yīng)用提供可靠的支持</p><p> 該企業(yè)已經(jīng)實(shí)現(xiàn)
32、了局域網(wǎng)互連,現(xiàn)有的局域網(wǎng)為100M/s以太網(wǎng);同時(shí)通過寬帶可以提供Web訪問服務(wù)。網(wǎng)絡(luò)狀況良好,能較快速可靠的支持一般的網(wǎng)絡(luò)應(yīng)用,可以滿足一般性的瀏覽器/服務(wù)器應(yīng)用的網(wǎng)絡(luò)需求。</p><p> ⑵ 現(xiàn)有的硬件環(huán)境可以滿足一般性應(yīng)用的需求</p><p> 該企業(yè)有多臺(tái)高速兼容機(jī)和各式打印機(jī),為了此系統(tǒng)的開發(fā)還準(zhǔn)備購(gòu)進(jìn)2臺(tái)Pentium4 PC機(jī),并要購(gòu)進(jìn)一臺(tái)高性能的兼容機(jī)作為數(shù)據(jù)服
33、務(wù)器。企業(yè)具有的硬件環(huán)境可以在很大程度上滿足系統(tǒng)在硬件方面的需求。</p><p> ?、?現(xiàn)有的軟件環(huán)境可以滿足一般性應(yīng)用的需求</p><p> 該企業(yè)內(nèi)部的計(jì)算機(jī)上采用的操作系統(tǒng)平臺(tái),多為Microsoft公司的Windows2000、Windows2003等,為圖形化操作系統(tǒng),界面一致,用戶使用方便。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)采用的是Miscrosoft SQL Server 2
34、000 。該系統(tǒng)具有性能穩(wěn)定、使用簡(jiǎn)單、功能強(qiáng)大、安全等特點(diǎn),完全可以滿足中小型企業(yè)的數(shù)據(jù)管理和處理要求。</p><p> ?、?系統(tǒng)開發(fā)人員的技術(shù)水平</p><p> 開發(fā)人員為信息管理與信息系統(tǒng)畢業(yè)生,具有一定的系統(tǒng)開發(fā)經(jīng)驗(yàn),專業(yè)知識(shí)掌握的也很好,再經(jīng)過參加實(shí)際項(xiàng)目的開發(fā),經(jīng)驗(yàn)更加成熟,能夠較容易的了解用戶需求并能在計(jì)算機(jī)上實(shí)現(xiàn)。指導(dǎo)教師也具有很高的軟件開發(fā)經(jīng)驗(yàn),同時(shí)具有豐富的實(shí)
35、際財(cái)務(wù)管理方面的經(jīng)驗(yàn)。這些都是系統(tǒng)開發(fā)質(zhì)量的重要保證。</p><p><b> ?、?結(jié)論</b></p><p> 綜上所述,系統(tǒng)主要在于數(shù)據(jù)處理和查詢,實(shí)時(shí)性要求不高,同時(shí)現(xiàn)有的軟硬件條件也滿足系統(tǒng)開發(fā)要求。因此,該人事管理系統(tǒng)開發(fā)在技術(shù)上是可行的。</p><p> 2.2.2 經(jīng)濟(jì)上的可行性</p><p>
36、; 軟件系統(tǒng)開發(fā)中的費(fèi)用主要包括:系統(tǒng)開發(fā)使用的軟硬件費(fèi)用、人員費(fèi)用和系統(tǒng)運(yùn)行時(shí)的軟硬件費(fèi)用等。由于企業(yè)原有的軟硬件設(shè)施很完善,現(xiàn)有四臺(tái)PC機(jī),一臺(tái)打印機(jī),各臺(tái)微機(jī)已通過局域網(wǎng)互聯(lián),整體達(dá)到系統(tǒng)運(yùn)行的要求并不需要很大的軟硬件投入。因此,新系統(tǒng)使用后不需購(gòu)置硬件,硬件的升級(jí)費(fèi)用也非常低。 </p><p> 總之,系統(tǒng)開發(fā)所獲得效益將遠(yuǎn)大于系統(tǒng)開發(fā)所需的費(fèi)用,所以該人事管理系統(tǒng)的開發(fā)在經(jīng)濟(jì)可行性方面是可行的。&
37、lt;/p><p> 2.2.3 操作上的可行性</p><p> 只要一臺(tái)以上計(jì)算機(jī)連接在同一個(gè)局域網(wǎng)內(nèi),本系統(tǒng)就可以安裝使用,所以操作上完全不存在問題。如果要實(shí)現(xiàn)internet上通訊,只需要將服務(wù)器端運(yùn)行在一個(gè)有固定IP的公網(wǎng)上就可以。</p><p> 因此該聊天室系統(tǒng)在操作可行性方面是可以被用戶接受的。</p><p><b
38、> 2.3 需求分析</b></p><p> 系統(tǒng)需求分析是軟件定義時(shí)期的最后一個(gè)階段,是系統(tǒng)開發(fā)工作中的重要環(huán)節(jié),它的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么”這個(gè)問題。 </p><p> 2.3.1 系統(tǒng)的功能需求</p><p> 本系統(tǒng)包括注冊(cè),登錄,聊天,發(fā)送截圖,發(fā)送問價(jià),日志,用戶管理子系統(tǒng)。</p><p
39、> 各子系統(tǒng)的詳細(xì)內(nèi)容如下:</p><p><b> ⑴ 注冊(cè)</b></p><p> 服務(wù)器收到用戶的注冊(cè)請(qǐng)求,便開始接受客戶傳遞的信息,諸如客戶的呢稱,性別,籍貫,個(gè)人資料等,接受完畢后,便通過JDBC與后臺(tái)數(shù)據(jù)庫(kù)連接,然后向數(shù)據(jù)庫(kù)添加記錄,如果成功,便向客戶返回其號(hào)碼??蛻羰盏椒?wù)器返回的信息后,便打開窗口登陸。</p><p
40、><b> ?、?登陸</b></p><p> 在客戶端,用戶輸入其號(hào)碼和密碼,然后建立與服務(wù)器的連接,告訴服務(wù)器我要登錄,服務(wù)器收到后,開始通過JDBC讀取數(shù)據(jù)庫(kù),然后與用戶輸入的信息進(jìn)行比對(duì),如果成功,便打開主程序窗口。然后客戶向服務(wù)器請(qǐng)求讀取好友名單,服務(wù)器收到該請(qǐng)求,從數(shù)據(jù)庫(kù)中取出好友列表,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友。</p>&l
41、t;p><b> ?、?聊天</b></p><p> 客戶端首先發(fā)送消息到服務(wù)器端,服務(wù)器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。例如服務(wù)器接收到一個(gè)A發(fā)給B的消息,先判斷B是否已經(jīng)在線,如果在線就將信息發(fā)送過去。如果B不在線則把信息儲(chǔ)存在服務(wù)器,等B上線了在發(fā)送給他。B接收到A發(fā)來的信息,如果是未建立對(duì)話窗口,則自動(dòng)打開顯示。</p><p><b>
42、; ?、?發(fā)送截圖</b></p><p> 客戶端A點(diǎn)擊截圖按鈕,將屏幕鎖定,截取圖片,將圖片儲(chǔ)存在byte[]數(shù)組中發(fā)送到服務(wù)器端。服務(wù)器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。B接收到A發(fā)來的截圖信息,會(huì)根據(jù)byte[]構(gòu)造圖片,將圖片顯示出來。同樣,如果是未建立對(duì)話窗口,則自動(dòng)打開顯示。</p><p><b> ?、?發(fā)送文件</b></p&
43、gt;<p> 客戶端A點(diǎn)擊發(fā)送文件按鍵,從本地選擇文件,將文件在byte[]數(shù)組中分批次發(fā)送到服務(wù)器端。服務(wù)器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。B接收到A發(fā)來的文件信息,會(huì)根據(jù)文件發(fā)送的狀態(tài)和byte[]構(gòu)造文件。</p><p><b> ?、?日志</b></p><p> 客戶端發(fā)送和接收到的信息都會(huì)儲(chǔ)存在文本文檔中。默認(rèn)儲(chǔ)存在C盤下面,會(huì)
44、以用戶的登錄賬號(hào)為名。</p><p><b> ?、?用戶管理</b></p><p> 管理員通過B/S的系統(tǒng)對(duì)用戶進(jìn)行增加,修改,刪除,查找等操作,對(duì)系統(tǒng)進(jìn)行維護(hù);在線用戶的操作,管理員通過B/S的系統(tǒng)對(duì)在線用戶操作,可以踢用戶下線。</p><p> 2.3.2 系統(tǒng)的運(yùn)行環(huán)境要求</p><p><b
45、> ?、?硬件環(huán)境</b></p><p> 目前,我們所開發(fā)的系統(tǒng)主要是應(yīng)用在中小規(guī)模的企業(yè)內(nèi)部,因此,一般配置的計(jì)算機(jī)硬件就可以滿足系統(tǒng)需求考慮到企業(yè)規(guī)模的擴(kuò)大和硬件價(jià)格的降低,將本系統(tǒng)配置在較優(yōu)秀的服務(wù)器硬件上,可以充分發(fā)揮本系統(tǒng)的性能。</p><p> CPU:Intel Pentium 43 .06GX或更高</p><p> 內(nèi)
46、存:256MB以上</p><p> 硬盤空間:40GB </p><p> 顯示:SVGA 顯示適配器</p><p><b> ?、?軟件環(huán)境</b></p><p> 操作系統(tǒng):中文Windows 2000 ,Windows2003或XP</p><p> 數(shù)據(jù)庫(kù):Microsoft
47、 SQL Server 2000</p><p> 開發(fā)軟件: Microsoft Visual Studio.NET 2003</p><p> 2.3.3 系統(tǒng)的性能要求</p><p><b> ⑴ 精度</b></p><p> 本系統(tǒng)對(duì)精度的要求主要表現(xiàn)在數(shù)據(jù)庫(kù)設(shè)計(jì)上,這個(gè)在數(shù)據(jù)庫(kù)設(shè)計(jì)中會(huì)有相關(guān)內(nèi)容,在
48、此略。</p><p><b> ⑵ 速度</b></p><p> 響應(yīng)時(shí)間0.05秒以內(nèi)。</p><p><b> ?、?靈活性</b></p><p> 本系統(tǒng)的擴(kuò)展性很好,可以根據(jù)需求增加和刪除欄目,但不能改變系統(tǒng)的整體性。</p><p><b>
49、 ?、?輸人輸出要求</b></p><p> 輸入和輸出的要求在數(shù)據(jù)庫(kù)的設(shè)計(jì)中有相關(guān)內(nèi)容,見數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p><b> ⑸ 故障處理要求</b></p><p> 可能出現(xiàn)的軟硬件的問題是:無法訪問系統(tǒng),可能是服務(wù)器停止運(yùn)行或源代碼被更改;</p><p> 處理方法:檢查服務(wù)器或源代碼
50、。</p><p><b> ?、?安全保密要求。</b></p><p> 設(shè)置用戶身份和密碼驗(yàn)證要求。</p><p> 2.3.4 系統(tǒng)將來可能提出的要求</p><p> ⑴ 系統(tǒng)將來要面對(duì)系統(tǒng)擴(kuò)充方面的變動(dòng)。</p><p> ?、?系統(tǒng)某些統(tǒng)計(jì)條件可能變化,同時(shí)需要保存,因此系統(tǒng)
51、需要提供簡(jiǎn)單的查詢條件保存與提取功能。</p><p> 將來系統(tǒng)可能遇到的問題還有:系統(tǒng)可能會(huì)面臨更大的使用范圍,有可能在更廣的范圍應(yīng)用,所以系統(tǒng)的通用性在系統(tǒng)設(shè)計(jì)時(shí)也是必須考慮的。</p><p><b> 2.4數(shù)據(jù)流分析</b></p><p> 在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。數(shù)
52、據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。</p><p><b> 2.4.1數(shù)據(jù)流圖</b></p><p> 數(shù)據(jù)流圖由以下四種基本元素組成,即源點(diǎn)或終點(diǎn)、數(shù)據(jù)處理(功能)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。</p><p> 數(shù)據(jù)流圖如圖2-1所示:</p>&l
53、t;p> 圖 2-1 數(shù)據(jù)流程圖</p><p> 2.4.1主數(shù)據(jù)流程圖</p><p> 數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。主程序數(shù)據(jù)流程圖如圖2-2所示:</p><p> 圖 2-2 數(shù)據(jù)流程圖</p><p> 2.4.2 數(shù)據(jù)字典</p>
54、<p> 建立數(shù)據(jù)字典為了對(duì)數(shù)據(jù)流程圖上的各個(gè)元素做出詳細(xì)的定義和說明。數(shù)據(jù)字典還要對(duì)系統(tǒng)分析中其他需要說明的問題進(jìn)行定義和說明。數(shù)據(jù)字典描述的主要內(nèi)容有:數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)、加工、外部項(xiàng),數(shù)據(jù)字典是系統(tǒng)分析中必不可少的一部分。下面對(duì)聊天室系統(tǒng)中幾個(gè)數(shù)據(jù)字典加以說明:</p><p> 用戶信息,在數(shù)據(jù)字典中可對(duì)此數(shù)據(jù)元素作如下描述,見圖2-3。</p><p>
55、 聊天信息,在數(shù)據(jù)字典中可對(duì)此數(shù)據(jù)元素作如下描述,見圖2-4。</p><p> 三、系統(tǒng)功能模塊設(shè)計(jì)</p><p> 3.1 聊天室系統(tǒng)功能設(shè)計(jì)目標(biāo)</p><p> 程序應(yīng)該盡量實(shí)現(xiàn)所有的實(shí)際工作中需要做的事情。用計(jì)算機(jī)進(jìn)行聊天溝通,最大的好處就是能夠輕松的自由的實(shí)現(xiàn)人與人之間的聯(lián)系。這樣的溝通交流方式不僅不需要大量的時(shí)間,整個(gè)過程也不會(huì)很枯燥無味。聊
56、天室系統(tǒng)功能設(shè)計(jì)的目標(biāo)就是完成系統(tǒng)需求分析階段要求的系統(tǒng)功能需求,盡可能的實(shí)現(xiàn)用戶對(duì)系統(tǒng)提出的要求。</p><p> 3.2聊天室系統(tǒng)的子系統(tǒng)功能設(shè)計(jì)</p><p> 通過對(duì)用戶需求的分析,分析出該人事管理系統(tǒng)包含登錄模塊,注冊(cè)模塊,聊天模塊,文件模塊,用戶管理模塊五個(gè)模塊。</p><p> 3.2.1系統(tǒng)功能模塊圖</p><p&g
57、t; 系統(tǒng)功能模塊圖如圖所示:</p><p> 圖 3-1 功能模塊圖</p><p> 3.2.2系統(tǒng)用例圖</p><p><b> 普通用戶的用例圖:</b></p><p> 圖 3-2 普通用戶用例圖</p><p> 后臺(tái)管理員的用例圖:</p>&
58、lt;p> 圖3-3 后臺(tái)用戶用例圖</p><p><b> 四、數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 數(shù)據(jù)是整個(gè)系統(tǒng)運(yùn)行的基礎(chǔ),數(shù)據(jù)庫(kù)設(shè)計(jì)的合理性直接影響數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的功能實(shí)現(xiàn)和效率。數(shù)據(jù)庫(kù)設(shè)計(jì)的主要任務(wù)是針對(duì)一個(gè)給定的應(yīng)用環(huán)境,在給定的硬件環(huán)境、操作系統(tǒng)、以及數(shù)據(jù)庫(kù)管理信息系統(tǒng)等軟件環(huán)境下,創(chuàng)建一個(gè)性能良好的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之
59、能有效地收集、存儲(chǔ)、操作和管理數(shù)據(jù),滿足用戶的各類需求。</p><p> 4.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫(kù)系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展而來的,經(jīng)歷了層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù)三個(gè)階段。由于關(guān)系數(shù)據(jù)庫(kù)采用人們比較容易理解和接受的二維表格來組織數(shù)據(jù),發(fā)展迅速,已成為數(shù)據(jù)庫(kù)產(chǎn)品的主流。</p><p> 計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)
60、管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。建立既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系、滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)。</p><p> 該系統(tǒng)所使用的數(shù)據(jù)庫(kù)系統(tǒng)是MYSql </p><p> 4.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p> 本系統(tǒng)中所涉及的主要實(shí)體
61、及其屬性有:</p><p> 用戶(用戶賬號(hào),用戶名,密碼,個(gè)性簽名,頭像ID,年齡,性別) </p><p> E-R模型如圖所示:</p><p> 圖 4-1 系統(tǒng)實(shí)體及其屬性</p><p><b> 表4-2 user</b></p><p><b> 五、系統(tǒng)
62、設(shè)計(jì)實(shí)現(xiàn)</b></p><p> 這部分的設(shè)計(jì)是在前面的各項(xiàng)系統(tǒng)分析的基礎(chǔ)上進(jìn)行的總體結(jié)構(gòu)設(shè)計(jì)以及具體的模塊設(shè)計(jì),為以后的程序設(shè)計(jì)制訂藍(lán)圖。為確定系統(tǒng)結(jié)構(gòu),必須從實(shí)現(xiàn)的角度把復(fù)雜的功能進(jìn)一步分解。通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ?。?yīng)該把模塊組織成良好的層次系統(tǒng),頂層模塊調(diào)用它的下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功
63、能,便于使用者使用該系統(tǒng)。</p><p><b> 5.1實(shí)現(xiàn)概況</b></p><p> 本系統(tǒng)可分為登錄、聊天、文件、用戶管理和注冊(cè)五個(gè)功能模塊?!暗卿洝蹦K為用戶提供登錄界面,并在用戶登錄顯示好友列表;“聊天”模塊實(shí)現(xiàn)用戶的即時(shí)傳送信息,即多用戶即時(shí)聊天,可以發(fā)送文字或者截圖;“文件”模塊主要實(shí)現(xiàn)一用戶向另一用戶發(fā)送文件,對(duì)方可以選擇接受或者拒絕。聊天記
64、錄會(huì)以文本文檔格式保存?!坝脩艄芾怼蹦K即管理員對(duì)用戶進(jìn)行增刪改查,和踢用戶下線的操作。</p><p> 下面詳細(xì)介紹各個(gè)模塊的具體實(shí)現(xiàn)。</p><p> 5.2登錄界面的設(shè)計(jì)</p><p><b> 5.2.1流程圖</b></p><p> 在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)
65、和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體的實(shí)現(xiàn)這些功能。</p><p> 圖 5-1 登錄流程圖</p><p><b> 5.2.2登陸界面</b></p><p>
66、; 用戶在客戶端登陸時(shí)顯示的界面,界面看起來更簡(jiǎn)潔更溫馨。</p><p> 圖 5-2 用戶登錄窗體</p><p><b> 客戶端:</b></p><p> 登錄事件是定義在class IMClientLogin extends JFrame 這個(gè)類的監(jiān)聽事件中。登錄成功后,立即向服務(wù)器請(qǐng)求自己的好友列表。</p>
67、<p> 登錄邏輯是在public class IMClientUserServer 里面,認(rèn)證成功者就會(huì)新建一個(gè)線程,專門負(fù)責(zé)接收服務(wù)器端發(fā)來的信息class </p><p><b> 服務(wù)端:</b></p><p> 服務(wù)器端接收用戶驗(yàn)證信息的代碼被寫在了一個(gè)線程public class ServerThread extends Threa
68、d中,這樣服務(wù)器就可以不停的監(jiān)聽端口,接收來自不同客戶端的請(qǐng)求,建立socket連接,也不會(huì)堵塞在主線程當(dāng)中。</p><p> 如果驗(yàn)證成功,查找是否有他的離線消息,有就發(fā)送給他。然后在服務(wù)器上專門開啟一個(gè)針對(duì)當(dāng)前用戶的線程,并且吧線程放入管理類中,便于日后的管理。</p><p><b> 5.3注冊(cè)模塊</b></p><p><
69、;b> 5.3.1流程圖</b></p><p> 圖 5-3 用戶注冊(cè)流程圖</p><p> 注冊(cè)的前臺(tái)頁(yè)面是showDetail.jsp,后臺(tái)是UserAction類,UserAction類中有方法:</p><p> 在客戶端顯示截圖示例:</p><p> 圖 5-4 用戶注冊(cè)信息</p>
70、<p> 網(wǎng)頁(yè)上顯示用戶的account</p><p> 圖 5-5 用戶注冊(cè)信息</p><p><b> 5.4聊天模塊</b></p><p><b> 5.4.1流程圖</b></p><p> 在數(shù)據(jù)流成圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和
71、被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體的實(shí)現(xiàn)這些功能。</p><p> 圖 5-6 聊天流程圖</p><p><b> 5.4.2模塊功能</b></p><p>
72、;<b> 客服端</b></p><p><b> 發(fā)送文字信息:</b></p><p> 客戶端發(fā)送和顯示信息的代碼被封裝在了IMChat extends JFrame implements ActionListener類中。如圖所示:</p><p> 圖 5-7 文字發(fā)送</p><
73、;p><b> 發(fā)送圖片信息:</b></p><p> 在發(fā)送圖片信息的時(shí)候,先將圖片轉(zhuǎn)換成為byte[]數(shù)組,包裝在信息包種發(fā)送出去,接收到圖片信息時(shí),從byte[]數(shù)組構(gòu)建圖片,顯示出來。</p><p> 截圖類的核心是JDK中:robot類中創(chuàng)建包含從屏幕中讀取的像素的圖像。</p><p> 截取全部屏幕的圖片,然后顯
74、示出來,覆蓋住整個(gè)屏幕。然后監(jiān)聽鼠標(biāo)事件,再用createScreenCapture(Rectangle screenRect)方法截圖.</p><p> 如果點(diǎn)擊了鼠標(biāo)右鍵則取消截圖,雙擊確定截圖完成。</p><p> 在客戶端顯示截圖示例:</p><p> 圖 5-8 聊天截圖</p><p><b>
75、 服務(wù)端</b></p><p> 服務(wù)端接收到客戶端的信息后,只需要根據(jù)他的接收人,進(jìn)行轉(zhuǎn)發(fā)就可以。</p><p><b> 5.5文件模塊</b></p><p> 發(fā)送文件包括發(fā)送文件和接收文件,發(fā)送文件中包含選擇文件所在的位置,接收文件中包含詢問是否接收文件以及選擇將要接受的所要存放的位置。</p>&
76、lt;p><b> 5.5.1流程圖</b></p><p> 當(dāng)數(shù)據(jù)在軟件系統(tǒng)中運(yùn)動(dòng)時(shí),它將被一系列“變換”所修改。數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。</p><p> 發(fā)送文件流程圖如圖所示:</p><p> 圖 5-9 發(fā)送文件流程圖</p>&l
77、t;p><b> 5.5.2模塊功能</b></p><p><b> 客戶端</b></p><p> 在客戶端采用JfileChooser來瀏覽本地文件,點(diǎn)擊瀏覽按鈕后,會(huì)彈出對(duì)話框,讓用戶選擇文件,然后將文件名,大小等信息封裝在數(shù)據(jù)包里,發(fā)送出去。</p><p> 對(duì)方會(huì)顯示提示信息:</p&g
78、t;<p> 圖 5-10 傳送文件</p><p> 圖 5-11 詢問接收文件圖</p><p> 如果對(duì)方同意接收則開啟線程。因?yàn)槲募赡鼙容^大,所以不能一次性發(fā)送,只能用線程分批發(fā)送。</p><p><b> 正常發(fā)送文件:</b></p><p> 圖 5-12 文件傳輸圖&
79、lt;/p><p> 圖 5-13 文件傳輸成功之后</p><p> 發(fā)送完成后,雙方的界面上都會(huì)顯示成功信息:</p><p> 圖 5-14 文件傳輸成功圖</p><p> 客戶端接收文件的邏輯:</p><p> 文件的傳輸狀態(tài)被定義成了這幾種:</p><p><
80、b> 0是不接受文件,</b></p><p><b> 1是接受文件,</b></p><p><b> 2請(qǐng)求發(fā)送文件,</b></p><p><b> 3文件傳輸中,</b></p><p><b> 4文件傳送完成</b&g
81、t;</p><p><b> 5.6用戶管理模塊</b></p><p> 包括對(duì)用戶的操作以及對(duì)在線用戶的操作。管理員通過B/S的系統(tǒng)對(duì)用戶進(jìn)行增加,修改,刪除,查找等操作,對(duì)系統(tǒng)進(jìn)行維護(hù);管理員通過B/S的系統(tǒng)對(duì)在線用戶操作,可以踢用戶下線。</p><p> 后臺(tái)管理模塊如圖所示:</p><p> 圖
82、 5-15 后臺(tái)界面圖</p><p><b> 5.6.1流程圖</b></p><p> 圖 5-16 web用戶登錄圖</p><p><b> 5.6.2模塊功能</b></p><p> 用戶管理的前臺(tái)頁(yè)面是JSP頁(yè)面, 在頁(yè)面中可以對(duì)用戶進(jìn)行增刪改查。</p>
83、<p> 圖 5-17 用戶管理圖</p><p> 踢用戶下線的邏輯也很簡(jiǎn)單,關(guān)閉socket,將服務(wù)器端所對(duì)應(yīng)的線程停止,并且從線程集合中刪除改線程就可,用鼠標(biāo)點(diǎn)擊下線會(huì)彈出對(duì)話框,如圖所示:</p><p> 圖 5-18 踢用戶下線圖</p><p> 查詢用戶:可以選擇查詢方式,用戶賬號(hào)查詢或者是用戶姓名查詢</p>
84、;<p> 圖 5-19 選擇用戶查找方式圖</p><p> 圖 5-20 輸入查詢號(hào)碼圖 </p><p> 圖 5-21 查詢結(jié)果圖 </p><p><b> 添加用戶:</b></p><p> 圖 5-22 添加圖</p><p><b>
85、; 點(diǎn)擊添加按鈕出現(xiàn):</b></p><p> 圖 5-23 添加信息圖</p><p> 填上信息之后出現(xiàn)如圖所示:</p><p> 圖 5-24 添加用戶圖</p><p><b> 刪除用戶:</b></p><p> 點(diǎn)擊刪除按鈕出現(xiàn)如圖所示:</p
86、><p> 點(diǎn)擊‘確定’按鈕之后出現(xiàn)如圖所示:</p><p> 圖 5-26刪除用戶圖</p><p><b> 用戶被題下線后:</b></p><p> 圖 5-27 用戶下線圖</p><p> 六、系統(tǒng)的調(diào)試與測(cè)試</p><p><b>
87、6.1調(diào) 試</b></p><p> 調(diào)試與測(cè)試意義是不同的,測(cè)試的目標(biāo)是發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤,但發(fā)現(xiàn)錯(cuò)誤并非我們的最終目的,系統(tǒng)開發(fā)的最終目的是高質(zhì)量的完全符合用戶需要的信息系統(tǒng)。因此系統(tǒng)必須進(jìn)行調(diào)試,它總是發(fā)生在測(cè)試之后,準(zhǔn)確判定錯(cuò)誤位置以及具體的出錯(cuò)情況,繼而進(jìn)行改正以排除錯(cuò)誤。調(diào)試過程從執(zhí)行一個(gè)測(cè)試用例開始,評(píng)估測(cè)試結(jié)果,如果發(fā)現(xiàn)實(shí)際結(jié)果與預(yù)期結(jié)果不一致,則這種不一致就是一種癥狀,它表明在軟
88、件中存在著隱藏的問題。調(diào)試過程試圖找出產(chǎn)生癥狀的原因,以便改正錯(cuò)誤。</p><p> 對(duì)于該聊天室系統(tǒng),進(jìn)行了以下幾種調(diào)試:</p><p> 6.1.1 程序調(diào)試</p><p><b> ⑴ 用正常數(shù)據(jù)調(diào)試</b></p><p> 例如:登錄聊天室(進(jìn)入聊天室必須輸入用戶名和密碼,沒有用戶名的用戶必須申請(qǐng)
89、注冊(cè)。)用正確用戶名和密碼登陸。</p><p><b> ?、?用異常數(shù)據(jù)調(diào)試</b></p><p> 例如:用不存在的用戶名和密碼進(jìn)行登陸。 </p><p><b> ?、?用錯(cuò)誤數(shù)據(jù)調(diào)試</b></p><p> 例如:在登陸時(shí)用錯(cuò)誤數(shù)據(jù)登陸。 </p><p>
90、;<b> 6.1.2 分調(diào)</b></p><p> 分調(diào)的目的主要是保證內(nèi)部控制關(guān)系正確和數(shù)據(jù)內(nèi)容正確,同時(shí)測(cè)試模塊的運(yùn)轉(zhuǎn)效率。</p><p> 例如:在月份信息輸入后,進(jìn)行取消的操作,此時(shí)查看系統(tǒng)是否會(huì)出現(xiàn)異常反應(yīng)。</p><p><b> 6.1.3 總調(diào)</b></p><p>
91、; 總調(diào)是將主控制調(diào)度程序和功能模塊聯(lián)結(jié)起來調(diào)試,對(duì)系統(tǒng)各種可能使 用的形態(tài)及組合在軟件中的流通情況進(jìn)行可行性調(diào)試。這一階段最容易查出系統(tǒng)中屬于相互關(guān)系方面的錯(cuò)誤和缺陷。</p><p> 例如,登陸之后,對(duì)系統(tǒng)進(jìn)行發(fā)送文字測(cè)試,看是否會(huì)有錯(cuò)誤提示,以類似此類的操作來對(duì)整個(gè)系統(tǒng)進(jìn)行總調(diào)。</p><p><b>
92、 6.2測(cè)試</b></p><p> 測(cè)試分為兩類,即黑盒測(cè)試與白盒測(cè)試。黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用,在測(cè)試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且
93、保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類劃分、邊值分析、因—果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試。 “黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試?!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。系統(tǒng)測(cè)試是管理信息系統(tǒng)開發(fā)周期中一個(gè)十分重要而漫長(zhǎng)的階段。其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對(duì)整個(gè)系統(tǒng)開發(fā)過程包
94、括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的最終審查。在系統(tǒng)測(cè)試中發(fā)現(xiàn)的錯(cuò)誤可能是各式各樣的,按其范圍和性質(zhì)可劃分為功能錯(cuò)誤、系統(tǒng)錯(cuò)誤、過程錯(cuò)誤、數(shù)據(jù)錯(cuò)誤以及編碼錯(cuò)誤幾類。</p><p> 在開發(fā)聊天室系統(tǒng)中,進(jìn)行系統(tǒng)測(cè)試時(shí)所遵循的基本原則是:</p><p> ?、?測(cè)試工作盡量避免由原開發(fā)人員來承擔(dān),從而避免軟件開發(fā)人員因心理上的原因,不愿否定自己成果而總認(rèn)為自己開發(fā)的軟件沒有錯(cuò)誤或錯(cuò)誤不大。
95、</p><p> ?、?設(shè)計(jì)測(cè)試方案時(shí),不僅包括確定的輸入數(shù)據(jù),還包括從系統(tǒng)功能出發(fā)預(yù)期的測(cè)試結(jié)果,從而避免將一些似是而非的結(jié)果當(dāng)成正確結(jié)果。</p><p> ?、?測(cè)試用例不僅要包括合理、有效的輸入數(shù)據(jù),還要包括無效的不合理的輸入數(shù)據(jù)。例如,在該輸入日期的地方輸入字母或數(shù)字,此時(shí)如果軟件不能做出適當(dāng)?shù)姆从扯Э?,就不能說明軟件是可靠的。</p><p> ⑷
96、 應(yīng)該從“小規(guī)?!睖y(cè)試開始,并逐步進(jìn)行“大規(guī)?!睖y(cè)試。通常,首先重點(diǎn)測(cè)試單個(gè)程序模塊,然后把測(cè)試重點(diǎn)轉(zhuǎn)向在集成的模塊簇中尋找錯(cuò)誤,最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。</p><p> ?、?不僅要檢驗(yàn)程序是否做了該做的事,還要檢查程序是否同時(shí)做了不該做的事。多余的副作用反而會(huì)帶來壞的影響。</p><p> ?、?保留測(cè)試用例作為軟件文檔的組成部分,以備以后一旦程序糾錯(cuò)、改進(jìn)或擴(kuò)充后為重新測(cè)試和追
97、加測(cè)試帶來方便。</p><p> 由于系統(tǒng)比較大,需要實(shí)現(xiàn)的功能較多,測(cè)試時(shí)很困難。我在實(shí)際調(diào)試過程中,采用的程序測(cè)試方法為:</p><p> ?、?黑盒測(cè)試法。把程序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說,黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否按照軟件的需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運(yùn)行過程中
98、能否保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。它又稱為功能測(cè)試。</p><p> ?、?白盒測(cè)試法。它的前提是可以把程序看成裝在一個(gè)透明的白盒子里,測(cè)試者完全知道程序的內(nèi)部結(jié)構(gòu)和處理算法。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。它又稱為結(jié)構(gòu)測(cè)試。試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照
99、程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證?!鞍缀小狈ㄈ媪私獬绦騼?nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試?!鞍缀小狈ㄊ歉F舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。</p><p><b> 七、總 結(jié)</b></p>
100、<p> 通過這兩個(gè)多月來的辛勤努力不僅使我更精通了當(dāng)今的編程語(yǔ)言JAVA與主流數(shù)據(jù)庫(kù)系統(tǒng)Mysql;而且自學(xué)能力也得到了很大程度上的提高,也進(jìn)一步擴(kuò)大了自己的知識(shí)面。它也幫助我進(jìn)一步的了解了社會(huì),為就業(yè)奠定一定的基礎(chǔ)。</p><p> 通過這次畢業(yè)設(shè)計(jì),我對(duì)目前流行的軟件開發(fā)方法和手段,有了一定的認(rèn)識(shí),對(duì)面向?qū)ο蟮拈_發(fā)方法有了更深刻地了解,豐富了軟件開發(fā)的經(jīng)驗(yàn),提高了編程的水平,加深理解了許多課
101、程中、書本上學(xué)到的知識(shí)和理論。同時(shí)通過編寫畢業(yè)設(shè)計(jì)論文,我還掌握了軟件文檔的書寫方法和書寫格式。</p><p> 由于時(shí)間比較倉(cāng)促,再加上自己的實(shí)際開發(fā)經(jīng)驗(yàn)比較少,所以軟件還有許多不完善的地方,有些功能實(shí)現(xiàn)得并不理想。在已經(jīng)完成的程序中,也存在許多不盡人意的代碼和數(shù)據(jù)結(jié)構(gòu)。而這也讓我充分認(rèn)識(shí)到了軟件編制的困難程度。對(duì)軟件的編制速度、復(fù)雜程度也有了充分的認(rèn)識(shí),對(duì)以后進(jìn)行更為復(fù)雜和更大的設(shè)計(jì)任務(wù)打下了堅(jiān)實(shí)的基礎(chǔ)。
102、同時(shí)也更深入地領(lǐng)會(huì)到理論是實(shí)踐的基礎(chǔ),一個(gè)好的算法和設(shè)計(jì)方案可以事半功倍。</p><p> 本系統(tǒng)采用C/S和B/S模式,聊天室頁(yè)面簡(jiǎn)潔,操作便捷,穩(wěn)定可靠,性能優(yōu)良。本系統(tǒng)可以實(shí)現(xiàn)通訊系統(tǒng)最基本的兩個(gè)功能:一是雙方能夠互相收發(fā)信息,二是雙方能夠互傳文件。后臺(tái)還可以對(duì)用戶進(jìn)行管理。采用MySQL作為數(shù)據(jù)庫(kù),MyEclipse作為開發(fā)工具?;旧习舜髮W(xué)所學(xué)習(xí)。在畢業(yè)設(shè)計(jì)的過程中,加強(qiáng)了對(duì)多線程的理解和掌控。
103、</p><p> 通過這次的畢業(yè)設(shè)計(jì),我充分體會(huì)到學(xué)習(xí)理論知識(shí)的重要性,但更加體會(huì)到動(dòng)手實(shí)踐的必要性。只有通過親身的動(dòng)手實(shí)踐,才能發(fā)現(xiàn)并解決問題,才能真正領(lǐng)悟某一技術(shù)的精髓。我相信自己會(huì)在將來的軟件設(shè)計(jì)、開發(fā)過程中更進(jìn)一步地學(xué)習(xí),不斷提升自己的專業(yè)能力。</p><p><b> 致謝</b></p><p> 四年的大學(xué)生活即將結(jié)束,
104、在此,我要感謝所有曾經(jīng)教導(dǎo)過我的老師和關(guān)心過我的同學(xué)們,他們?cè)谖页砷L(zhǎng)過程中給予了我極大的幫助。本文能夠成功的完成,要特別感謝我的導(dǎo)師xx老師,在我編寫論文期間,她給予了我悉心的指導(dǎo)和熱情的幫助。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和淵博的知識(shí)給我留下了深刻的印象。</p><p> 在此也要感謝公司的同事,在整個(gè)畢業(yè)設(shè)計(jì)過程中,當(dāng)遇到困難時(shí)大家主動(dòng)幫助我解決困難,順利地完成了設(shè)計(jì)。</p><p> 在做
105、畢業(yè)設(shè)計(jì)工作和在學(xué)校學(xué)習(xí)時(shí)間里,我還曾得到了許多老師和同學(xué)的幫助,在這里也要向他們表示誠(chéng)摯的謝意。感謝大家的幫助、鼓勵(lì)和支持!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] Cornel,Horstmann.Core Java第3版[M].Prentice-Hall,1997 。</p><p> [2] Bruc
106、e Eckel.Java編程思想[M].北京:機(jī)械工業(yè)出版社,2004。 </p><p> [3] Ivor Horton. Java2 入門經(jīng)典[M] .北京:機(jī)械工業(yè)出版社,2002。 </p><p> [4] Cay S.Horstmann,Gary Cornell.JAVA核心技術(shù) 卷Ⅰ[M].北京:機(jī)械工業(yè)出版社。</p><p> [5] 張蓓
107、,趙國(guó)鋒. JSP數(shù)據(jù)庫(kù)通用模塊開發(fā)與系統(tǒng)移植[M].北京:清華大學(xué)出版社。</p><p> [6] 吳建,張旭東. JSP網(wǎng)絡(luò)開發(fā)入門與實(shí)踐[M].北京:人民郵電出版社。 </p><p> [7] 孫衛(wèi)琴.Java網(wǎng)絡(luò)編程精解[M].北京::電子工業(yè)出版社。</p><p> [8]饒鋒,毛迪林.,代春陽(yáng).JAVA2安全機(jī)制與實(shí)例研究[J] .計(jì)算機(jī)應(yīng)
108、用與軟.件,2002 ::35-37。 </p><p> [9]宛延周..JAVA編程技巧[M] .北京:機(jī)械工業(yè)出版社.2005:68-189。</p><p> [10]施錚.Java 2實(shí)用編程百例[M] .北京:清華大學(xué)出版社.2005:43-89.</p><p> [11](美)沃爾瑟(Walther,S.).譚振林等譯.. ASP.NET2.0
109、揭秘[J] .卷號(hào)(1) .人民郵電出版社.2007:10。</p><p> [12] Grady Booch,James Rumbaugh,Ivar Jacobson .邵維忠,麻志毅,張文娟 孟祥文譯.《UML用戶指南》(《The Unified Modeling Language User Guide》)機(jī)械工業(yè)出版社.2001年。</p><p> [13] 彭建翔.《Css
110、2網(wǎng)頁(yè)結(jié)構(gòu)建筑師》[J] . 中國(guó)鐵道出版社,2002年。</p><p> [14] 薩師煊,王珊編.?dāng)?shù)據(jù)庫(kù)系統(tǒng)概論(第三版) [J] .高等教育出版社.2000。</p><p> [15] 齊治昌,譚慶平,寧洪著.軟件工程(第二版) [J] .高等教育出版社,2004。</p><p> [16] Ohn Kauffman with Kevin Spe
111、ncer and Thearon Willis Beginning ASP Databases First Published 1999 Published by Wrox Press Ltd,Arden House, 1102 Warwick Road, Acocks Green,Birmingham, B27 6BH, UK.</p><p><b> 程序清單</b></p
112、><p><b> 登錄:</b></p><p><b> //登錄事件</b></p><p> login.addActionListener (new ActionListener () {</p><p> public void actionPerformed(ActionEvent
113、 e) {</p><p> //cus=new IMClientUserServer ();</p><p> //System.out.println (cus.getServer ());</p><p> User u=new User ();</p><p> u.setAccount (Integer.pa
114、rseInt (account.getText ().trim ()));</p><p> u.setPassword (new String (passwordField.getPassword ()));</p><p> //登陸成功</p><p> If (cus.checkLogin (u)) {</p><p>
115、 //向服務(wù)器發(fā)送數(shù)據(jù)包,請(qǐng)求在線人得信息</p><p> ClientConnToServerThread t=Manager.THREAD;</p><p> Message m=new Message ();</p><p> m.setMsgType (MessageType.message_get_onLineFriend);</p>
116、;<p> m.setSenderAccount (u.getAccount ());</p><p><b> Try {</b></p><p> t.send (m);</p><p> } catch (IOException e1) {</p><p> e1.printStackTra
117、ce ();</p><p><b> }</b></p><p> Dispose ();</p><p><b> }</b></p><p><b> Else</b></p><p> JOptionPane.showMessa
118、geDialog(null, "用戶名或密碼錯(cuò)誤", "錯(cuò)誤", JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> });</b></p><p> 登錄邏輯是在public class IMClientUs
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì) ---手機(jī)聊天室設(shè)計(jì)與開發(fā)
- 聊天室畢業(yè)設(shè)計(jì)(論文)說明書
- 聊天室畢業(yè)設(shè)計(jì)說明書
- 畢業(yè)設(shè)計(jì)----網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)
- vc++設(shè)計(jì)簡(jiǎn)單的聊天室畢業(yè)設(shè)計(jì)
- 局域網(wǎng)聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 局域網(wǎng)聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 在線聊天室系統(tǒng)
- 手機(jī)聊天室設(shè)計(jì)與開發(fā)畢業(yè)設(shè)計(jì)開題報(bào)告
- java聊天室設(shè)計(jì)
- 畢業(yè)論文---多人聊天室設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于web的聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- java課程設(shè)計(jì)--聊天室系統(tǒng)
- 網(wǎng)絡(luò)聊天室系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- java課程設(shè)計(jì)---聊天室系統(tǒng)
- 畢業(yè)論文 java聊天室的設(shè)計(jì)
- 畢業(yè)論文asp聊天室
- 聊天室(java)-畢業(yè)論文
- java聊天室畢業(yè)論文
- java聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論