已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
北京科技大學(xué)本科生專業(yè)實(shí)習(xí)報告目錄引言11實(shí)習(xí)單位與工作內(nèi)容21.1實(shí)習(xí)單位概況21.1.1公司理念21.1.2公司產(chǎn)品21.2實(shí)習(xí)工作31.2.1承擔(dān)項(xiàng)目31.2.2工作任務(wù)31.2.3工作意義32實(shí)習(xí)工作內(nèi)容和過程42.1工作內(nèi)容42.1.1 SSH框架的認(rèn)識42.1.2 JavaScript學(xué)習(xí)42.1.3 Qt應(yīng)用程序的開發(fā)52.2工作過程53局域網(wǎng)聊天軟件程序開發(fā)133.1開發(fā)技術(shù)133.1.1關(guān)鍵技術(shù)與理論133.1.2開發(fā)工具143.2可行性分析153.2.1業(yè)務(wù)可行性153.2.2 技術(shù)可行性153.2.3 操作可行性153.3 需求分析163.3.1 運(yùn)行環(huán)境163.3.2 功能需求163.3.3性能需求193.3.4界面需求193.4 概要設(shè)計203.4.1總體設(shè)計203.4.2接口設(shè)計213.4.3系統(tǒng)出錯設(shè)計223.5 詳細(xì)設(shè)計223.5.1系統(tǒng)類設(shè)計223.5.2模塊設(shè)計283.5.3界面設(shè)計353.6 系統(tǒng)測試373.6.1測試環(huán)境373.6.2 系統(tǒng)測試基本原則373.6.3 軟件測試方法383.6.4 系統(tǒng)測試用例383.6.5 測試結(jié)論394實(shí)習(xí)總結(jié)40結(jié) 束 語42參 考 文 獻(xiàn)43附 錄44- 2 -北京科技大學(xué)本科生專業(yè)實(shí)習(xí)報告引言實(shí)習(xí)是每一個大學(xué)生必須擁有的一段經(jīng)歷,它使我們在實(shí)踐中了解社會、在實(shí)踐中鞏固知識;實(shí)習(xí)又是對每一位大學(xué)生專業(yè)知識的一種檢驗(yàn)。作為一名即將進(jìn)入大四的學(xué)生,生產(chǎn)實(shí)習(xí)是一門主要實(shí)踐性課程。是我們將理論知識同生產(chǎn)實(shí)踐相結(jié)合的有效途徑,是增強(qiáng)我們勞動觀點(diǎn)、工程觀點(diǎn)和建設(shè)有中國特色社會主義事業(yè)的責(zé)任心和使命感的過程。通過生產(chǎn)實(shí)習(xí),可以使我們學(xué)習(xí)和了解市場經(jīng)濟(jì)下軟件公司實(shí)際開發(fā)軟件的流程和主流設(shè)計方法、思想和模型,培養(yǎng)學(xué)生樹立理論聯(lián)系實(shí)際的工作作風(fēng),以及生產(chǎn)現(xiàn)場中將科學(xué)的理論知識加以驗(yàn)證、深化、鞏固和充實(shí)。并培養(yǎng)我們進(jìn)行調(diào)查、研究、分析和解決工程實(shí)際問題的能力,為后繼專業(yè)課的學(xué)習(xí)、課程設(shè)計和畢業(yè)設(shè)計打下堅實(shí)的基礎(chǔ)。對于一名即將踏入社會邁向工作崗位的大四學(xué)生來說,熟悉了公司開發(fā)軟件的流程和方法、認(rèn)識自己所學(xué)知識體系的不足,通過生產(chǎn)實(shí)習(xí)來認(rèn)識到自己平時學(xué)習(xí)的漏洞通過生產(chǎn)實(shí)習(xí),可以拓寬我們的知識面,增加感性認(rèn)識,把所學(xué)知識條理化系統(tǒng)化,學(xué)到從書本學(xué)不到的專業(yè)知識,從而對自己的知識體系進(jìn)行完善,學(xué)習(xí)更多真正在工程實(shí)際中應(yīng)用廣泛的知識技能,為今后的學(xué)習(xí)和將從事的技術(shù)工作打下堅實(shí)的基礎(chǔ)。1實(shí)習(xí)單位與工作內(nèi)容1.1實(shí)習(xí)單位概況北京清元優(yōu)軟科技有限公司是北京市海淀區(qū)科技園內(nèi)的高新技術(shù)企業(yè)、軟件企業(yè),位于北京市海淀區(qū)上地東路1號盈創(chuàng)動力大廈E座302,是清華大學(xué)計算機(jī)與信息管理中心數(shù)字校園軟件研發(fā)和推廣的唯一合作伙伴。公司專注于完成數(shù)字校園計劃、大學(xué)生資源計劃(URP,University Resource Planning)系統(tǒng)的建設(shè)、運(yùn)行維護(hù)和用戶服務(wù)的業(yè)務(wù)需求,面向國內(nèi)高校提供數(shù)字校園解決方案和咨詢服務(wù)、提供數(shù)字校園系列應(yīng)用軟件的開發(fā)服務(wù)、提供數(shù)字校園軟件的集成服務(wù)。1.1.1公司理念清元優(yōu)軟由一支成長于教育信息化建設(shè)、熱愛教育信息化事業(yè)的百余人隊伍組成。是一個有理想、有追求、勇于開拓進(jìn)取、朝氣蓬勃又富于理性的團(tuán)隊。制定發(fā)展戰(zhàn)略的核心領(lǐng)導(dǎo)層以及首席設(shè)計師,多年來一直從事數(shù)字校園與URP的理論研究和建設(shè)實(shí)踐,承擔(dān)了多所高校數(shù)字校園軟件系統(tǒng)的設(shè)計研發(fā),在業(yè)內(nèi)享有盛譽(yù)。公司產(chǎn)品服務(wù)于全國200多所高校,在創(chuàng)造數(shù)字校園、構(gòu)建信息化校園方面發(fā)揮了重大的作用,公司貫徹“求實(shí)創(chuàng)新、追求卓越、誠信協(xié)作”的理念,以推動高校信息化建設(shè)發(fā)展為己任,為客戶提供最優(yōu)的數(shù)字校園解決方案與全方位的技術(shù)支持服務(wù),成為提升高校管理水平和工作效率的得力助手。1.1.2公司產(chǎn)品公司的主要產(chǎn)品包括:URP高校信息集成管理平臺(信息標(biāo)準(zhǔn)、信息門戶系統(tǒng)、數(shù)據(jù)交換平臺、統(tǒng)一身份認(rèn)證平臺、綜合信息服務(wù)系統(tǒng)(決策分析)、URP高校教務(wù)管理系統(tǒng)、URP高校研究生教務(wù)管理系統(tǒng)、URP高校協(xié)同辦公系統(tǒng)、URP高校學(xué)生管理系統(tǒng)(URP高校招生管理系統(tǒng)、URP高校數(shù)字迎新系統(tǒng)、URP高校學(xué)工管理系統(tǒng)、URP高校就業(yè)管理系統(tǒng)、URP高校畢業(yè)離校系統(tǒng)、URP高校校友管理系統(tǒng))、URP高??蒲泄芾硐到y(tǒng)、URP高校網(wǎng)絡(luò)教學(xué)系統(tǒng)、URP高校人事管理系統(tǒng)等。與國內(nèi)外諸多軟硬件廠商,如HP、Sun、Oracle、清華在線、致遠(yuǎn)協(xié)創(chuàng)、商郵等公司都建立了良好的合作伙伴關(guān)系,共同為高校提供優(yōu)秀的集成服務(wù)。1.2實(shí)習(xí)工作1.2.1承擔(dān)項(xiàng)目在為期五周的實(shí)習(xí)時間中,我的主要工作室負(fù)責(zé)公司7月20號即將上線的中國石油大學(xué)留學(xué)生管理系統(tǒng)中部分功能模塊的實(shí)現(xiàn)以及局域網(wǎng)聊天室軟件的開發(fā)工作。1.2.2工作任務(wù)實(shí)習(xí)中承擔(dān)的是中國石油大學(xué)留學(xué)生管理系統(tǒng)前端頁面功能的開發(fā)編寫工作,主要負(fù)責(zé)的是系統(tǒng)參數(shù)設(shè)置模塊功能的實(shí)現(xiàn),目的是使用戶參數(shù)模塊的性能更加完善,操作更加簡單明了,實(shí)現(xiàn)界面的人性化設(shè)計,人機(jī)交互性力求使用戶滿意。在完成了中國石油大學(xué)留學(xué)生管理系統(tǒng)的前端模塊功能開發(fā)之后,又獨(dú)立進(jìn)行了Qt軟件的學(xué)習(xí),并利用C+程序設(shè)計語言在Qt環(huán)境下進(jìn)行了局域網(wǎng)聊天軟件的開發(fā)工作。其中主要涉及到了局域網(wǎng)群聊、私聊和文件傳輸?shù)饶K的實(shí)現(xiàn)編碼工作。1.2.3工作意義留學(xué)生管理系統(tǒng)的開發(fā)是利用SSH(Struts+Spring+Hibernate)框架實(shí)現(xiàn)的。所謂SSH框架是基于MVC(Module、View、Control)軟件開發(fā)模式的一種框架體系結(jié)構(gòu)。對于傳統(tǒng)的ASP和 PHP等腳本站點(diǎn)技術(shù),將整個站點(diǎn)的業(yè)務(wù)邏輯和表現(xiàn)邏輯都混雜在ASP或PHP頁面里,從而導(dǎo)致頁面的可讀性相當(dāng)差,可維護(hù)性非常低。即使需要簡單改變頁面的按鈕,也不得不打開頁面文件,冒著破壞系統(tǒng)的風(fēng)險。但采用嚴(yán)格分層J2EE架構(gòu),則可完全避免這個問題。對表現(xiàn)層的修改即使發(fā)生錯誤,也絕對不會將錯 誤擴(kuò)展到業(yè)務(wù)邏輯層,更不會影響持久層。因而學(xué)習(xí)利用SSH框架進(jìn)行基于B/S的軟件系統(tǒng)開發(fā)更有助于了解MVC開發(fā)模式,使得開發(fā)過程更加清晰,便于對代碼進(jìn)行修改,提高代碼的可讀性和程序的清晰度。通過在公司學(xué)習(xí)SSH框架,進(jìn)行留學(xué)生系統(tǒng)的開發(fā),可以是我對Java有更深刻的理解和認(rèn)識,明白現(xiàn)行市場中主流的開發(fā)方式和開發(fā)技術(shù),對今后在校更有針對性的學(xué)習(xí)奠定了基礎(chǔ)。局域網(wǎng)聊天開發(fā)軟件是利用跨平臺的C+圖形界面庫Qt進(jìn)行開發(fā)。Qt擁有良好的面向?qū)ο笮?,支持了大量的API,并且擁有成熟完善的開發(fā)體系結(jié)構(gòu),也是嵌入式平臺上應(yīng)用廣泛的圖形化編程和多媒體編程工具。學(xué)習(xí)Qt編程可以為以后從事嵌入式開發(fā)奠定堅實(shí)的基礎(chǔ)。2實(shí)習(xí)工作內(nèi)容和過程2.1工作內(nèi)容2.1.1 SSH框架的認(rèn)識SSH(Struts+Spring+Hibernate)框架是基于MVC設(shè)計模式的一種框架體系結(jié)構(gòu)。所謂MVC(Model-View-Controller),是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。1 用戶與視圖(View)進(jìn)行交互,寫入數(shù)據(jù)并進(jìn)行提交,控制器(Controller)接收到來自視圖的事件并對模型(Model)進(jìn)行操作,根據(jù)用戶操作改變更新模型,最后在顯示在界面上。這樣的設(shè)計模式實(shí)現(xiàn)了視圖與業(yè)務(wù)邏輯層的分離,增加了代碼的重利用率,減少數(shù)據(jù)表達(dá),數(shù)據(jù)描述和應(yīng)用操作的耦合度。而Struts架構(gòu)則是典型的基于MVC框架的一種開發(fā)框架體系。SSH框架簡單的來說就是指將開發(fā)系統(tǒng)分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層4個部分?;赟SH框架的系統(tǒng)基本業(yè)務(wù)流程為,在表示層利用Struts框架實(shí)現(xiàn)頁面交互,傳送請求(request)和接受響應(yīng)(response);在業(yè)務(wù)邏輯層,利用Spring技術(shù)向action提供業(yè)務(wù)模型組件(Module)和該組件的協(xié)作對象處理組件(DAO)完成的業(yè)務(wù)邏輯;在持久層依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件的請求并返回結(jié)果。結(jié)合具體實(shí)現(xiàn)留學(xué)生管理系統(tǒng)項(xiàng)目的程序代碼來認(rèn)識Struts框架,jsp頁面相當(dāng)于表示層,用來與用戶進(jìn)行交互;通過java類實(shí)現(xiàn)業(yè)務(wù)控制組件,最后通過中心配置文件Struts.xml實(shí)現(xiàn)java類與jsp頁面的關(guān)聯(lián)。2.1.2 JavaScript學(xué)習(xí)JavaScript是一種基于對象(Object)和事件驅(qū)動(Event Driven)并且具有安全性能的腳本語言。它與Html超文本標(biāo)記語言、Java腳本語言一起實(shí)現(xiàn)了Web頁面中連接多個對象,與Web客戶進(jìn)行交互的作用。JavaScript語言可以做到響應(yīng)請求事件,而不用任何網(wǎng)絡(luò)來回傳輸資料,所以在進(jìn)行數(shù)據(jù)輸入時,不用經(jīng)過傳給服務(wù)器處理在傳回來的過程,可以直接在客戶端進(jìn)行處理。22.1.3 Qt應(yīng)用程序的開發(fā)Qt是跨平臺的C+圖形界面庫要用于Windows、Mac-Os和Linux等環(huán)境下GUI的開發(fā)。Qt不但擁有了完善的C+圖形庫,而且新版本逐漸整合了數(shù)據(jù)庫、OpenGL庫、多媒體庫、網(wǎng)絡(luò)、腳本庫、XML庫、WebKit庫等等,其核心庫也加入了進(jìn)程間通信、多線程等模塊,極大的豐富了Qt開發(fā)大規(guī)模復(fù)雜跨平臺應(yīng)用程序的能力。在利用Qt進(jìn)行局域網(wǎng)聊天軟件的開發(fā)時,主要使用和學(xué)習(xí)的是提供網(wǎng)絡(luò)程序設(shè)計的QtNetwork庫。QtNetwork庫支持通用協(xié)議如HTTP、FTP和DNS,在該庫中可以利用QTcpSocket和QTcpServer實(shí)現(xiàn)TCP協(xié)議,利用QUdpSocket實(shí)現(xiàn)UDP協(xié)議。2.2工作過程在為期五周的實(shí)習(xí)工作中,我主要承擔(dān)負(fù)責(zé)的是清元優(yōu)軟公司為中國石油大學(xué)所開發(fā)的留學(xué)生管理系統(tǒng)的系統(tǒng)參數(shù)設(shè)置模塊的功能編寫和界面實(shí)現(xiàn),其中應(yīng)用到了Struts框架和java程序設(shè)計的部分知識。在開發(fā)程序前,首先要進(jìn)行系統(tǒng)環(huán)境的搭建。公司使用的是MyEclipse+Resin 3.0進(jìn)行留學(xué)生系統(tǒng)的搭建。在MyEclipse中的菜單欄選擇MyEclipse-Perference-MyEclipse-Server中的Resin3.X,選擇配置Resin3.0的路徑以及jdk路徑,然后在MyEclipse下運(yùn)行Resin3.0服務(wù)器。服務(wù)器運(yùn)行成功后,需要對resin.conf進(jìn)行如下配置: jdbc/OracleDB jdbc:oracle:thin::1521:jw lxsxt lxsxt 8 1800 30s 配置完成后保存resin.conf,然后再次運(yùn)行服務(wù)器,然后打開IE瀏覽器在地址欄中輸入:8082/即可打開如圖2.1所示的登陸界面,留學(xué)生系統(tǒng)搭建完成。圖2.1 留學(xué)生系統(tǒng)登錄界面完成了系統(tǒng)的搭建,便開始進(jìn)行系統(tǒng)參數(shù)設(shè)置模塊的編寫工作。利用公司提供的代碼生成器Code Gen,對數(shù)據(jù)庫中的Sys_param表自動生成相關(guān)表操作的java類和jsp頁面代碼文件和配置文件,然后將生成的jsp和java文件按照相應(yīng)的路徑導(dǎo)入到工程當(dāng)中,并且修改工程中l(wèi)xsxt-front.xml、lxsxt-end.xml和validator-lxsxt.xml三個配置文件,即完成了系統(tǒng)參數(shù)設(shè)置頁面的基本配置。之后利用系統(tǒng)管理員賬號登陸系統(tǒng),在相應(yīng)的系統(tǒng)菜單模塊設(shè)置的對應(yīng)路徑一欄中填寫bean的相對路徑xtsz.sys_param.do并保存,即完成了模塊頁面代碼的導(dǎo)入工作。圖2.2 系統(tǒng)管理配置之后的工作是根據(jù)具體的需求對程序代碼編寫來使頁面的操作更加人性化。在對detail.jsp和edit.jsp頁面中的form進(jìn)行了編寫時使用了JSTL和EL標(biāo)簽技術(shù),主要實(shí)現(xiàn)功能是,在選擇編輯不同系統(tǒng)參數(shù)時,進(jìn)入到不同的參數(shù)設(shè)置界面,對各個不同的參數(shù)進(jìn)行配置,以此達(dá)到界面美觀和操作簡單易行的目的,因此借助JSTL條件標(biāo)簽來完成條件分支。其中在界面設(shè)計上還利用了下拉框。 -請選擇-option value=開 selected開option value=關(guān) selected關(guān)完成對edit.jsp頁面的編寫后,開始對index.jsp頁面進(jìn)行編寫和功能實(shí)現(xiàn)。其中該頁面主要工作是需要編寫table中學(xué)校名稱項(xiàng)和成績錄入開關(guān)項(xiàng)中操作欄對應(yīng)的功能實(shí)現(xiàn)。通過對sys_paramContorller.java中一個方法public ModelAndView modify()以及index.jsp中一個javascript功能function doEdit()的編碼,實(shí)現(xiàn)所需要的功能。主要修改代碼如下所示:Java類:public ModelAndView modify(HttpServletRequest request, HttpServletResponse response) throws AppException,IOException String id = ServletRequestUtils.getStringParameter(request, id, -1); String mode = request.getParameter(p_param_mode); String value = request.getParameter(p_param_value); Sys_param sys_param = this.sys_paramService.queryTableById(id); try sys_param.setParam_mode(mode); sys_param.setParam_value(value); sys_param.setId(id); this.sys_paramService.update(sys_param); showMessage(request, 修改系統(tǒng)參數(shù)表成功); MirrorCacheTool.refresh(sys_param); catch(AppException e) logger.error(修改系統(tǒng)參數(shù)表 + sys_param + 失敗, e); showMessage(request, 修改系統(tǒng)參數(shù)表失?。?+ e.getMessage(), e); return query(request, response); JavaScript :function doEdit() var frm = window.document.forms0; var menuDiv = window.document.getElementById(menuDiv); if(getCheckedCount(frm.p_id)=0) alert(請選擇一條記錄); else if(getCheckedCount(frm.p_id) 1) alert(每次只能修改一條記錄); else if(getCheckedCount(frm.p_id) = 1) menuDiv.innerHTML = ; /點(diǎn)擊提交以后將菜單設(shè)置為不可用,防止重復(fù)提交 frm.m.value = edit; frm.submit(); 最后在jsp頁面中調(diào)用編寫的javascript即可實(shí)現(xiàn)編寫的功能。界面完成后如圖2.3、2.4、2.5所示。圖2.3 系統(tǒng)參數(shù)設(shè)置index.jsp頁面圖2.4 系統(tǒng)參數(shù)設(shè)置學(xué)校名稱參數(shù)修改圖2.5 系統(tǒng)參數(shù)設(shè)置成績錄入開關(guān)參數(shù)修改在完成了系統(tǒng)參數(shù)設(shè)置模塊的代碼編寫和功能實(shí)現(xiàn)后,有進(jìn)行了學(xué)校信息表和專業(yè)課程表兩個頁面模塊的編寫工作,編寫的基本流程與系統(tǒng)參數(shù)設(shè)置基本相同,需要實(shí)現(xiàn)對表中數(shù)據(jù)的增加(add,jsp)、修改(edit,jsp)、刪除等功能。實(shí)現(xiàn)頁面如圖2.62.9所示。圖2.6 學(xué)校信息表index.jsp頁面圖2.7 學(xué)校信息表add.jsp界面圖2.8 學(xué)校信息查詢edit.jsp頁面圖2.9 專業(yè)課程表index.jsp頁面完成了全部的代碼編寫后便將所編寫的代碼上傳到CVS(Concurrent Version System)服務(wù)器上,完成了這段時間的工作。在進(jìn)行留學(xué)生管理系統(tǒng)的部分模塊的編寫和實(shí)現(xiàn)時,同時我還進(jìn)行這Qt的學(xué)習(xí),利用Qt進(jìn)行局域網(wǎng)聊天軟件的編寫和實(shí)現(xiàn)。3局域網(wǎng)聊天軟件程序開發(fā)3.1開發(fā)技術(shù)3.1.1關(guān)鍵技術(shù)與理論(1) P2P技術(shù):對等網(wǎng)絡(luò)互聯(lián)技術(shù)(Peer to Peer,P2P)是一種新型的網(wǎng)絡(luò)技術(shù),依賴網(wǎng)絡(luò)中參與者的計算能力與帶寬,在P2P構(gòu)成的網(wǎng)絡(luò)中,沒有客戶端和服務(wù)器的概念,對于每個節(jié)點(diǎn),相對于網(wǎng)絡(luò)中的其他節(jié)點(diǎn)來說,它既是客戶端,又是服務(wù)器。該技術(shù)擁有較佳的并行處理能力和效率,并且易于維護(hù)3。(2) UDP協(xié)議:用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP),是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議。UDP協(xié)議只提供數(shù)據(jù)的不可靠傳輸,一旦將數(shù)據(jù)發(fā)送出去,就不保留數(shù)據(jù)備份。UDP協(xié)議的數(shù)據(jù)報頭由4個域構(gòu)成:源端口號、目標(biāo)端口號、數(shù)據(jù)報長度、校驗(yàn)值。UDP協(xié)議是一個無連接協(xié)議傳輸數(shù)據(jù)之前源端和終端不建立連接,因而可以實(shí)現(xiàn)一臺服務(wù)器向多個客戶端發(fā)送消息的功能。(3) TCP協(xié)議:傳輸控制協(xié)議(Transmission Control Protocol,TCP),是一種面向連接的、可靠的、基于字節(jié)流運(yùn)輸層(Transport layer)的通信協(xié)議。相比較于UDP協(xié)議,TCP協(xié)議具有面向連接、有序數(shù)據(jù)傳輸、無錯誤數(shù)據(jù)傳輸?shù)葍?yōu)勢,因而在進(jìn)行文件傳輸時可以保證傳輸文件的正確性,避免丟包現(xiàn)象的發(fā)生。(4) Socket網(wǎng)絡(luò)編程接口:Socket套接字接口,是一個應(yīng)用程序接口(API),使用一個Internet套接字的概念,使主機(jī)間或者一臺計算機(jī)上的進(jìn)程間可以通訊。Socket的連接過程可以分為三個步驟:服務(wù)器監(jiān)聽、客戶端請求和確認(rèn)連接。具體過程為客戶端的套接字向處于等待連接狀態(tài)的服務(wù)器發(fā)送連接請求,服務(wù)器接收并響應(yīng)請求,然后把服務(wù)端的套接字描述發(fā)回給客戶端,建立連接。而服務(wù)器端則繼續(xù)處于等待狀態(tài),等待其他套接字的連接請求。因而利用socket可以實(shí)現(xiàn)單服務(wù)器多客戶端的同是響應(yīng)連接。圖3.1 Socket工作流程圖3.1.2開發(fā)工具(1) Qt libraries Qt libraries是一個由挪威Trolltech 公司開發(fā)的跨平臺的C+圖形界面庫,主要用于Windows、Mac-Os和Linux等環(huán)境下GUI的開發(fā)。Qt采用面向?qū)ο蟮木幊陶Z言,學(xué)習(xí)簡單、易于擴(kuò)展、并且允許組件編程。諾基亞公司提供三種Qt授權(quán)方式,其中LGPL和GPL是免費(fèi)發(fā)布的,而商業(yè)版需要收取授權(quán)費(fèi)用。本程序開發(fā)所使用的是Qt libraries 4.8.2 for Windows是諾基亞公司于2012年5月22日發(fā)布的,其功能上融合了數(shù)據(jù)庫、OpenGL、多媒體庫、NetWorking、Webkit、XML等常用的庫文件,核心庫中也加入多進(jìn)程和多線程間的通信模塊,大大擴(kuò)展和豐富了Qt開發(fā)大規(guī)模復(fù)雜平臺應(yīng)用程序的能力在真正意義上實(shí)現(xiàn)了“Code Less; Create More; Deploy Anywhere”的研發(fā)宗旨。(2) Qt Creator Qt Creator是實(shí)現(xiàn)Qt開發(fā)的輕量級跨平臺集成開發(fā)環(huán)境(IDE)。Qt Creator內(nèi)包含了用于開發(fā)和測試Qt應(yīng)用程序的完整工具,其中包括C+代碼編輯器、上下文代碼感知器、可視化Debug、代碼管理器、Qt Designer、項(xiàng)目和構(gòu)建管理工具等。在進(jìn)行Qt開發(fā)時使用Qt Creator一定程度上可以確保首次上手接觸Qt框架的開發(fā)人員能夠迅速上手操作編程。3.2可行性分析可行性分析的任務(wù)是從技術(shù)上、業(yè)務(wù)上、操作上分析所提出的項(xiàng)目是否可行??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定系統(tǒng)目標(biāo)和規(guī)模是否可行,是否能夠解決,是否值得解決。3.2.1業(yè)務(wù)可行性隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)上實(shí)時聊天和傳輸文件變成了很多用戶的需求。而在各個公司、學(xué)校、乃至學(xué)生宿舍,局域網(wǎng)聊天室也成為了一個團(tuán)隊進(jìn)行交流信息的主要工具之一。利用局域網(wǎng)聊天室,成員可以不受具體物理環(huán)境的限制,通過網(wǎng)絡(luò)進(jìn)行問題的探討以及文件的傳輸。3.2.2 技術(shù)可行性隨著計算機(jī)技術(shù)的發(fā)展,對于該局域網(wǎng)聊天室,很多語言和集成開發(fā)環(huán)境都是理想的選擇。根據(jù)實(shí)際情況,我決定使用基于Qt的跨平臺C+圖形界面設(shè)計庫來進(jìn)行軟件的開發(fā)。Qt在進(jìn)行圖形界面開發(fā)上提供了豐富的庫和API接口,并且提供了Socket實(shí)現(xiàn)通信鏈句柄。3.2.3 操作可行性Qt實(shí)現(xiàn)的軟件具有友好的界面和簡單易懂的操作提示,很方便用戶上手即用。在進(jìn)行文件傳輸時,使用TCP協(xié)議進(jìn)行傳輸也保證了數(shù)據(jù)的安全性以及準(zhǔn)確性。3.3 需求分析需求分析是在可行性研究的基礎(chǔ)上,將用戶對系統(tǒng)的描述,通過開發(fā)人員的分析概括,抽象為完整的需求定義,再形成一系列文檔的過程??尚行匝芯恐荚谠u估目標(biāo)系統(tǒng)是否值得去開發(fā),問題是否能夠解決,而需求分析旨在回答系統(tǒng)做什么的問題,通過需求分析明確開發(fā)軟件的功能、性能和GUI界面,使軟件開發(fā)人員清楚的明白用戶的需求,確保將來開發(fā)出來的軟件產(chǎn)品能夠真正滿足用戶的需要。3.3.1 運(yùn)行環(huán)境硬件環(huán)境:HDD 10G以上、內(nèi)存 1G以上操作系統(tǒng):Microsoft Windows XP及系統(tǒng)以后版本3.3.2 功能需求(1) 功能需求說明1) 局域網(wǎng)聊天室實(shí)時聊天功能:主要需要實(shí)現(xiàn)局域網(wǎng)多用戶之間的實(shí)時聊天通信,并且用戶可以直接看到所在局域網(wǎng)內(nèi)其他用戶的IP信息,用戶在進(jìn)行聊天時可以進(jìn)行字體、字號、顏色、加粗、傾斜、下劃線等設(shè)置,也可以保存聊天記錄。2) 局域網(wǎng)內(nèi)文件傳輸:實(shí)現(xiàn)局域網(wǎng)內(nèi)兩個用戶之間文件的相互傳輸。當(dāng)一個用戶向另一個用戶發(fā)送文件時,另一個用戶可以選擇接受文件或者拒絕接收。如果接收文件則開始進(jìn)行文件傳輸,傳輸過程中顯示文件傳輸?shù)乃俣?、用時、文件總大小、已接受文件大小和剩余時間。如果拒絕接收,則不發(fā)送文件,并返回發(fā)送端對方拒絕接收的消息。3) 局域網(wǎng)私聊功能:在用戶信息欄中雙擊一個用戶則可打開私聊窗口與該用戶實(shí)現(xiàn)私聊通信。與局域網(wǎng)聊天室功能相同,可以實(shí)現(xiàn)字體、字號、顏色、加粗、傾斜、下劃線的設(shè)置,可以 保存聊天記錄。(2) 系統(tǒng)功能描述實(shí)現(xiàn)根據(jù)所提出的需求利用Rational Rose進(jìn)行用例圖的設(shè)計。利用用例圖可以描述業(yè)務(wù)功能,指導(dǎo)以后軟件的測試環(huán)節(jié),并且在整個軟件開發(fā)過程中對工作流起到指導(dǎo)作用。圖3.2 系統(tǒng)用例圖描述表3.1 chatroom用例說明表用例名:chatroom簡要說明:局域網(wǎng)內(nèi)用戶進(jìn)入聊天室進(jìn)行聊天事件流:用戶進(jìn)入局域網(wǎng)聊天工具頁面 在界面文本框中輸入想要發(fā)送的信息 點(diǎn)擊發(fā)送按鈕發(fā)送信息 信息顯示在輸出信息文本框內(nèi)前置條件:用戶輸入合法信息并提交后置條件:系統(tǒng)處理用戶發(fā)出的信息并顯示在輸出信息文本框中活動圖:圖3.3 聊天室功能活動圖描述表3.2 fileTransport用例描述用例名:fileTransport簡要說明:局域網(wǎng)內(nèi)用戶進(jìn)行文件傳輸事件流:用戶進(jìn)入局域網(wǎng)聊天工具 點(diǎn)擊發(fā)送文件按鈕,選擇發(fā)送的文件 接收方給予響應(yīng) 進(jìn)行文件傳輸 前置條件:用戶選擇合法的文件、接收方選擇確定接收文件后置條件:系統(tǒng)通過TCP協(xié)議進(jìn)行文件傳輸活動圖:圖3.4 文件傳輸功能活動圖描述表3.3 privateChat用例描述用例名:privateChat簡要說明:局域網(wǎng)內(nèi)兩用戶私聊事件流:用戶進(jìn)入局域網(wǎng)聊天工具 雙擊用戶信息欄中的某個用戶名打開私聊窗口 發(fā)送消息 對方接收消息前置條件:用戶選擇局域網(wǎng)中在線的某個用戶并發(fā)送合法消息后置條件:系統(tǒng)處理用戶發(fā)送的信息并在對方系統(tǒng)上打開私聊窗體,顯示消息活動圖:圖3.5私聊功能活動圖描述3.3.3性能需求支持網(wǎng)絡(luò)通信,實(shí)現(xiàn)全方位多功能的點(diǎn)對點(diǎn)通信和文件傳輸功能。系統(tǒng)的局域網(wǎng)聊天功能要求及時性,還要求盡可能提高文件傳輸?shù)陌踩院蛡鬏斝?,避免無效數(shù)據(jù)的傳輸。3.3.4界面需求界面設(shè)計要求美觀,人機(jī)交互界面友好。本程序要求設(shè)計3個窗體實(shí)現(xiàn)軟件功能,分別為聊天主程序窗體、發(fā)送文件窗體、接收文件窗體。根據(jù)已有的需求信息和功能分析,聊天主程序窗體需要有信息的輸入框和顯示框、需要能夠現(xiàn)實(shí)局域網(wǎng)中各個用戶的IP地址和用戶名、能夠?qū)斎胛淖值淖煮w、字號等進(jìn)行設(shè)置,以及傳輸文件按鍵。發(fā)送文件和接收文件窗體需要能夠選擇設(shè)置需要發(fā)送和接受的文件路徑,可以顯示文件傳輸進(jìn)度等。3.4 概要設(shè)計系統(tǒng)概要設(shè)計的目的就是根據(jù)需求分析結(jié)果確定系統(tǒng)是由哪些模塊哪些功能組成的,這些模塊之間又有怎樣的關(guān)系,每個模塊是如何實(shí)現(xiàn)的。模塊化的依據(jù)是抽象、信息屏蔽和局部化、自頂向下逐步求精和模塊的獨(dú)立性,依照高內(nèi)聚低耦合的原則對系統(tǒng)進(jìn)行模塊化設(shè)計。3.4.1總體設(shè)計(1) 系統(tǒng)實(shí)現(xiàn)原理聊天系統(tǒng)的設(shè)計最重要的就是系統(tǒng)實(shí)時性的保證。為了減少客戶端-服務(wù)器這種方式在利用中繼設(shè)備進(jìn)行傳輸時消耗的時間,因此該局域網(wǎng)聊天軟件采取P2P技術(shù),實(shí)現(xiàn)點(diǎn)對點(diǎn)的連接,這樣處在局域網(wǎng)聊天軟件中的每個用戶,相對于其他用戶來說既是客戶端,又是服務(wù)器,以此來避免多用戶進(jìn)入聊天室時服務(wù)器響應(yīng)時間過長而導(dǎo)致的系統(tǒng)實(shí)時性過差的問題發(fā)生。在程序的網(wǎng)絡(luò)通信數(shù)據(jù)傳輸上,即時聊天采取UDP協(xié)議進(jìn)行數(shù)據(jù)報的傳輸。利用UDP無連接協(xié)議可以更快的實(shí)現(xiàn)數(shù)據(jù)報的傳輸,更好的實(shí)現(xiàn)聊天的實(shí)時性要求。而文件傳輸則采用TCP協(xié)議。TCP協(xié)議是面向連接的、可靠的通信協(xié)議,具有有序數(shù)據(jù)傳輸、無錯誤數(shù)據(jù)傳輸?shù)葍?yōu)點(diǎn),這樣可以保證文件傳輸中傳輸文件的安全性和完整性,盡可能的避免出現(xiàn)壞包現(xiàn)象的發(fā)生。(2) 系統(tǒng)總體功能結(jié)構(gòu)1) 系統(tǒng)主要的功能框架如圖所示:圖3.6 局域網(wǎng)聊天室軟件功能結(jié)構(gòu)2) 各個模塊功能描述:局域網(wǎng)聊天:登錄聊天界面,可以對輸入的文字信息進(jìn)行字體、字號、加粗、傾斜、下劃線和文字顏色的設(shè)置,可以對聊天記錄進(jìn)行保存,也可以清除信息框中的聊天信息。通過聊天界面窗體可以顯示聊天室內(nèi)其他用戶的用戶名和IP。文件傳輸:可以在聊天室內(nèi)用戶之間進(jìn)行文件的發(fā)送和接收。用戶私聊:可以實(shí)現(xiàn)聊天室內(nèi)任意兩個用戶私聊功能。也可以對輸入的文字信息進(jìn)行字體、字號、加粗、傾斜、下劃線和文字顏色的設(shè)置,可以對聊天記錄進(jìn)行保存,也可以清除信息框中的聊天信息。3.4.2接口設(shè)計(1)用戶接口:系統(tǒng)采用圖形用戶接口,以鼠標(biāo)和鍵盤作為用戶接口,方便用戶對軟件進(jìn)行操作。用戶:登錄系統(tǒng);系統(tǒng):顯示UI界面。用戶:發(fā)送聊天信息;系統(tǒng):顯示聊天信息。用戶:雙擊聊天室內(nèi)其他用戶;系統(tǒng):顯示私聊窗口(2)內(nèi)部接口:UI界面與聊天接口:輸入:聊天信息;輸出:顯示聊天信息。UI界面與傳輸文件接口:輸入:傳輸文件路徑;輸出:傳輸操作。UI界面與顯示信息接口:輸入:登錄信息;輸出:顯示用戶登錄名、登錄IP。3.4.3系統(tǒng)出錯設(shè)計(1) 出錯信息1) 進(jìn)行文件傳輸時若無法與所在網(wǎng)絡(luò)中的其他節(jié)點(diǎn)連接,則應(yīng)做出正確提示。2) 聊天時出現(xiàn)非法操作時,通過信息對話框給出相應(yīng)提示。3) 傳輸文件出現(xiàn)非法操作時,通過對話框給予相應(yīng)提示。(2) 補(bǔ)救措施當(dāng)系統(tǒng)出現(xiàn)錯誤時,如果是嚴(yán)重錯誤如內(nèi)存泄露等問題將直接關(guān)閉程序并提示用戶;若為一般錯誤,則通過messageBox彈出對話框給予用戶提示,讓用戶重新進(jìn)行操作。3.5 詳細(xì)設(shè)計詳細(xì)設(shè)計階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),換言之,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某總程序設(shè)計語言書寫的程序。詳細(xì)設(shè)計的目標(biāo)不僅僅是邏輯上正確地實(shí)現(xiàn)每個模塊的功能,更重要的是設(shè)計的處理過程應(yīng)該盡可能簡明易懂,詳細(xì)設(shè)計階段的任務(wù)還不是具體的編寫程序,而是要設(shè)計出程序的“藍(lán)圖”,以后根據(jù)這個藍(lán)圖編寫出實(shí)際的程序代碼。系統(tǒng)實(shí)現(xiàn)用于對程序具體設(shè)計的部分,根據(jù)詳細(xì)設(shè)計的結(jié)果,把它翻譯成符合某種語言的語法規(guī)則的代碼。3.5.1系統(tǒng)類設(shè)計(1)系統(tǒng)類圖總體設(shè)計圖3.7 系統(tǒng)類圖描述(2)Widget類1) 功能:Widget類主要用于局域網(wǎng)聊天系統(tǒng)中界面各部分按鍵功能的統(tǒng)一實(shí)現(xiàn)以及聊天室內(nèi)利用UDP協(xié)議進(jìn)行聊天的功能實(shí)現(xiàn)。2) 類圖圖3.8 Widget類圖描述3) 類詳細(xì)說明表3.4 Widget類方法詳細(xì)說明函數(shù)名稱返回值函數(shù)功能Widget(QWidget *parent = 0)無構(gòu)造函數(shù)Widget( )無析構(gòu)函數(shù)sendMessage(MessageType type,QString serverAddress = )void發(fā)送消息newparticipant(QString userName,QString localHostName,QString ipAddress)void新用戶加入聊天室participantLeft(QString userName,QString localHostName,QString time)void用戶離開聊天室saveFile(const QString &fileName)void保存文件receiveMessage( )void接收消息formatChange(const QTextCharFormat &format)void改變字體設(shè)置receiveFile(QString userName,QString serverAddress,QString clientAddress,QString fileName)void接收文件showChat(QString name,QString ip)void構(gòu)造私聊窗體getFileName(Qstring fileName)void獲取接收文件的文件名getUserName( )QString獲取用戶名getMessage( )QString獲取文本框中信息getIP( )QString獲取用戶ipeventFilter(QObject *watched, QEvent *event)bool事件過濾器changeEvent(QEvent *e)void改變窗體響應(yīng)closeEvent(QCloseEvent *evnet)void關(guān)閉窗體響應(yīng)on_send_clicked( )void發(fā)送按鍵on_fontComboBox_currentFontChanged(QFont font)void字體設(shè)置on_fontsizeComboBox_currentIndexChanged(QString)void字號設(shè)置on_textbold_clicked(bool checked)void加粗設(shè)置on_textitalic_clicked(bool checked)void傾斜設(shè)置on_textUnderline_clicked(bool checked)void下劃線設(shè)置on_textcolor_clicked( )void顏色設(shè)置on_sendfile_clicked( )void發(fā)送文件按鍵on_save_clicked( )void保存聊天記錄on_clear_clicked( )void 清除聊天記錄on_tableWidget_doubleClicked(QModelIndex index)void雙擊信息顯示框(3)TcpServer類1) 功能TcpServer類繼承了系統(tǒng)類QDialog,為局域網(wǎng)聊天室軟件傳送文件模塊提供了發(fā)送文件的界面,并且利用QTcpServer類實(shí)現(xiàn)了傳輸文件中服務(wù)器端的功能。2) 類圖圖3.9 TcpServer類圖描述3) 類詳細(xì)說明表3.5 TcpServer類方法詳細(xì)說明函數(shù)名稱返回值函數(shù)功能TcpServer(QWidget *parent=0)無構(gòu)造函數(shù)TcpServer( )無析構(gòu)函數(shù)initServer( )void服務(wù)器初始化sendMessage( )void發(fā)送消息refused( )void拒絕接收updateProgress(qint64 numBytes)void更新進(jìn)度條sendFileName(QString fileName)void發(fā)送文件名closeEvent(QCloseEvent *)void關(guān)閉窗體響應(yīng)changeEvent(QEvent *)void改變窗體響應(yīng)on_choose_clicked( )void選擇按鍵on_send_clicked( )void發(fā)送按鍵on_quit_clicked( )void退出按鍵(4) TcpClient類1) 功能TcpClient繼承了系統(tǒng)類QDialog,主要為局域網(wǎng)聊天室軟件提供了接收文件的圖形化界面,同時實(shí)現(xiàn)了傳輸文件模塊中客戶端的功能。2) 類圖圖3.10 TcpClient類圖描述3) 類詳細(xì)說明表3.6 TcpClient類方法詳細(xì)說明函數(shù)名稱返回值函數(shù)功能TcpClient(QWidget *parent=0)無構(gòu)造函數(shù)TcpClient( )無析構(gòu)函數(shù)setHostAddress(QHostAddress address)void設(shè)置主機(jī)地址setFileName(QString fileName)void獲取文件名newConnect( )void建立新連接readMessage( )void讀取傳輸信息displayError(QAbstractSocket:SocketError socketError)void傳輸錯誤處理changeEvent(QEvent *e)void窗體改變響應(yīng)on_cancel_clicked( )void取消按鍵(4) chat類1) 功能chat類繼承了系統(tǒng)類QDialog,與聊天室功能類似,利用系統(tǒng)類QUdpSocket進(jìn)行了局域網(wǎng)中兩個用戶私聊功能的實(shí)現(xiàn)2) 類圖圖3.11 chat類圖描述3) 類詳細(xì)說明表3.6 chat類方法詳細(xì)說明函數(shù)名稱返回值函數(shù)功能chat(QString name, QString ip)無構(gòu)造函數(shù)chat()無析構(gòu)函數(shù)sendMessage(MessageType type,QString serverAddress=)void發(fā)送消息participantLeft(QString userName,QString localHostName,QString time)void用戶退出私聊receiveMessage()void接收消息formatChange(const QTextCharFormat &format)void改變字體設(shè)置saveFile(const QString &fileName)bool保存文件getUserName()Qstring獲取聊天室內(nèi)用戶名getMessage()Qstring獲取文本框中信息getIP()Qstring獲取聊天室內(nèi)用戶ipeventFilter(QObject *target, QEvent *event)bool事件過濾器on_send_clicked()void發(fā)送按鍵on_quit_clicked()void退出按鍵on_fontComboBox_currentFontChanged(QFont font)void字體設(shè)置on_fontsizeComboBox_currentIndexChanged(QString)void字號設(shè)置on_textbold_clicked(bool checked)void加粗設(shè)置on_textitalic_clicked(bool checked)void傾斜設(shè)置on_textUnderline_clicked(bool checked)void下劃線設(shè)置on_textcolor_clicked()void顏色設(shè)置on_save_clicked()void保存聊天記錄on_clear_clicked()void 清除聊天記錄3.5.2模塊設(shè)計(1) 聊天室模塊 1) 聊天室模塊程序流程圖 圖3.12 聊天室接收端程序流程圖圖3.13 聊天室發(fā)送端程序流程圖2) 模塊詳細(xì)描述局域網(wǎng)群聊軟件群聊功能的實(shí)現(xiàn)可以將局域網(wǎng)中的每個節(jié)點(diǎn)既當(dāng)成客戶端又當(dāng)成服務(wù)器來考慮。當(dāng)節(jié)點(diǎn)發(fā)送消息時,該節(jié)點(diǎn)相當(dāng)于客戶端,系統(tǒng)獲取節(jié)點(diǎn)的登錄ip、用戶名和主機(jī)名,然后將聊天信息輸入欄中的消息通過udp協(xié)議以數(shù)據(jù)報的形式發(fā)送到其他節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)接收消息時,節(jié)點(diǎn)相當(dāng)于服務(wù)器,系統(tǒng)通過UdpSocket綁定一個固定的端口,然后利用信號槽對網(wǎng)絡(luò)進(jìn)行監(jiān)聽。如果收到數(shù)據(jù)報,則根據(jù)數(shù)據(jù)報的消息類型(MessageType)確定處理方式。若是新用戶加入聊天室,則更新用戶列表并在聊天窗口上添加新用戶的上線通知;若為用戶離開聊天室,則刪除用戶列表中離開用戶的具體信息并在聊天窗口中提示用戶下線通知。若接收到聊天消息,則將收到的聊天消息顯示在聊天窗口上。(2) 文件傳輸模塊1) 文件傳輸模塊程序流程圖圖3.14 文件傳輸模塊發(fā)送端程序流程圖圖3.15 文件傳輸模塊接收端程序流程圖2) 文件傳輸模塊詳細(xì)描述文件傳輸模塊利用TCP協(xié)議進(jìn)行文件傳輸,同樣對于局域網(wǎng)中的各個節(jié)點(diǎn),每個節(jié)點(diǎn)既是服務(wù)器又是客戶端。當(dāng)需要進(jìn)行文件傳輸時,發(fā)送端承擔(dān)著服務(wù)器角色。選擇需要發(fā)送的文件并且先通過udp協(xié)議將文件名傳輸?shù)浇邮斩?,如果接收端拒絕接收則返回信息提示,若接收端同意接收則利用tcp進(jìn)行文件的傳輸。而在文件傳輸?shù)倪^程中,接收端承擔(dān)著客戶端的角色。當(dāng)收到某個ip傳送過來的文件接收信息時,若選擇接收文件則從發(fā)送端處利用TCP協(xié)議接收文件并存放在指定路徑。若拒絕接收則返回發(fā)送端拒絕信息。(3) 私聊模塊1) 私聊模塊程序流程圖圖3.16 私聊模塊發(fā)送消息程序流程圖圖3.17 私聊模塊接收消息程序流程圖2) 私聊模塊詳細(xì)描述對于發(fā)送端,用戶想與私聊對象進(jìn)行私聊時,首先通過私聊對象的主機(jī)名和ip建立了privateChat類,然后綁定本地ip和私聊用的端口。私聊類建立以后,利用主群聊的udpSocket向通訊對方的ip和端口發(fā)送消息類型(xchat)、本地用戶名、主機(jī)名、用戶ip,完成后顯示私聊窗體。然后即可通過私聊類建立的socket進(jìn)行私聊。對于接收端,當(dāng)接收到消息類型為xchar后接受對方的用戶名、主機(jī)名和ip地址,并通過對方的用戶名和ip地址建立私聊類privateChat,完成后顯示私
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新版承攬加工合同書范文
- 2025法人向公司借款合同
- 2025年度溫室大棚租賃與現(xiàn)代農(nóng)業(yè)技術(shù)合作合同3篇
- 2025年度農(nóng)村出租房租賃與農(nóng)村環(huán)保產(chǎn)業(yè)合作合同
- 二零二五年度電影宣傳推廣與營銷合同2篇
- 二零二五年度股權(quán)代持服務(wù)協(xié)議:涉及企業(yè)并購的綜合性協(xié)議3篇
- 二零二五年度農(nóng)村宅基地房屋租賃與農(nóng)村文化傳承合同
- 二零二五年度展臺搭建與展覽展示合同3篇
- 二零二五年度法人代表變更與股權(quán)收購協(xié)議3篇
- 2025年度液壓設(shè)備維修保養(yǎng)及安全檢測合同3篇
- 現(xiàn)代操作系統(tǒng)教程(慕課版)-課后習(xí)題答案1-8章全帶原題
- 化學(xué)專業(yè)詞匯大全
- 醫(yī)院培訓(xùn)PPT課件:醫(yī)療服務(wù)意識
- PCS-PC簡單使用方法
- 關(guān)于更換公務(wù)用車的請示
- 室分工程施工組織設(shè)計
- 薄膜衰減片的仿真設(shè)計
- 塔塔里尼調(diào)壓器FLBM5介紹.ppt
- 國家開放大學(xué)畢業(yè)生登記表
- CCC例行檢驗(yàn)和確認(rèn)檢驗(yàn)程序
- 初中物理競賽教程(基礎(chǔ)篇)第16講比熱容
評論
0/150
提交評論