簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第1頁(yè)
簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第2頁(yè)
簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第3頁(yè)
簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第4頁(yè)
簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 簡(jiǎn)單聊天系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā) 摘 要隨著計(jì)算機(jī)的普及和快速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)滲入到我們的日常生活中,而網(wǎng)絡(luò)聊天系統(tǒng)的使用最為頻繁。網(wǎng)絡(luò)聊天系統(tǒng)可以使人在很遠(yuǎn)的距離內(nèi)進(jìn)行聊天,甚至包括語(yǔ)音和視頻的,通過(guò)網(wǎng)絡(luò)聊天系統(tǒng),不僅可以聯(lián)絡(luò)人們之間的感情,增進(jìn)人們之間的友誼,而且還使這個(gè)世界越來(lái)越小,同時(shí)也越來(lái)越方便。因此,研究網(wǎng)絡(luò)聊天系統(tǒng)是十分有意義的。 該聊天系統(tǒng)是一個(gè)基于c/s架構(gòu)(即客戶機(jī)/服務(wù)器的系統(tǒng)),采用visual studio 2005作為該聊天系統(tǒng)的開(kāi)發(fā)環(huán)境,c#作為開(kāi)發(fā)語(yǔ)言,運(yùn)行的環(huán)境為windows xp操作系統(tǒng),后臺(tái)的數(shù)據(jù)庫(kù)使用microsoft sql server 2005。該

2、聊天系統(tǒng)能在局域網(wǎng)實(shí)現(xiàn)聊天功能,提供用戶注冊(cè)、登錄、聊天、修改個(gè)人信息、查找/添加好友、更換皮膚、聽(tīng)音樂(lè)等功能。關(guān)鍵詞:網(wǎng)絡(luò)聊天系統(tǒng);數(shù)據(jù)庫(kù) microsoft sql server 2005;visual studio 2005 abstractwith the development of computer, internet has entered our daily life, the most frequently use of internet is internet chatting system. therefore, it is very valuable and meani

3、ngful to study and research internet chatting system. internet chatting system can help people in chatting with other people far away. you can also have visual talk with other people through internet chatting system.so, it can help people to develop friendship with any people who are able to search

4、internet in the world. the earth looks like smaller than before because you can have relationship with people more convenient.it is based on the system of c/s, use visual studio 2005 as exploit language of the environment. its running environment is windows xp operating system. and uses microsoft sq

5、l server 2005 as its background database management system. clients can run this internet chatting system under windows xp environment.this system can do a full management on scientific project and scientific and technology paper, providing necessary functions of everyday management, for example, da

6、ta input, query with more conditions, statistics, report forms output etc. and easy to use.keywords:scientific research project management system;database sql server 2005;visual studio 2005目 錄摘 要iabstractii第一章 引言11.1 課題的研究背景和目的11.2 課題的研究現(xiàn)狀11.3 課題的研究意義11.4 課題的設(shè)計(jì)開(kāi)發(fā)平臺(tái)21.4.1 開(kāi)發(fā)平臺(tái)21.4.2 選型的原則21.5 論文總體結(jié)構(gòu)2

7、第二章 系統(tǒng)分析42.1 概述42.2 需求分析42.3 開(kāi)發(fā)目標(biāo)4第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)53.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)53.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)53.3 數(shù)據(jù)庫(kù)物理設(shè)計(jì)113.3.1 數(shù)據(jù)庫(kù)選型113.3.2 完整性規(guī)則113.3.3 安全性考慮123.4數(shù)據(jù)庫(kù)訪問(wèn)接口設(shè)計(jì)123.4.1 數(shù)據(jù)訪問(wèn)接口選擇123.4.2 具體實(shí)現(xiàn)12第四章 系統(tǒng)設(shè)計(jì)134.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)134.2 登錄界面134.3 主界面設(shè)計(jì)154.4 好友管理模塊設(shè)計(jì)164.5 個(gè)人設(shè)置模塊設(shè)計(jì)164.6 聊天模塊設(shè)計(jì)174.7 系統(tǒng)托盤(pán)模塊的設(shè)計(jì)204.8 找回密碼模塊的設(shè)計(jì)204.9 myqq音樂(lè)模塊的設(shè)計(jì)20第五章 系統(tǒng)

8、測(cè)試分析225.1 系統(tǒng)測(cè)試的目標(biāo)225.2 系統(tǒng)功能的驗(yàn)證235.3 系統(tǒng)測(cè)試結(jié)論23結(jié)束語(yǔ)24致 謝25參考文獻(xiàn)26第一章 引言1.1 課題的研究背景和目的網(wǎng)絡(luò)聊天系統(tǒng)是通過(guò)多終端的通訊技術(shù)打造了一種集文字、聲音、圖像于一體的綜合通訊平臺(tái),對(duì)人們的學(xué)習(xí)和生活產(chǎn)生了深遠(yuǎn)的影響,同時(shí)也提出了諸多的研究課題。網(wǎng)絡(luò)聊天系統(tǒng)是一種以網(wǎng)絡(luò)為中介的即時(shí)同步的通訊平臺(tái)。即時(shí)通訊不僅具有軟件產(chǎn)品的特性,而且還體現(xiàn)了網(wǎng)絡(luò)產(chǎn)品的特性,同時(shí)又兼有網(wǎng)絡(luò)信息服務(wù)業(yè)的特性。鑒于此,研究網(wǎng)絡(luò)聊天系統(tǒng)是非常有必要的,而且是非常有意義的。一方面可以對(duì)網(wǎng)絡(luò)聊天系統(tǒng)有個(gè)更加深入的了解,熟悉網(wǎng)絡(luò)聊天系統(tǒng)的細(xì)節(jié)流程;另一方面可以通過(guò)

