畢業(yè)論文(設計)-大學生宿舍管理系統(tǒng)(聊天室等模塊)設計與實現(xiàn)_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  大學生宿舍管理系統(tǒng)(聊天室等模塊)設計與實現(xiàn)</p><p> 論文作者姓名:</p><p> 申請學位專業(yè):軟件工程</p><p> 申請學位類別:工學學士</p><p> 指導教師姓名(職稱):</p><p> 論文提交日期:2014年05月25日</p><p&g

2、t;  大學生宿舍管理系統(tǒng)(聊天室等模塊)設計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  大學生宿舍管理是高校教育管理中極其重要的一部分,良好的宿舍管理對加強校風校紀建設,創(chuàng)造整潔、寧靜、清新的學習生活環(huán)境,保證教學活動的順利進行有著十分積極的影響。隨著科學技術不斷提高,計算機技術成熟,其強大的功能已為人們深刻認識,使用計算機對高校宿舍

3、信息,宿舍內的學生檔案信息以及水電費、紀律評分等信息進行管理,具有手工操作無法比擬的優(yōu)點。它有著檢索迅速,查找方便,存儲量大,保密性好,成本低等諸多特點。一個優(yōu)秀的宿舍管理系統(tǒng)能夠滿足各種對宿舍的管理需求,給高校學生宿舍管理工作帶來極大的便利。</p><p>  LINUX操作系統(tǒng)沿襲了UNIX的系統(tǒng)架構,有著安全與穩(wěn)定的特點,在這方面非WINDOWS操作系統(tǒng)可比擬,所以將宿舍管理系統(tǒng)的服務器架設在LINUX系

4、統(tǒng)下無疑是最優(yōu)的選擇。另外,LINUX作為自由和開放源碼的計算機操作系統(tǒng),適合大學生和高校管理人員進行學習和使用,制作一個可在LINUX操作系統(tǒng)下運行的圖形界面應用程序能讓用戶在使用管理系統(tǒng)時更加方便。</p><p>  本系統(tǒng)選擇了QT這一跨平臺的C++圖形界面應用程序框架,來開發(fā)宿舍管理系統(tǒng)的客戶端程序,并調用LINUX系統(tǒng)庫實現(xiàn)在LINUX操作系統(tǒng)下的高效運行。</p><p> 

5、 關鍵詞:宿舍管理系統(tǒng);LINUX;數(shù)據(jù)庫;QT </p><p>  College students dormitory management system (Chat rooms and other modules)design and implementation</p><p><b>  Abstract</b></p><p> 

6、 University students’ dormitory management is a very important part of the higher education management, good dormitory management has a positive impact to strengthen ethos and disciplines construction; as well as build t

7、he clean, quiet, fresh study environment and make sure the teaching activities carried out successfully. With the development of the science and technology, computer technology become more and more mature, and its powerf

8、ul features are already well known by most people, using comp</p><p>  LINUX operation system extends the structure of UNIX, its safety and reliability are much advanced than the Windows system. So setting u

9、p the server of dormitory management system on LINUX system is the beast choice. What’s more, as a free and open-source operation system, it is also the optimal one for university students and managers to learn and use.

10、Building a Graphic User Interface (GUI) for the dormitory management system under LINUX can facilitate the user operation.</p><p>  This system adopts a multi-platform C++ GUI application framework-- QT to d

11、evelop the clients’ side of dormitory management system, and calls for the LINUX’s system library to achieve the high efficiency under LINUX.</p><p>  Key words: Dormitory management system ;Linux;Database;Q

12、t</p><p><b>  目 錄</b></p><p><b>  論文總頁數(shù):31頁</b></p><p><b>  1引 言1</b></p><p>  1.1 課題背景1</p><p>  1.2 本課題研究的意義1<

13、;/p><p>  1.3 研究方法2</p><p>  1.4 QT與QT Creator簡介2</p><p>  1.5 Oracle 10g 與 Pro*c簡介2</p><p>  2系統(tǒng)的需求分析3</p><p>  2.1 總體功能分析3</p><p>  2.2 服

14、務器端分析3</p><p>  2.3 客戶端分析4</p><p>  3宿舍管理模塊-服務器的設計與實現(xiàn)5</p><p>  3.1 服務器總體設計5</p><p>  3.1.1 主線程設計6</p><p>  3.1.2 子線程設計7</p><p>  3.2 數(shù)

15、據(jù)庫設計9</p><p>  3.3 賬戶管理功能—服務器端的設計與實現(xiàn)9</p><p>  3.3.1 添加賬戶與刪除賬戶9</p><p>  3.3.2 查看賬戶與修改賬戶10</p><p>  3.4 學生管理功能—服務器端的設計與實現(xiàn)11</p><p>  3.4.1 數(shù)據(jù)結構設計11&l

16、t;/p><p>  3.4.2 添加學生與刪除學生12</p><p>  3.4.3 修改學生13</p><p>  3.4.4 查看學生13</p><p>  3.5 寢室管理功能—服務器端的設計與實現(xiàn)14</p><p>  3.5.1 數(shù)據(jù)結構設計14</p><p>  3

17、.5.2 添加寢室學生15</p><p>  3.5.3 刪除寢室學生16</p><p>  3.5.4 寢室紀律評分17</p><p>  3.5.5 增加寢室與查看寢室17</p><p>  4公共聊天室的設計與實現(xiàn)18</p><p>  4.1 公共聊天室簡介18</p>&

18、lt;p>  4.2 聊天室的總體設計18</p><p>  4.2.1 服務器總體設計19</p><p>  4.2.2 數(shù)據(jù)結構設計19</p><p>  4.2.3 客戶端總體設計19</p><p>  4.2.3 客戶端程序流程圖20</p><p>  4.3 用戶登錄與顯示在線用戶的

19、設計與實現(xiàn)20</p><p>  4.3.1 用戶登錄—客戶端20</p><p>  4.3.2 用戶登錄—服務器21</p><p>  4.3.3 顯示當前在線用戶21</p><p>  4.3.4 動態(tài)修改在線用戶22</p><p>  4.4 文本格式與表情的設計與實現(xiàn)23</p>

20、;<p>  4.4.1 設置文字的字體與顏色23</p><p>  4.4.2 設置聊天表情23</p><p>  4.5 發(fā)送與接收聊天信息的設計與實現(xiàn)24</p><p>  4.5.1 發(fā)送聊天信息24</p><p>  4.5.2 接收聊天信息25</p><p><b&g

