基于jsp javabeanmysql在線聊天室系統(tǒng)設(shè)計_第1頁
基于jsp javabeanmysql在線聊天室系統(tǒng)設(shè)計_第2頁
基于jsp javabeanmysql在線聊天室系統(tǒng)設(shè)計_第3頁
基于jsp javabeanmysql在線聊天室系統(tǒng)設(shè)計_第4頁
基于jsp javabeanmysql在線聊天室系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄摘 要錯誤!未定義書簽。1. 概述11.1 軟件工程的概述11.2 在線聊天系統(tǒng)概述22. 在線聊天室系統(tǒng)的分析22.1 問題定義22.2 可行性研究22.2.1 技術(shù)可行性22.2.2 經(jīng)濟可行性22.2.3 操作可行性22.3 需求分析32.3.1 確定對系統(tǒng)的綜合要求32.3.2 分析建模32.2.3 系統(tǒng)邏輯模型43. 在線聊天室系統(tǒng)的設(shè)計63.1 模塊設(shè)計64.在線聊天室系統(tǒng)的編碼和測試74.1 系統(tǒng)編碼74.1.1 聊天室的界面74.1.2 頁面處理84.2 系統(tǒng)測試104.2.1 黑盒測試的內(nèi)容104.2.2 使用黑盒測試的情況分析115.總結(jié)11參考文獻121. 概述1.

2、1 軟件工程的概述軟件工程是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準,設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。軟件工程的目標(biāo)是:在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作

3、性并且滿足用戶需求的軟件產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護的困難。生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認活動貫穿于整個

4、開發(fā)過程,實現(xiàn)完成后的確認,保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。1.2 在線聊天室概述聊天室實現(xiàn)的主要功能是:接收各個客戶端的聊天信息,然后按照其聊天對象將該信息發(fā)送到目標(biāo)瀏覽器上。在一個瀏覽器的窗口中,既能輸入上網(wǎng)者的發(fā)言,又能看到自己與他人的聊天記錄。同時,為了便于上網(wǎng)者選擇談話對象,窗口中需要提供目前在線者的名單。2. 在線聊天室的分析2.1 問題定義就是提供一個網(wǎng)友能夠通過瀏覽器實現(xiàn)在線聊天的場所2.2 可行性研究2.2.1 技術(shù)可行性Jsp+JavaBean+MySQL 實現(xiàn),絕對可行,沒的說。2.2.2 經(jīng)濟可行性幾乎無成本,幾天搞定。2.2.3

5、操作可行性用戶注冊登錄,選擇聊天室,然后聊天。哪個管理員邪惡點,還會踢人。操作可行性研究完畢。2.3 需求分析2.3.1 確定對系統(tǒng)的綜合要求1.功能需求:用戶打開瀏覽器,注冊登錄,登錄成功后選擇自己喜歡的房間,點進去聊一下,發(fā)現(xiàn)可聊天,這東西可以用;有些玩家大家不喜歡,亂刷屏,就會要求管理員把他踢掉,管理員犀利踢之;有些用戶之間的聊天不喜歡被人看到,就有了悄悄話的選項;有些用戶喜歡添油加醋,聊天內(nèi)容字體顏色,動作表情都可以添加。2.性能需求:為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,系統(tǒng)應(yīng)該滿足以下的性能需求:如果聊天室長期開發(fā),必須考慮數(shù)據(jù)庫的負載,管理員有清理數(shù)據(jù)庫的權(quán)限;本聊

6、天室使用數(shù)據(jù)庫,信息與數(shù)據(jù)庫的連接是很頻繁的,我們使用JavaBean,能輕松實現(xiàn)數(shù)據(jù)庫與外部信息的交換;。2.3.2 分析建模功能模型數(shù)據(jù)流圖如圖2-2所示:JSPJavaBeanMySQL調(diào)用返回結(jié)果操作數(shù)據(jù)庫返回記錄圖2-2 數(shù)據(jù)流2.2.3 系統(tǒng)邏輯模型用戶信息實體E-R圖用戶信息Id號用戶名密碼最近登錄時間是否為管理員聊天信息實體E-R圖Id聊天信息所在房間發(fā)表人用戶名發(fā)表對象用戶名發(fā)表時間動作和表情聊天內(nèi)容是否悄悄話在線用戶信息實體E-R圖在線用戶信息Id號所在房間用戶名最近聊天時間數(shù)據(jù)庫設(shè)計:create table userinfo #用戶信息表(id int primary