9、研究網(wǎng)絡(luò)聊天系統(tǒng),檢驗(yàn)自己,在研究中不斷的進(jìn)步。1.2 課題的研究現(xiàn)狀在現(xiàn)在這個(gè)信息爆炸的時(shí)代,計(jì)算機(jī)發(fā)揮了自己強(qiáng)大的功能,人們之間的通信交流也都由計(jì)算機(jī)所取代。關(guān)于網(wǎng)絡(luò)聊天系統(tǒng),它經(jīng)過(guò)了四個(gè)階段。1. 單一的即時(shí)通訊系統(tǒng),如qq、msn messenger和yahoo messenger。 特點(diǎn)主要是進(jìn)行通訊,包括語(yǔ)音、文本甚至視頻。2. 在通訊上附加了娛樂(lè),p2p功能。如uc和popo,他們除了可以進(jìn)行聊天之外,還可以傳輸文件,既快捷又方便。3. 以p2p功能為主,同時(shí)可以進(jìn)行文本聊天。4. 在一個(gè)軟件中可以把其他聊天通訊系統(tǒng)集成過(guò)來(lái),當(dāng)然這種集成是可以通過(guò)多種方式的,比如trillian

10、是安裝一個(gè)軟件替代其他的,并可以與其他的進(jìn)行通訊。目前我們處于第四階段,即處在一個(gè)軟件中可以把其他聊天通訊系統(tǒng)集成過(guò)來(lái)并可以與其進(jìn)行通訊。1.3 課題的研究意義網(wǎng)絡(luò)聊天系統(tǒng)可以使人在很遠(yuǎn)的距離內(nèi)進(jìn)行聊天,甚至包括語(yǔ)音和視頻的。通過(guò)網(wǎng)絡(luò)聊天系統(tǒng),在可以即時(shí)聊天的同時(shí),還可以增進(jìn)人們之間的感情,使這個(gè)世界越來(lái)越小,越來(lái)越方便。除此之外,它還越來(lái)越多地被作為辦公系統(tǒng)來(lái)使用。如此多的優(yōu)點(diǎn)之下開(kāi)發(fā)一個(gè)簡(jiǎn)單聊天系統(tǒng)是很有意義的。1.4 課題的設(shè)計(jì)開(kāi)發(fā)平臺(tái)1.4.1 開(kāi)發(fā)平臺(tái)聊天系統(tǒng)采用的數(shù)據(jù)庫(kù)是microsoft sql server 2005數(shù)據(jù)庫(kù)1,開(kāi)發(fā)語(yǔ)言為c#。microsoft visual s

11、tudio 2005(簡(jiǎn)稱vs2005)作為前臺(tái)的開(kāi)發(fā)系統(tǒng),用sql server 2005作為后臺(tái)數(shù)據(jù)庫(kù),通過(guò)visual studio 2005的服務(wù)器資源管理器來(lái)連接sql server 2005并對(duì)其編程來(lái)實(shí)現(xiàn)各種功能。1.4.2 選型的原則在選擇開(kāi)發(fā)平臺(tái)時(shí)主要考慮以下因素:1開(kāi)發(fā)系統(tǒng)的性能(1) 穩(wěn)定和可靠2。這是人們最關(guān)心的性能,開(kāi)發(fā)系統(tǒng)不能經(jīng)常發(fā)生錯(cuò)誤或在訪問(wèn)數(shù)據(jù)庫(kù)時(shí)經(jīng)常出現(xiàn)問(wèn)題。(2) 可視化的開(kāi)發(fā)。只須用鼠標(biāo)拖拉控件就可以完成界面的設(shè)計(jì),并且畫(huà)出來(lái)的界面非常漂亮,可以根據(jù)自己的喜好設(shè)置背景圖片。(3) 提供可擴(kuò)展的第四代編程語(yǔ)言。這樣開(kāi)發(fā)人員就不需要關(guān)心復(fù)雜的底層工作,只需要

12、把控件和類庫(kù)中的方法拿過(guò)來(lái)用就行了。(4) 對(duì)windows技術(shù)的廣泛支持。包括對(duì)windows 95/98上32位計(jì)算的支持以及對(duì)ddl、ole、mdi等的支持。(5) 可以生成真正的可執(zhí)行文件。直接雙擊生成的.exe文件就可以運(yùn)行程序,較之于偽代碼真正的機(jī)器代碼會(huì)使應(yīng)用的速度和效率得到大幅度提高。2數(shù)據(jù)庫(kù)的訪問(wèn)能力(1) 能夠支持jdbc(java 數(shù)據(jù)庫(kù)連接)、odbc(開(kāi)放式數(shù)據(jù)庫(kù)連接)和數(shù)據(jù)庫(kù)專用接口。(2) 提供多種數(shù)據(jù)表現(xiàn)形式。完成對(duì)后臺(tái)數(shù)據(jù)庫(kù)的查詢和操作是前端開(kāi)發(fā)系統(tǒng)的主要任務(wù)。因此開(kāi)發(fā)系統(tǒng)必須提供簡(jiǎn)便而功能強(qiáng)大的數(shù)據(jù)訪問(wèn)手段,并提供多種數(shù)據(jù)表現(xiàn)形式,可以生成復(fù)雜的報(bào)表3。1.

13、5 論文總體結(jié)構(gòu) 論文總共分五章來(lái)介紹簡(jiǎn)單聊天系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)。 第一章引言,介紹了課題研究的背景和目的,課題研究的現(xiàn)狀及意義,除此之外還介紹了課題的設(shè)計(jì)開(kāi)發(fā)平臺(tái)。第二章系統(tǒng)分析,詳述系統(tǒng)的需求分析,通過(guò)功能需求擬定開(kāi)發(fā)目標(biāo)。第三章數(shù)據(jù)庫(kù)設(shè)計(jì),描述了數(shù)據(jù)庫(kù)概念設(shè)計(jì),數(shù)據(jù)庫(kù)邏輯設(shè)計(jì),數(shù)據(jù)庫(kù)物理設(shè)計(jì)和數(shù)據(jù)庫(kù)訪問(wèn)接口設(shè)計(jì)。第四章系統(tǒng)設(shè)計(jì),重點(diǎn)研究系統(tǒng)的總體結(jié)構(gòu),各個(gè)功能的具體實(shí)現(xiàn)。第五章系統(tǒng)測(cè)試分析,介紹了系統(tǒng)測(cè)試目標(biāo)和系統(tǒng)功能驗(yàn)證。第二章 系統(tǒng)分析2.1 概述網(wǎng)絡(luò)聊天系統(tǒng)是通過(guò)多終端的通訊技術(shù)打造了一種集文字、聲音、圖像于一體的綜合通訊平臺(tái),它是一種即時(shí)的通訊平臺(tái)。因此,在進(jìn)行系統(tǒng)分析的時(shí)候需要考