21、t;  5系統(tǒng)測試26</b></p><p>  5.1 測試環(huán)境26</p><p>  5.2 測試方式26</p><p>  5.3 測試及結果26</p><p><b>  結 語28</b></p><p><b>  參考文獻29<

22、/b></p><p><b>  致 謝30</b></p><p><b>  聲 明31</b></p><p><b>  引 言</b></p><p><b>  1.1 課題背景</b></p><p

23、>  學生宿舍管理對于一個學校來說是必不可少的組成部分。目前好多學校還停留在宿舍管理人員手工記錄數(shù)據(jù)的最初階段,手工記錄對于規(guī)模小的學校來說勉強還可以接受,但對于學生人數(shù)比較龐大,需要記錄存檔的數(shù)據(jù)比較多的高校來說,人工記錄是相當麻煩的。而且當查找某條記錄時,由于數(shù)據(jù)量龐大,還只能靠人工去逐條查找,這樣不但麻煩還浪費了許多時間,效率也比較低。當今社會是飛速進步的世界,原始的記錄方式已經(jīng)被社會所淘汰,計算機化管理正是適應時代的產(chǎn)物。

24、世界永遠不會是一個平靜的世界,當一種技術不能滿足需求時,就會有新的技術誕生并且取而代之。21世紀,電子科學技術在世界占著主流地位,計算機在各行各業(yè)中的運用已經(jīng)得到普及,自動化的管理越來越廣泛應用于各個領域。我們針對如此,設計了一套學生宿舍管理系統(tǒng)。學生宿舍管理系統(tǒng)采用的是計算機化管理,系統(tǒng)做得盡量人性化,使用者會感到操作方便,需要做的就是將數(shù)據(jù)輸入到系統(tǒng)的數(shù)據(jù)庫中去。由于數(shù)據(jù)庫存儲容量比較大,而且比較穩(wěn)定,適合長時間的保存,也不容易丟失

25、。這無疑是為存儲量比較大的學校提供了一個方便、快捷的操作方式。本系統(tǒng)具有運行快、安全性高、穩(wěn)定性好的優(yōu)點,并且具備錄入、查詢、修改、</p><p>  1.2 本課題研究的意義</p><p>  在學校中,管理是學校運行的重要環(huán)節(jié)。學校應該采取最有效的管理模式來管理好學生,通過對學生的信息采集將學生的信息輸入到數(shù)據(jù)庫中,可以方便地查詢學生的信息,這樣比傳統(tǒng)的手工查找學生檔案方式要方便多

26、了。作為計算機應用的一部分,使用計算機對學校公寓進行管理,有著手工管理無法比擬的優(yōu)勢,例如:使管理工作更為輕松便捷,高效精確;方便管理人員對學生信息的添加、修改、查看等操作;簡化了管理人員的日常事務,例如更新公告、對寢室衛(wèi)生評分等。</p><p>  同時,我們也希望在宿舍管理、宿舍活動方面并不是由學校和宿舍管理人員單方面的參與,而是在宿舍中學習生活的學生也能參與于其中。學校的通知能夠讓每一名學生及時收到,而學

27、生的申請能夠及時得到處理,不同宿舍的學生彼此之間有著較密聯(lián)系,學生和宿舍管理人員對宿舍管理和活動進行討論,給宿舍建設、管理方式提出好的建議。使得學生宿舍有著更好的氛圍,宿舍的管理也更加靈活、體貼。 </p><p><b>  1.3 研究方法</b></p><p>  系統(tǒng)使用C/S結構,使用Oracle 10g數(shù)據(jù)庫來存儲各類信息。由于不希望客戶端能夠直接訪問數(shù)

28、據(jù)庫,將編寫一個服務器程序,并使用Socket通信機制,讓客戶端與服務器進行通信,從而將客戶端對數(shù)據(jù)庫的訪問操作由服務器代為進行,并將獲得的數(shù)據(jù)信息轉發(fā)給客戶端。</p><p>  服務器:使用C語言編寫,無圖形界面。其中聊天室模塊的服務器和宿舍管理模塊的服務器各自獨立,綁定不同的端口,并使用LINUX的多線程方式為不同客戶提供服務。涉及對數(shù)據(jù)庫進行訪問的部分,使用PRO*C編程嵌入SQL語句,實現(xiàn)對數(shù)據(jù)庫的訪

29、問。</p><p>  客戶端:使用QT Creator制作圖形界面,C++語言編寫控制代碼,涉及LINUX系統(tǒng)函數(shù)調用的操作封裝在一個控制類中。其中聊天室程序使用了QT的多線程方式,使得信息顯示和信息發(fā)送能并發(fā)進行。</p><p>  1.4 QT與QT Creator簡介</p><p>  Qt是一個1991年由奇趣科技開發(fā)的跨平臺C++圖形用戶界面應用程

30、序開發(fā)框架。它既可以開發(fā)GUI程式,也可用于開發(fā)非GUI程式,比如控制臺工具和服務器。Qt是面向對象語言,易于擴展,并且允許組件編程。</p><p>  Qt Creator是跨平臺的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收購后推出的一款新的輕量級集成開發(fā)環(huán)境(IDE)。此 IDE 能夠跨平臺運行,支持的系統(tǒng)包括 Linux(32 位及 64 位)、Mac OS X 以及 Windo

31、ws。Qt Creator 的設計目標是使開發(fā)人員能夠利用 Qt 這個應用程序框架更加快速及輕易的完成開發(fā)任務。</p><p>  1.5 Oracle 10g 與 Pro*c簡介</p><p>  Oracle是目前最流行的關系型數(shù)據(jù)庫管理系統(tǒng),被越來越多的用戶在信息系統(tǒng)管理、企業(yè)數(shù)據(jù)處理、Internet、電子商務網(wǎng)站等領域作為應用數(shù)據(jù)的后臺處理系統(tǒng)。此前流行的版本為Oracle9