7、key auto_increment,username varchar(50),pass varchar(50),lastlogintime datetime,role int #1-管理員 0-普通會員);create table msginfo #聊天記錄表(id int primary key auto_increment,chatroom varchar(50),msgfrom varchar(50),msgto varchar(50),chattime datetime,chataction varchar(50),msgcontent varchar(200),secret tin

8、yint(1) #1 悄悄話 0 非悄悄話 0默認 );create table useronline #在線用戶表(id int primary key auto_increment,chatroom varchar(50),username varchar(50),lastchattime datetime,);3. 在線聊天室設(shè)計3.1 模塊設(shè)計分為4個模塊: 1.數(shù)據(jù)庫通用管理模塊:完成數(shù)據(jù)庫的連接,查詢,更新功能 封裝在JavaBean中(DBConn.java) JSP頁面或者其他JavaBean可以通過調(diào)用DBConn對象的方法 連接 操作數(shù)據(jù)庫。2.用戶登錄注冊模塊:聊天室注冊

9、簡化,將注冊和登錄融合一起,第一次登錄,如果用戶信息表中沒有該用戶名,即時添加。下次登錄可以繼續(xù)用此用戶,登錄后用戶就會帶著自己的登錄信息(session),遨游聊天室模塊。 3.聊天室模塊 先有個房間列表供用戶選擇,用戶選擇自己喜歡的房間進入聊天室。聊天室有個框架里面分為3個部分:輸入消息顯示消息在線用戶列表 4.管理員功能模塊判斷是否為管理員有個友好的界面通過點擊頁面,實現(xiàn)對數(shù)據(jù)庫的刪除修改查詢 4.在線聊天室系統(tǒng)的編碼和測試4.1 系統(tǒng)編碼4.1.1 聊天室系統(tǒng)的界面截圖。注冊登錄模塊login.jsplogincheck.jsp聊天室模塊管理員模塊4.1.2 頁面處理 這里一筆帶過,具

10、體代碼見源文件數(shù)據(jù)庫通用管理模塊 DBConn.java注冊登錄模塊login.jsp 登錄界面 弄個表單提交 再加上JS的空值驗證logincheck.jsp 登錄檢測處理UserinfoMgr.java 封裝了登錄檢測用戶信息和添加用戶信息方法的JavaBean方法有check() saveToDB()聊天室模塊sessioncheck.jsp 檢測session信息判斷用戶是否登錄chatframe.jsp 框架 包含 顯示 在線列表 輸入 三個框架JavaBean有Msg.java聊天消息封裝體UserOnline 在線用戶封裝體ChatRoomMgr.java 聊天室管理 子模塊:聊

11、天室列表選擇模塊 roomlist.jsp 聊天室選擇頁面 roomlistdeal.jsp聊天室選擇并處理頁面 信息顯示模塊showmsg.jsp聊天信息顯示頁面getmsg.jsp聊天信息加載頁面實現(xiàn)無刷新showmsg的任務(wù):1.加載真正得到消息,并實時刷新的頁面,實現(xiàn)不閃爍效果。2.確定加載內(nèi)容的位置getmsg的任務(wù): 1.刷新,JS實現(xiàn)無聲音 2.各種操作得到結(jié)果 3.在具體位置顯示結(jié)果在線列表模塊onlinelist.jsp 在線用戶列表頁面信息輸入模塊input.jsp信息輸入頁面sendmsg.jsp信息輸入處理logout.jsp 離開房間處理changeroom.jsp