14、慮很多因素。首先應(yīng)該對(duì)網(wǎng)絡(luò)聊天系統(tǒng)的現(xiàn)狀進(jìn)行分析,提出新的聊天系統(tǒng)要達(dá)到的目標(biāo),然后確定目標(biāo)系統(tǒng)的功能,為系統(tǒng)設(shè)計(jì)提供基礎(chǔ)。其主要任務(wù)是將在對(duì)網(wǎng)絡(luò)聊天系統(tǒng)的詳細(xì)調(diào)查中所得的文檔資料集中在一起,并對(duì)這些資料進(jìn)行分析,目的是將該聊天系統(tǒng)的功能需求確定下來(lái)。其中的需求分析是聊天系統(tǒng)開(kāi)發(fā)工作中最重要的環(huán)節(jié)之一,是聊天系統(tǒng)設(shè)計(jì)的依據(jù)。需求分析已經(jīng)成為一門(mén)獨(dú)立的學(xué)科,稱為需求工程,即應(yīng)用已證實(shí)有效的技術(shù)、方法進(jìn)行需求分析,確定用戶需求,幫助開(kāi)發(fā)人員理解問(wèn)題并定義目標(biāo)系統(tǒng)的所有外部特征。2.2 需求分析 (1) 注冊(cè)新賬號(hào):用戶注冊(cè)時(shí)需要填寫(xiě)兩類信息,基本資料和選填資料。即可獲取系統(tǒng)分配給用戶的一個(gè)唯一的m

15、yqq賬號(hào)。(2) 用戶登錄:用戶輸入myqq賬號(hào)和myqq密碼,系統(tǒng)根據(jù)用戶輸入的賬號(hào)和密碼進(jìn)行驗(yàn)證。通過(guò)在數(shù)據(jù)庫(kù)中查詢,如果輸入正確,進(jìn)入聊天主窗體;否則會(huì)出現(xiàn)相應(yīng)的系統(tǒng)提示。(3) 修改個(gè)人信息:用戶在登錄后可以隨時(shí)修改自己的個(gè)人信息,包括基本設(shè)置和安全設(shè)置兩項(xiàng)。(4) 聊天功能:可以實(shí)現(xiàn)一對(duì)一、一對(duì)多、多對(duì)多的聊天功能。(5) 查找/添加好友:包括基本查找和高級(jí)查找,有單個(gè)用戶的查找,也有群的查找,同時(shí)可以將選中的對(duì)象加為好友。(6) 其他功能:實(shí)現(xiàn)查看聊天記錄、更換myqq皮膚、聽(tīng)myqq音樂(lè)等功能。2.3 開(kāi)發(fā)目標(biāo)針對(duì)本聊天系統(tǒng)的需求分析,提出以下開(kāi)發(fā)目標(biāo):(1) 在用戶登錄時(shí),即

16、時(shí)的提醒用戶填寫(xiě)的內(nèi)容是否為空,防止sql語(yǔ)句注入4。(2) 在用戶修改個(gè)人信息時(shí),即時(shí)的顯示用戶修改過(guò)的信息并且更新。(3) 在聊天時(shí)如果有信息,會(huì)給用戶一個(gè)提示,頭像閃動(dòng)加聲音提示。(4) 實(shí)現(xiàn)群聊功能。(5) 該聊天系統(tǒng)應(yīng)易于修改和擴(kuò)充。第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)該聊天系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)涉及到十一張表:用戶表、好友表、群表、消息表、群用戶表、群消息表、個(gè)人通訊錄表、好友策略表、星座表、血型表、消息類型表。每張表都有一個(gè)主鍵id,是自增的列,不允許為空。3.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)該聊天系統(tǒng)由以下十一個(gè)表構(gòu)成,其模式結(jié)構(gòu)如下:(1) 用戶表(id號(hào),密碼,用戶狀態(tài),好友策略,昵稱,頭

17、像,性別,年齡,姓名,星座,血型,密碼保護(hù)問(wèn)題,密碼保護(hù)問(wèn)題答案)用戶表er圖設(shè)計(jì)如圖3.1所示:用戶表id號(hào)密碼好友策略頭像性別年齡姓名星座血型密碼保護(hù)問(wèn)題答案昵稱用戶狀態(tài)密碼保護(hù)問(wèn)題圖3.1 用戶表e-r圖各字段的定義及說(shuō)明如表3.1所示:表3.1 用戶表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵loginpwdvarchar(50)否userstatevarchar(20)否friendshippolicyidint否nicknamevarchar(50)否faceidint否sexvarchar(8)否ageint否續(xù)表(3.1 用戶表字段定義)列名數(shù)據(jù)類型允許空備注namevar

18、char(50)否staridint否bloodtypeidint是questionntext是answerntext是(2) 好友表(id號(hào),myqq號(hào),好友的myqq號(hào))好友表er圖設(shè)計(jì)如圖3.2所示:好友的myqq號(hào)id號(hào)myqq號(hào)好友表圖3.2 好友表e-r圖各字段的定義及說(shuō)明如表3.2所示:表3.2 好友表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵hostidintfriendidint(3) 群表(id號(hào),群公告,管理員myqq號(hào),群名稱)群表er圖設(shè)計(jì)如圖3.3所示:群表id號(hào)群名稱管理員myqq號(hào)群公告圖3.3 群表e-r圖各字段的定義及說(shuō)明如表3.3所示:表3.3 群表字

19、段定義列名數(shù)據(jù)類型允許空備注idint否主鍵informationntext否adminidint否groupnamevarchar(50)是(4) 消息表(id號(hào),發(fā)消息id,接收消息id,消息內(nèi)容,消息類型,消息狀態(tài),消息時(shí)間,是否響應(yīng))消息表er圖設(shè)計(jì)如圖3.4所示:消息表id號(hào)消息內(nèi)容接收消息id發(fā)消息id消息類型消息狀態(tài)消息時(shí)間是否響應(yīng)圖3.4 消息表e-r圖各字段的定義及說(shuō)明如表3.4所示:表3.4 消息表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵fromuseridint否touseridint否messagentext是messagetypeidint否messagesta