32、i。Oracle公司在Oracle9i基礎上,推出了代表數(shù)據(jù)庫最新技術的數(shù)據(jù)庫系統(tǒng)Oracle 10g。在Oracle 10g中,第一次提出數(shù)據(jù)自動鏡像存儲、數(shù)據(jù)閃回功能以及功能強大的數(shù)據(jù)導出工具、大文件表空間以及表空間組管理等概念。</p><p>  通過在過程化編程語言中嵌入SQL語句而開發(fā)出的應用程序稱為Pro程序,在通用編程語言中使用的SQL稱為嵌入式SQL。在SQL標準中定義了多種語言的嵌入式SQL,

33、各個廠商對嵌入式SQL的具體實現(xiàn)不同。</p><p>  宿主語言 Pro程序</p><p>  C/C++ Pro*C/C++</p><p>  FORTRAN Pro*FORTRAN</p><p>  PASCAL Pro*PASCAL</p><p><b> 

34、 系統(tǒng)的需求分析</b></p><p>  2.1 總體功能分析</p><p>  LINUX下的大學生宿舍管理系統(tǒng),由兩部分組成:一個是服務器,一個客戶端。其中服務器程序使用C語言編寫,沒有任何圖形界面以求獲得最大的運行效率;而客戶端程序則是由C++語言編寫,使用QT制作圖形界面,便于用戶進行使用。宿舍管理系統(tǒng)的功能結構如圖1所示:</p><p>

35、;<b>  系統(tǒng)功能結構圖</b></p><p>  宿舍管理模塊基本功能說明:</p><p>  學生管理:包括學生信息的增加、刪除、修改、查看及維護功能。</p><p>  寢室管理:包括學生住宿信息的增加、刪除、修改、查看及維護功能 。</p><p>  公告管理:包括公告設置和公告查看功能。&

36、lt;/p><p>  財務管理:每個月交納水費用、電費、物品維修信息的查詢及維護功能。</p><p>  賬戶管理:包括用戶信息的增加、刪除、修改、查看及維護功能。</p><p>  學生申請:包括學生申請內容的添加。</p><p>  公告聊天室模塊基本功能說明:</p><p>  設置昵稱:支持用戶設置聊天昵

37、稱。</p><p>  設置字體與顏色:支持用戶設置聊天內容中文字的字體和顏色。</p><p>  設置表情:支持用戶發(fā)送各種表情圖片。</p><p>  顯示在線用戶:動態(tài)的顯示當前在線用戶信息和在線人數(shù)。</p><p>  2.2 服務器端分析</p><p>  服務器運行于Red Hat Enterpr

38、ise Linux 5操作系統(tǒng)下。考慮到服務器程序的執(zhí)行效率,服務器使用C語言編寫,通過調用Linux的系統(tǒng)庫函數(shù),實現(xiàn)與客戶端的網(wǎng)絡通信,同時使用Pro*c 嵌入SQL語句,訪問數(shù)據(jù)庫,從而將用戶和數(shù)據(jù)信息聯(lián)系起來,并且避免了用戶直接對數(shù)據(jù)進行訪問,使得數(shù)據(jù)的傳輸、保存與分析更加安全。同時由于C語言的高效,加之Red Hat Enterprise Linux 5操作系統(tǒng)的穩(wěn)定和快速,采用以上方法開發(fā)出的服務器程序為用戶服務時,用戶所獲

39、得的體驗,并不會比使用其他客戶端直接訪問數(shù)據(jù)庫的應用程序獲得的體驗有太大的差異。Red Hat Enterprise Linux 5操作系統(tǒng)界面如圖2所示:</p><p>  Red Hat Enterprise Linux 5界面</p><p><b>  2.3 客戶端分析</b></p><p>  客戶端應可運行于支持圖形界面的主流

40、LINUX操作系統(tǒng)上,比如Ubuntu、Fedora、OpenSUSE等,本文中客戶端程序運行于為Fedora13系統(tǒng)下,該操作系統(tǒng)界面如圖3所示:</p><p>  Fedora13操作系統(tǒng)界面</p><p>  客戶端使用QT4的類庫,制作圖形界面。QT做為一個成熟的多平臺C++圖形用戶界面應用程序框架,它可以滿足一個圖形用戶應用程序所需的所有功能。使用其制作的Linux桌面應用程

41、序,擁有同Windows下的桌面應用相媲美的圖形效果。同樣客戶端程序也要調用Linux 的系統(tǒng)庫函數(shù)來實現(xiàn)動態(tài)分配內存、網(wǎng)絡通信等這些功能,使得客戶端在Linux操作系統(tǒng)下有著更高的運行效率。</p><p>  客戶端主要由兩個大的功能模塊組成:宿舍管理模塊與公共聊天室模塊。宿舍管理模塊包含:學生管理、賬戶管理、寢室管理、公告管理、財務管理、學生申請。而公共聊天室模塊支持多人聊天,自定義昵稱,設置字體、顏色、表

42、情和顯示當前在線用戶信息。客戶端界面如圖4所示:</p><p><b>  客戶端程序界面</b></p><p>  宿舍管理模塊-服務器的設計與實現(xiàn)</p><p>  在大學生宿舍管理系統(tǒng)中,宿舍管理模塊無疑是最重要的組成部分,它通過對賬戶、學生、宿舍等信息的操作,實現(xiàn)了宿舍管理系統(tǒng)所需的各個功能。由于服務器程序與數(shù)據(jù)庫運行于同一臺的電

43、腦上,顯然對這些數(shù)據(jù)的獲取與保存由服務器程序來處理是最高效的。同時服務器程序也將對各個數(shù)據(jù)進行簡單的匹配、整合和計算,所以客戶端只需要發(fā)送和接受預先定義好格式的數(shù)據(jù)消息便可以實現(xiàn)對所有數(shù)據(jù)的正確獲取與管理,降低了客戶端與服務器通信中數(shù)據(jù)信息出錯的概率。整個第三章將對宿舍管理模塊的服務器總體設計、數(shù)據(jù)庫設計和各個功能模塊的設計與實現(xiàn)進行詳細的描述。</p><p>  3.1 服務器總體設計</p>

44、<p>  系統(tǒng)采用的是C/S結構,對服務器和客戶端進行了適當?shù)娜蝿辗峙洹7掌鞑⒉恍枰噙^于復雜的操作,主要負責在客戶端與數(shù)據(jù)庫之間進行數(shù)據(jù)的轉接,使得客戶端能及時的獲取到所需要的數(shù)據(jù),同時客戶端發(fā)送給服務器的數(shù)據(jù)也能被及時的存入數(shù)據(jù)庫中。服務器應當穩(wěn)定、并發(fā)與高效率,為了實現(xiàn)這三個目的服務器采用了多線程模式,即服務器程序為每一個客戶創(chuàng)建一個線程進行服務,各個線程之間互不干擾。而主線程負責對各個子線程進行管理。</p