12、重新選擇房間處理管理員模塊maneger.jsp管理員高級頁面kick.jsp 踢人功能管理員踢人實現(xiàn)manager.jsp先判斷是不是管理員,如果不是,提示并退出窗口本頁面直接對數(shù)據(jù)庫操作,顯示所有在線玩家列表,和最近發(fā)言時間checkbox復(fù)選框傳遞用戶名串names kick.jsp接下來是爽快的踢人操作調(diào)用ChatRoomMgr 的logout()方法,依次傳遞namesi就實現(xiàn)批量踢人踢完之后提示,并刷新manager.jsp4.2 系統(tǒng)測試信息技術(shù)深深融入業(yè)務(wù)生活,使得軟件產(chǎn)品質(zhì)量的要求變得很高。這也使我們?yōu)樘岣哕浖y試的效率來尋求各式各樣的方法。而軟件測試的方法和技術(shù)是多種多樣的

13、。對于軟件測試技術(shù),可以從不同的角度加以分類:按測試階段可分為:單元測試、集成測試、確認測試。測試任何產(chǎn)品都有兩種方法:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用;如果知道產(chǎn)品的內(nèi)部過程,可以通過測試來檢驗產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行。前一種方法稱為黑盒測試,后一種方法成為白盒測試。4.2.1 黑盒測試的內(nèi)容功能測試也稱為黑盒測試,用于驗證系統(tǒng)的各項功能是否能正常完成。由于實際情況的多樣性,需要由多人重復(fù)測試,在不同情況下執(zhí)行各項功能操作,其輸出就是該功能的執(zhí)行結(jié)果。黑盒測試著重測試軟件功能。黑盒測試并不能取代白盒測試,它是與白盒測試互補的測試

14、方法,它很可能發(fā)現(xiàn)白盒測試不易發(fā)現(xiàn)的其他類型錯誤。黑盒測試發(fā)現(xiàn)下述類型錯誤:(1) 功能不正確或遺漏了功能。(2) 界面錯誤。(3) 數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤。(4) 性能錯誤。(5) 初始化和終止錯誤。4.2.2 使用黑盒測試的情況分析采用等價劃分的有效等價類和無效等價類進行測試。1.注冊登錄功能的測試比如正確賬號 admin , 密碼 123(1)測試數(shù)據(jù):輸入賬號 admin 輸入密碼123預(yù)期的輸出結(jié)果:跳轉(zhuǎn)到roomlist.jsp頁面 并且能獲得 session值實際運行結(jié)果如下圖所示:運行結(jié)果符合預(yù)期情況。(2)測試數(shù)據(jù):輸入賬號admin 124預(yù)期的輸出結(jié)果:提示您輸

15、入的用戶或密碼錯誤,請重新輸入 實際運行結(jié)果如下圖所示:您輸入的用戶或密碼錯誤,請重新輸入運行效果符合預(yù)期情況。(3)測試數(shù)據(jù):輸入賬號admin000, 123 (這個賬號數(shù)據(jù)庫里沒有)預(yù)期的輸出結(jié)果:直接注冊成功,跳轉(zhuǎn)到roomlist.jsp頁面運行結(jié)果符合預(yù)期情況。5.總結(jié)本設(shè)計實現(xiàn)了在線聊天系統(tǒng)的基本功能,雖然沒有華麗的界面,超強的性能,就練手學(xué)習(xí)而言綽綽有余。通過在線聊天室的設(shè)計,感覺動手能力增強了很多,JAVA編程能力有了比較大的提升。設(shè)計本系統(tǒng),是對自己專業(yè)知識的一次檢驗,也是一次增強自身綜合素質(zhì)機會。軟件工程這門課程將我們從局部的編寫程序帶入了整體開發(fā)軟件的階段,這是對我們知識與能力的一種挑戰(zhàn)。本文是軟件工程在線聊天室系統(tǒng)的開發(fā)說明,重點描述運用軟件工程知識對系統(tǒng)進行分析、設(shè)計和實現(xiàn)的思想,其中包括軟件生命周期的三個主要方面:軟件定義(問題定義、可行性研究、需求分析)、軟件開發(fā)(總體設(shè)計、詳細設(shè)計、編碼、測試)和運行維護。通過對開發(fā)本系統(tǒng)的文檔的書寫,更進一步學(xué)習(xí)了軟件開發(fā)的全過程,把軟件工程知識與實際開發(fā)軟件相結(jié)合,規(guī)范了實際開發(fā)軟

溫馨提示

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

評論

0/150

提交評論