

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 應(yīng)</b></p><p><b> 用</b></p><p><b> 軟</b></p><p><b> 件</b></p><p><b> 課 </b></p>&l
2、t;p><b> 程</b></p><p><b> 設(shè)</b></p><p><b> 計(jì)</b></p><p><b> 報(bào)</b></p><p><b> 告</b></p><p&g
3、t; 課 題:業(yè)內(nèi)部通訊系統(tǒng)</p><p><b> 目錄</b></p><p> 第一章 A可行性研究報(bào)告………………………………………………………..……… 3</p><p> 1 引言 ……………………………………………………………………………..… 3</p><p> 2 可行性研究的前提
4、 …………………………………………………….…………. 3</p><p> 3 可行性分析 ……………………………………………………………………….. 4</p><p> 4結(jié)論意見(jiàn) ………………………………………………………………..…………. 4</p><p> 第二章 B需求分析說(shuō)明書(shū) …………………………………………………………..….. 6&l
5、t;/p><p> 1 引言 ……………………………………………………………..………………… 6</p><p> 2 目標(biāo)系統(tǒng)任務(wù)概述 ……………………………………………………………… 6</p><p> 3需求規(guī)定………………………………………………………………………….... 7</p><p> C概要設(shè)計(jì)說(shuō)明書(shū)…………………
6、…………………………………………..… 8</p><p> 1引言……………………………………………………………………………….… 8</p><p> 2總體設(shè)計(jì)………………………………………………………………………….… 8</p><p> D詳細(xì)設(shè)計(jì)說(shuō)明書(shū)……………………………………………………………..… 9</p><p>
7、; 1引言…………………………………………………………….…………………… 10</p><p> 2各個(gè)模塊的具體流程………….…………………………………………………… 11</p><p> 3關(guān)鍵代碼分析…………………………………………………………………….… 13</p><p> E測(cè)試說(shuō)明書(shū)………………………………………………………………..……
8、 16</p><p> 1測(cè)試方案…………………………………………………………………………….16</p><p> 2測(cè)試用例……………………………………………………………………………. 16</p><p> 3測(cè)試結(jié)果……………………………………………………………………………. 16</p><p> 4測(cè)試結(jié)果分析……………
9、…………………………………………………………. 16</p><p> 參考文獻(xiàn)…………………………………………………………………………………… 17</p><p><b> 前言</b></p><p> 近年來(lái),各種企業(yè)內(nèi)部通訊系統(tǒng)得到了飛速發(fā)展,它可以不用連接Internet,直接在局域網(wǎng)內(nèi)實(shí)現(xiàn)信息通訊、工作交流、提交計(jì)劃等業(yè)務(wù)。
10、這種通訊系統(tǒng)廣泛應(yīng)用于中小型企業(yè)的內(nèi)部通訊,可以大大提高職工的工作效率,在方便企業(yè)內(nèi)部職工交流的同時(shí),也創(chuàng)造了一個(gè)安靜的工作環(huán)境。在現(xiàn)代企業(yè)內(nèi)部通訊軟件是不可缺少的工具。</p><p> 本軟件主要是針對(duì)企業(yè)內(nèi)部職工的通訊與交流進(jìn)行設(shè)計(jì),目的是方便職工之間的交流,以提高工作效率。</p><p> 本課程設(shè)計(jì)說(shuō)明書(shū)共五章。第一章為可行性分析,主要討論該系統(tǒng)技術(shù)、 經(jīng)</p>
11、;<p> 濟(jì)、社會(huì)方面的可行性。第二章為需求分析,主要明確該系統(tǒng)應(yīng)具備的一些基 本</p><p> 功能。第三章和第四章為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),主要講述系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。 第</p><p> 為測(cè)試,主要是對(duì)該系統(tǒng)進(jìn)行簡(jiǎn)單的功能測(cè)試。</p><p> 本系統(tǒng)基于C/S模型,主要應(yīng)用Java Swing和JavaDB進(jìn)行開(kāi)發(fā),管理工具應(yīng)用v
12、isualSVN,主要思想是面向?qū)ο蟮脑O(shè)計(jì)策略,嚴(yán)格按照了三層模型的結(jié)構(gòu),界面友好、操作方便,用戶可以輕松的掌握各種操作。</p><p><b> 一、可行性研究報(bào)告</b></p><p><b> 1引言</b></p><p><b> 1.1編寫(xiě)目的</b></p>&l
13、t;p> 企業(yè)實(shí)時(shí)通信系統(tǒng)是針對(duì)企業(yè)內(nèi)部職工的通訊與交流進(jìn)行設(shè)計(jì),目的是方便職工之間的交流,以提高工作效率。</p><p><b> 1.2項(xiàng)目背景</b></p><p> 開(kāi)發(fā)軟件名稱:企業(yè)實(shí)時(shí)通訊系統(tǒng)</p><p> 項(xiàng)目與其他軟件,系統(tǒng)的關(guān)系</p><p> 本項(xiàng)目采用JAVA Swing技
14、術(shù)和JDK1.6新增的JDBC,程序是以JAVA為運(yùn)行環(huán)境而開(kāi)發(fā)的應(yīng)用程序,具有跨平臺(tái)的特性。</p><p><b> 1.3 定義</b></p><p> [專門(mén)術(shù)語(yǔ)]:Java , Java Swing, JDBC, SQL</p><p> [縮寫(xiě)詞]:Java , Swing, JDBC, 結(jié)構(gòu)化查詢語(yǔ)言</p>
15、<p><b> 2可行性研究的前提</b></p><p><b> 2.1要求</b></p><p> 主要功能:根據(jù)企業(yè)內(nèi)部通訊系統(tǒng)的特點(diǎn),可以將本系統(tǒng)劃分為信息通訊、系統(tǒng)升級(jí)、系統(tǒng)設(shè)置、用戶搜索等共計(jì)6大部分。</p><p><b> 性能要求:</b></p&g
16、t;<p> a.實(shí)現(xiàn)員工之間的實(shí)時(shí)通信。</p><p> b.當(dāng)軟件擁有新版本時(shí),使用升級(jí)功能進(jìn)行升級(jí)。</p><p> c.可以對(duì)系統(tǒng)的用戶界面、用戶名稱、公共路徑等進(jìn)行設(shè)置。</p><p> d.可以對(duì)用戶按指定IP段進(jìn)行搜索。</p><p> e.可以訪問(wèn)企業(yè)內(nèi)部公共路徑中的資。</p>
17、<p><b> 2.2目標(biāo)</b></p><p> 系統(tǒng)實(shí)現(xiàn)后,提高企業(yè)內(nèi)部員工在工作時(shí)進(jìn)行交流的效率,以達(dá)到員工之間可以利用工作的計(jì)算機(jī)進(jìn)行實(shí)時(shí)通訊、而不必離開(kāi)工作位置完成交流,從而提高工作效率。</p><p><b> 3可行性分析</b></p><p> 3.1對(duì)以往的系統(tǒng)的分析</p
18、><p> 在利用企業(yè)內(nèi)部通訊系統(tǒng)之間,企業(yè)員工之間的交流必須通過(guò)員工本人當(dāng)面完成或通過(guò)電話等設(shè)備完成,員工不得不離開(kāi)工作位置而完成交流,或者通過(guò)有聲的方式完成通訊,這樣一來(lái)難免會(huì)對(duì)辦公環(huán)境中的其他員工造成不必要的影響,也大大降低了工作的效率。</p><p> 3.2開(kāi)發(fā)系統(tǒng)簡(jiǎn)要描述</p><p> 在員工的工作計(jì)算機(jī)上搭載好軟件的運(yùn)行環(huán)境、部署好軟件后,由于
19、軟件的工作方式與常用的通訊軟件基本一致,用戶可以輕松的掌握相關(guān)操作。</p><p> 3.3經(jīng)濟(jì)可行性分析</p><p> 本項(xiàng)目屬于非盈利項(xiàng)目。由于Java本身屬于開(kāi)源的開(kāi)發(fā)環(huán)境,所以所有的軟件不需要額外的花費(fèi),只需要將軟件的運(yùn)行環(huán)境部署到工作計(jì)算機(jī)即可。</p><p><b> 3.4技術(shù)可行性</b></p>&
20、lt;p> 根據(jù)客戶提出的系統(tǒng)功能、性能及實(shí)現(xiàn)系統(tǒng)的各項(xiàng)條件,根據(jù)新系統(tǒng)目標(biāo)來(lái)衡量所需的技術(shù)是否具備,本系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)管理和查詢的系統(tǒng),現(xiàn)有的技術(shù)以較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項(xiàng)條件良好,估計(jì)利用現(xiàn)有技術(shù)條件應(yīng)完全可以達(dá)到該系統(tǒng)的功能目標(biāo)。同時(shí),考慮給予的開(kāi)發(fā)期限也較為充裕,預(yù)計(jì)系統(tǒng)是可以在規(guī)定期限內(nèi)完成開(kāi)發(fā)。</p><p><b> 3.5法律可行性</b>&
21、lt;/p><p> 研究開(kāi)發(fā)此系統(tǒng)的過(guò)程并未涉及到合同侵權(quán)責(zé)任以及各種與法律相抵觸的問(wèn)題。本系統(tǒng)適用于各種中小型企業(yè)。運(yùn)用此系統(tǒng)進(jìn)行員工之間的內(nèi)部交流,給企業(yè)員工的通訊帶來(lái)極大的方便。</p><p> 3.6用戶使用的可行性</p><p> 作為本產(chǎn)品的使用者要求有一定的計(jì)算機(jī)基礎(chǔ),可以熟練得使用window操作系統(tǒng)所提的各種功能。數(shù)據(jù)庫(kù)管理要求具有專業(yè)水平
22、的數(shù)據(jù)庫(kù)管理員,用戶需要簡(jiǎn)單的操作指導(dǎo)。</p><p><b> 4結(jié)論意見(jiàn)</b></p><p> 企業(yè)內(nèi)部通訊系統(tǒng)必須提供網(wǎng)絡(luò)通訊功能、在通訊過(guò)程中禁止使用聊天表情、文件傳送等功能,避免資料外泄,或因發(fā)送錯(cuò)誤而導(dǎo)致上級(jí)資料的丟失以及其他損失。最重要的是必須適應(yīng)任何操作系統(tǒng),也就是實(shí)現(xiàn)跨平臺(tái)技術(shù),因?yàn)槠髽I(yè)內(nèi)部的工作需要,工作環(huán)境中使用了多個(gè)操作系統(tǒng)來(lái)完成不同
23、的工作。另外,系統(tǒng)不需要使用服務(wù)器中轉(zhuǎn)和記錄通訊內(nèi)容,可以獨(dú)立完成通訊任務(wù),排除職工對(duì)領(lǐng)導(dǎo)監(jiān)視工作進(jìn)度等逆反心理。</p><p><b> 二、需求分析</b></p><p><b> 1引言</b></p><p> 信息社會(huì)的高科技,商品經(jīng)濟(jì)化的高效益,使計(jì)算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。計(jì)算機(jī)雖
24、然與人類的關(guān)系愈來(lái)愈密切,還有人由于計(jì)算機(jī)操作不方便繼續(xù)采用人工執(zhí)行。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,企業(yè)內(nèi)部通訊系統(tǒng)為企業(yè)員工的交流提供了極大方便。該軟件是以Java語(yǔ)言為實(shí)現(xiàn)語(yǔ)言,其功能在系統(tǒng)內(nèi)部有源代碼直接完成。操作人員只需利用一些基本的計(jì)算機(jī)操作,即可達(dá)到自己的目標(biāo)。</p><p><b> 1.1編寫(xiě)目的</b></p><p> 本需求的編寫(xiě)
25、目的在于提高企業(yè)員工之間通訊的便利性。本需求的預(yù)期讀者是與企業(yè)內(nèi)部通訊軟件開(kāi)發(fā)有聯(lián)系的決策人,開(kāi)發(fā)人員,支持本項(xiàng)目的領(lǐng)導(dǎo)和公司人員,軟件驗(yàn)證者。</p><p><b> 1.2背景及范圍</b></p><p> 項(xiàng)目的名稱:企業(yè)內(nèi)部通訊系統(tǒng)。</p><p><b> 1.3定義</b></p>&
26、lt;p> Swing是一個(gè)用于開(kāi)發(fā)Java應(yīng)用程序用戶界面的開(kāi)發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing開(kāi)發(fā)人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面。 工具包中所有的包都是以swing作為名稱。</p><p> Java DB是一個(gè)純 Java 實(shí)現(xiàn)、開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),源于 Apa
27、che 軟件基金會(huì)(ASF)名下的項(xiàng)目 Derby。它只有 3MB 大小,對(duì)比動(dòng)輒上 G 的數(shù)據(jù)庫(kù)來(lái)說(shuō)可謂袖珍。但這并不妨礙 Derby 功能齊備,支持幾乎大部分的數(shù)據(jù)庫(kù)應(yīng)用所需要的特性。更難能可貴的是,依托于 ASF 強(qiáng)大的社區(qū)力量,Derby 得到了包括 IBM 和 Sun 等大公司以及全世界優(yōu)秀程序員們的支持。這也難怪 Sun 公司會(huì)選擇其 10.2.2 版本納入到 JDK 6 中,作為內(nèi)嵌的數(shù)據(jù)庫(kù)。這就好像為 JDK 注入了一股
28、全新的活力:Java 程序員不再需要耗費(fèi)大量精力安裝和配置數(shù)據(jù)庫(kù),就能進(jìn)行安全、易用、標(biāo)準(zhǔn)、并且免費(fèi)的數(shù)據(jù)庫(kù)編程。 </p><p><b> 2目標(biāo)系統(tǒng)概述</b></p><p><b> 2.1目標(biāo)</b></p><p> 企業(yè)內(nèi)部通訊系統(tǒng)以提供網(wǎng)絡(luò)通訊功能為目標(biāo),應(yīng)該能適應(yīng)任何操作系統(tǒng),也就是實(shí)現(xiàn)跨平臺(tái)技術(shù)
29、,因?yàn)槠髽I(yè)內(nèi)部的工作需要,工作環(huán)境中使用了多個(gè)操作系統(tǒng)來(lái)完成不同的工作。另外,系統(tǒng)不需要使用服務(wù)器中轉(zhuǎn)和記錄通訊內(nèi)容,可以獨(dú)立完成通訊任務(wù)。</p><p><b> 2.2.用戶簡(jiǎn)介</b></p><p> 該系統(tǒng)的用戶是中小型企業(yè)中各種職位的員工。</p><p> 2.3 組織結(jié)構(gòu)和職責(zé)</p><p>
30、 本系統(tǒng)采用MVC模式開(kāi)發(fā),有dao、frame、userlist三個(gè)主要的包。系統(tǒng)的組織結(jié)構(gòu)比較簡(jiǎn)單,主要是單層結(jié)構(gòu),利用單獨(dú)的客戶端即可完成工作。</p><p><b> 3需求規(guī)定</b></p><p><b> 3.1功能需求:</b></p><p> 對(duì)企業(yè)通訊系統(tǒng)進(jìn)行分析,初步分析該系統(tǒng)應(yīng)具備以下的
31、主要功能。</p><p> 信息通訊,員工可通過(guò)軟件進(jìn)行實(shí)時(shí)通訊;</p><p> 系統(tǒng)升級(jí),實(shí)現(xiàn)軟件版本更新;</p><p> 系統(tǒng)設(shè)置,用于設(shè)置系統(tǒng)界面、公共路徑、IP段等;</p><p> 用戶搜索,實(shí)現(xiàn)用戶添加、刪除等管理;</p><p> 訪問(wèn)公共資源,實(shí)現(xiàn)共享文件資源;</p>
32、;<p> 3.2功能需求點(diǎn)列表</p><p><b> 1.用戶管理:</b></p><p> 用戶管理主要負(fù)責(zé)用戶信息的管理,如通訊對(duì)象的添加、刪除、改名等。</p><p><b> 2.系統(tǒng)設(shè)置:</b></p><p> 系統(tǒng)設(shè)置主要負(fù)責(zé)用戶對(duì)系統(tǒng)的相關(guān)設(shè)置,如
33、用戶界面、系統(tǒng)路徑、IP范圍等。</p><p><b> 3.數(shù)據(jù)管理:</b></p><p> 數(shù)據(jù)管理包括對(duì)用戶窗體的屬性、用戶的相關(guān)屬性、通訊方的相關(guān)記錄等的存儲(chǔ)與管理 。</p><p><b> 3.3系統(tǒng)性能需求</b></p><p><b> 1.時(shí)間性能要求:
34、</b></p><p> 在實(shí)際應(yīng)用中由于通訊業(yè)務(wù)的要求,需要軟件的響應(yīng)時(shí)間應(yīng)該盡可能縮短,對(duì)于有特殊需求的業(yè)務(wù),還要求達(dá)到實(shí)時(shí)響應(yīng)。</p><p><b> 2.儲(chǔ)存性能要求:</b></p><p> 根據(jù)應(yīng)用中實(shí)際情況配置適當(dāng)容量的存儲(chǔ)設(shè)備,由于本系統(tǒng)的存儲(chǔ)要求不高,所以只要求存儲(chǔ)設(shè)備能夠穩(wěn)定工作即可。</p&
35、gt;<p> 3.穩(wěn)定性安全性要求:</p><p> 要求軟件盡可能的穩(wěn)定,對(duì)于一般的應(yīng)用系統(tǒng),對(duì)安全性要求不高,但是對(duì)于通訊軟件來(lái)說(shuō),在安全性方面應(yīng)該加以保證。</p><p><b> 3.4系統(tǒng)運(yùn)行需求</b></p><p> 由于本系統(tǒng)使用JavaDB數(shù)據(jù)庫(kù),所以只需要供軟件運(yùn)行的多臺(tái)PC機(jī)即可,PC機(jī)應(yīng)組成
36、相應(yīng)的局域網(wǎng),并搭載Java運(yùn)行環(huán)境。</p><p><b> 三、概要設(shè)計(jì)說(shuō)明書(shū)</b></p><p><b> 1 引言</b></p><p> 經(jīng)過(guò)了需求分析階段的工作系統(tǒng)必須“做什么”的問(wèn)題已經(jīng)清楚了,現(xiàn)在是決定“怎么做”的時(shí)候了。在這里要確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。
37、</p><p><b> 2總體設(shè)計(jì)</b></p><p><b> 2.1層次圖:</b></p><p> 根據(jù)本次設(shè)計(jì)需要,整個(gè)企業(yè)內(nèi)部通訊系統(tǒng)可以分成信息通訊、系統(tǒng)設(shè)置、用戶管理等3個(gè)模塊。系統(tǒng)的層次圖如下[圖1]所示:</p><p> [圖1]企業(yè)內(nèi)部通訊系統(tǒng)層次圖</
38、p><p> 2.2各模塊功能及相互關(guān)系</p><p><b> 1.信息通訊模塊:</b></p><p> 通訊模塊是企業(yè)內(nèi)部通信系統(tǒng)的核心模塊,它用于不同職工之間的通訊,這種通訊方式能夠?qū)崿F(xiàn)多個(gè)職工之間的通話,而不存在類似電話的占線問(wèn)題,增加了任務(wù)分配的新方式,從而提高了企業(yè)的工作效率。該模塊可以使用UDP協(xié)議和系統(tǒng)信使兩種方式發(fā)送通
39、訊信息。</p><p><b> 2.系統(tǒng)設(shè)置模塊:</b></p><p> 系統(tǒng)設(shè)置模塊用于管理企業(yè)內(nèi)部通訊系統(tǒng)的相關(guān)設(shè)置,比如窗體大小,用戶名、通訊對(duì)象、IP段、公共路徑等,在企業(yè)內(nèi)部通訊系統(tǒng)有新版本提示時(shí),可以使用系統(tǒng)升級(jí)功能直接升級(jí)到最新版本,而不用重新安裝。</p><p><b> 3.用戶管理模塊:</b
40、></p><p> 用戶管理模塊類似聊天軟件的好友列表,它包含了所有用戶信息,具有更名、添加用戶、刪除用戶、信使群發(fā)等功能。</p><p><b> 四、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)</b></p><p><b> 1 引言</b></p><p> 系統(tǒng)運(yùn)用共享數(shù)據(jù)結(jié)構(gòu)技術(shù)及多線程技術(shù),通過(guò)
41、I/O端口與用戶進(jìn)行通訊,實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)功能。首先,程序進(jìn)行初始化,利用JavaDB數(shù)據(jù)庫(kù)中存放的數(shù)據(jù)初始化用戶主界面,并讀取通訊對(duì)象的相關(guān)信息。當(dāng)用戶利用通訊窗體發(fā)送信息時(shí),創(chuàng)建相關(guān)線程處理業(yè)務(wù)。當(dāng)用戶對(duì)通訊對(duì)象作出相關(guān)更改時(shí),將結(jié)果保存至數(shù)據(jù)庫(kù),使得系統(tǒng)使用的數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)保持一致,直至程序結(jié)束。</p><p> 在開(kāi)始進(jìn)行聊天通信前,需要先初始化系統(tǒng),系統(tǒng)的初始化過(guò)程如下[圖2]所示:</p
42、><p> [圖2]系統(tǒng)初始化流程圖</p><p> 當(dāng)系統(tǒng)初始化完畢之后,就可以進(jìn)行具體的通訊業(yè)務(wù)了(即普通通訊和信使通訊)。</p><p> 2各個(gè)模塊的具體流程</p><p> 當(dāng)用戶啟動(dòng)系統(tǒng)后會(huì)出現(xiàn)一個(gè)主窗體,如下[圖3]所示:</p><p> [圖3] 主窗體界面[圖4] 通訊子窗體&l
43、t;/p><p> 主窗體中包含了各種子窗體,如用戶列表窗體、系統(tǒng)設(shè)置窗體和用戶搜索窗體,以切換卡的方式進(jìn)行切換。</p><p> 2.1通訊模塊設(shè)計(jì):</p><p> 當(dāng)用戶用鼠標(biāo)雙擊選中[圖3]中用戶列表中的某個(gè)用戶時(shí),會(huì)創(chuàng)建一個(gè)通訊子窗體,如[圖4]所示,此時(shí)可以按照如下[圖5]所示的流程進(jìn)行通信業(yè)務(wù):</p><p> [圖5
44、] 通訊業(yè)務(wù)流程圖</p><p> 2.2系統(tǒng)設(shè)置模塊設(shè)計(jì):</p><p> 當(dāng)用戶使用切換卡切換到系統(tǒng)設(shè)置界面時(shí),如下[圖6]所示,可以進(jìn)行系統(tǒng)相關(guān)配置的設(shè)置,具體業(yè)務(wù)流程如下[圖7]所示:</p><p> [圖6] 系統(tǒng)設(shè)置界面[圖7] 系統(tǒng)設(shè)置業(yè)務(wù)流程 </p><p> 2.3用戶管理模塊設(shè)計(jì):</p>
45、;<p> 操作用戶可以使用多種途徑對(duì)用戶列表進(jìn)行管理,比如在用戶列表單擊右鍵,在彈出菜單中按指定IP添加用戶,或者選中刪除用戶。也可以在用戶搜索面板中按指定的IP范圍進(jìn)行批量搜索添加,如下[圖8]所示,用戶管理業(yè)務(wù)的流程如[圖9]所示:</p><p> [圖8] 用戶搜索面板[圖9] 用戶管理流程</p><p><b> 3關(guān)鍵代碼分析<
46、;/b></p><p> 3.1通信模塊關(guān)鍵代碼:</p><p> 通訊模塊使用UDP進(jìn)行通訊,利用Java聽(tīng)過(guò)的java.net包中的相關(guān)API進(jìn)行編程設(shè)計(jì),利用MVC設(shè)計(jì)模式,將一個(gè)監(jiān)聽(tīng)器綁定在發(fā)送按鈕對(duì)象上,當(dāng)用戶點(diǎn)擊發(fā)送時(shí)發(fā)送消息框中的消息。關(guān)鍵代碼及注釋如下:</p><p> class sendActionListener implem
47、ents ActionListener {</p><p> public void actionPerformed(final ActionEvent e) {</p><p> String sendInfo = getSendInfo();</p><p> if (sendInfo == null)//對(duì)消息進(jìn)行判斷</p>&
48、lt;p><b> return;</b></p><p> insertUserInfoToReceiveText(tree);//將操作用戶的信息插入發(fā)送文本</p><p> appendReceiveText(sendInfo + "\n", null);</p><p> byte[] tmpBu
49、f = sendInfo.getBytes();</p><p> DatagramPacket tdp = null;</p><p><b> try {</b></p><p> tdp = new DatagramPacket(tmpBuf, tmpBuf.length,</p><p> new
50、 InetSocketAddress(ip, 1111));//初始化數(shù)據(jù)報(bào)包對(duì)象包裝信息</p><p> ss.send(tdp);//發(fā)送消息</p><p> } catch (SocketException e2) {</p><p> e2.printStackTrace();</p><p> } catc
51、h (IOException e1) {</p><p> e1.printStackTrace();</p><p> JOptionPane.showMessageDialog(TelFrame.this, e1</p><p> .getMessage());</p><p><b> }</b></
52、p><p> sendText.setText(null);//清空消息框,為再次輸入準(zhǔn)備</p><p> sendText.requestFocus();//使消息框獲得焦點(diǎn),減少操作</p><p> if (messageMode.isSelected())</p><p> setState(ICONIFIED
53、);</p><p><b> }</b></p><p><b> }</b></p><p> 3.2系統(tǒng)設(shè)置模塊關(guān)鍵代碼:</p><p> 系統(tǒng)設(shè)置模塊設(shè)計(jì)的關(guān)鍵在于與JavaDB數(shù)據(jù)庫(kù)的交互,關(guān)鍵代碼與注釋如下:</p><p> public void
54、updateLocation(Rectangle location) {// 更新窗體位置</p><p> Stringsql="updatetb_locationsetxLocation=?,yLocation=?,width=?,height=?";</p><p><b> try {</b></p><p>
55、 PreparedStatement pst = conn.prepareStatement(sql);</p><p> pst.setInt(1, location.x);//插入窗體位置數(shù)據(jù)</p><p> pst.setInt(2, location.y);</p><p> pst.setInt(3, location.width);<
56、;/p><p> pst.setInt(4, location.height);</p><p> pst.executeUpdate();//更新數(shù)據(jù)庫(kù)信息</p><p> pst.close();//關(guān)閉連接</p><p> } catch (SQLException e) {</p><
57、;p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> public Rectangle getLocation() { // 獲取窗體位置</p><p> Rectangle rec =
58、 new Rectangle(100, 0, 240, 500);//創(chuàng)建rec對(duì)象并設(shè)置默認(rèn)數(shù)據(jù)</p><p> String sql = "select * from tb_location";</p><p><b> try {</b></p><p> Statement stmt = conn.creat
59、eStatement();</p><p> ResultSet rs = stmt.executeQuery(sql);</p><p> if (rs.next()) {//若存在,則重設(shè)rec屬性</p><p> rec.x = rs.getInt(1);</p><p> rec.y = rs.getInt(2);
60、</p><p> rec.width = rs.getInt(3);</p><p> rec.height = rs.getInt(4);</p><p><b> }</b></p><p> rs.close();</p><p> stmt.close();</p>
61、<p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return rec;</p><p><b> }</b></p><p&
62、gt; 3.3用戶管理模塊關(guān)鍵代碼:</p><p> 用戶管理模塊使用了樹(shù)的數(shù)據(jù)結(jié)構(gòu),這樣一來(lái)對(duì)用戶對(duì)象的搜索插入操作就和對(duì)樹(shù)的插入刪除操作一樣了,關(guān)鍵代碼如下:</p><p> public void delUser() { // 刪除用戶</p><p> TreePath path = getSelectionPath();</p&
63、gt;<p> if (path == null)</p><p><b> return;</b></p><p> User user = (User) ((DefaultMutableTreeNode) path</p><p> .getLastPathComponent()).getUserObject();
64、//獲取節(jié)點(diǎn)中的用戶對(duì)象</p><p> int operation = JOptionPane.showConfirmDialog(this, "確定要?jiǎng)h除用戶:" + user</p><p> + "?", "刪除用戶", JOptionPane.YES_NO_OPTION,</p><p>
65、 JOptionPane.QUESTION_MESSAGE);//給出提示信息以確認(rèn)刪除</p><p> if (operation == JOptionPane.YES_OPTION) {</p><p> dao.delUser(user);//調(diào)用刪除方法</p><p> root.remove((DefaultMutabl
66、eTreeNode)path</p><p> .getLastPathComponent());//刪除該節(jié)點(diǎn)</p><p> treeModel.reload();</p><p><b> }</b></p><p><b> }</b></p><p>&
67、lt;b> 五、測(cè)試分析報(bào)告</b></p><p><b> 1測(cè)試方案</b></p><p> 在測(cè)試過(guò)程中,采用黑盒測(cè)試,即檢查程序功能是否能按要求進(jìn)行,是否適當(dāng)?shù)慕邮諗?shù)據(jù)產(chǎn)生正確的輸出,并保持外部信息的完整性。</p><p><b> 2測(cè)試用例</b></p><
68、p> 在測(cè)試中使用采用在局域網(wǎng)中的多太計(jì)算機(jī)進(jìn)行如下情況下的通訊:</p><p> 當(dāng)網(wǎng)絡(luò)連接正常和不正常時(shí),即斷開(kāi)網(wǎng)絡(luò)時(shí)的通訊。</p><p> 當(dāng)輸入信息正確和有誤時(shí)的通訊。</p><p> 當(dāng)通信接收方存在和不存在時(shí)的通訊</p><p> 對(duì)系統(tǒng)設(shè)置進(jìn)行相關(guān)更改,測(cè)試能否保存。</p><p&
69、gt; 自定義IP段,檢測(cè)用戶管理模塊的功能。</p><p><b> 3測(cè)試結(jié)果</b></p><p> 測(cè)試結(jié)果情況良好,具體表現(xiàn)如下:</p><p> 網(wǎng)絡(luò)正常時(shí),通訊正常工作,當(dāng)網(wǎng)絡(luò)不正常時(shí),軟件給予相應(yīng)的錯(cuò)誤提示。</p><p> 當(dāng)輸入正確時(shí),通訊正常,當(dāng)輸入有誤,如發(fā)送消息為空時(shí),軟件給予
70、正確提示。</p><p> 當(dāng)通訊接收方存在是,通訊正常,接收方正確收到信息,當(dāng)通訊接收方不存在是,給予正確提示。</p><p> 對(duì)系統(tǒng)設(shè)置進(jìn)行相應(yīng)更改,數(shù)據(jù)庫(kù)保存正常,在重啟軟件后能夠正常讀取相應(yīng)的系統(tǒng)設(shè)置</p><p> 軟件能夠根據(jù)自定義的IP段進(jìn)行自動(dòng)查詢和添加用戶,工作情況良好。</p><p><b>
71、4.測(cè)試結(jié)果分析</b></p><p> 結(jié)果表明,經(jīng)過(guò)測(cè)試每個(gè)功能都能按預(yù)先要求正常進(jìn)行且速度達(dá)到了預(yù)期的標(biāo)準(zhǔn),每個(gè)功能也經(jīng)過(guò)了大量的數(shù)據(jù)測(cè)試,以及性能分析,用戶界面友好。用戶能正常接收UDP信息以及信使信息。當(dāng)然,作為通訊軟件,在信息安全方面的考慮還有所欠缺,這也是設(shè)計(jì)中所不足的部分,可以做進(jìn)一步的安全性能的提升。在整個(gè)代碼風(fēng)格上也做到了可讀性高,耦合度低。</p><p&
72、gt;<b> 參考文獻(xiàn)</b></p><p> [1]張海潘.軟件工程(第五版)[M].北京:人民郵電出版社,2008.</p><p> [2](美)Roger S.Pressman.軟件工程-實(shí)踐者的研究方法[M].北京:機(jī)械工業(yè)出版社,2002.</p><p> [3](美)Horstmann.C.S.Java核心技術(shù),卷I
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)報(bào)告--java桌面應(yīng)用程序設(shè)計(jì)開(kāi)發(fā)
- vb課程設(shè)計(jì)--打字練習(xí)應(yīng)用程序
- c程序課程設(shè)計(jì) ---通訊庫(kù)管理系統(tǒng)
- 課程設(shè)計(jì)--實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序
- java課程設(shè)計(jì)-- 實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序
- java課程設(shè)計(jì)--實(shí)現(xiàn)計(jì)算器功能的應(yīng)用程序
- 通訊系統(tǒng)原理課程設(shè)計(jì)
- Android系統(tǒng)移植和應(yīng)用程序開(kāi)發(fā).pdf
- 基于tcpip協(xié)議的網(wǎng)絡(luò)通信應(yīng)用程序課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告---計(jì)算器應(yīng)用程序?qū)嶒?yàn)報(bào)告
- 繪圖應(yīng)用程序的設(shè)計(jì)和實(shí)現(xiàn)-vc課程設(shè)計(jì)說(shuō)明書(shū)
- 基于Android系統(tǒng)的示波器應(yīng)用程序開(kāi)發(fā).pdf
- 通訊管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 微機(jī)原理課程設(shè)計(jì)--中斷實(shí)現(xiàn)雙機(jī)通訊程序
- 微機(jī)應(yīng)用系統(tǒng)課程設(shè)計(jì)--密碼校驗(yàn)程序
- delphi數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用程序開(kāi)發(fā)規(guī)范
- web程序設(shè)計(jì)課程設(shè)計(jì)--簡(jiǎn)易論壇程序開(kāi)發(fā)
- 財(cái)務(wù)管理系統(tǒng)應(yīng)用程序設(shè)計(jì)
- web程序設(shè)計(jì)課程設(shè)計(jì)---在線考試系統(tǒng)的開(kāi)發(fā)
- 校園即時(shí)通訊設(shè)計(jì)與開(kāi)發(fā)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論