45、><p>  3.1.1 主線程設計</p><p>  主線程主要負責初始化網(wǎng)絡,創(chuàng)建客戶鏈表,接受客戶連接、創(chuàng)建子線程、管理所有線程五個功能。其具體設計如下:</p><p>  1.服務器啟動后,主線程為服務器綁定IP地址與端口,進行初始化網(wǎng)絡操作,如果初始化網(wǎng)絡失敗,則關閉服務器。</p><p>  2.初始化網(wǎng)絡成功后,主線程創(chuàng)建客戶

46、鏈表,并對客戶鏈表進行初始化,然后進入接受用戶連接的循環(huán)中。</p><p>  3.每當有一個用戶連接到服務器,服務器將創(chuàng)建一個子線程為客戶進行服務,線程創(chuàng)建完畢后返回接受用戶連接循環(huán)。</p><p>  4.當服務器進程接受到SIGINT信號(2號信號)時,關閉所有正在與客戶進行通信的套接字,關閉所有子線程,初始化客戶鏈表,關閉服務器進程。</p><p> 

47、 主線程的程序流程如圖5所示:</p><p><b>  主線程程序流程圖</b></p><p>  3.1.2 子線程設計</p><p>  子線程負責為每個申請連接的客戶進行服務,包含了:添加客戶到客戶鏈表,從客戶鏈表刪除客戶,判斷用戶名密碼是否正確,判斷用戶的需求并提供對應的服務,向用戶返回服務是否成功的消息。具體設計如下:<

48、/p><p>  1.子線程創(chuàng)建成功后,進入判斷用戶賬號密碼的循環(huán),接受客戶端傳來的賬號與密碼,若賬號密碼正確,則將客戶信息添加到客戶鏈表上,并退出循環(huán)。否則給客戶端發(fā)送錯誤信息,并返回判斷用戶賬號密碼的循環(huán)。</p><p>  2.添加客戶到客戶鏈表后,進入為用戶服務循環(huán),接收到客戶端的一個服務請求后,判斷其請求類型,并為客戶端進行對應的服務操作。服務完成后給客戶發(fā)送服務是否成功信息,然后

49、返回服務循環(huán)。</p><p>  3.在判斷用戶賬戶密碼期間,如果用戶退出或者斷開連接,將關閉與用戶通信的套接字,并關閉線程。</p><p>  4.在為客戶進行服務期間,如果用戶退出或者斷開連接,用關閉與用戶通信的套接字,并從客戶鏈表中將客戶刪除,然后釋放資源關閉線程。</p><p>  5.由于涉及多個線程對臨界資源(客戶鏈表)的訪問,需要設計線程同步的方

50、式。使用互斥鎖機制,每當一個線程訪問客戶鏈表時,別的線程將不能對客戶鏈表進行訪問。</p><p>  6.由于客戶要求的服務有多種,所以需要一種統(tǒng)一格式的請求服務消息,供服務器判斷用戶的要求。本系統(tǒng)設計了由類型(char type[3])和數(shù)據(jù)(char type[1000])組成的消息結構體,所有服務消息如表1所示:</p><p><b>  系統(tǒng)所有服務消息</b&

51、gt;</p><p>  7.當子線程對用戶的一次服務請求進行了操作后,將向客戶端發(fā)送一條信息,用于表示操作是否成功。</p><p>  子線程流程圖如圖6所示:</p><p><b>  子線程流程圖</b></p><p><b>  3.2 數(shù)據(jù)庫設計</b></p>&l

52、t;p>  LINUX下的大學生宿舍管理系統(tǒng)使用Oracle 10g數(shù)據(jù)庫用來存儲各類數(shù)據(jù)信息,從而使得用戶使用管理系統(tǒng)對數(shù)據(jù)信息的查看、增加、修改、刪除、排序等操作更加便捷與安全。系統(tǒng)的E-R圖如圖7所示:</p><p><b>  系統(tǒng)E-R圖</b></p><p>  3.3 賬戶管理功能—服務器端的設計與實現(xiàn)</p><p>

53、  賬戶管理模塊主要負責對大學生宿舍管理系統(tǒng)的用戶信息進行操作,能實現(xiàn)賬號的增加、刪除、修改、查看。賬戶管理模塊功能結構如圖8所示:</p><p><b>  賬戶管理功能結構圖</b></p><p>  3.3.1 添加賬戶與刪除賬戶</p><p>  添加賬戶功能可以在用戶表中添加一行賬戶信息,由于在用戶表中設置了用戶名字段為唯一鍵和

54、非空約束,所以在添加賬戶時用戶名不能與已經(jīng)存在的賬戶的用戶名相同。另外由于設置了用戶ID為用戶表的主鍵,所以每添加一個用戶需要為該用戶自動生成一個用戶表中不存在的用戶ID。</p><p>  添加賬戶程序流程如圖9所示:</p><p><b>  添加賬戶程序流程圖</b></p><p>  設置新添加賬戶的用戶ID值的方法:獲取用戶表中

55、用戶ID的最大值,將其進行加1操作后,賦值給新添加賬戶的用戶ID。</p><p>  設置新添加賬戶用戶ID操作的Pro*c語句: </p><p>  exec sql select max(userid)+1 into :ora_user2.uid from sm_user; </p><p>  刪除賬戶功能可以從用戶表中刪除一行對應的用戶信息。和添加用戶相

56、似,刪除用戶同樣需要先判斷要刪除的用戶是否存在。如果不存在,則向客戶端發(fā)送用戶不存在的信息,如果存在便從用戶表中刪除此用戶。</p><p>  刪除賬戶Pro*c語句:</p><p>  exec sql delete from sm_user where uname=:ora_user2.name;</p><p>  3.3.2 查看賬戶與修改賬戶</

57、p><p>  查看賬戶功能可以查看用戶表中所有的用戶信息,當服務器接收到客戶端的查看賬戶請求后,便從用戶表中讀取所有的用戶信息,并統(tǒng)計出用戶的個數(shù)。然后將所有獲取的用戶信息一條一條的發(fā)送給客戶端。</p><p>  查看賬戶Pro*c語句:</p><p>  exec sql declare user_cursor cursor for select userid