20、teint否messagetimedatetime否isringedint否(5) 群用戶表(id號(hào),myqq號(hào),姓名,電話,手機(jī),對(duì)方qq號(hào)碼,郵箱,備注)群用戶表er圖設(shè)計(jì)如圖3.5所示:群用戶表id號(hào)是否接收消息群號(hào)用戶myqq號(hào)圖3.5 群用戶表e-r圖各字段的定義及說(shuō)明如表3.5所示:表3.5 群用戶表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵groupidint否useridint否hasmessageint否(6) 群消息表(id號(hào),群號(hào),發(fā)消息id,消息內(nèi)容,消息時(shí)間)群消息表er圖設(shè)計(jì)如圖3.6所示:群消息表id號(hào)消息內(nèi)容發(fā)消息id群號(hào)消息時(shí)間圖3.6 群消息表e-r圖各

21、字段的定義及說(shuō)明如表3.6所示:表3.6 群消息表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵groupidint否fromuseridint否messagentext否messagetimedatetime否(7) 個(gè)人通訊錄表(id號(hào),myqq號(hào),姓名,電話,手機(jī),對(duì)方qq號(hào)碼,郵箱,備注)個(gè)人通訊錄表er圖設(shè)計(jì)如圖3.7所示:個(gè)人通訊錄表id號(hào)電話姓名myqq號(hào)手機(jī)對(duì)方qq號(hào)碼郵箱備注圖3.7 個(gè)人通訊錄表e-r圖各字段的定義及說(shuō)明如表3.7所示:表3.7 個(gè)人通訊錄表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵qqidint否namevarchar(50)否telephonevar

22、char(16)否mobilevarchar(16)否qqvarchar(16)否emailvarchar(16)否remarkvarchar(8)是(8) 好友策略表(id號(hào),好友策略)好友策略表er圖設(shè)計(jì)如圖3.8所示:好友策略表id號(hào)好友策略圖3.8 好友策略表e-r圖各字段的定義及說(shuō)明如表3.8所示:表3.8 好友策略表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵friendshippolicyvarchar(16)否(9) 星座表(id號(hào),星座)星座表er圖設(shè)計(jì)如圖3.9所示:星座表id號(hào)星座圖3.9 星座表e-r圖各字段的定義及說(shuō)明如表3.9所示:表3.9 星座表字段定義列名數(shù)據(jù)

23、類型允許空備注idint否主鍵starvarchar(24)否(10) 血型表(id號(hào),血型)血型表er圖設(shè)計(jì)如圖3.10所示:血型表id號(hào)血型圖3.10 血型表e-r圖各字段的定義及說(shuō)明如表3.10所示:表3.10 血型表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵bloodtypevarchar(8)否(11) 消息類型表(id號(hào),消息類型)消息類型表er圖設(shè)計(jì)如圖3.11所示:消息類型表id號(hào)消息類型圖3.11 消息類型表e-r圖各字段的定義及說(shuō)明如表3.11所示:表3.11 消息類型表字段定義列名數(shù)據(jù)類型允許空備注idint否主鍵messagetypevarchar(8)否3.3 數(shù)

24、據(jù)庫(kù)物理設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)選型網(wǎng)絡(luò)聊天系統(tǒng)是一種以網(wǎng)絡(luò)為中介的即時(shí)同步的通訊平臺(tái)。根據(jù)該系統(tǒng)的要求,選擇的數(shù)據(jù)庫(kù)管理系統(tǒng)需要考慮到如下因素:(1) 符合關(guān)系型的標(biāo)準(zhǔn): sql server 2005是比較流行的關(guān)系型數(shù)據(jù)庫(kù)。(2) 數(shù)據(jù)庫(kù)的體系結(jié)構(gòu): 數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)該是基于客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù),用戶的應(yīng)用程序運(yùn)行在不同的工作站上5。(3) 事務(wù)的完整性和恢復(fù): 數(shù)據(jù)庫(kù)服務(wù)器應(yīng)具有事務(wù)完整性機(jī)制,如日志文件、回退,并能從各種異常情況下恢復(fù)數(shù)據(jù)。(4) 分布式處理: 數(shù)據(jù)庫(kù)必須支持分布式環(huán)境中節(jié)點(diǎn)自治的原則,以保證數(shù)據(jù)的分布式管理和完整性,對(duì)用戶提供分布式透明以便于應(yīng)用系統(tǒng)的使用

25、。(5) 應(yīng)用開(kāi)發(fā): 數(shù)據(jù)庫(kù)所支持的宿主語(yǔ)言應(yīng)包括c#,還必須能提供足夠的系統(tǒng)供開(kāi)發(fā)者選擇,這些系統(tǒng)應(yīng)涉及數(shù)據(jù)庫(kù)分析設(shè)計(jì)、應(yīng)用開(kāi)發(fā)、調(diào)試和運(yùn)行等各個(gè)不同的階段。 根據(jù)上述要求,結(jié)合現(xiàn)實(shí)網(wǎng)絡(luò)聊天系統(tǒng)的具體情況,選用microsoft sql server 2005作為該聊天系統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng)。sql server 2005是一個(gè)多用戶的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),它結(jié)合了 microsoft windows xp操作系統(tǒng)的能力,提供一個(gè)安全的、可擴(kuò)展的、易管理、高性能的客戶機(jī)/服務(wù)器平臺(tái);提供了一套圖形化的方便易用的系統(tǒng);對(duì)多用戶應(yīng)用提供了充足的保護(hù)措施,能夠阻止沖突和防止錯(cuò)誤產(chǎn)生,并且能高效地給多用戶

