




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢工程大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院國(guó)家卓越工程師計(jì)劃校企合作綜合設(shè)計(jì)報(bào)告設(shè)計(jì)名稱(chēng): 軟件工程綜合設(shè)計(jì) 設(shè)計(jì)題目: 簡(jiǎn)單QQ聊天系統(tǒng) 學(xué)生學(xué)號(hào): 專(zhuān)業(yè)班級(jí): 學(xué)生姓名: 學(xué)生成績(jī): 指導(dǎo)教師(職稱(chēng)): 企業(yè)指導(dǎo)教師: 課題工作時(shí)間:2013年6月24日 至 2013年7月5日說(shuō)明:1、報(bào)告中的第一、二、三項(xiàng)由指導(dǎo)教師在綜合設(shè)計(jì)開(kāi)始前填寫(xiě)并發(fā)給每個(gè)學(xué)生;四、五兩項(xiàng)(中英文摘要)由學(xué)生在完成綜合設(shè)計(jì)后填寫(xiě)。2、學(xué)生成績(jī)由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計(jì)情況給出各項(xiàng)分值及總評(píng)成績(jī)。3、指導(dǎo)教師評(píng)語(yǔ)一欄由指導(dǎo)教師就學(xué)生在整個(gè)設(shè)計(jì)期間的平時(shí)表現(xiàn)、設(shè)計(jì)完成情況、報(bào)告的質(zhì)量及答辯情況,給出客觀、全面的評(píng)價(jià)。4、所有學(xué)生
2、必須參加綜合設(shè)計(jì)的答辯環(huán)節(jié),凡不參加答辯者,其成績(jī)一律按不及格處理。答辯小組成員應(yīng)由2人及以上教師組成。5、報(bào)告正文字?jǐn)?shù)一般應(yīng)不少于5000字,也可由指導(dǎo)教師根據(jù)本門(mén)綜合設(shè)計(jì)的情況另行規(guī)定。6、平時(shí)表現(xiàn)成績(jī)低于6分的學(xué)生,取消答辯資格,其本項(xiàng)綜合設(shè)計(jì)成績(jī)按不及格處理。7、此表格式為武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院提供的基本格式(適用于學(xué)院各類(lèi)綜合設(shè)計(jì)),各教研室可根據(jù)本門(mén)綜合設(shè)計(jì)的特點(diǎn)及內(nèi)容做適當(dāng)?shù)恼{(diào)整,并上報(bào)學(xué)院批準(zhǔn)。成績(jī)?cè)u(píng)定表學(xué)生姓名: 學(xué)號(hào): 班級(jí): 類(lèi)別合計(jì)分值各項(xiàng)分值評(píng)分標(biāo)準(zhǔn)實(shí)際得分合計(jì)得分備注平時(shí)表現(xiàn)1010按時(shí)參加綜合設(shè)計(jì),無(wú)曠課、遲到、早退、違反實(shí)驗(yàn)室紀(jì)律等情況。由設(shè)計(jì)負(fù)責(zé)人給
3、出完成情況3020按設(shè)計(jì)任務(wù)書(shū)的要求完成了全部任務(wù),能完整演示其設(shè)計(jì)內(nèi)容,符合要求。10能對(duì)其設(shè)計(jì)內(nèi)容進(jìn)行詳細(xì)、完整的介紹,并能就指導(dǎo)教師提出的問(wèn)題進(jìn)行正確的回答。報(bào)告質(zhì)量3510報(bào)告文字通順,內(nèi)容翔實(shí),論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報(bào)告字?jǐn)?shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。5課題背景介紹清楚,綜述分析充分。5設(shè)計(jì)方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強(qiáng),具有說(shuō)服力。5符號(hào)統(tǒng)一;圖表完備、符合規(guī)范要求。5能對(duì)整個(gè)設(shè)計(jì)過(guò)程進(jìn)行全面的總結(jié),得出有價(jià)值的結(jié)論或結(jié)果。5參考文獻(xiàn)數(shù)量在3篇以上,格式符合要求,在正文中正確引用。答辯情況2510在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出,
4、論點(diǎn)正確,條理清晰。15在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問(wèn)題??傇u(píng)成績(jī): 分 補(bǔ)充說(shuō)明: 指導(dǎo)教師: (簽字)日 期: 年 月 日答辯記錄表學(xué)生姓名: 學(xué)號(hào): 班級(jí): 答辯地點(diǎn): 答辯內(nèi)容記錄:答辯成績(jī)合計(jì)分值各項(xiàng)分值評(píng)分標(biāo)準(zhǔn)實(shí)際得分合計(jì)得分備注2510在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出,論點(diǎn)正確,條理清晰。15在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問(wèn)題。答辯小組成員(簽字): 年 月 日指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師: (簽字)日 期: 年 月 日一、綜合設(shè)計(jì)目的、條件、任務(wù)和內(nèi)容要求:綜合設(shè)計(jì)的目的是:讓同學(xué)們應(yīng)用所學(xué)相應(yīng)的專(zhuān)業(yè)課程如面向?qū)ο蠓椒▽W(xué)、操
5、所系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、java高級(jí)程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)等課程的知識(shí),進(jìn)行全面綜合的應(yīng)用,特別是要運(yùn)用所學(xué)的面向?qū)ο蠓椒▽W(xué)的知識(shí),學(xué)會(huì)使用面向?qū)ο蟮乃季S方式進(jìn)行全局的看待軟件的設(shè)計(jì)過(guò)程、掌握面向?qū)ο蠓椒▽W(xué)課程所學(xué)知識(shí),進(jìn)行全面綜合的應(yīng)用,在軟件實(shí)現(xiàn)之前先進(jìn)行面向?qū)ο蟮姆治?、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等過(guò)程。綜合設(shè)計(jì)的條件:該綜合設(shè)計(jì)的條件是要求其先導(dǎo)課程面向?qū)ο蠓椒▽W(xué)、操所系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、java高級(jí)程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)等課程已經(jīng)學(xué)習(xí)。分組實(shí)現(xiàn),2-3人一組。本次綜合設(shè)計(jì)特點(diǎn)是校企合作,聘請(qǐng)企業(yè)教師來(lái)校講課。綜合設(shè)計(jì)的任務(wù):模仿騰訊QQ的系統(tǒng),要求同學(xué)們分組實(shí)現(xiàn)QQ聊天系統(tǒng)。綜合設(shè)計(jì)的內(nèi)容:1、使
6、用面向?qū)ο蟮姆椒▽?duì)QQ聊天系統(tǒng)進(jìn)行原型需求分析。2、對(duì)QQ聊天系統(tǒng)進(jìn)行面向?qū)ο蟮脑O(shè)計(jì)。3、使用面向?qū)ο蟮恼Z(yǔ)言實(shí)現(xiàn)聊天系統(tǒng)。4、對(duì)自己設(shè)計(jì)的軟件系統(tǒng)進(jìn)行測(cè)試。5、根據(jù)上面所做的事情撰寫(xiě)綜合設(shè)計(jì)報(bào)告 指導(dǎo)教師簽字: 2013 年 6 月 24 日二、進(jìn)度安排:6月24 6月26日 使用面向?qū)ο蟮姆椒▽?duì)QQ聊天系統(tǒng)進(jìn)行原型需求分析。6月27-6月28日 對(duì)QQ聊天系統(tǒng)進(jìn)行面向?qū)ο蟮脑O(shè)計(jì)6月28-7月3日 使用面向?qū)ο蟮恼Z(yǔ)言實(shí)現(xiàn)聊天系統(tǒng)6月28-7月4日 系統(tǒng)測(cè)試7月5日 答辯6月24 -7月4日 撰寫(xiě)綜合設(shè)計(jì)報(bào)告三、應(yīng)收集資料及主要參考文獻(xiàn):1 Rogers Cadenhead Java從入門(mén)到精通
7、.北京:人民郵電出版社. 2007年3月2 Paul Hyde Java線程編程.北京:人民郵電出版社. 2003年11月3 李鐘蔚Java 開(kāi)發(fā)實(shí)戰(zhàn)寶典.北京:清華大學(xué)出版社.2009年6月4 殷兆麟.Java網(wǎng)絡(luò)編程基礎(chǔ)M.北京:清華大學(xué)出版社,2004年5月四、綜合設(shè)計(jì)摘要(中文):本次課程設(shè)計(jì)實(shí)現(xiàn)類(lèi)似于騰訊QQ的簡(jiǎn)單聊天系統(tǒng),目的是為了方便局域網(wǎng)里的通信,給辦公或者學(xué)習(xí)帶來(lái)方便。系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要的依據(jù)是面向?qū)ο蟮木幊趟枷牒蚃ava網(wǎng)絡(luò)編程。首先根據(jù)面向?qū)ο蟮乃枷?,抽象出系統(tǒng)的主要參與者與系統(tǒng)邊界,做出系統(tǒng)的用例,然后確定系統(tǒng)的對(duì)象,屬性與方法;再利用Java的socke
8、t網(wǎng)絡(luò)編程技術(shù),實(shí)現(xiàn)各個(gè)對(duì)象之間信息的交互,由于本系統(tǒng)采用的是C/S架構(gòu),所以主要的信息交互在客戶(hù)端與服務(wù)器端進(jìn)行。在系統(tǒng)的實(shí)現(xiàn)過(guò)程中采用的方法與技術(shù)有socket網(wǎng)絡(luò)編程,Java的IO操作,多線程等。系統(tǒng)考慮到存儲(chǔ)的信息量并不是很大,所以采用文件方式進(jìn)行系統(tǒng)相關(guān)信息的存儲(chǔ)。當(dāng)然,還有利用配置文件的技術(shù)保存一些重要的信息,方便系統(tǒng)的實(shí)現(xiàn)。在界面設(shè)計(jì)部分,主要采用的是Java的Swing技術(shù)。系統(tǒng)的主要功能有用戶(hù)注冊(cè)與登錄,用戶(hù)管理,服務(wù)器管理,添加、刪除好友,與好友進(jìn)行聊天或者群聊等。本系統(tǒng)經(jīng)過(guò)不斷測(cè)試與調(diào)試,最終完成了預(yù)期功能,滿足了用戶(hù)需求。關(guān)鍵詞:面向?qū)ο?;Java;Socket;C/
9、S;Swing五、綜合設(shè)計(jì)Abstract(英文):The integrate design is to achieve a simple system which is similar Tencent QQ. The main purpose of the system is facilitate LAN communication, which is to the office or to learn convenience. System design and implementation are based on the main ideas of object-oriented pr
10、ogramming and Java network programming. First, according to object-oriented thinking, abstract systems and a major player in the system boundary, making the system use cases, and then determine the system's objects, properties, and methods; It reuse of Java socket network programming technology,
11、 information between the various objects interaction. The system uses C/S structure, so the main information exchange between the client and server side. In the system implementation process methods and techniques used in a socket network programming, Java's IO operations,Multi-Thread etc., the
12、system taking into account the amount of information stored is not great, so the use of the file system-related information by way of storage. Of course, there is the use of configuration files to save some important information technology to facilitate system implementation. Part in the interface d
13、esign, the main uses of Java Swing technology. The main function of the system is user registration and login, user management, server management, add and delete friends, which can chat with friends or a group. The system has been continuously testing and debugging, completion of the desired functio
14、nality to meet the needs of users at late.Keywords : Object-oriented ; Java;Socket;C/S;Swing武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 綜合設(shè)計(jì)報(bào)告目 錄目 錄I摘 要IIIAbstractIV第一章 緒論11.1背景11.2開(kāi)發(fā)技術(shù)與問(wèn)題解決21.3理論依據(jù)和主要功能21.4意義2第二章 需求分析32.1 可行性分析32.2 基本功能需求3第三章 系統(tǒng)設(shè)計(jì)83.1主要功能設(shè)計(jì)83.2系統(tǒng)類(lèi)圖設(shè)計(jì)83.3系統(tǒng)順序圖103.4 系統(tǒng)部署圖11第四章 詳細(xì)設(shè)計(jì)124.1系統(tǒng)程序流程設(shè)計(jì)124.2 服務(wù)器端功能實(shí)現(xiàn)13
15、4.3 客戶(hù)端功能實(shí)現(xiàn)16第五章 系統(tǒng)測(cè)試235.1 登陸注冊(cè)測(cè)試235.2 查找添加好友測(cè)試235.3 聊天功能測(cè)試26總結(jié)27致謝28參考文獻(xiàn)29摘 要本次課程設(shè)計(jì)實(shí)現(xiàn)類(lèi)似于騰訊QQ的簡(jiǎn)單聊天系統(tǒng),目的是為了方便局域網(wǎng)里的通信,給辦公或者學(xué)習(xí)帶來(lái)方便。系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要的依據(jù)是面向?qū)ο蟮木幊趟枷牒蚃ava網(wǎng)絡(luò)編程。首先根據(jù)面向?qū)ο蟮乃枷?,抽象出系統(tǒng)的主要參與者與系統(tǒng)邊界,做出系統(tǒng)的用例,然后確定系統(tǒng)的對(duì)象,屬性與方法;再利用Java的socket網(wǎng)絡(luò)編程技術(shù),實(shí)現(xiàn)各個(gè)對(duì)象之間信息的交互,由于本系統(tǒng)采用的是C/S架構(gòu),所以主要的信息交互在客戶(hù)端與服務(wù)器端進(jìn)行。在系統(tǒng)的實(shí)現(xiàn)過(guò)程中采用的方法
16、與技術(shù)有socket網(wǎng)絡(luò)編程,Java的IO操作,多線程等。系統(tǒng)考慮到存儲(chǔ)的信息量并不是很大,所以采用文件方式進(jìn)行系統(tǒng)相關(guān)信息的存儲(chǔ)。當(dāng)然,還有利用配置文件的技術(shù)保存一些重要的信息,方便系統(tǒng)的實(shí)現(xiàn)。在界面設(shè)計(jì)部分,主要采用的是Java的Swing技術(shù)。系統(tǒng)的主要功能有用戶(hù)注冊(cè)與登錄,用戶(hù)管理,服務(wù)器管理,添加、刪除好友,與好友進(jìn)行聊天或者群聊等。本系統(tǒng)經(jīng)過(guò)不斷測(cè)試與調(diào)試,最終完成了預(yù)期功能,滿足了用戶(hù)需求。關(guān)鍵詞:面向?qū)ο?;Java;Socket;C/S;SwingAbstractThe integrate design is to achieve a simple system which
17、is similar Tencent QQ. The main purpose of the system is facilitate LAN communication, which is to the office or to learn convenience. System design and implementation are based on the main ideas of object-oriented programming and Java network programming. First, according to object-oriented thinkin
18、g, abstract systems and a major player in the system boundary, making the system use cases, and then determine the system's objects, properties, and methods; It reuse of Java socket network programming technology, information between the various objects interaction. The system uses C/S structure
19、, so the main information exchange between the client and server side. In the system implementation process methods and techniques used in a socket network programming, Java's IO operations,Multi-Thread etc., the system taking into account the amount of information stored is not great, so the us
20、e of the file system-related information by way of storage. Of course, there is the use of configuration files to save some important information technology to facilitate system implementation. Part in the interface design, the main uses of Java Swing technology. The main function of the system is u
21、ser registration and login, user management, server management, add and delete friends, which can chat with friends or a group. The system has been continuously testing and debugging, completion of the desired functionality to meet the needs of users at late.Keywords : Object-oriented ; Java;Socket;
22、C/S;Swing- 33 -第一章 緒論1.1 背景一直以來(lái),空間上的距離都是人們彼此相互交流的最大障礙。以前人們的信息交流是通過(guò)電話、信件、電報(bào)等手段,由于功能的局限給收發(fā)雙方帶來(lái)了很多不便。所以更加即時(shí)的直觀的使人們能在網(wǎng)上識(shí)別在線用戶(hù)并與他們實(shí)時(shí)交換消息的即時(shí)通信技術(shù)應(yīng)運(yùn)而生,它是電子郵件發(fā)明以來(lái)迅速崛起的在線通訊方式,為網(wǎng)絡(luò)用戶(hù)提供一個(gè)實(shí)時(shí)交流聊天的平臺(tái)。而且即時(shí)通信和社會(huì)化網(wǎng)絡(luò)、統(tǒng)一通信、在線協(xié)同三大技術(shù)熱點(diǎn)的關(guān)系將越來(lái)越密切,已經(jīng)構(gòu)成融合發(fā)展的趨勢(shì),因此即時(shí)通信技術(shù)的應(yīng)用將越來(lái)越廣泛,越來(lái)越普遍。即時(shí)消息系統(tǒng)(Instant Messenger,IM)是一種在后 PC 時(shí)代興起的
23、,以Internet 網(wǎng)絡(luò)為基礎(chǔ)的,允許交互雙方即時(shí)地傳送文字、語(yǔ)音、視頻等信息,能夠跟蹤網(wǎng)絡(luò)用戶(hù)在線狀態(tài)的網(wǎng)絡(luò)應(yīng)用軟件。即時(shí)消息系統(tǒng)產(chǎn)生有著深刻的社會(huì)原因:人們都有渴望社交,獲得社會(huì)尊重、實(shí)現(xiàn)自我的需求,這正是即時(shí)消息軟件風(fēng)行的原動(dòng)力,而物質(zhì)文明的日益發(fā)達(dá)所帶來(lái)副作用,又使得人們習(xí)慣與周?chē)娜吮3志嚯x,以致人們更愿意對(duì)陌生人敞開(kāi)心扉,在網(wǎng)絡(luò)中可以跨越年齡、身份、行業(yè)、地域的限制,達(dá)到人與人、人與信息之間的零距離交流。從這點(diǎn)上講,即時(shí)消息系統(tǒng)的出現(xiàn)改變了人們的溝通方式和交友文化,大大拓展了個(gè)人生活交流的空間。國(guó)內(nèi)最為流行的即時(shí)消息軟件是 OICQ(簡(jiǎn)稱(chēng) QQ)。它以良好的中文界面和不斷增強(qiáng)的功
24、能形成了一定的 QQ 網(wǎng)絡(luò)文化。該軟件是由騰訊公司于 1999 年 2 月自主開(kāi)發(fā)的基于Internet的即時(shí)消息系統(tǒng)。騰訊QQ 目前已成為中國(guó)最主要的即時(shí)消息服務(wù)網(wǎng)絡(luò)軟件。作為一種即時(shí)消息工具,QQ 支持顯示好友在線、即時(shí)傳送文字、語(yǔ)音和文件等功能。 QQ 還與無(wú)線尋呼、GSM 短信息、IP 電話網(wǎng)互聯(lián),為用戶(hù)提供互聯(lián)網(wǎng)短信及信息增值服務(wù)。騰訊 QQ 開(kāi)發(fā)和拓展統(tǒng)一、高速、豐富的互聯(lián)網(wǎng)應(yīng)用平臺(tái)、在線廣告業(yè)務(wù)、移動(dòng)通信業(yè)務(wù)、ISP及IP電話合作業(yè)務(wù)、企業(yè)商用即時(shí)消息服務(wù)、在線客戶(hù)支持及在線呼叫業(yè)務(wù)。所以,本次課程設(shè)計(jì),以騰訊QQ為目標(biāo),做一個(gè)簡(jiǎn)單的局域網(wǎng)聊天系統(tǒng)。1.2開(kāi)發(fā)技術(shù)與問(wèn)題解決在該系
25、統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)過(guò)程中,主要的開(kāi)發(fā)技術(shù)就是java的Socket網(wǎng)絡(luò)編程技術(shù),因?yàn)樗鼘?shí)現(xiàn)的是系統(tǒng)的核心功能。對(duì)于界面的設(shè)計(jì),采用的是java的swing技術(shù),在界面的布局上,對(duì)于小的面板主要采用絕對(duì)布局的方式,還有卡片布局,網(wǎng)格布局,最后采用邊界布局將各個(gè)面板集成起來(lái),這樣做出的界面還是比較美觀的。在swing中用到了UIManager這個(gè)類(lèi)來(lái)管理界面。當(dāng)然也用到了awt重量級(jí)的控件。在業(yè)務(wù)功能的實(shí)現(xiàn)方面,基于TCP協(xié)議的網(wǎng)絡(luò)聊天程序必須包括服務(wù)端和客戶(hù)端兩個(gè)程序,其中一臺(tái)計(jì)算機(jī)上運(yùn)行服務(wù)端程序,當(dāng)開(kāi)啟服務(wù)端程序時(shí),設(shè)置一個(gè)監(jiān)聽(tīng)端口(port)并調(diào)用startService方法。當(dāng)客戶(hù)端連接時(shí)(c
26、onnect)就會(huì)觸發(fā)connection request事件,在connection request事件中調(diào)用socket方法建立連接,然后服務(wù)會(huì)為每一個(gè)客戶(hù)開(kāi)啟一個(gè)線程。同時(shí)在服務(wù)端的事件中,把接收到的客戶(hù)端傳來(lái)的數(shù)據(jù),轉(zhuǎn)發(fā)給所有客戶(hù)端。當(dāng)然針對(duì)用戶(hù)的不同請(qǐng)求,服務(wù)器會(huì)有不同的響應(yīng)。這其中就用到了多線程技術(shù)。然后,對(duì)于客戶(hù)端程序必須知道服務(wù)端計(jì)算機(jī)名或其IP地址(Remote Host屬性),以及服務(wù)端監(jiān)聽(tīng)端口(PORT屬性)然后啟動(dòng)線程建立連接。任何客戶(hù)端一方都可以發(fā)送信息給服務(wù)器.也可以接收對(duì)方數(shù)據(jù)。其中在客戶(hù)端,用一個(gè)繼承了Thread的內(nèi)部類(lèi)的run中方法就可以獲得傳送來(lái)的數(shù)據(jù)。在
27、客戶(hù)端與服務(wù)器端的信息交互過(guò)程中,主要的技術(shù)就是Socket網(wǎng)絡(luò)編程技術(shù),其中,為了封裝信息,用到了序列化與反序列化的技術(shù),即用對(duì)象流來(lái)實(shí)現(xiàn)通信。這樣會(huì)比較的方便,通過(guò)設(shè)置對(duì)象里的類(lèi)型,以區(qū)分不同的客戶(hù)請(qǐng)求,還有服務(wù)器發(fā)的不同信息。1.3理論依據(jù)和主要功能本次課程設(shè)計(jì)主要理論依據(jù)就是面向?qū)ο蠓椒▽W(xué)。用面向?qū)ο蟮乃枷雭?lái)設(shè)計(jì)整個(gè)系統(tǒng),這其中設(shè)計(jì)到j(luò)ava設(shè)計(jì)模式,迭代式的開(kāi)發(fā)模型,數(shù)據(jù)結(jié)構(gòu)等理論知識(shí)。本次設(shè)計(jì)雖然沒(méi)有使用數(shù)據(jù)庫(kù),但是在需求分析階段,還是通過(guò)E-R圖來(lái)分析了系統(tǒng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),并且抽象出公共的數(shù)據(jù)類(lèi)型。系統(tǒng)的主要功能除了用戶(hù)注冊(cè),登陸,聊天以外,還有群聊,查找好友,添加好友,更新用戶(hù)
28、信息等。1.4意義21世紀(jì)是信息的時(shí)代,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息在傳遞方面也有了嶄新的一面?,F(xiàn)今聊天軟件成為信息傳遞最為廣泛的應(yīng)用工具,它發(fā)揮了即時(shí)性通信的特點(diǎn),可以讓用戶(hù)在第一時(shí)間內(nèi)得到信息的交流,它不僅可以讓用戶(hù)進(jìn)行文字聊天,而且還增添語(yǔ)音、視頻功能。這樣可以讓網(wǎng)上的好友身臨其境的面對(duì)面的聊天,讓彼此之間更為深入的了解。人性化的設(shè)計(jì)讓每個(gè)用戶(hù)都可以得心應(yīng)手的使用,從而獲得更多人的青睞。Internet的出現(xiàn)連通了整個(gè)世界,而聊天軟件的出現(xiàn)則連通了每一位網(wǎng)上的用戶(hù)。隨著網(wǎng)絡(luò)應(yīng)用的發(fā)展,聊天軟件已經(jīng)成為最熱門(mén)的網(wǎng)絡(luò)應(yīng)用之一。經(jīng)歷了近幾年突飛猛進(jìn)的發(fā)展之后,即時(shí)通訊工具早已不再是簡(jiǎn)單的互聯(lián)網(wǎng)通
29、訊工具,它已經(jīng)成為一個(gè)集互動(dòng)交流、休閑娛樂(lè)、信息管理為一體的多元化互聯(lián)網(wǎng)應(yīng)用平臺(tái)??傊?,聊天軟件的出現(xiàn)給人們彼此之間的溝通帶來(lái)了無(wú)比的方便,人們可以通過(guò)聊天軟件建立深刻的友情,讓人們?cè)诨ヂ?lián)網(wǎng)上的交流更加充滿活力與生機(jī)。再者,通過(guò)本次課程設(shè)計(jì),是對(duì)自己大學(xué)三年來(lái)所學(xué)東西的一個(gè)綜合檢驗(yàn),因?yàn)檫@次課程設(shè)計(jì)確實(shí)包含了許多的內(nèi)容,設(shè)計(jì)到了幾年來(lái)學(xué)習(xí)的許多課程,當(dāng)然,最核心的還是面向?qū)ο蠓椒▽W(xué)的課程,通過(guò)這門(mén)課程的學(xué)習(xí),將面向?qū)ο蟮乃枷牍噍數(shù)搅四X中。通過(guò)這次課程設(shè)計(jì),將理論付諸實(shí)踐,是一個(gè)很好的提升自己能力的過(guò)程。第二章 需求分析2.1 可行性分析 經(jīng)濟(jì)可行性:本次系統(tǒng)的設(shè)計(jì)背景是學(xué)期末的綜合課程設(shè)計(jì),所
30、以并沒(méi)有考慮市場(chǎng)的經(jīng)濟(jì)效應(yīng)與開(kāi)發(fā)投入,主要是以提升自己的專(zhuān)業(yè)能力為目的,需要的只是一臺(tái)能運(yùn)行java程序的電腦。所以經(jīng)濟(jì)上是可行的。技術(shù)可行性:該系統(tǒng)的設(shè)計(jì)是在我學(xué)習(xí)了面向?qū)ο蠓椒▽W(xué),java設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫(kù),操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò),人機(jī)交互等理論知識(shí)之后開(kāi)展的,加上平時(shí)的上機(jī)實(shí)驗(yàn),已經(jīng)具備了開(kāi)發(fā)一個(gè)簡(jiǎn)單聊天系統(tǒng)的能力和技術(shù)。所以技術(shù)上是可行的。操作可行性:本次系統(tǒng)設(shè)計(jì)是在軟件工程專(zhuān)業(yè)機(jī)房進(jìn)行的,環(huán)境是比較舒適的,然后機(jī)房還連接了互聯(lián)網(wǎng),供我們查閱治療,開(kāi)發(fā)平臺(tái)為windows XP,加上eclipse的開(kāi)發(fā)工具,JDK已經(jīng)安裝好,整個(gè)開(kāi)發(fā)平臺(tái),從需求分析到最后的測(cè)試都已經(jīng)搭建好,所以
31、在操作上是可行的。2.2 基本功能需求首先進(jìn)行參與者分析,本次系統(tǒng)的參與者有兩大部分,即客戶(hù)和系統(tǒng)管理員。參與者列表如下:表 2-1參與者編號(hào)參與者名稱(chēng)參與者描述參與者間關(guān)系與用例的關(guān)系M1Person未注冊(cè)的用戶(hù)M2的父類(lèi)注冊(cè)M2User已注冊(cè)的用戶(hù)M1的子類(lèi)登錄聊天M3Administer系統(tǒng)管理員無(wú)直接關(guān)系管理用戶(hù)在分析了參與者之后,就可以確定系統(tǒng)的邊界了,然后設(shè)計(jì)出用例列表,因?yàn)楸鞠到y(tǒng)的開(kāi)發(fā)是用用例驅(qū)動(dòng)的。用例之間有三種關(guān)系:特殊化、包含和擴(kuò)展。這些關(guān)系可以組合相關(guān)的用例,分解大的用例,重用行為,指定可選的行為。用例表如表2-2所示:表 2-2用例編號(hào)用例名稱(chēng)用例描述用例關(guān)系是否為抽象
32、用例U1Register新用戶(hù)注冊(cè)包含U5、U6、U7,U4是其擴(kuò)展否U2Login注冊(cè)用戶(hù)登錄U3是其擴(kuò)展否U3Chat聊天是U2的擴(kuò)展否U4Initial初始化U1和U8是其擴(kuò)展否U5CheckInfo檢查注冊(cè)信息是否合法被U1包含否U6WriteInfo將注冊(cè)信息寫(xiě)到文件被U1包含否U7SaveInfo保存用戶(hù)信息被U1包含否U8OpenServer開(kāi)啟服務(wù)器被U4包含否 通過(guò)上面的分析,畫(huà)出用例圖,8個(gè)用例中,與可疑用用戶(hù)即注冊(cè)者有關(guān)的有一個(gè)用例,與用戶(hù)有關(guān)的有一個(gè)用例,與系統(tǒng)管理員有關(guān)的用例有三個(gè)。當(dāng)然有些小的用例并沒(méi)有畫(huà)上去,主要是一些大的功能模塊的用例。如圖2.1。圖 2.1 系
33、統(tǒng)用例圖該系統(tǒng)中共包括8個(gè)大的用例,詳細(xì)的用例列表如下:U1:register表2-3 注冊(cè)用例細(xì)節(jié)列表用例編號(hào):U1用例名稱(chēng):Register前置條件:無(wú)步 驟:1、用戶(hù)選擇注冊(cè)類(lèi)型(User或VipUser) 2、填寫(xiě)注冊(cè)信息后置條件:系統(tǒng)調(diào)用注冊(cè)驗(yàn)證模塊檢查注冊(cè)信息是否符合要求異常處理:a1、如果用戶(hù)名已存在,Ichat會(huì)提示并要求重新填寫(xiě) a2、如果注冊(cè)信息符合要求,則在保存后成功完成注冊(cè)U2:login表 2-4 登陸用例細(xì)節(jié)列表用例編號(hào):U2用例名稱(chēng):Login前置條件:用戶(hù)成功注冊(cè)步 驟:1、用戶(hù)輸入用戶(hù)名2、用戶(hù)輸入密碼3、選擇“登陸”(登陸界面有兩個(gè)按鈕“登陸”和“注冊(cè)”,選
34、擇注冊(cè)進(jìn)入注冊(cè)界面)后置條件:系統(tǒng)調(diào)用登陸驗(yàn)證模塊檢查登陸信息異常處理:a1、如果用戶(hù)名不存在,則提示用戶(hù)先注冊(cè) a2、如果用戶(hù)名存在但密碼不匹配,則提示用戶(hù)密碼錯(cuò)誤 a3、如果用戶(hù)名和密碼都正確,則成功登陸Ichat系統(tǒng)U3:chat表 2-5 聊天用例細(xì)節(jié)列表用例編號(hào):U8用例名稱(chēng):chat前置條件: 用戶(hù)已登錄步 驟:獲得對(duì)方端口號(hào)或IP地址后置條件:無(wú) 異常處理:無(wú)U4:initial表 2-6 初始化用例細(xì)節(jié)列表用例編號(hào):U4用例名稱(chēng):initial前置條件:用戶(hù)注冊(cè)步 驟:1、用戶(hù)注冊(cè) 2、用戶(hù)信息初始化后置條件:服務(wù)器已經(jīng)打開(kāi)異常處理: 無(wú)U5: checkInfo表 2-7 檢
35、查用戶(hù)信息用例細(xì)節(jié)列表用例編號(hào):U5用例名稱(chēng):checkInfo前置條件:用戶(hù)注冊(cè)步 驟:1、檢查新注冊(cè)的用戶(hù)名是否存在2、已存在則提示并要求重新填寫(xiě)3、注冊(cè)信息成功通過(guò)驗(yàn)證后置條件:注冊(cè)成功 異常處理:無(wú) U6: writeInfo表 2-8 寫(xiě)信息用例細(xì)節(jié)列表用例編號(hào):U5用例名稱(chēng):writeInfo前置條件:用戶(hù)注冊(cè)成功步 驟:將用戶(hù)注冊(cè)信息寫(xiě)入文件中后置條件:無(wú) 異常處理: 寫(xiě)入文件異常,給出錯(cuò)誤提示U7: saveInfo表 2-9 保存信息用例細(xì)節(jié)列表用例編號(hào):U6用例名稱(chēng):saveInfo前置條件:已填入的注冊(cè)信息通過(guò)驗(yàn)證步 驟:1、選擇“保存”,界面中各文本框進(jìn)入不可寫(xiě)狀態(tài)2、
36、選擇“確認(rèn)注冊(cè)”,系統(tǒng)將注冊(cè)信息存入數(shù)據(jù)庫(kù)中3、提示新用戶(hù)注冊(cè)成功后置條件:無(wú)異常處理: 無(wú)U8:OpenServer表 2-10 打開(kāi)服務(wù)器用例細(xì)節(jié)列表用例編號(hào):U8用例名稱(chēng):OpenServer前置條件:初始化 步 驟:1、初始化 2、連接至服務(wù)器后置條件:無(wú) 異常處理:如果服務(wù)器連接失敗,重新連接第三章 系統(tǒng)設(shè)計(jì)3.1主要功能設(shè)計(jì)首先服務(wù)器端是該系統(tǒng)的核心功能模塊,是首先要考慮的,服務(wù)器主要是監(jiān)聽(tīng)用戶(hù)的行為,響應(yīng)用戶(hù)的請(qǐng)求,為用戶(hù)提供服務(wù)。他的功能模塊包括系統(tǒng)服務(wù),系統(tǒng)配置,用戶(hù)管理,在線用戶(hù),顯示日志等功能。其中最核心的功能模塊式系統(tǒng)服務(wù),它上面負(fù)責(zé)處理客戶(hù)不同信息類(lèi)型的請(qǐng)求,并且在面
37、板上顯示操作的記錄以及用戶(hù)的一些行為,方便系統(tǒng)管理員進(jìn)行管理,而其他面板主要負(fù)責(zé)一些顯示工作,當(dāng)然用戶(hù)的管理一些功能還未實(shí)現(xiàn),只能進(jìn)行查看。然后是對(duì)于客戶(hù)端的設(shè)計(jì),客戶(hù)端包括三大界面,也對(duì)應(yīng)這三大功能,即登陸界面,主界面,聊天界面。其中,登陸界面對(duì)應(yīng)的功能有用戶(hù)登陸與注冊(cè),主界面里可以查找添加好友,然后進(jìn)入聊天面板,在聊天界面主要是用戶(hù)之間的信息交流,這些信息的交換都是由服務(wù)器支撐的。最后畫(huà)出系統(tǒng)功能模塊圖:簡(jiǎn)單QQ聊天系統(tǒng)客戶(hù)端服務(wù)器端注冊(cè)登陸查找好友添加好友聊天系統(tǒng)服務(wù)系統(tǒng)配置用戶(hù)管理顯示日志圖 3.1 系統(tǒng)功能模塊圖3.2系統(tǒng)類(lèi)圖設(shè)計(jì)本系統(tǒng)主要的類(lèi)就是ServicePane和Regist
38、erPane、Mainpane,他們實(shí)現(xiàn)了系統(tǒng)的主要的功能,并且他們之間的信息交互時(shí)最多的,當(dāng)然其中設(shè)計(jì)到一些抽象的類(lèi),比如對(duì)與用戶(hù)數(shù)據(jù)的封裝,有一個(gè)具有全面信息的User,還有封裝好友信息的類(lèi)FriendUser,封裝注冊(cè)信息的RegUser,用戶(hù)登陸信息封裝為L(zhǎng)oginUer等。ServicePane主要負(fù)責(zé)服務(wù)器端的功能,RegisterPane負(fù)責(zé)用戶(hù)的注冊(cè),Mainpane主要負(fù)責(zé)用戶(hù)管理自己的好友,包括查找和添加好友以及和好友聊天等。這個(gè)三個(gè)類(lèi)涉及到的類(lèi)共同組成了該系統(tǒng)。系統(tǒng)的類(lèi)圖如圖3.2所示。圖 3.2 系統(tǒng)類(lèi)圖3.3系統(tǒng)順序圖在系統(tǒng)的實(shí)現(xiàn)中,和服務(wù)的信息交互主要集中在用戶(hù)登陸
39、與注冊(cè)上面,而且這一塊對(duì)多線程操作和對(duì)象流的操作要求比較高,所以主要畫(huà)著兩個(gè)功能的順序圖,如圖3.3和3.4。圖 3.3 注冊(cè)順序圖圖 3.4 登陸順序圖在注冊(cè)順序圖中,用戶(hù)通過(guò)提交注冊(cè)信息,觸發(fā)系統(tǒng)的Socket監(jiān)聽(tīng),從而系統(tǒng)會(huì)為每一個(gè)用戶(hù)開(kāi)啟一個(gè)線程,來(lái)處理用戶(hù)的注冊(cè)事件,當(dāng)然這個(gè)線程不會(huì)消亡,知道用戶(hù)下線。如果用戶(hù)提交的信息正確,那么服務(wù)器會(huì)調(diào)用dealRegister方法來(lái)為客戶(hù)生成QQ號(hào)和ID號(hào),并且將用戶(hù)的信息寫(xiě)到文件中。然后會(huì)將注冊(cè)信息寫(xiě)到對(duì)象輸出流中,發(fā)給客戶(hù)端。在登陸的順序圖中,也是客戶(hù)端向服務(wù)器提出請(qǐng)求,服務(wù)器為客戶(hù)端開(kāi)啟單獨(dú)的線程來(lái)處理這個(gè)請(qǐng)求。在這個(gè)過(guò)程中,服務(wù)器會(huì)便利
40、客戶(hù)存儲(chǔ)信息的文件夾,查看是否存在這個(gè)用戶(hù),并且檢查密碼是否正確,不管是否正確,服務(wù)器都會(huì)通過(guò)對(duì)象流將一個(gè)JQMessage的打包信息發(fā)給客戶(hù)端,客戶(hù)端接受后,也會(huì)根據(jù)數(shù)據(jù)的類(lèi)型(JQMessage的一個(gè)屬性值)來(lái)判斷是否登錄成功,如果是,則會(huì)出事化一個(gè)MainPnae,并且加載用戶(hù)的信息,包括好友列表等。若登錄信息錯(cuò)誤,則會(huì)提示用戶(hù)。3.4 系統(tǒng)部署圖 系統(tǒng)的部署圖主要體現(xiàn)的是系統(tǒng)的構(gòu)架,本系統(tǒng)采用C/S架構(gòu)。所以部署圖如下:圖 3.5 系統(tǒng)部署圖第四章 詳細(xì)設(shè)計(jì)4.1系統(tǒng)程序流程設(shè)計(jì)通過(guò)系統(tǒng)的需求分析與系統(tǒng)設(shè)計(jì),可以得到整個(gè)系統(tǒng)的流程圖,對(duì)于這個(gè)系統(tǒng),可以分為聊天前的準(zhǔn)備工作,與用戶(hù)自己的
41、操作,這樣可以將系統(tǒng)的流程分為三個(gè)部分,一個(gè)是注冊(cè)登錄,一個(gè)是查找添加好友,一個(gè)是好友之間的聊天流程。如圖4.1,4.2,4.3。圖 4.1 注冊(cè)登陸流程圖圖 4.2 查找添加好友流程圖 圖 4.3 聊天流程 對(duì)于注冊(cè)與登錄,如果用戶(hù)注冊(cè)成功,是可以直接跳到主面板的,這樣為用戶(hù)帶來(lái)了極大的方便,如果不成功,那個(gè)用戶(hù)也可以再次注冊(cè)。然后對(duì)于查找好友與聊天,關(guān)鍵的條件就在于是否有在線用戶(hù)或者是在線好友,只有添加了好友,才能和他聊天。4.2 服務(wù)器端功能實(shí)現(xiàn)服務(wù)器端主要由幾個(gè)面板組成,其中JQServer啟動(dòng)服務(wù)器的界面并且添加設(shè)置字體,然后由Server來(lái)加載具體的面板,這些面板采用網(wǎng)格布局的形式
42、,其中包括系統(tǒng)服務(wù)、系統(tǒng)配置、用戶(hù)管理、在線用戶(hù)、日志管理5個(gè)面板,將這5個(gè)面板分裝為不同的類(lèi),因?yàn)樗麄儗?shí)現(xiàn)的是不同的功能。最后實(shí)現(xiàn)效果如圖4.4。圖 4.4 系統(tǒng)服務(wù)面板在ServerPane中,它實(shí)際上也是一個(gè)線程,繼承了Thread,在它的run方法中有一個(gè)死循環(huán),用來(lái)監(jiān)聽(tīng)用戶(hù)的請(qǐng)求,一旦有客戶(hù)向它提出請(qǐng)求,他都會(huì)開(kāi)啟一個(gè)ClientLink來(lái)處理這個(gè)用戶(hù)的所有不同類(lèi)型的請(qǐng)求。主要實(shí)現(xiàn)代碼如下:public void run() /這整個(gè)類(lèi)的run方法,不斷監(jiān)聽(tīng)是否有新用戶(hù)連接while(isServiceRun)try Socket client = ss.accept();/收到了一
43、個(gè)用戶(hù)的socket,為每個(gè)用戶(hù)開(kāi)啟一個(gè)線程new Thread(new ClientLink(client).start(); catch (IOException e) e.printStackTrace(); 這個(gè)方法中的ClientLink,是一個(gè)內(nèi)部類(lèi),他的作用就是處理用戶(hù)不同請(qǐng)求,然后返回用戶(hù)所需要的信息,其中有處理用戶(hù)注冊(cè)的dealRegister方法,有處理用戶(hù)登陸的dealLogin方法,有返回在線用戶(hù)數(shù)的dealFindOnlineUserNum方法,有返回已經(jīng)注冊(cè)用戶(hù)詳細(xì)信息的dealFindOnlineUser方法,當(dāng)然還有響應(yīng)添加好友的dealAddUser方法。這些
44、方法執(zhí)行完之后,服務(wù)器都會(huì)給客戶(hù)端反饋信息,即使操作執(zhí)行失敗。這個(gè)功能主要是由ClientWrite這個(gè)線程完成的。它的實(shí)現(xiàn)如下:private class ClientWrite extends Threadprivate ClientLink clientlink;private JQMessage message;public ClientWrite(ClientLink clientlink,JQMessage message)this.clientlink = clientlink;this.message = message;Overridepublic void run() if
45、(clientlink.oos != null)try clientlink.oos.writeObject(message);clientlink.oos.flush(); catch (IOException e) System.out.println("服務(wù)器將信息發(fā)給客戶(hù)端時(shí)發(fā)生異常!");writeSysLog("向客戶(hù)端"+clientlink.getClientIP()+"發(fā)生消息時(shí)發(fā)生異常!");e.printStackTrace(); 然后,服務(wù)器還有一個(gè)很重要的功能就是管理保存用戶(hù)信息,這也是在需求分析中考慮到了的
46、問(wèn)題,由于本系統(tǒng)采用文件存儲(chǔ)用戶(hù)信息,所以主要是IO流的操作,在當(dāng)前的項(xiàng)目下,建立一個(gè)logs文件夾來(lái)存放用戶(hù)的所有信息。當(dāng)然有對(duì)應(yīng)的類(lèi);來(lái)實(shí)現(xiàn)這個(gè)功能,它就是RegisterDaoFile類(lèi),這個(gè)類(lèi)不僅有寫(xiě)用戶(hù)信息的功能,而且可以查找用戶(hù),更新用戶(hù)和刪除用戶(hù),由于這個(gè)類(lèi)很關(guān)鍵,所有將其主要代碼附屬如下:import java.io.*;import data.*;/定義一個(gè)文件夾,里面每一個(gè).dat文件都是一個(gè)用戶(hù)的相關(guān)信息public class RegisterDaoFile implements DAO<User,Integer> private String path =
47、 "logs"private String suffName = ".dat"/注冊(cè)之后添加一個(gè)用戶(hù)的信息Overridepublic boolean add(User obj) throws Exception File category = new File(path);if(!category.exists()/創(chuàng)建文件夾category.mkdir();File file = new File(path+File.separator+obj.getJqnum()+suffName);if(file.exists()/保證唯一,已經(jīng)注冊(cè)了文件的qq
48、號(hào)就不需要再生成文件了return false;ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(file,false);oos.writeObject(obj);oos.flush();oos.close();oos = null;return true;/根據(jù)QQ號(hào)查找文件中對(duì)應(yīng)的Userpublic User findById(Integer jqnum)/獲取存放用戶(hù)信息的文件File file = new File(path+File.separa
49、tor+jqnum+suffName);if(file.exists()try ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(file);/將用戶(hù)信息從文件讀出來(lái)Object obj = ois.readObject();ois.close();ois = null;if(obj instanceof User)return (User)obj;elsereturn null; catch (Exception e) System.out.println(&qu
50、ot;從文件讀取用戶(hù)信息時(shí)出錯(cuò)!");e.printStackTrace();return null;return null;/更新操作,是先刪除,再添加public boolean update(User user) throws Exceptionif(delete(user)return add(user);elsereturn false;/刪除操作private boolean delete(User user) File file = new File(path+File.separator+user.getJqnum()+suffName);if(file.exists
51、()return file.delete();elsereturn false;4.3 客戶(hù)端功能實(shí)現(xiàn)客戶(hù)端的功能主要在注冊(cè),登陸,查找添加添加好友,還有聊天功能上面,而注冊(cè)與登陸大部分功能處理在服務(wù)器端,所以客戶(hù)端的功能實(shí)現(xiàn)主要集中在主面板MainPane上面,還有聊天面板ChatPane。4.3.1 注冊(cè)和登陸實(shí)現(xiàn)對(duì)于注冊(cè),客戶(hù)端的功能就是收集用戶(hù)輸入的信息,然后向服務(wù)器發(fā)出請(qǐng)求,即將信息封裝到對(duì)象中,然后用輸出流發(fā)給服務(wù)器。它的活動(dòng)圖如圖4.5圖 4.5 注冊(cè)活動(dòng)圖 通過(guò)活動(dòng)圖,可以清楚的分清楚系統(tǒng)的看出服務(wù)器和客戶(hù)交互信息的邊界,以及它們之間交互信息的先后次序,首先是客戶(hù)提交注冊(cè)信息,然后服務(wù)器端處理,在程序的實(shí)現(xiàn)中,這兩個(gè)過(guò)程對(duì)應(yīng)著客戶(hù)端用ObjectOutputStream向服務(wù)器寫(xiě)信息,然后服務(wù)器用ObjectInputStream讀取客戶(hù)端發(fā)來(lái)的信息,然后通過(guò)case語(yǔ)句判斷用戶(hù)是什么請(qǐng)求,然后服務(wù)器再向客戶(hù)端寫(xiě)信息,客戶(hù)端也通過(guò)相同的方式處理服務(wù)器發(fā)來(lái)的消息。客戶(hù)端實(shí)現(xiàn)代碼如下:/構(gòu)造方法public RegNewUser()try client = new Socket(txtServerIP.getText(),Integer.parseInt(tx
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購(gòu)房意向合同
- 手房抵押按揭買(mǎi)賣(mài)合同
- 國(guó)外工程承包合同
- 政工程施工分包合同書(shū)
- 促銷(xiāo)場(chǎng)地租賃合同
- 幼兒園保安聘用合同
- 茶藝師(中級(jí))練習(xí)試題及答案
- 廣告代理服務(wù)居間合同
- 餐飲長(zhǎng)期訂購(gòu)合同范本
- 鏟車(chē)的勞務(wù)合同范本
- 2023年肉牛標(biāo)準(zhǔn)化規(guī)模養(yǎng)殖生產(chǎn)技術(shù)規(guī)范
- 英語(yǔ)國(guó)家概況:Chapter-10-Government(美國(guó)政府)
- 金屬加工基礎(chǔ)知識(shí)考試考核試卷
- 2024年有關(guān)業(yè)主大會(huì)議事規(guī)則(示范文本)
- 專(zhuān)題03二元一次方程(組)中含參數(shù)問(wèn)題壓軸題三種模型全(原卷版)
- 人教版初中數(shù)學(xué)《等腰三角形》-課件-
- 2024年大學(xué)生信息素養(yǎng)大賽(省賽)練習(xí)考試題庫(kù)(含答案)
- 被別人打了和解協(xié)議書(shū)模板
- 2024年全國(guó)(保衛(wèi)管理員安全及理論)知識(shí)考試題庫(kù)與答案
- 基礎(chǔ)模塊2 Unit5 Ancient Civilization單元測(cè)試-2025年中職高考英語(yǔ)一輪復(fù)習(xí)講練測(cè)(高教版2023修訂版·全國(guó)用)
- 2024版父子房屋買(mǎi)賣(mài)合同協(xié)議書(shū)
評(píng)論
0/150
提交評(píng)論