58、, uname, password, pemisson to_char(register_time,’yyyy-mm-dd’) from sm_user;</p><p>  修改賬戶功能可以修改用戶表中的一行用戶的密碼與權限。修改賬戶,同樣需要預先判斷所修改的用戶是否存在,在進行對應的操作。修改賬戶程序流程如圖10所示:</p><p><b>  修改賬戶流程圖</b&

59、gt;</p><p>  修改賬戶Pro*c語句:</p><p>  exec sql update sm_user set password=:ora_user2.passwd,pemisson =:ora_user2.pemisson where uname=:ora_user2.name;</p><p>  3.4 學生管理功能—服務器端的設計與實

60、現(xiàn)</p><p>  學生管理模塊是宿舍管理系統(tǒng)的重要組成部分,它主要是負責對學生數(shù)據(jù)進行管理,實現(xiàn)對某一棟宿舍樓的學生進行增加、刪除、修改和查看操作。</p><p>  學生管理模塊功能結構如圖11所示:</p><p>  學生管理模塊功能結構圖</p><p>  3.4.1 數(shù)據(jù)結構設計</p><p> 

61、 根據(jù)學生表設計了結構體oracle_Student,用于保存學生信息。結構體的成員變量說明如表2所示:</p><p>  oracle_Student結構體成員變量說明</p><p>  3.4.2 添加學生與刪除學生</p><p>  添加學生功能可以在學生表中增加一行學生信息,由于學生表中設置了學號為主鍵,所以添加一行學生信息時其學號不能為表中已存在的學

62、號。故在添加學生要預先檢查該學號的學生信息是否已經(jīng)存在于學生表中。</p><p>  添加學生方法:首先接受客戶端傳入待添加學生信息,判斷其學號是否與學生表中某一個學生的學號相同。如果相同,向客戶端發(fā)送學生已存在信息并中止后續(xù)操作;否則將學生信息添加入學生表。</p><p>  判斷該學號學生是否存在于學生表關鍵代碼:</p><p>  exec sql se

63、lect sid into :studentCount from sm_student where sid=:ora_stu2.SID; //查看用戶表中是否存在該學生</p><p>  if(Count) {//如果存在</p><p>  exec sql commit work release; //關閉對數(shù)據(jù)的訪問</p><p>  return 1

64、; //返回1</p><p><b>  }</b></p><p>  else{//如果不存在</p><p>  exec sql commit work release; //關閉對數(shù)據(jù)庫的訪問</p><p>  return 0; //返回0</p><p><b&

65、gt;  }</b></p><p>  刪除學生功能可以從學生表中刪除一行學生信息,刪除學生同樣預先判斷學生是否存在于學生表中在做后續(xù)操作。由于同刪除賬戶類似,對刪除學生流程不再做贅述。</p><p>  3.4.3 修改學生</p><p>  修改學生功能可以實現(xiàn)修改學生表中的某個學生信息,在修改某個學生之前需要判斷該學生是否再找與學生表中。由于

66、一行學生信息包含了大量信息內容,對一行學生信息每個字段進行修改顯得比較麻煩,所以對修改學生信息功能采用了先刪除再添加的方式,即刪除當前學生然后將新的學生信息插入學生表。修改學生程序流程如圖12所示:</p><p><b>  修改學生程序流程圖</b></p><p>  3.4.4 查看學生</p><p>  查看學生功能可以查看某一棟宿

67、舍樓的所有學生信息,當服務器接收到客戶端的查看學生請求消息后,可以根據(jù)請求信息中的數(shù)據(jù)獲取宿舍樓棟號,然后根據(jù)棟號從學生表中查找出所有該棟宿舍樓的學生信息并統(tǒng)計出學生總數(shù)。然后將學生總數(shù)和獲取到的學生信息發(fā)送給客戶端。</p><p>  一次查看學生操作服務器運行情況如圖13所示:</p><p>  查看學生操作服務器運行圖</p><p>  3.5 寢室管理

68、功能—服務器端的設計與實現(xiàn)</p><p>  寢室管理功能是整個宿舍管理模塊中最為重要的部分,可以說宿舍管理模塊的主要目的就是實現(xiàn)對寢室的管理。通過寢室管理功能,用戶可以實現(xiàn)增添寢室,查看寢室的學生信息,為寢室添加學生等必要的對寢室進行管理的行為。寢室管理模塊的功能結構如圖14所示:</p><p>  寢室管理模塊功能結構圖</p><p>  3.5.1 數(shù)據(jù)

69、結構設計</p><p>  根據(jù)寢室表設計了結構體oracle_Room和oracle_Score,用于保存寢室信息和寢室紀律評分信息,結構體的成員變量說明如表3和表4所示:</p><p>  oracle_Room結構體成員變量說明</p><p>  oracle_Score結構體成員變量說明</p><p>  3.5.2 添加寢室

70、學生</p><p>  添加寢室學生功能可以為一個沒有滿員的宿舍增加尚未入住寢室的學生,它還包含了兩個子功能:查看有空位的寢室和未入住寢室的學生。</p><p>  由于寢室表中有寢室容量字段和寢室人數(shù)字段,所以判斷一個寢室是否有空位只需要判斷寢室容量減去寢室人數(shù)是否大于0,如果大于0就說明該寢室尚未滿員。而學生表中有寢室號字段,如果一個學生的寢室號為0則說明該學生沒有入住寢室。依照以

71、上兩種方法可以比較方便的實現(xiàn)查看有空位的寢室和未入住寢室的學生的兩個功能。</p><p>  查看有空位的寢室流程:從用客戶端發(fā)送來的請求消息中獲取需要查詢的宿舍樓棟號,根據(jù)棟號從寢室表中獲取所有尚未滿員的寢室信息并計算出寢室的數(shù)量。然后將寢室的數(shù)量和排好序的寢室信息發(fā)送給客戶端。</p><p>  查看有空位的寢室Pro*c語句:</p><p>  exec

72、 sql declare room_cursor cursor for select * from sm_room where buildingid=:ora_room2.buildingID and roomcapacity-roomman>0 order by roomID;</p><p>  查看未入住寢室的學生流程:從用客戶端發(fā)送來的請求消息中獲取需要查詢的宿舍樓棟號,根據(jù)棟號從學生表中獲取所有寢