26、分配可用的資源6。3.3.2 完整性規(guī)則所謂數(shù)據(jù)的完整性規(guī)則是指數(shù)據(jù)的正確性和相容性,完整性規(guī)則是保證數(shù)據(jù)庫(kù)中數(shù)據(jù)正確的有力系統(tǒng)。本系統(tǒng)中數(shù)據(jù)完整性規(guī)則包括:主鍵完整性規(guī)則:每個(gè)基本關(guān)系中id號(hào)的值必須是唯一的,不允許重復(fù);其他完整性規(guī)則:上述完整性規(guī)則都應(yīng)在系統(tǒng)中實(shí)現(xiàn),以保證系統(tǒng)中的數(shù)據(jù)的正確,能真實(shí)反映客觀世界的情況,這些完整性規(guī)則有的通過(guò)應(yīng)用程序?qū)崿F(xiàn),有的通過(guò)規(guī)范的操作過(guò)程來(lái)控制。3.3.3 安全性考慮數(shù)據(jù)庫(kù)安全性是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要方面,它是指保護(hù)數(shù)據(jù)庫(kù)防止被不合法的使用,包括惡意的破壞和非法的存取等。但由于本系統(tǒng)涉及到的數(shù)據(jù)都不是保密性數(shù)據(jù),無(wú)須采取很復(fù)雜的安全措施,只須防止數(shù)據(jù)被

27、人隨意改動(dòng)即可7。系統(tǒng)采取的安全措施是利用sql server 2005與windows xp的安全性集成功能 。3.4數(shù)據(jù)庫(kù)訪問(wèn)接口設(shè)計(jì)3.4.1 數(shù)據(jù)訪問(wèn)接口選擇對(duì)于一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序來(lái)說(shuō),選擇一個(gè)合適的數(shù)據(jù)訪問(wèn)接口是很重要的,它與應(yīng)用程序的性能密切相關(guān)。在 visual studio 2005 中,可用的數(shù)據(jù)訪問(wèn)接口有三種:activex 數(shù)據(jù)對(duì)象(ado)、遠(yuǎn)程數(shù)據(jù)對(duì)象(rdo) 和數(shù)據(jù)訪問(wèn)對(duì)象(dao)。數(shù)據(jù)訪問(wèn)接口是一個(gè)對(duì)象模型,它代表了訪問(wèn)數(shù)據(jù)的各個(gè)方面。使用visual studio 2005,可以在任何應(yīng)用程序中通過(guò)編程控制連接、語(yǔ)句生成器和供使用的返回?cái)?shù)據(jù)8。ado是為 m

28、icrosoft最新和最強(qiáng)大的數(shù)據(jù)訪問(wèn)范例 ole db 而設(shè)計(jì)的,是一個(gè)便于使用的最新的應(yīng)用程序?qū)咏涌?。ole db 為任何數(shù)據(jù)源提供了高性能的訪問(wèn),這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對(duì)象等等。ado 在關(guān)鍵的 internet 方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),總之,ado提供了一個(gè)輕量、高性能的接口。鑒于以上的分析,我們選用ado2.0作為本系統(tǒng)的數(shù)據(jù)訪問(wèn)接口,并且ado是未來(lái)的發(fā)展趨勢(shì),將取代所有其他接口,所以選用ado能增強(qiáng)應(yīng)用程序的可擴(kuò)充性9。3.4.2 具體實(shí)現(xiàn)通過(guò)ado訪問(wèn)數(shù)據(jù)庫(kù)有兩種方式:ado date

29、控件和代碼。通過(guò)ado date控件訪問(wèn)數(shù)據(jù)庫(kù)最大的優(yōu)點(diǎn)是實(shí)現(xiàn)方法簡(jiǎn)單,編程量少。但由于本應(yīng)用程序有多個(gè)涉及到數(shù)據(jù)庫(kù)訪問(wèn)的窗口,每個(gè)窗口訪問(wèn)不同的表,所以必須為每個(gè)窗口都放置一個(gè)控件,這樣就產(chǎn)生了代碼重復(fù)的問(wèn)題,并且最主要的是會(huì)造成在應(yīng)用程序的運(yùn)行過(guò)程中不斷連接和斷開(kāi)數(shù)據(jù)庫(kù),而連接數(shù)據(jù)庫(kù)是很費(fèi)時(shí)的操作,這是用戶所不能容忍的。為此選擇采用純代碼的方式,根據(jù)面向?qū)ο蟮脑O(shè)計(jì)原則,將與數(shù)據(jù)庫(kù)的連接代碼封裝成一個(gè)類,取名為dbhelper,通過(guò)該類可以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接10。第四章 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)根據(jù)聊天系統(tǒng)的功能需求,本聊天系統(tǒng)的總體結(jié)構(gòu)由用戶注冊(cè)、用戶登錄、聊天、用戶的基本操作、系

30、統(tǒng)托盤(pán)模塊組成。系統(tǒng)總體結(jié)構(gòu)圖如圖4.1所示:聊天系統(tǒng)注冊(cè)基本資料選填詳細(xì)資料忘記密碼注冊(cè)新號(hào)碼用戶注冊(cè)用戶登錄系統(tǒng)托盤(pán)模塊透明度更換皮膚用戶基本操作個(gè)人設(shè)置查找/添加好友刷 新系統(tǒng)消息用戶登錄創(chuàng)建群個(gè)人通訊錄myqq音樂(lè)聊 天多對(duì)多一對(duì)一一對(duì)多圖4.1 系統(tǒng)總體結(jié)構(gòu)圖4.2 登錄界面 在登錄界面,由用戶輸入myqq賬號(hào)和myqq密碼,系統(tǒng)根據(jù)用戶輸入的賬號(hào)和密碼進(jìn)行驗(yàn)證。如果輸入的內(nèi)容為空或者輸入了不合法的字符,系統(tǒng)會(huì)給出相應(yīng)的提示;當(dāng)輸入的內(nèi)容不為空且合法時(shí),系統(tǒng)會(huì)到數(shù)據(jù)庫(kù)中進(jìn)行查詢。如果該用戶存在且密碼正確,則登錄成功,進(jìn)入主窗體;否則登錄失敗,當(dāng)然,系統(tǒng)也會(huì)給出相應(yīng)的信息,提示用戶登錄