73、室號為0的學生信息并計算出學生的數(shù)量。然后將學生數(shù)量和排好序的學生信息發(fā)送給客戶端。</p><p>  查看未入住寢室學生的Pro*c語句:</p><p>  exec sql declare stu_cursor cursor for select * from sm_Student where Sbuildingid=:ora_stu2.SbuildingID and SroomI

74、D=0 order by sid;</p><p>  當獲取了有空位的寢室和未入住寢室的學生信息后,便可以進行為寢室添加學生的操作了,需要修改學生的宿舍號和宿舍的人數(shù)。為寢室添加學生程序流程如圖15所示:</p><p>  為寢室添加學生程序流程圖</p><p>  3.5.3 刪除寢室學生</p><p>  刪除寢室學生功能可以為一

75、個有學生入住的宿舍刪除寢室內的學生,它包含了兩個子功能:查看有人入住的寢室和查看某寢室內的學生。 </p><p>  查看有人入住的寢室方法:從客戶端發(fā)送來的請求消息中獲取需要查詢的宿舍樓棟號,根據(jù)棟號從寢室表中獲取所有寢室人數(shù)大于0的寢室信息并計算出有人入住寢室的總數(shù)。然后把寢室數(shù)量和排好序的寢室信息發(fā)送給客戶端。</p><p>  查看有人入住寢室的Pro*c語句:</p&g

76、t;<p>  exec sql declare room_cursor cursor for select * from sm_room where buildingid=:ora_room2.buildingID and roomman>0 order by roomID;</p><p>  實現(xiàn)查看某寢室的學生方法:從用客戶端發(fā)送來的請求消息中獲取需要查詢的宿舍樓棟號與寢室號,然后在學

77、生表中查找出所有棟號和寢室號與之相同的學生信息并計算出學生的數(shù)量。然后把數(shù)量和排好序的學生信息發(fā)送給客戶端。 </p><p>  查看未入住寢室學生的Pro*c語句:</p><p>  exec sql declare stu_cursor cursor for select * from sm_Student where Sbuildingid=:ora_stu2.Sbuilding

78、ID and SroomID=:ora_stu2.SroomID order by sid;</p><p>  當獲取了有人入住的寢室的學生信息后,就可以進行為寢室刪除已入住的學生的操作了,同樣需要修改學生的宿舍號和宿舍的人數(shù)。為寢室刪除學生的程序流程如圖16所示:</p><p>  為寢室刪除學生程序流程圖</p><p>  3.5.4 寢室紀律評分<

79、/p><p>  紀律評分功能可以實現(xiàn)對一棟的所有宿舍進行紀律管理,它由添加寢室評分和查看寢室評分兩部分組成。</p><p>  添加寢室評分可以為一個宿舍增加一條評分信息,同時也會自動記錄添加評分的時間。實現(xiàn)添加寢室評分的方法:從客戶端發(fā)送來的請求消息中獲取某個寢室的評分信息,然后生成時間日期將評分信息插入紀律評分表。</p><p>  查看寢室評分功能可以實現(xiàn)對

80、某一宿舍樓的某一個月的所有寢室評分信息進行查詢。實現(xiàn)查看寢室評分的方法:從客戶端發(fā)送來的請求消息中獲取宿舍樓棟號和年月信息,然后從評分表中查找出該宿舍樓該年月的所有評分信息并統(tǒng)計出條數(shù)。然后將數(shù)量和所有評分信息發(fā)送給客戶端。增加評分與查看評分服務器運行情況如圖17所示:</p><p>  增加和查看寢室評分圖</p><p>  3.5.5 增加寢室與查看寢室</p>&l

81、t;p>  增加寢室和查看寢室功能可以實現(xiàn)對寢室的增添和對某一棟宿舍樓所有寢室信息進行查詢。由于對寢室的增添與查看和賬戶管理、學生管理中的增添查看功能極其相似,對其設計與流程不做贅述。</p><p>  公共聊天室的設計與實現(xiàn)</p><p>  在大學生宿舍管理系統(tǒng)中,公共聊天室是重要的組成部分,它支持多個用戶同時進行實時的文字聊天。與宿舍管理模塊相似,公共聊天室同樣由服務器和客

82、戶端兩部分組成,服務器主要負責將每個用戶發(fā)送的聊天信息轉發(fā)給在線的其他用戶,同時對進入聊天室的用戶進行管理;客戶端負責與用戶進行交互,獲取用戶的輸入信息并將其發(fā)送至服務器,同時將從服務器接收到的必要信息以圖形方式向用戶展示。</p><p>  4.1 公共聊天室簡介</p><p>  本聊天室支持發(fā)送聊天信息,設置顏色和字體,發(fā)送表情,顯示當前在線用戶等諸多功能。本章將對這些功能的設計

83、和實現(xiàn)做詳細的描述,并對這些功能的具體效果進行演示。聊天室界面如圖18所示:</p><p><b>  聊天室界面圖</b></p><p>  4.2 聊天室的總體設計</p><p>  公共聊天室同樣采取了C/S結構,服務器和客戶端各自完成不同的任務,通過網(wǎng)絡通信進行聯(lián)系。服務器需要為客戶端提供高效、穩(wěn)定的服務,客戶端需要給用戶提供友好

84、、方便的界面。</p><p>  4.2.1 服務器總體設計</p><p>  服務器程序由C語言編寫,無圖形界面以求高效率,通過調用LINUX的系統(tǒng)庫函數(shù)實現(xiàn)文件I/O和網(wǎng)絡通信。采用多線程模型,即每當有一個用戶連接到服務器后,服務器主線程將創(chuàng)建一個子線程為該用戶服務。當用戶發(fā)出退出請求或者斷開連接后,將關閉子線程并釋放相應的資源。服務器維護了一個客戶鏈表用于保存和管理用戶信息,各個

85、線程對客戶鏈表的訪問采用了互斥鎖機制,即當一個線程正在對客戶鏈表進行訪問時,別的線程無法訪問鏈表。</p><p>  聊天室服務器程序的主線程程序流程與宿舍管理服務器主線程程序流程完全相同,而子線程也大體一樣,只是不需要核對用戶名密碼信息,同時在往用戶鏈表添加刪除用戶的同時會向客戶端發(fā)送信息以提示客戶端更新在線用戶信息。所以對服務器程序流程不在做詳細的描述。</p><p>  4.2.

86、2 數(shù)據(jù)結構設計</p><p>  根據(jù)聊天室需求設計了pthtread_LinkedList鏈表,供服務器用于保存所有聊天室用戶信息,結構體的成員變量和函數(shù)說明如表5和表6所示:</p><p>  PthreadNode節(jié)點結構體成員變量說明</p><p><b>  鏈表函數(shù)說明 </b></p><p>  

87、4.2.3 客戶端總體設計</p><p>  客戶端由C++語言編寫,使用QT的圖形庫來完成圖形界面,同時調用LINUX系統(tǒng)庫函數(shù)完成網(wǎng)絡通信等功能??蛻舳说墓δ艿膶崿F(xiàn)主要依靠以下兩個工作:與服務器通信工作和與用戶交互工作。由于客戶端需要在接收用戶輸入的同時,不斷從服務器接收數(shù)據(jù)并反饋到圖形界面上,所以需要創(chuàng)建一個子線程來專門完成此任務。當客戶端與服務器斷開連接后,客戶端需向用戶提示斷開連接信息,并做相應的操作

88、(釋放資源、關閉程序等)。</p><p>  4.2.3 客戶端程序流程圖</p><p>  聊天室客戶端程序流程如圖19所示:</p><p>  聊天室客戶端程序流程圖</p><p>  4.3 用戶登錄與顯示在線用戶的設計與實現(xiàn)</p><p>  4.3.1 用戶登錄—客戶端</p><

89、;p>  用戶登錄功能負責在客戶端啟動后,生成用戶登錄界面,供用戶設置聊天室昵稱并連接到服務器。用戶登錄界面如圖20所示:</p><p><b>  用戶登錄界面圖</b></p><p>  用戶登錄界面會要求用戶輸入自己的聊天室昵稱,并會檢查用戶輸入昵稱是否符合要求,如果不符合會彈出錯誤信息并讓用戶重新輸入。當用戶設置完昵稱后,客戶端將會嘗試連接到服務器,

90、如果連接失敗將彈出錯信息并關閉程序,成功連接到后會關閉登錄界面,生成聊天室界面。</p><p>  4.3.2 用戶登錄—服務器</p><p>  服務器會在客戶端連接到服務器后創(chuàng)建一個子線程與客戶端進行通信,并在用戶鏈表的尾部插入新登錄的用戶信息。然后遍歷用戶鏈表,向用戶鏈表中的每一個用戶發(fā)送新用戶登錄消息,提醒客戶端更新在線用戶信息。</p><p>  4

91、.3.3 顯示當前在線用戶</p><p>  用戶設置完昵稱并進入聊天室后,在線用戶界面會顯示此時聊天室中的所有用戶信息和用戶人數(shù)。顯示在線用戶界面如圖21所示:</p><p><b>  顯示在線用戶界面圖</b></p><p>  當客戶端連接到服務器,服務子線程將新用戶信息添加到用戶鏈表后,會對用戶鏈表進行一次遍歷,然后將鏈表中所有

92、用戶的信息一條一條的發(fā)送給客戶端??蛻舳嗣拷邮艿揭粭l信息便會往在線用戶界面中添加一個用戶,并修改當前的在線人數(shù)。在線用戶界面中添加一個用戶關鍵代碼如下所示:</p><p>  void ChatRoomClient::addUserItem(int i) //添加用戶</p><p>  char imagePath[50]; //定義文件路徑</p><p> 

93、 sprintf(imagePath,":/HeadImage/head%d.png",i%15+1); //計算出頭像的文件路徑</p><p>  QListWidgetItem* userItem = new QListWidgetItem(QIcon(imagePath),trUtf8(</p><p>  contral.userNode[i].qqName)

94、+tr("(")+tr(contral.userNode[i].name)+tr(")"));</p><p>  ui->UserlistWidget->addItem(userItem); //在在線用戶界面中添加一個用戶</p><p>  char userNumber[4] = {0};</p><p>

95、  sprintf(userNumber,"%d 人",i+1); //拼接出在線人數(shù)</p><p>  ui->onlineNumber->setText(trUtf8(userNumber)); //修改在線人數(shù)</p><p>  4.3.4 動態(tài)修改在線用戶</p><p>  當有用戶進入或者退出聊天室時,在線用戶界面會動

96、態(tài)的修改在線用戶信息和在線用戶人數(shù)。</p><p>  實現(xiàn)動態(tài)添加在線用戶的方法:一個新的用戶進入聊天室并被添加到用戶鏈表后,服務器立即向鏈表中的所有用戶發(fā)送新用戶登入的消息和新用戶的必要數(shù)據(jù)信息;客戶端接收到新用戶登入消息后,加新登錄的用戶信息添加到在線用戶界面并修改在線人數(shù)。</p><p>  實現(xiàn)動態(tài)刪除在線用戶的方法:一個在線用戶退出聊天室后,服務器從用戶鏈表中刪除此用戶信息

97、并關閉與此用戶的網(wǎng)絡通信,然后向所有鏈表中的所有用戶發(fā)出用戶退出消息,最后為此用戶服務的子線程;客戶端接收到有用戶退出消息后,從在線用戶界面刪除退出的用戶信息并修改在線人數(shù)。動態(tài)修改在線用戶程序流程如圖22所示:</p><p>  動態(tài)修改在線用戶程序流程圖</p><p>  4.4 文本格式與表情的設計與實現(xiàn)</p><p>  4.4.1 設置文字的字體與顏

98、色</p><p>  為了給用戶帶來良好的聊天體驗,聊天室客戶端支持用戶自定義文字字體和文字顏色功能。</p><p>  設置字體與文字顏色的方法:設置字體與文字顏色的方法比較簡單,主要是利用了QFontDialog和QColorDialog兩個類供用戶選擇操作系統(tǒng)支持的字體和文字顏色。獲取到用戶對文字的設置,將會把設置好的字體與顏色信息分別存入一個QFont類對象和一個QColor類