31、失敗。除此之外,如果選中隱身登錄,則登錄后好友看不到其在線狀態(tài)。登錄窗體界面設(shè)計(jì)如圖4.2所示:圖4.2 登錄窗體如果用戶沒(méi)有myqq賬號(hào),則可以進(jìn)入注冊(cè)新賬號(hào)窗體進(jìn)行注冊(cè)。注冊(cè)新賬號(hào)窗體界面設(shè)計(jì)如圖4.3所示:圖4.3 注冊(cè)新賬號(hào)窗體其中基本資料是必填項(xiàng),因?yàn)樵谠O(shè)計(jì)數(shù)據(jù)庫(kù)表時(shí),這些字段不允許為空;選填資料可以填也可以不填,因?yàn)樵谠O(shè)計(jì)數(shù)據(jù)庫(kù)表時(shí),這些字段是允許為空的。在填完以上信息后,單擊注冊(cè)按鈕,此時(shí),系統(tǒng)會(huì)根據(jù)用戶輸入的內(nèi)容進(jìn)行合法性驗(yàn)證(比如說(shuō)兩次輸入的密碼是否一致等),驗(yàn)證通過(guò)后,如果注冊(cè)成功,系統(tǒng)會(huì)分配給用戶一個(gè)唯一的myqq賬號(hào);如果系統(tǒng)故障或是出現(xiàn)其他異常,系統(tǒng)會(huì)提示稍后再試。用

32、戶登錄流程圖如圖4.4所示:用戶登錄無(wú)用戶注冊(cè)有無(wú)賬號(hào)有登 錄否用戶名和密碼是否正確是主界面圖4.4 用戶登錄流程圖 4.3 主界面設(shè)計(jì)主界面主要是用戶的好友列表、陌生人列表、群列表,名稱為frmmain。其中聊天、修改個(gè)人信息、查找/添加好友、播放myqq音樂(lè)等都是通過(guò)該界面來(lái)實(shí)現(xiàn)的。該界面的設(shè)計(jì)使用了一個(gè)第三方控件sidebar,它是一個(gè)能夠以分組形式顯示項(xiàng)目列表的控件,能夠?qū)崿F(xiàn)類似qq的好友分組功能11。主界面窗體設(shè)計(jì)如圖4.5所示:圖4.5 主界面窗體4.4 好友管理模塊設(shè)計(jì)用戶可以查找/添加在線好友(包括基本查找和高級(jí)查找兩種查找),此外,用戶還可以對(duì)群進(jìn)行查詢。在基本查找中,用戶可

33、以查找所有人,這主要是通過(guò)查詢數(shù)據(jù)庫(kù)中用戶表來(lái)實(shí)現(xiàn)的,將從用戶表中讀出來(lái)的數(shù)據(jù)顯示出來(lái)。查找/添加好友窗體界面設(shè)計(jì)如圖4.6所示:圖4.6 查找/添加好友窗體此外,用戶還可以進(jìn)行精確查找,當(dāng)用戶選中精確查找時(shí),groupbox的visible屬性變?yōu)閠rue,用戶可以輸入對(duì)方賬號(hào)或?qū)Ψ疥欠Q,通過(guò)用戶輸入的條件從數(shù)據(jù)庫(kù)中的用戶表中查詢符合條件的用戶,并且將查詢的結(jié)果顯示出來(lái);高級(jí)查找,即輸入年齡和性別,通過(guò)用戶輸入的年齡和性別從數(shù)據(jù)庫(kù)中的用戶表中查詢符合條件的用戶,并將查詢出來(lái)的結(jié)果顯示出來(lái);群查找,即輸入群號(hào),通過(guò)用戶輸入的群號(hào)從數(shù)據(jù)庫(kù)中的群表中查找符合條件的群,并將查詢的結(jié)果顯示出來(lái)。4.5

34、 個(gè)人設(shè)置模塊設(shè)計(jì)用戶在進(jìn)入主窗體以后,單擊個(gè)人設(shè)置按鈕會(huì)進(jìn)入修改個(gè)人信息窗體。在這里,用戶可以修改自己的基本信息(包括昵稱、性別、年齡、頭像、星座、血型等),也可以修改自己的密碼和安全策略。關(guān)于修改個(gè)人信息,當(dāng)點(diǎn)擊“個(gè)人設(shè)置”按鈕后,系統(tǒng)會(huì)根據(jù)當(dāng)前用戶的myqq號(hào)碼查詢到這個(gè)用戶的所有個(gè)人資料,并將這些個(gè)人資料顯示在對(duì)應(yīng)的位置上。當(dāng)用戶修改完個(gè)人信息點(diǎn)擊“確定”按鈕后,系統(tǒng)將取得用戶修改過(guò)后的個(gè)人資料,并將這些個(gè)人資料重新寫(xiě)入到數(shù)據(jù)庫(kù)中的用戶表中,從而達(dá)到更新個(gè)人信息的作用。個(gè)人設(shè)置窗體界面設(shè)計(jì)如圖4.7所示:圖4.7 個(gè)人設(shè)置窗體關(guān)于安全設(shè)置,當(dāng)點(diǎn)擊“個(gè)人設(shè)置”按鈕后,系統(tǒng)會(huì)根據(jù)當(dāng)前用戶的

35、myqq號(hào)碼查詢到這個(gè)用戶的密碼和好友策略,并將這些信息顯示在對(duì)應(yīng)的位置上。當(dāng)用戶修改完安全信息點(diǎn)擊“確定”按鈕后,系統(tǒng)將取得用戶修改過(guò)后的安全信息,并將這些安全信息重新寫(xiě)入到數(shù)據(jù)庫(kù)中的用戶表中,從而達(dá)到更新安全信息的作用。安全設(shè)置界面設(shè)計(jì)如圖4.8所示:圖4.8 安全設(shè)置窗體4.6 聊天模塊設(shè)計(jì)網(wǎng)絡(luò)聊天系統(tǒng)最主要的功能就是要能聊天。該網(wǎng)絡(luò)聊天系統(tǒng)可以實(shí)現(xiàn)一對(duì)一、一對(duì)多、多對(duì)多的聊天。當(dāng)用戶點(diǎn)擊“發(fā)送”按鈕時(shí),系統(tǒng)會(huì)獲取用戶輸入的內(nèi)容(下方的textbox中的內(nèi)容),并將這些內(nèi)容存入數(shù)據(jù)庫(kù)中的消息表中,根據(jù)主窗體上設(shè)置的timer控件,定時(shí)掃描數(shù)據(jù)庫(kù)表,如果有給該用戶發(fā)送的消息,則發(fā)送消息方的