99、對象,然后便可以使用這兩個對象設置輸入聊天信息文本編輯框的文字樣式了。設置文字的字體的關鍵代碼下所示:</p><p>  void ChatRoomClient::on_fontButton_clicked() //設置文字字體格式</p><p><b>  {</b></p><p>  ui->faceButton->set

100、Checked(false); //設置表情按鈕為未按下</p><p><b>  bool ok;</b></p><p>  QFont font = QFontDialog::getFont(</p><p>  &ok, QFont("Helvetica [Cronyx]", 10), this);//獲取

101、字體</p><p>  if(ok) //如果獲取成功</p><p>  ui->inputTextEdit->setFont(font);</p><p><b>  }</b></p><p>  4.4.2 設置聊天表情</p><p>  在線上聊天中,用戶常常想用把自己心

102、情比如高興、傷心、緊張等信息展示給對方。但是使用文字來表達這些信息的時候,往往顯得索然無味,即使是有些良好文學功底的用戶,對于一些比較特殊的心理活動也很難用文字進行描述。而聊天表情就能很好的滿足反映用戶心理活動的功能,它由一些簡單、有趣的圖片組成。本聊天室客戶端為提供40個聊天表情供用戶使用,如圖23所示:</p><p><b>  聊天表情圖</b></p><p&g

103、t;  設置聊天表情的方法:每一個聊天表情實際上為一張png格式的圖片,為了讓用戶能使用這些圖片,先要預先將圖片作為資源預先加載到文本編輯框的資源庫中,然后利用QListWidget類,將這些表情以圖標的形式供用戶選擇。當用戶選擇了某個表情后,便可以獲取到用戶選擇的圖標的索引,然后計算出表情圖片的資源路徑,然后將表情圖片顯示到文本編輯框的當前光標位置后。設置聊天表情程序流程如圖24所示:</p><p>  設置

104、聊天表情程序流程圖</p><p>  4.5 發(fā)送與接收聊天信息的設計與實現(xiàn)</p><p>  發(fā)送與接收聊天信息功能是聊天室程序中最重要的部分,無論是顯示在線用戶信息還是設置聊天內容的樣式都只是為了給用戶帶來一些視覺上的享受。而要實現(xiàn)多個用戶的實時交流,對聊天信息的發(fā)送與接收才是真正的核心。</p><p>  4.5.1 發(fā)送聊天信息</p>

105、<p>  發(fā)送消息功能由兩部分組成:客戶端將用戶的聊天內容發(fā)送到客戶端和服務器將受到的信息轉發(fā)給所有在線用戶。</p><p>  發(fā)送信息的實現(xiàn)方法:當用戶點擊了發(fā)送按鈕后將觸發(fā)發(fā)送信息槽函數(shù),由于用戶的聊天內容中包含了圖片和不同的文字格式,而樸素文本(plainText)并不能滿足對這些信息的存儲,所以需要將其轉換成html格式然后在發(fā)送給服務器。服務器接收到客戶端發(fā)來的信息后,把信息轉發(fā)給用戶鏈

106、表上的所有用戶。發(fā)送聊天信息程序流程如圖25所示:</p><p>  發(fā)送聊天信息程序流圖</p><p>  4.5.2 接收聊天信息</p><p>  接收聊天信息功能可以讓客戶端從服務器接收其他的用戶發(fā)送的聊天信息,并在文本編輯框上按照一定格式顯示。聊天信息顯示格式如圖26所示:</p><p><b>  消息顯示框圖&

107、lt;/b></p><p>  接收聊天信息并顯示的實現(xiàn)方法:客戶從服務器接收到一條聊天信息中已經(jīng)包含了用戶信息、發(fā)送時間和聊天內容信息,所以只需要先將用戶信息和發(fā)送時間拼接成一個字符串,然后設定顏色為藍色添加到消息顯示框。然后在將html格式的聊天信息讀出,再次做一次添加,就可以完成一次對聊天信息的接收顯示任務。為了使聊天信息一行接著一行添加到消息顯示框中,需要使用控件庫中的QTextEditWidge

108、t類的append(Qstring)函數(shù)來做添加操作。實現(xiàn)接收聊天信息功能的關鍵代碼如下所示:</p><p>  else if(strcmp(msg.type,”TM”) == 0) //判斷消息為聊天消息</p><p><b>  {</b></p><p>  QString info = trUtf8(((textMSG*)(msg

109、.data))->info); //獲取用戶信息和發(fā)送時間</p><p>  QString htmlData = trUtf8(((textMSG*)(msg.data))->htmldata);//獲取聊天內容</p><p>  emit appendTextMessage(info); //為顯示用戶信息和時間發(fā)送添加信號</p><p>  

110、emit appendTextMessage(htmlData); //顯示聊天內容信息發(fā)送添加信號</p><p><b>  }</b></p><p><b>  系統(tǒng)測試</b></p><p><b>  5.1 測試環(huán)境</b></p><p>  服務器:操作系統(tǒng)

111、Red Hat Enterprise Linux 5,內存1G或以上</p><p>  客戶端:操作系統(tǒng)Fedora13,內存512M或以上</p><p><b>  5.2 測試方式</b></p><p>  軟件測試的方法主要分為白盒測試和黑盒測試。白盒測試是通過分析程序內部的邏輯與執(zhí)行路線,設計測試用例進行測試的方法,它又稱為結構化

112、測試或路徑測試,通常使用于相對較小的程序。黑盒測試是把程序或系統(tǒng)看成一個黑盒子,完全不考慮其內部結構和處理過程,主要是測試各個程序或功能模塊之間的接口,檢查系統(tǒng)功能是否能按照設計書的規(guī)定正常執(zhí)行,是否能接收正確的輸入數(shù)據(jù)產(chǎn)生正確的輸出結果。</p><p><b>  5.3 測試及結果</b></p><p>  本系統(tǒng)的測試采用了黑盒測試的方式,測試人員非系統(tǒng)開發(fā)

113、人員以求測試結果更加具有實際意義。本次測試主要是測試聊天室功能模塊,其測試用例及其結果如表7所示:</p><p>  聊天室功能模塊測試結果</p><p><b>  結 語</b></p><p>  經(jīng)過5個月的努力,通過艱苦學習、研究、思考和工作,終于完成了“學生宿舍管理系統(tǒng)”這一系統(tǒng)的構建,達到了畢業(yè)設計的預期目標,也學到了相

溫馨提示

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

評論

0/150

提交評論