36、頭像會(huì)閃,并且將發(fā)送的消息顯示在上方的textbox控件中(顯示內(nèi)容包括對(duì)方昵稱、發(fā)送時(shí)間、發(fā)送內(nèi)容)。一對(duì)一聊天:當(dāng)用戶a給用戶b發(fā)送消息時(shí),會(huì)獲取用戶b的id號(hào)并且將獲取的id號(hào)和發(fā)送的消息存入到消息表中,當(dāng)用戶b登錄時(shí),系統(tǒng)會(huì)定時(shí)掃描數(shù)據(jù)庫(kù)中的消息表,并讀出未讀消息,實(shí)現(xiàn)a與b的一對(duì)一聊天。一對(duì)多聊天:當(dāng)用戶a給多個(gè)用戶發(fā)送消息時(shí),會(huì)分別獲取各個(gè)用戶的id號(hào),并將它們的id號(hào)和所發(fā)送的消息一一對(duì)應(yīng)的存放到數(shù)據(jù)庫(kù)中的消息表中,當(dāng)這些用戶登錄時(shí),系統(tǒng)會(huì)同樣掃描消息表,并將未讀消息顯示出來(lái),這些用戶同樣也可以給用戶a發(fā)送消息,實(shí)現(xiàn)了一對(duì)多聊天。多對(duì)多聊天:相當(dāng)于群聊,利用數(shù)組,數(shù)組名為該群的群

37、號(hào),每個(gè)用戶id相當(dāng)于各個(gè)數(shù)組元素的值,它們把發(fā)送的消息存入群消息表中,當(dāng)這個(gè)群的任何一個(gè)或多個(gè)用戶登錄時(shí),都會(huì)看到該群其他用戶發(fā)送的消息,并且發(fā)送消息給該群的所有用戶,實(shí)現(xiàn)了多對(duì)多的聊天。以一對(duì)一聊天為例,發(fā)送及接收消息功能的主要代碼及流程圖如下:發(fā)送消息流程圖如圖4.9所示:輸入內(nèi)容是否為空選擇好友打開(kāi)聊天對(duì)話框否將輸入內(nèi)容寫(xiě)入數(shù)據(jù)庫(kù)消息表是圖4.9 發(fā)送消息流程圖發(fā)送消息功能的主要代碼:string sqlupdatemessagetext = string.format(select id,message,messagetime from messages where fromuser

38、id=0 and touserid=1 and messagetypeid=1 and messagestate=0, userhelper.id, frmmain.friendid); sqlcommand cmdshow = new sqlcommand(sqlupdatemessagetext, dbhelper.connection); sqldatareader datareader = cmdshow.executereader(); while (datareader.read() string messagetime = convert.todatetime(datareade

39、rmessagetime).tostring(); string messagetext = (string)datareadermessage; string showtext = string.format(0 1rn2rnrn, userhelper.nickname, messagetime, messagetext); txtmessage.appendtext(showtext); txtwrite.text = ; txtwrite.focus(); datareader.close();接收消息流程圖如圖4.10所示:timerfind_tick()定時(shí)掃描數(shù)據(jù)庫(kù)消息表是否有發(fā)

40、給自己的消息結(jié)束自己是否在線無(wú)有消息表中的isringed為1并顯示消息消息表中的isringed為0是否圖4.10 接收消息流程圖接收并顯示消息功能的主要代碼:dbhelper.connection.open();sqldatareader datareader2 = cmdgetmessages.executereader();while (datareader2.read() messageidstring += convert.tostring(datareader2id) + _; string messagetime = convert.todatetime(datareader2

41、messagetime).tostring(); string messagetext = (string)datareader2message; string showtext = string.format(0 1rn2rnrn, friendnickname, messagetime, messagetext); txtmessage.appendtext(showtext); datareader2.close();聊天窗體界面設(shè)計(jì)如圖4.11所示:圖4.11 聊天窗體4.7 系統(tǒng)托盤(pán)模塊的設(shè)計(jì)通過(guò)右擊電腦右下角的系統(tǒng)托盤(pán)顯示窗體,可以將隱藏的主窗體顯示出來(lái)。在該系統(tǒng)中,除了這以外,還

42、把其他的一些功能(如更換皮膚和透明度等)加入到了系統(tǒng)托盤(pán)中。要實(shí)現(xiàn)系統(tǒng)托盤(pán),必須要為窗體添加notifyicon控件和contextmenustrip控件12。notifyicon控件主要實(shí)現(xiàn)系統(tǒng)運(yùn)行期間在windows任務(wù)欄右側(cè)的通知區(qū)域顯示myqq圖標(biāo),contextmenustrip控件主要實(shí)現(xiàn)當(dāng)用戶右擊系統(tǒng)托盤(pán)上的myqq圖標(biāo)時(shí)顯示快捷菜單。系統(tǒng)托盤(pán)效果如圖4.12所示:圖4.12 系統(tǒng)托盤(pán)效果圖4.8 找回密碼模塊的設(shè)計(jì)找回密碼主要是當(dāng)用戶忘記自己的密碼時(shí),可以根據(jù)注冊(cè)新賬號(hào)時(shí)填寫(xiě)的密碼保護(hù)問(wèn)題進(jìn)行找回密碼,如果密碼保護(hù)問(wèn)題回答正確,則找回密碼成功;否則找回密碼失敗。密碼保護(hù)問(wèn)題界面

43、設(shè)計(jì)如圖4.13所示:圖4.13 密碼保護(hù)問(wèn)題窗體4.9 myqq音樂(lè)模塊的設(shè)計(jì)用戶在登錄成功后,可以單擊myqq音樂(lè)按鈕,進(jìn)入myqq音樂(lè)界面。當(dāng)用戶選中音樂(lè)后,系統(tǒng)會(huì)動(dòng)態(tài)的根據(jù)用戶選擇的音樂(lè)獲取該音樂(lè)的大小和位置,并且啟動(dòng)播放功能。當(dāng)用戶點(diǎn)擊“播放”按鈕時(shí),播放功能又重新啟動(dòng)。系統(tǒng)獲取音樂(lè)后,會(huì)根據(jù)選中音樂(lè)的大小動(dòng)態(tài)的計(jì)算進(jìn)度條的顯示速度。該模塊使用了windows自帶system.media.sound_player,聲音 api 只支持播放 pcm(.wav格式) 波形文件。myqq音樂(lè)窗體界面設(shè)計(jì)如圖4.14所示:圖4.14 myqq音樂(lè)窗體第五章 系統(tǒng)測(cè)試分析5.1 系統(tǒng)測(cè)試的目標(biāo)

44、為了設(shè)計(jì)出有效的系統(tǒng)測(cè)試方案,g.myers給出了關(guān)于測(cè)試的一些規(guī)則,這些規(guī)則也可以看做是測(cè)試的目標(biāo)或定義。(1) 測(cè)試是為了發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤而執(zhí)行系統(tǒng)的過(guò)程。(2) 好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案。(3) 成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。從上述規(guī)則可以看出,測(cè)試的正確定義是“為了發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤而執(zhí)行系統(tǒng)的過(guò)程”。這和某些人通常想象的“測(cè)試是為了表明系統(tǒng)是正確的”,“成功的測(cè)試是沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試”等是完全相反的。正確認(rèn)識(shí)測(cè)試的目標(biāo)是十分重要的,測(cè)試目標(biāo)決定了測(cè)試方案的設(shè)計(jì)。如果為了表明系統(tǒng)是正確的而進(jìn)行測(cè)試,就會(huì)設(shè)計(jì)一些不易暴露的測(cè)試方案;相反,如

45、果測(cè)試為了發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤,就會(huì)力求設(shè)計(jì)出最能暴露錯(cuò)誤的測(cè)試方案13。一般有兩種不同的方法考慮測(cè)試數(shù)據(jù):黑盒方法和白盒方法14。黑盒方法又稱為功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試方法,按這一方法進(jìn)行測(cè)試時(shí),程序被看作不能打開(kāi)的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)的情況下,依靠程序的規(guī)格說(shuō)明書(shū),從可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),也就是根據(jù)程序的功能或程序的外部特征設(shè)計(jì)測(cè)試數(shù)據(jù)。白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,這種測(cè)試允許測(cè)試者檢查程序的內(nèi)部結(jié)構(gòu)。一個(gè)系統(tǒng)產(chǎn)品在交付使用前需經(jīng)歷三種測(cè)試:(1) 單元測(cè)試也稱為模塊測(cè)試,是針對(duì)各個(gè)程序單元或模塊單獨(dú)進(jìn)行的測(cè)試。單元測(cè)試一般和程序編寫(xiě)結(jié)合起來(lái),著重發(fā)現(xiàn)和解決

46、程序編寫(xiě)中產(chǎn)生的錯(cuò)誤。(2) 集成測(cè)試把已經(jīng)通過(guò)單元測(cè)試的模塊連接起來(lái),著重檢驗(yàn)?zāi)K間接口以及系統(tǒng)設(shè)計(jì)中的一些問(wèn)題,通常使用功能測(cè)試的方法。(3) 驗(yàn)收測(cè)試驗(yàn)收測(cè)試是為了確認(rèn)已開(kāi)發(fā)的系統(tǒng)能否滿足驗(yàn)收標(biāo)準(zhǔn),客戶決定是否接受的正式測(cè)試過(guò)程。需求是否達(dá)到,特別是功能是否達(dá)到是最主要的檢驗(yàn)?zāi)繕?biāo)。驗(yàn)收測(cè)試是對(duì)系統(tǒng)質(zhì)量的全面考核,驗(yàn)收測(cè)試常常由客戶主持或參加15。由于實(shí)際條件的限制,要對(duì)本系統(tǒng)做嚴(yán)格意義上的測(cè)試是不可能的。例如,對(duì)系統(tǒng)測(cè)試應(yīng)由其他程序員來(lái)完成,但開(kāi)發(fā)本系統(tǒng)自始至終都是由一個(gè)人完成的,并且該系統(tǒng)只是作為一個(gè)利用現(xiàn)成的數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)用程序,絕大多數(shù)對(duì)數(shù)據(jù)的處理都是由數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)完成,所以對(duì)輸入條件的測(cè)試沒(méi)有很大意義。實(shí)際上,對(duì)于單元測(cè)試和集成測(cè)試,已經(jīng)在編碼過(guò)程中進(jìn)行了,所發(fā)現(xiàn)的錯(cuò)誤都即時(shí)予于改正,所以這里主要進(jìn)行的是驗(yàn)收測(cè)試,即主要對(duì)系統(tǒng)的各項(xiàng)功能進(jìn)行測(cè)試,驗(yàn)證系統(tǒng)是否達(dá)到系統(tǒng)的開(kāi)發(fā)目標(biāo)。具體做法是模擬現(xiàn)實(shí)生活中的網(wǎng)絡(luò)聊天系統(tǒng),逐一對(duì)系統(tǒng)提供的功能進(jìn)行驗(yàn)證。5.2 系統(tǒng)功能的驗(yàn)證系統(tǒng)功能驗(yàn)證的目的是在系統(tǒng)測(cè)試過(guò)程中,驗(yàn)證系統(tǒng)各個(gè)功能是否可以完成預(yù)期目標(biāo),以及在測(cè)試中出現(xiàn)錯(cuò)誤時(shí)如何改正以達(dá)到其擬定功能16。下面以登錄功能驗(yàn)證為例進(jìn)行說(shuō)明:用戶在注冊(cè)新賬號(hào)后,系統(tǒng)給定了其一個(gè)唯一的賬號(hào),登錄功能驗(yàn)證主要驗(yàn)證用戶根據(jù)自己的賬號(hào)和密碼是否能夠登錄系統(tǒng)。具體做法是

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論