欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      全方位課程設(shè)計之初探

      時間:2019-05-14 18:41:31下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《全方位課程設(shè)計之初探》,但愿對你工作學(xué)習(xí)有幫助,當然你在寫寫幫文庫還可以找到更多《全方位課程設(shè)計之初探》。

      第一篇:全方位課程設(shè)計之初探

      全方位課程設(shè)計之初探

      桃園縣中壢市自立國?。囮杨U

      ㄧ、前言

      我國特殊教育法(2006)第ㄧ條:「為使身心障礙及資賦優(yōu)異之國民,均有接受適性教育之權(quán)利,充分發(fā)展身心潛能、培養(yǎng)健全人格,增進服務(wù)社會能力,特制定本法?!褂纱丝芍覈奶厥饨逃浅娬{(diào)為每個特殊學(xué)生提供適切且個別化的課程及專業(yè)服務(wù)。而我國身心障礙學(xué)生的安置大都在普通班,所以教師必須針對學(xué)生的需求作教學(xué)上的調(diào)整,目前我國已實施的課程調(diào)整模式(盧臺華,2003)包括:

      1.普通教育課程:指特殊生的核心課程內(nèi)容與基礎(chǔ)能力要求與普通班學(xué)生相同。2.調(diào)整性的普通教育課程:由簡化、減量、分解、替代等方式改變普通教育的目標與內(nèi)容,並在教材與作業(yè)呈現(xiàn)方式作個別化的調(diào)整,提供學(xué)生學(xué)習(xí)的支援。

      3.功能性課程:適用於落後程度較多的學(xué)生,若特殊生不能適應(yīng)普通教育,即採用功能性課程。此類課程是針對無法採用普通教育課程的特殊生,而另外設(shè)計符合特殊學(xué)生需要的生活技能課程。

      4.全方位課程:全方位課程設(shè)計是將既有的教學(xué)材料或教學(xué)活動予以彈性設(shè)計,並有效整合教學(xué)與媒體資源,提供給不同背景或能力差異學(xué)生之替代性課程,讓課程符合其學(xué)習(xí)需求,從而有機會達成普通教育預(yù)定的學(xué)習(xí)目標(Burgstahler,2001)。

      前三項課程內(nèi)容已有許多學(xué)者介紹過,所以本研究即針對全方位課程來做介紹。

      二、全方位課程設(shè)計的源起

      全方位課程設(shè)計的概念源自於三十多年前的一位建築師Ron Mace,Mace認為在設(shè)計設(shè)施時,要考量所有使用該空間設(shè)施的個體差異之需求,特別是那些有特殊需求的身心障礙人士,以便能設(shè)計出滿足最多使用需求的建築物、空間規(guī)劃及相關(guān)設(shè)施,為實現(xiàn)此理想,在1980年代初期,Mace和他在北卡羅萊那州立大學(xué)的夥伴成立全方位設(shè)計中心(the center for universal design;CUD),而CAST(the center for applied special technology)也在1990年代初期,開始將全方位設(shè)計的想法應(yīng)用在課程的教材與教師的教學(xué)上,讓身心障礙學(xué)生較不會因為生理限制而影響學(xué)習(xí)效果。這觀念也反應(yīng)在柯林頓總統(tǒng)1997年簽署通過美國殘障者教育法案(Individuals with Disabilities Education Act,1997),其中提出普通教育課程需考量身心障礙學(xué)生的「可及性」;也就是學(xué)生可以使用多元的方式來達到學(xué)習(xí)的目的。之後學(xué)者即藉由這個議題,產(chǎn)生全方位課程設(shè)計的理念。

      由於全方位課程設(shè)計重視每一位學(xué)生教材的替代性與選擇性,滿足每位學(xué)生的學(xué)習(xí)需求,是以美國的No Children Left Behind(NCLB,2001)與,Individuals With Disabilities Education Act(IDEA,1997;2004)即以此為重要政策。希望教學(xué)者能依不同個體做課程調(diào)整,使每位學(xué)生皆能達成有效學(xué)習(xí)的目標。

      三、全方位課程設(shè)計的支持理論

      全方位課程的支持依據(jù)有二:一為認知神經(jīng)學(xué)的理論基礎(chǔ);二為Vygotsky的近側(cè)發(fā)展區(qū)(Rose,Meyer,& Hitchcock,2006)。以下將做簡單的介紹:(一)認知神經(jīng)學(xué)的研究: 根據(jù)認知神經(jīng)學(xué)的研究指出:人腦的活動量和其分佈區(qū)域的不同,會影響其學(xué)習(xí)風格和學(xué)習(xí)方式,所以必須設(shè)計多元的教學(xué)活動,來滿足每個人的學(xué)習(xí)需求。以下針對Rose和 Meyer(2002)所提出的大腦學(xué)習(xí)交互網(wǎng)絡(luò)來做詳細的說明: 1.辨識系統(tǒng)(recognition systems)是指能分辨感覺器官所接收的刺激,並做出適當反應(yīng)的系統(tǒng)。將此理論應(yīng)用在教育上,即教師必須準備不同的教材教法讓每位學(xué)生可以依自己的學(xué)習(xí)興趣和能力來做選擇。

      2.策略系統(tǒng)(strategic systems)是指個體接收資訊後,如何計畫、組織、監(jiān)控和執(zhí)行資訊的能力。這種能力在學(xué)習(xí)上扮演著極關(guān)鍵的角色,所以教師必須依照學(xué)生不同的學(xué)習(xí)能力設(shè)計合適的支持系統(tǒng)來幫助學(xué)生學(xué)習(xí)。如:學(xué)生的記憶能力很差,教師可使用關(guān)鍵字法或字勾法來輔助學(xué)生學(xué)習(xí)。3.情意系統(tǒng)(affective systems)是指個體會依照自己的情緒和動機,來決定何者為重要、應(yīng)優(yōu)先完成的事務(wù),並應(yīng)採取何種行動完成系統(tǒng)。此系統(tǒng)會受個體的主觀意識所影響。學(xué)習(xí)若在此發(fā)生問題,會導(dǎo)致習(xí)得無助,從而影響學(xué)習(xí)信心和意願。例如:對學(xué)習(xí)沒有自信的學(xué)生,教師就可以設(shè)計符合學(xué)生能力的課程,並運用其優(yōu)勢管道來學(xué)習(xí),以此來提升學(xué)習(xí)動機和自信心。(二)Vygotsky的近側(cè)發(fā)展區(qū)

      近側(cè)發(fā)展區(qū)(Zone of Proximal Development:ZPD)是介於兒童自己所能達到的水平與經(jīng)他人協(xié)助後可能達到的水平,兩水平間的距離,即為該兒童的近側(cè)發(fā)展區(qū)。因此,若給予一個兒童無法自己單獨完成的任務(wù),在根據(jù)兒童的近側(cè)發(fā)展區(qū),提供所需的鷹架輔助,將能更有效地幫助兒童發(fā)展內(nèi)在潛能。相反的,太少的鷹架輔助或太艱難的任務(wù),會使學(xué)生沒有意願參與活動或產(chǎn)生學(xué)習(xí)的挫敗感。因此,清楚了解學(xué)生的特質(zhì)和能力,提供適合的鷹架教學(xué)和溫馨卻具有挑戰(zhàn)性的學(xué)習(xí)環(huán)境,才符合針對每位學(xué)生能力作教學(xué)支援的目的。

      四、全方位課程設(shè)計的理念

      Orkwis & Mclane(1998)提及「不論是身心障礙或?qū)W習(xí)障礙者,每個學(xué)生都需要接受有意義且能發(fā)揮其長才的課程」,也就是說,全方位課程設(shè)計是以滿足每個學(xué)生的學(xué)習(xí)需求為目標,讓所有學(xué)習(xí)者均能透過合適的學(xué)習(xí)管道去學(xué)習(xí)(Rose & Meyer,2002)。除此之外,全方位課程設(shè)計也強調(diào)教學(xué)、學(xué)習(xí)和評量兼顧。

      另外,全方位課程設(shè)計強調(diào):

      一、課程是適合所有學(xué)生的;

      二、課程內(nèi)容、教學(xué)過程和結(jié)果的評量必須考慮學(xué)生的個別化;也就是說,全方位課程設(shè)計強調(diào)設(shè)計所有學(xué)生都可使用的課程。其課程設(shè)計,依Rose & Meyer(2002)的說明,有三項重要課程設(shè)計的原則,茲說明如下:(一)提供多元表徵的學(xué)習(xí)路徑:

      包括兩種不同的意義,ㄧ是指用各種不同的方式來呈現(xiàn)學(xué)科教材,讓學(xué)習(xí)者能透過多感官來學(xué)習(xí);其二是指用不同複雜度的教材來呈現(xiàn),讓學(xué)生自由選擇適合自己能力的教材,使學(xué)習(xí)更有效率。(二)提供多元表達的反應(yīng)方式: 是指讓學(xué)生可以依自己的能力、興趣來選擇評量的方式,如:學(xué)生可以用檔案呈現(xiàn)、音樂創(chuàng)作等方式來表達自己的想法(Rose & Meyer,2002)(三)提供多元參與的動機誘因

      是指課程內(nèi)容要有彈性,使學(xué)生可以依照自己的喜好來決定自己的學(xué)習(xí)內(nèi)容、學(xué)習(xí)時間和學(xué)習(xí)速度。以此方式來提升學(xué)生學(xué)生學(xué)習(xí)參與的意願,同時可以提升學(xué)生的自信心和安全感。

      而Orkwis和Mclane(1998)更將上述原則轉(zhuǎn)化成五項全方位課程設(shè)計的具體步驟:

      (一)將教科書內(nèi)容以數(shù)位化方式呈現(xiàn)(二)將所有錄音內(nèi)容輔以文字說明(三)將教材中的圖片輔以價值性的敘述(四)將影帶內(nèi)容提供有教育價值的說明(五)將課程的內(nèi)容和活動提供認知支持

      全方位設(shè)計的創(chuàng)意即在強調(diào)為不同需求的人來設(shè)想,而教育相關(guān)的學(xué)者即將此想法發(fā)展到教育上,希望能針對特殊學(xué)生的學(xué)習(xí)能力、障礙需求等來做考量,發(fā)展一套教材是所有的學(xué)習(xí)者皆能參與的,達到「學(xué)習(xí)無障礙的」目的。

      五、結(jié)論

      由於融合教育的興起,越來越多的特殊生在普通班中就讀,因此,兼顧特殊生與普通生的課程設(shè)計對普通班教師將會是一項挑戰(zhàn)。而全方位課程設(shè)計正好可以提供教師課程設(shè)計的依據(jù),讓學(xué)生有多元且彈性的學(xué)習(xí)內(nèi)容與學(xué)習(xí)環(huán)境,達到學(xué)習(xí)無障礙的目的。

      而目前的研究大都顯示全方位課程設(shè)計可以提升學(xué)生的學(xué)習(xí)成效,並改善學(xué)生專注力不足的問題,增進學(xué)生對教材的學(xué)習(xí)興趣和動機。因此,建議在教導(dǎo)特殊生時,考慮學(xué)生的獨特性,以彈性、多元的方式呈現(xiàn)上課教材,讓學(xué)生更容易了解學(xué)習(xí)內(nèi)容,提高學(xué)習(xí)的效果。

      六、參考文獻

      教育部(2006)。特殊教育法。臺北:教育部。盧臺華(2003)。全方位課程設(shè)計談普通教育課程在特殊教育上之應(yīng)用–以九年一貫課程為例。2003特殊教育學(xué)術(shù)研討會會議手冊,29-36頁。臺灣師大特殊教育系。

      Blamires, M.(1999).Universal design for learning: Re-establishing differentiation

      as part of the inclusion agenda.Support for Learning, 14(4), 158-163.Burgstahler,S.(2001).Universal design of instruction.(ERIC Document Reproduction Service No.ED 468709).Dolan , R.P., Hall , T.E., Banerjee, M.,Chun, E., & Strangman, N.(2005).Applying

      principles of universal designto test delivery: The effect ofcomputer-based Read-aloud

      on testperformance of high school studentswith learning disabilities.TheJournal of Technology, Learning,and Assessment, 3(7), 1-32.Eagleton,M.B.,Guinee,K., & Langlais,k.(2006).Teaching internet literacy strategies:The hero inquiry project.IN Rose,D,H.,& Meyer,A.(Eds.),A practical reader in universal design for learning(pp.149-161).Orkwis,R., & Mclane,K.(1998).A curriculum every student can use:design principle for student access.Reston,VA:Council for Exceptional Chindren.(ERIC Document Reproduction Service No,ED 423654).Pisha, B., & Coyne, P.(2001).Smart from the smart: The promise of universal design for

      learning.Remedial and Special Education, 22(4), 197-203.Rose, D.H., & Meyer, A.(2002).Teaching every student in the digital age:Universal design for learning.Alexandria, VA: Association for Supervision and Curriculum Development.Rose,D.H,.Meyer,A., & Hitchcock,C.(Eds).(2006).The univerasally designed classroom:accessible curriculum and digital technologies.Camgridge,MA:Harvard Education Press.Spooner, F., Baker, J.N., Harris, A.A.,Ahlgrim-Delzell, L., & Browder, D.M.(2007).Effects

      of training in universal design for learning on lesson plan development.Remedial and Special Education, 28(2), 108-116.Twyman,T., Tindal,G.(2006).Using a computer-adapted,conceptually based history text to increase comprehension and problem-soving skills of students with disabilities.Journal of Special Education Technology,21(2),5-16.姓名:賴暄頤

      服務(wù)機構(gòu):桃園縣中壢市自立國小 職稱:特教班教師 郵政編碼320 聯(lián)絡(luò)電話:0932150671 通訊地址:桃園縣中壢市龍崗路3段412巷3號

      第二篇:JAVA課程設(shè)計之簡單聊天室

      課程設(shè)計報告

      課程名稱 課程代碼 題

      目 年級/專業(yè)/班 學(xué)生姓名 學(xué)

      號 指導(dǎo)老師 開題時間 完成時間 Java程序設(shè)計

      簡單聊天室

      孟青 09308910203

      I

      : : : : : : : : :

      摘要..............................................................................................................................................................I 1 引言...........................................................................................................................................................1 2 設(shè)計任務(wù)與目的.......................................................................................................................................1 3 需求分析...................................................................................................................................................1 3.1 系統(tǒng)用例圖............................................................................................................................1 3.2 主要用例分析........................................................................................................................2 4 系統(tǒng)設(shè)計.................................................................................................................................................3 4.1 總體設(shè)計........................................................................................................................................3 4.1.1 系統(tǒng)類圖.............................................................................................................................3 4.1.2 主要時序圖.........................................................................................................................6 4.2 詳細設(shè)計........................................................................................................................................8 4.2.1 ChatServer類......................................................................................................................9 4.2.2 ServerListen類..................................................................................................................10 4.2.3 ServerReceive類...............................................................................................................10 4.2.4 PortConf類.......................................................................................................................11 4.2.5 Help類..............................................................................................................................11 4.2.6 UserLinkList類.................................................................................................................11 4.2.7 Node類.............................................................................................................................12 4.2.8 ChatClient類.....................................................................................................................13 4.2.9 ConnectConf類.................................................................................................................15 4.2.10 UserConf類....................................................................................................................15 4.2.11 Help類............................................................................................................................16 4.2.12 ClientReceive類.............................................................................................................16 5 系統(tǒng)實現(xiàn).................................................................................................................................................16 5.1 系統(tǒng)主要用例的實現(xiàn)..................................................................................................................16 5.1.1 聊天室服務(wù)端用例運行效果...........................................................................................17 5.1.2 聊天室客戶端用例運行效果...........................................................................................18 5.2 系統(tǒng)發(fā)布與運行..........................................................................................................................18 5.2.1 系統(tǒng)打包...........................................................................................................................18 5.2.2 系統(tǒng)發(fā)布與運行...............................................................................................................18 6 結(jié)束語.....................................................................................................................................................19 參考文獻.......................................................................................................................................................19 致謝...............................................................................................................................................................19 附錄A:系統(tǒng)源程序...................................................................................................................................20

      1、ChatServer類..........................................................................................................................20

      2、ServerListen類.......................................................................................................................31

      3、ServerReceive類.....................................................................................................................32

      4、UserLinkList類.......................................................................................................................36

      5、Node類...................................................................................................................................39

      I

      6、PortConf類.............................................................................................................................40

      7、Help類....................................................................................................................................42

      8、ChatClient類...........................................................................................................................44

      9、ClientReceive類.....................................................................................................................56

      10、ConnectConf類.....................................................................................................................58

      11、UserConf類...........................................................................................................................61

      12、Help類..................................................................................................................................63 附錄B:編碼規(guī)范.......................................................................................................................................66

      II

      摘要

      本課程設(shè)計我們通過聊天室的代碼實現(xiàn),體會到將理論知識與具體實現(xiàn)相結(jié)合,鞏固Java相關(guān)方法。聊天室共分為服務(wù)器端和客戶端兩部分,服務(wù)器端程序主要負責偵聽客戶端發(fā)來的消息,客戶端需登陸到服務(wù)器才可以實現(xiàn)正常的聊天功能。本聊天系統(tǒng)以聊天交流為主,為廣大用戶提供一個借助網(wǎng)絡(luò)進行人際交往的平臺,也是網(wǎng)絡(luò)與現(xiàn)實最貼近的實用型網(wǎng)站。

      關(guān)鍵詞:(3-5個,每個之間用分號隔開)聊天室;多線程;C/S模式

      Abstract

      The course design our chat room through the code, understand the theoretical knowledge and practical realization of the combination, the consolidation of java-related methods.Chat client and the server is divided into two parts, the client, server-side program is mainly responsible for listening client sent the news to be landing the client to the server will be realized only if the normal chat.The chat system to exchange-based chat, in order to provide customers with a network platform for interpersonal communication, but also network with the reality of the practical is the closest site.Key words: Chat rooms, multi-threaded, C / S mode I

      簡單聊天室 引言

      隨著互聯(lián)網(wǎng)逐步普及,人們的生活和工作也越來越離不開信息網(wǎng)絡(luò)的支持,而聊天室是人們最常見,最直接的網(wǎng)上交流的方式。本聊天系統(tǒng)以聊天交流為主,為廣大用戶提供一個借助網(wǎng)絡(luò)進行人際交往的平臺,也是網(wǎng)絡(luò)與現(xiàn)實最貼近的實用型網(wǎng)站。本文所介紹的網(wǎng)絡(luò)聊天系統(tǒng)是基于開放的JAVA應(yīng)用程序開發(fā)設(shè)計的,其主要特性是能動態(tài)、實時的完成信息的傳遞,且具有高效的交互性,更有效的處理客戶請求,且具有脫離數(shù)據(jù)庫技術(shù)方法,易于維護和更新的特點。設(shè)計任務(wù)與目的

      本聊天室程序基于C/S模式,聊天室共分為服務(wù)器端和客戶端兩部分,服務(wù)器端程序主要負責偵聽客戶端發(fā)來的消息,客戶端需登陸到服務(wù)器才可以實現(xiàn)正常的聊天功能。

      通過本項目的設(shè)計實踐,力求熟練掌握GUI程序設(shè)計、多線程技術(shù)、基于TCP的Socket通信編程。需求分析

      本系統(tǒng)所要實現(xiàn)的主要功能是為廣大用戶提供一個借助網(wǎng)絡(luò)進行人際交往的平臺。因為服務(wù)端采用多線程,所以性能有很大提升。因為服務(wù)端和客戶端之間采用TCP協(xié)議進行網(wǎng)絡(luò)通信,建立的是可靠的、端到端的網(wǎng)絡(luò)連接,所以可靠性和安全性都很好。

      3.1 系統(tǒng)用例圖

      圖3-1 系統(tǒng)用例圖

      3.2 主要用例分析 服務(wù)器端的主要功能如下:

      1,在特定端口上進行偵聽,等待客戶端連接

      2,用戶可以配置服務(wù)端的偵聽端口,默認端口為8888.3,向已經(jīng)連接到服務(wù)端的用戶發(fā)送系統(tǒng)消息。4,統(tǒng)計在線人數(shù)

      5,當停止服務(wù)時,斷開所有的用戶連接??蛻舳说闹饕δ苋缦拢?/p>

      1,連接到已經(jīng)開啟的聊天服務(wù)的服務(wù)端。

      2,用戶可以配置要連接服務(wù)器端的IP地址和端口號。3,用戶可以配置連接后顯示的用戶名。

      4,當服務(wù)器端開啟的時候,用戶可以隨時登錄和注銷。5,用戶可以向所有人或者某一個人發(fā)送消息。

      系統(tǒng)設(shè)計 4.1 總體設(shè)計

      4.1.1 系統(tǒng)類圖

      圖4-1-1 服務(wù)端系統(tǒng)類圖

      圖4-1-2 客戶端系統(tǒng)類圖

      4.1.2 主要時序圖

      圖4-2-1 服務(wù)端主要時序類圖

      圖4-2-2 客戶端主要時序類圖

      4.2 詳細設(shè)計

      聊天室服務(wù)器端的設(shè)計

      聊天室服務(wù)端主要包括7個類,放在server包中:

      4.2.1 ChatServer類

      圖4-3 ChatServer類圖

      ChatServer.java 包含名為ChatServer的public類,其主要功能為定義服務(wù)器端的界面,添加時間

      監(jiān)聽與時間處理。調(diào)用ServerListen類來實現(xiàn)服務(wù)端用戶上線與下線的監(jiān)聽,調(diào)用ServerListen來實現(xiàn)服務(wù)器端的消息收發(fā)。

      4.2.2 ServerListen類

      圖4-4 ServerListen類圖

      ServerListen.java 該類實現(xiàn)服務(wù)器用戶上線與下線的監(jiān)聽。該類對用戶上線下線的監(jiān)聽是通過調(diào)用用戶鏈表類(UserLinkList)來實現(xiàn)的。當用戶上線與下線情況發(fā)生變化時,該類會對主類的界面進行相應(yīng)的修改。

      4.2.3 ServerReceive類

      圖4-5 ServerReceive類圖

      ServerReceive.java 該類是實現(xiàn)服務(wù)器消息收發(fā)的類,該類分別定義了向某用戶及所有人發(fā)送消息的方法,發(fā)送的消息會顯示在主界面類的街面上。

      4.2.4 PortConf類

      圖4-6 PortConf類圖

      PortConf.java

      該類繼承自Jdialog,是用戶對服務(wù)器端監(jiān)聽端口進行修改配置的類。

      4.2.5 Help類

      圖4-7 Help類圖

      Help.java

      服務(wù)端程序幫助類。

      4.2.6 UserLinkList類

      圖4-8 UserLinkList類圖

      UserLinkList.java

      用戶鏈表節(jié)點的具體實現(xiàn)類。該類通過構(gòu)造函數(shù)構(gòu)造用戶鏈表,定義了添加用戶、刪除用戶、返回用戶數(shù)、根據(jù)用戶名查找用戶、根據(jù)索引查找用戶這5個方法。

      4.2.7 Node類

      圖4-9 Node類圖

      Node.java 用戶鏈表的節(jié)點類,定義了鏈表中的用戶。該類與前面所講的鏈表節(jié)點Node類的功能相當。聊天室客戶端設(shè)計

      聊天室客戶端主要包括5個類,放在client包中:

      4.2.8 ChatClient類

      圖4-10 ChatClient類圖

      ChatClient.java 包含名為ChatClient的public類,其主要功能為定義客戶端的界面,添加時間監(jiān)聽與事件處理。該類定義了Connect()與DisConnect()方法實現(xiàn)與客戶端的連接與斷開連接。當?shù)顷懙街付ǖ姆?wù)器時,調(diào)用ClientReceive類實現(xiàn)消息收發(fā),同時該類還定義了SendMessaga()方法來其他用戶發(fā)送帶有表情的消息或悄悄話。

      4.2.9 ConnectConf類

      圖4-11 ConnectConf類圖

      ConnectConf.java 該類繼承自Jdialog,是用戶對所有要連接的服務(wù)器IP及監(jiān)聽端口進行修改配置的類。

      4.2.10 UserConf類

      圖4-12 UserConf類圖

      UserConf.java

      該類繼承自Jdialog,是用戶對鏈接到服務(wù)器時所顯示的用戶名進行修改配置的類。

      4.2.11 Help類

      圖4-13 Help類圖

      Help.java 客戶端程序的幫助類。

      4.2.12 ClientReceive類

      圖4-14 ClientReceive類圖

      ClientReceive.java 該類是實現(xiàn)服務(wù)器端與客戶端消息收發(fā)的類。系統(tǒng)實現(xiàn)

      5.1 系統(tǒng)主要用例的實現(xiàn)

      5.1.1 聊天室服務(wù)端用例運行效果

      圖5-1 聊天室服務(wù)端用例運行效果圖

      5.1.2 聊天室客戶端用例運行效果

      圖5-2 聊天室客戶端用例運行效果圖

      5.2 系統(tǒng)發(fā)布與運行

      5.2.1 系統(tǒng)打包

      使用MyEclipse自帶的打包工具分別將server包和client包中的.class文件打成兩個Jar包:ChatServer.jar和CharClient.jar。

      5.2.2 系統(tǒng)發(fā)布與運行

      將server包和client包中的.class文件打成兩個Jar包,就可以發(fā)布系統(tǒng)了。直接分別雙擊兩個Jar包(ChatServer.jar和CharClient.jar),就可以運行服務(wù)端和客戶端了。

      結(jié)束語

      Java面向?qū)ο蟪绦蛟O(shè)計是一門應(yīng)用廣泛并且實用性極強的高級程序設(shè)計語言。通過本次課程設(shè)計,我們對面向?qū)ο蟮幕舅枷胗辛诉M一步的理解,對項目的各個階段的任務(wù)也有了一定的了解。設(shè)計開始階段必須明確設(shè)計的目的與需求分析,總體設(shè)計要全面分析聊天室系統(tǒng)的架構(gòu)。通過這次設(shè)計,使我們認識到體系的架構(gòu)是最重要的,只有準確的系統(tǒng)設(shè)計、很好的定義各個模塊及模塊之間的關(guān)系,才能在編碼階段更輕松的的實現(xiàn)。

      通過這次課程設(shè)計,對我們的邏輯思維能力是一個很大的鍛煉,它不僅加強了我們的系統(tǒng)思考問題的能力,而且還改變了我們以前不好的編程習(xí)慣,雖然花費了不少的時間,但是我們學(xué)到了豐富的知識。

      另外,此次課程設(shè)計也提高了我們的團對合作精神,讓我們明白不是不能一個人能單獨完成,而是要集思廣益,結(jié)合更多的人的創(chuàng)意思維。讓我們大家深刻的體會到理論與實際相結(jié)合的重要性與微妙之處。對于不同的想法我們都會集中討論并對好的意見加以借鑒,在這個討論的過程中,還更正了不少我們各自自身對于某個知識點的誤區(qū)。

      這次程序設(shè)計也是一個毅力的考驗過程。有時候往往只是一個小小的錯誤,卻要花出幾小時甚至是一兩天的時間才可能發(fā)現(xiàn)它。所以在這個過程不能過于急躁,要很有耐心將程序反復(fù)調(diào)試,參考文獻

      [1] 張廣彬,孟紅蕊,張永寶.Java課程設(shè)計案例精編[M].北京:清華大學(xué)出版社,2007,1.[2] 黃曉東.Java課程設(shè)計案例精編[M].北京:中國水利水電出版社,2004,5.[3] 求是科技.Java信息管理系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2005,4.[4] 求是科技.Java數(shù)據(jù)庫系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2004,9.[5]廖衛(wèi)東Java程序設(shè)計實用指南[M].北京:機械工業(yè)出版社,2002.1[3] [6]李衛(wèi)華,傅曉東.Java語言基礎(chǔ)及其應(yīng)用[M]北京:中國水利水電出版社,1996[5]

      致謝

      本次課程由上海杰普公司三為指導(dǎo)老師以及我們?nèi)握n老師郭老師精心輔導(dǎo),讓我們大家深刻的體會到理論與實際相結(jié)合的重要性與微妙之處。使我們對java有了更深刻的認識,產(chǎn)生濃厚的學(xué)習(xí)興趣。我們由衷對他們表示感謝。

      附錄A:系統(tǒng)源程序

      1、ChatServer類

      功能:為定義服務(wù)器端的界面,添加時間監(jiān)聽與時間處理。調(diào)用ServerListen類來實現(xiàn)服務(wù)端用戶上線與下線的監(jiān)聽,調(diào)用ServerListen來實現(xiàn)服務(wù)器端的消息收發(fā)。代碼:

      package server;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.net.*;/* * 聊天服務(wù)端的主框架類 */ public class ChatServer extends JFrame implements ActionListener{

      /** * */ private static final long serialVersionUID = 1L;

      public static int port = 8888;//服務(wù)端的偵聽端口

      ServerSocket serverSocket;//服務(wù)端Socket JComboBox combobox;//選擇發(fā)送消息的接受者

      JTextArea messageShow;//服務(wù)端的信息顯示

      JScrollPane messageScrollPane;//信息顯示的滾動條

      JTextField showStatus;//顯示用戶連接狀態(tài)

      JLabel sendToLabel,messageLabel;JTextField sysMessage;//服務(wù)端消息的發(fā)送

      JButton sysMessageButton;//服務(wù)端消息的發(fā)送按鈕

      UserLinkList userLinkList;//用戶鏈表

      //建立菜單欄

      JMenuBar jMenuBar = new JMenuBar();//建立菜單組

      JMenu serviceMenu = new JMenu(“服務(wù)(V)”);//建立菜單項

      JMenuItem portItem = new JMenuItem(“端口設(shè)置(P)”);JMenuItem startItem = new JMenuItem(“啟動服務(wù)(S)”);

      JMenuItem stopItem=new JMenuItem(“停止服務(wù)(T)”);JMenuItem exitItem=new JMenuItem(“退出(X)”);

      JMenu helpMenu=new JMenu(“幫助(H)”);JMenuItem helpItem=new JMenuItem(“幫助(H)”);//建立工具欄

      JToolBar toolBar = new JToolBar();//建立工具欄中的按鈕組件

      JButton portSet;//啟動服務(wù)端偵聽 JButton startServer;//啟動服務(wù)端偵聽 JButton stopServer;//關(guān)閉服務(wù)端偵聽 JButton exitButton;//退出按鈕

      //框架的大小

      Dimension faceSize = new Dimension(400, 600);

      ServerListen listenThread;JPanel downPanel;GridBagLayout girdBag;GridBagConstraints girdBagCon;/** * 服務(wù)端構(gòu)造函數(shù) */ public ChatServer(){ init();//初始化程序

      //添加框架的關(guān)閉事件處理

      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.pack();//設(shè)置框架的大小

      this.setSize(faceSize);//設(shè)置運行時窗口的位置

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.widthfaceSize.getHeight())/ 2);this.setResizable(false);this.setTitle(“聊天室服務(wù)端”);//設(shè)置標題

      setVisible(true);

      //為服務(wù)菜單欄設(shè)置熱鍵'V'

      serviceMenu.setMnemonic('V');

      //為端口設(shè)置快捷鍵為ctrl+p

      portItem.setMnemonic('P');

      portItem.setAccelerator(KeyEvent.VK_P,InputEvent.CTRL_MASK));

      //為啟動服務(wù)快捷鍵為ctrl+s

      startItem.setMnemonic('S');

      startItem.setAccelerator(KeyEvent.VK_S,InputEvent.CTRL_MASK));

      //為端口設(shè)置快捷鍵為ctrl+T

      stopItem.setMnemonic('T');

      stopItem.setAccelerator(KeyEvent.VK_T,InputEvent.CTRL_MASK));

      //為退出設(shè)置快捷鍵為ctrl+x

      exitItem.setMnemonic('X');

      exitItem.setAccelerator(KeyEvent.VK_X,InputEvent.CTRL_MASK));

      //為幫助菜單欄設(shè)置熱鍵'H'

      helpMenu.setMnemonic('H');

      //為幫助設(shè)置快捷鍵為ctrl+p

      helpItem.setMnemonic('H');

      helpItem.setAccelerator(KeyEvent.VK_H,InputEvent.CTRL_MASK));

      }

      /** * 程序初始化函數(shù)

      */ public void init(){

      Container contentPane = getContentPane();

      contentPane.setLayout(new BorderLayout());

      (KeyStroke.getKeyStroke

      (KeyStroke.getKeyStroke

      (KeyStroke.getKeyStroke

      (KeyStroke.getKeyStroke

      (KeyStroke.getKeyStroke

      //添加菜單欄

      serviceMenu.add(portItem);serviceMenu.add(startItem);serviceMenu.add(stopItem);serviceMenu.add(exitItem);jMenuBar.add(serviceMenu);helpMenu.add(helpItem);jMenuBar.add(helpMenu);setJMenuBar(jMenuBar);//初始化按鈕

      portSet = new JButton(“端口設(shè)置”);startServer = new JButton(“啟動服務(wù)”);stopServer = new JButton(“停止服務(wù)”);exitButton = new JButton(“退出”);//將按鈕添加到工具欄 toolBar.add(portSet);toolBar.addSeparator();//添加分隔欄 toolBar.add(startServer);toolBar.add(stopServer);toolBar.addSeparator();//添加分隔欄 toolBar.add(exitButton);contentPane.add(toolBar,BorderLayout.NORTH);//初始時,令停止服務(wù)按鈕不可用 stopServer.setEnabled(false);stopItem.setEnabled(false);//為菜單欄添加事件監(jiān)聽

      portItem.addActionListener(this);startItem.addActionListener(this);stopItem.addActionListener(this);exitItem.addActionListener(this);helpItem.addActionListener(this);

      //添加按鈕的事件偵聽

      portSet.addActionListener(this);startServer.addActionListener(this);stopServer.addActionListener(this);exitButton.addActionListener(this);

      combobox = new JComboBox();combobox.insertItemAt(“所有人”,0);combobox.setSelectedIndex(0);23

      messageShow = new JTextArea();messageShow.setEditable(false);//添加滾動條

      messageScrollPane = new JScrollPane(messageShow, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);messageScrollPane.setPreferredSize(new Dimension(400,400));messageScrollPane.revalidate();

      showStatus = new JTextField(35);showStatus.setEditable(false);

      sysMessage = new JTextField(24);sysMessage.setEnabled(false);sysMessageButton = new JButton();sysMessageButton.setText(“發(fā)送”);//添加系統(tǒng)消息的事件偵聽

      sysMessage.addActionListener(this);sysMessageButton.addActionListener(this);sendToLabel = new JLabel(“發(fā)送至:”);messageLabel = new JLabel(“發(fā)送消息:”);downPanel = new JPanel();girdBag = new GridBagLayout();downPanel.setLayout(girdBag);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 0;girdBagCon.gridwidth = 3;girdBagCon.gridheight = 2;girdBagCon.ipadx = 5;girdBagCon.ipady = 5;JLabel none = new JLabel(“ ”);girdBag.setConstraints(none,girdBagCon);downPanel.add(none);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 2;girdBagCon.insets = new Insets(1,0,0,0);girdBagCon.ipadx = 5;24

      girdBagCon.ipady = 5;girdBag.setConstraints(sendToLabel,girdBagCon);downPanel.add(sendToLabel);girdBagCon = new GridBagConstraints();girdBagCon.gridx =1;girdBagCon.gridy = 2;girdBagCon.anchor = GridBagConstraints.LINE_START;girdBag.setConstraints(combobox,girdBagCon);downPanel.add(combobox);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 3;girdBag.setConstraints(messageLabel,girdBagCon);downPanel.add(messageLabel);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 1;girdBagCon.gridy = 3;girdBag.setConstraints(sysMessage,girdBagCon);downPanel.add(sysMessage);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 2;girdBagCon.gridy = 3;girdBag.setConstraints(sysMessageButton,girdBagCon);downPanel.add(sysMessageButton);girdBagCon = new GridBagConstraints();girdBagCon.gridx = 0;girdBagCon.gridy = 4;girdBagCon.gridwidth = 3;girdBag.setConstraints(showStatus,girdBagCon);downPanel.add(showStatus);contentPane.add(messageScrollPane,BorderLayout.CENTER);contentPane.add(downPanel,BorderLayout.SOUTH);

      //關(guān)閉程序時的操作

      this.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){

      stopService();25

      }

      System.exit(0);

      } });/** * 事件處理 */ public void actionPerformed(ActionEvent e){ Object obj = e.getSource();if(obj == startServer || obj == startItem){ //啟動服務(wù)端

      startService();} else if(obj == stopServer || obj == stopItem){ //停止服務(wù)端

      int j=JOptionPane.showConfirmDialog(this,“真的停止服務(wù)嗎?”,“停止服務(wù)”,JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);

      if(j == JOptionPane.YES_OPTION){

      stopService();

      } } else if(obj == portSet || obj == portItem){ //端口設(shè)置

      //調(diào)出端口設(shè)置的對話框

      PortConf portConf = new PortConf(this);

      portConf.setVisible(true);} else if(obj == exitButton || obj == exitItem){ //退出程序

      int j=JOptionPane.showConfirmDialog(this,“真的要退出嗎?”,“退出”,JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);

      if(j == JOptionPane.YES_OPTION){

      stopService();

      System.exit(0);

      } } else if(obj == helpItem){ //菜單欄中的幫助

      //調(diào)出幫助對話框

      Help helpDialog = new Help(this);

      helpDialog.setVisible(true);} else if(obj == sysMessage || obj == sysMessageButton){ //發(fā)送系統(tǒng)消息

      sendSystemMessage();} } /** * 啟動服務(wù)端 */ public void startService(){ try{

      serverSocket = new ServerSocket(port,10);

      messageShow.append(“服務(wù)端已經(jīng)啟動,在”+port+“端口偵聽...n”);

      startServer.setEnabled(false);

      startItem.setEnabled(false);

      portSet.setEnabled(false);

      portItem.setEnabled(false);

      stopServer.setEnabled(true);

      stopItem.setEnabled(true);

      sysMessage.setEnabled(true);} catch(Exception e){

      //System.out.println(e);} userLinkList = new UserLinkList();

      listenThread = new ServerListen(serverSocket,combobox,messageShow,showStatus,userLinkList);listenThread.start();} /** * 關(guān)閉服務(wù)端 */ public void stopService(){ try{

      //向所有人發(fā)送服務(wù)器關(guān)閉的消息

      sendStopToAll();

      listenThread.isStop = true;

      serverSocket.close();

      int count = userLinkList.getCount();

      int i =0;27

      while(i < count){ Node node = userLinkList.findUser(i);

      node.input.close();node.output.close();node.socket.close();

      i ++;} stopServer.setEnabled(false);stopItem.setEnabled(false);startServer.setEnabled(true);startItem.setEnabled(true);portSet.setEnabled(true);portItem.setEnabled(true);sysMessage.setEnabled(false);messageShow.append(“服務(wù)端已經(jīng)關(guān)閉n”);

      combobox.removeAllItems();

      combobox.addItem(“所有人”);} catch(Exception e){

      //System.out.println(e);} } /** * 向所有人發(fā)送服務(wù)器關(guān)閉的消息 */ public void sendStopToAll(){ int count = userLinkList.getCount();

      int i = 0;while(i < count){

      Node node = userLinkList.findUser(i);

      if(node == null){

      i ++;

      continue;

      }

      try{

      node.output.writeObject(“服務(wù)關(guān)閉”);28

      node.output.flush();

      }

      catch(Exception e){

      //System.out.println(“$$$”+e);

      }

      i++;} } /** * 向所有人發(fā)送消息 */ public void sendMsgToAll(String msg){ int count = userLinkList.getCount();//用戶總數(shù)

      int i = 0;while(i < count){

      Node node = userLinkList.findUser(i);

      if(node == null){

      i ++;

      continue;

      }

      try{

      node.output.writeObject(“系統(tǒng)信息”);

      node.output.flush();

      node.output.writeObject(msg);

      node.output.flush();

      }

      catch(Exception e){

      //System.out.println(“@@@”+e);

      }

      i++;} sysMessage.setText(“");} /** * 向客戶端用戶發(fā)送消息 */ public void sendSystemMessage(){ 29

      } String toSomebody = combobox.getSelectedItem().toString();String message = sysMessage.getText()+ ”n“;

      messageShow.append(message);

      //向所有人發(fā)送消息

      if(toSomebody.equalsIgnoreCase(”所有人“)){ sendMsgToAll(message);} else{ //向某個用戶發(fā)送消息

      Node node = userLinkList.findUser(toSomebody);

      try{

      node.output.writeObject(”系統(tǒng)信息“);

      node.output.flush();

      node.output.writeObject(message);

      node.output.flush();} catch(Exception e){

      //System.out.println(”!!“+e);} sysMessage.setText(”“);//將發(fā)送消息欄的消息清空 } public static void main(String[] args){ try {

      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(ClassNotFoundException e){

      // TODO Auto-generated catch block

      e.printStackTrace();} catch(InstantiationException e){

      // TODO Auto-generated catch block

      e.printStackTrace();} catch(IllegalAccessException e){

      // TODO Auto-generated catch block

      e.printStackTrace();} catch(UnsupportedLookAndFeelException e){

      // TODO Auto-generated catch block

      e.printStackTrace();} new ChatServer();} 30

      }

      2、ServerListen類

      功能:實現(xiàn)服務(wù)器用戶上線與下線的監(jiān)聽。該類對用戶上線下線的監(jiān)聽是通過調(diào)用用戶鏈表類(UserLinkList)來實現(xiàn)的。當用戶上線與下線情況發(fā)生變化時,該類會對主類的界面進行相應(yīng)的修改。

      代碼:

      package server;

      import javax.swing.*;import java.io.*;import java.net.*;/* * 服務(wù)端的偵聽類 */ public class ServerListen extends Thread { ServerSocket server;

      JComboBox combobox;JTextArea textarea;JTextField textfield;UserLinkList userLinkList;//用戶鏈表

      Node client;ServerReceive recvThread;

      public boolean isStop;

      /* * 聊天服務(wù)端的用戶上線于下線偵聽類

      */ public ServerListen(ServerSocket server,JComboBox combobox,JTextArea textarea,JTextField textfield,UserLinkList userLinkList){

      this.server = server;

      this.combobox = combobox;

      this.textarea = textarea;

      this.textfield = textfield;

      this.userLinkList = userLinkList;

      isStop = false;}

      public void run(){

      while(!isStop &&!server.isClosed()){

      try{

      client = new Node();

      client.socket = server.accept();

      client.output = new ObjectOutputStream(client.socket.getOutputStream());

      client.output.flush();

      client.input = new ObjectInputStream(client.socket.getInputStream());

      client.username =(String)client.input.readObject();

      //顯示提示信息

      combobox.addItem(client.username);

      userLinkList.addUser(client);

      textarea.append(”用戶 “ + client.username + ” 上線“ + ”n“);

      textfield.setText(”在線用戶“ + userLinkList.getCount()+ ”人n“);

      recvThread = new ServerReceive(textarea,textfield,combobox,client,userLinkList);

      recvThread.start();

      }

      catch(Exception e){

      }

      } } }

      3、ServerReceive類

      功能:實現(xiàn)服務(wù)器消息收發(fā)的類,該類分別定義了向某用戶及所有人發(fā)送消息的方法,發(fā)送的消息會顯示在主界面類的街面上。

      代碼:

      package server;

      import javax.swing.*;/* * 服務(wù)器收發(fā)消息的類 */ public class ServerReceive extends Thread { JTextArea textarea;JTextField textfield;JComboBox combobox;

      Node client;UserLinkList userLinkList;//用戶鏈表

      public boolean isStop;

      public ServerReceive(JTextArea textarea,JTextField textfield, JComboBox combobox,Node client,UserLinkList userLinkList){ this.textarea = textarea;this.textfield = textfield;this.client = client;this.userLinkList = userLinkList;this.combobox = combobox;

      isStop = false;}

      public void run(){ //向所有人發(fā)送用戶的列表

      sendUserList();

      while(!isStop &&!client.socket.isClosed()){

      try{

      String type =(String)client.input.readObject();

      if(type.equalsIgnoreCase(”聊天信息“)){

      String toSomebody =(String)client.input.readObject();

      String status =(String)client.input.readObject();

      String action =(String)client.input.readObject();

      String message =(String)client.input.readObject();

      String msg = client.username

      +” “+ action

      + ”對 “

      + toSomebody

      + ” 說 : “

      + message

      + ”n“;

      if(status.equalsIgnoreCase(”悄悄話“)){

      msg = ” [悄悄話] “ + msg;

      }

      textarea.append(msg);

      if(toSomebody.equalsIgnoreCase(”所有人“)){ 33

      sendToAll(msg);//向所有人發(fā)送消息

      } else{

      try{

      client.output.writeObject(”聊天信息“);

      client.output.flush();

      client.output.writeObject(msg);

      client.output.flush();

      }

      catch(Exception e){

      //System.out.println(”###“+e);

      }

      Node node = userLinkList.findUser(toSomebody);

      if(node!= null){

      node.output.writeObject(”聊天信息“);

      node.output.flush();

      node.output.writeObject(msg);

      node.output.flush();

      } } } else if(type.equalsIgnoreCase(”用戶下線“)){ Node node = userLinkList.findUser(client.username);userLinkList.delUser(node);

      String msg = ”用戶 “ + client.username + ” 下線n“;int count = userLinkList.getCount();

      combobox.removeAllItems();combobox.addItem(”所有人“);int i = 0;while(i < count){ node = userLinkList.findUser(i);if(node == null){

      i ++;

      continue;} combobox.addItem(node.username);i++;} combobox.setSelectedIndex(0);34

      textarea.append(msg);

      textfield.setText(”在線用戶“ + userLinkList.getCount()+ ”人n“);

      sendToAll(msg);//向所有人發(fā)送消息

      sendUserList();//重新發(fā)送用戶列表,刷新

      break;

      }

      }

      catch(Exception e){

      //System.out.println(e);

      } } } /* * 向所有人發(fā)送消息 */ public void sendToAll(String msg){ int count = userLinkList.getCount();

      int i = 0;while(i < count){

      Node node = userLinkList.findUser(i);

      if(node == null){

      i ++;

      continue;

      }

      try{

      node.output.writeObject(”聊天信息“);

      node.output.flush();

      node.output.writeObject(msg);

      node.output.flush();

      }

      catch(Exception e){

      //System.out.println(e);

      }

      i++;} }

      } /* * 向所有人發(fā)送用戶的列表 */ public void sendUserList(){ String userlist = ”“;int count = userLinkList.getCount();

      } int i = 0;while(i < count){ Node node = userLinkList.findUser(i);if(node == null){

      i ++;

      continue;}

      userlist += node.username;userlist += 'n';i++;}

      i = 0;while(i < count){ Node node = userLinkList.findUser(i);if(node == null){

      i ++;

      continue;}

      try{

      node.output.writeObject(”用戶列表“);

      node.output.flush();

      node.output.writeObject(userlist);

      node.output.flush();} catch(Exception e){

      //System.out.println(e);} i++;}

      4、UserLinkList類

      功能:用戶鏈表節(jié)點的具體實現(xiàn)類。該類通過構(gòu)造函數(shù)構(gòu)造用戶鏈表,定義了添加

      用戶、刪除用戶、返回用戶數(shù)、根據(jù)用戶名查找用戶、根據(jù)索引查找用戶這5個方法。

      代碼:

      package server;/** * 用戶鏈表 */ public class UserLinkList { Node root;Node pointer;int count;

      /** * 構(gòu)造用戶鏈表

      */ public UserLinkList(){

      root = new Node();

      root.next = null;

      pointer = null;

      count = 0;}

      /** * 添加用戶

      */ public void addUser(Node n){

      pointer = root;

      while(pointer.next!= null){

      pointer = pointer.next;

      }

      pointer.next = n;

      n.next = null;

      count++;

      }

      /** * 刪除用戶

      */ public void delUser(Node n){

      pointer = root;

      while(pointer.next!= null){

      if(pointer.next == n){

      pointer.next = n.next;

      count--;

      break;

      }

      pointer = pointer.next;} } /** * 返回用戶數(shù) */ public int getCount(){ return count;} /** * 根據(jù)用戶名查找用戶 */ public Node findUser(String username){ if(count == 0)return null;

      pointer = root;

      while(pointer.next!= null){

      pointer = pointer.next;

      if(pointer.username.equalsIgnoreCase(username)){

      return pointer;

      } }

      return null;} /** * 根據(jù)索引查找用戶 */ public Node findUser(int index){ if(count == 0){

      return null;38

      }

      } }

      if(index < 0){ return null;}

      pointer = root;

      int i = 0;while(i < index + 1){ if(pointer.next!= null){

      pointer = pointer.next;} else{

      return null;}

      i++;}

      return pointer;

      5、Node類

      功能:用戶鏈表的節(jié)點類,定義了鏈表中的用戶。該類與前面所講的鏈表節(jié)點Node類的功能相當。

      代碼:

      package server;

      import java.net.*;import java.io.*;/** * 用戶鏈表的結(jié)點類 */ public class Node { String username = null;Socket socket = null;ObjectOutputStream output = null;ObjectInputStream input = null;

      Node next = null;39

      }

      6、PortConf類

      功能:該類繼承自Jdialog,是用戶對服務(wù)器端監(jiān)聽端口進行修改配置的類。代碼:

      package server;

      import java.awt.*;import javax.swing.*;import java.awt.event.*;/** * 生成端口設(shè)置對話框的類 */ public class PortConf extends JDialog { /** * */ private static final long serialVersionUID = 1L;JPanel panelPort = new JPanel();JButton save = new JButton();JButton cancel = new JButton();public static JLabel DLGINFO=new JLabel(” 默認端口號為:8888“);

      JPanel panelSave = new JPanel();JLabel message = new JLabel();

      public static JTextField portNumber;

      public PortConf(JFrame frame){

      super(frame, true);

      try {

      jbInit();

      }

      catch(Exception e){

      e.printStackTrace();

      }

      //設(shè)置運行位置,使對話框居中

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

      this.setLocation((int)(screenSize.width600)/ 2 + 150);

      this.setResizable(false);40

      }

      private void jbInit()throws Exception {

      this.setSize(new Dimension(300, 120));

      this.setTitle(”端口設(shè)置“);

      message.setText(”請輸入偵聽的端口號:“);

      portNumber = new JTextField(10);

      portNumber.setText(”“+ChatServer.port);

      save.setText(”保存“);

      cancel.setText(”取消“);

      panelPort.setLayout(new FlowLayout());

      panelPort.add(message);

      panelPort.add(portNumber);

      panelSave.add(new Label(” “));

      panelSave.add(save);

      panelSave.add(cancel);

      panelSave.add(new Label(” “));

      Container contentPane = getContentPane();

      contentPane.setLayout(new BorderLayout());

      contentPane.add(panelPort, BorderLayout.NORTH);

      contentPane.add(DLGINFO, BorderLayout.CENTER);

      contentPane.add(panelSave, BorderLayout.SOUTH);

      //保存按鈕的事件處理

      save.addActionListener(new ActionListener(){

      public void actionPerformed(ActionEvent a){

      int savePort;

      try{

      savePort=Integer.parseInt(PortConf.portNumber.getText());

      if(savePort<1 || savePort>65535){

      PortConf.DLGINFO.setText(” 偵聽端口必須是0-65535之間的整數(shù)!“);

      PortConf.portNumber.setText(”“);

      return;

      }

      ChatServer.port = savePort;

      dispose();

      } 41

      catch(NumberFormatException e){

      PortConf.DLGINFO.setText(” 錯誤的端口號,端口號請?zhí)顚懻麛?shù)!“);

      PortConf.portNumber.setText(”“);

      return;

      }

      }

      });

      //關(guān)閉對話框時的操作

      this.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){

      DLGINFO.setText(”

      為:8888“);

      }

      });

      //取消按鈕的事件處理

      cancel.addActionListener(new ActionListener(){

      public void actionPerformed(ActionEvent e){

      DLGINFO.setText(”

      為:8888“);

      dispose();

      }

      });} }

      7、Help類

      功能:服務(wù)端程序幫助類。代碼:

      package server;

      import java.awt.*;import javax.swing.*;import java.awt.event.*;/** 42

      默認端口號默認端口號

      * 生成設(shè)置對話框的類 */ public class Help extends JDialog {

      /** * */ private static final long serialVersionUID = 1L;JPanel titlePanel = new JPanel();JPanel contentPanel = new JPanel();JPanel closePanel = new JPanel();

      JButton close = new JButton();JLabel title = new JLabel(”聊天室服務(wù)端幫助“);JTextArea help = new JTextArea();

      Color bg = new Color(255,255,255);

      public Help(JFrame frame){

      super(frame, true);

      try {

      jbInit();

      }

      catch(Exception e){

      e.printStackTrace();

      }

      //設(shè)置運行位置,使對話框居中

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

      this.setLocation((int)(screenSize.width320)/ 2);

      this.setResizable(false);}

      private void jbInit()throws Exception {

      this.setSize(new Dimension(400, 200));

      this.setTitle(”幫助“);

      titlePanel.setBackground(bg);;

      contentPanel.setBackground(bg);

      closePanel.setBackground(bg);

      help.setText(”

      1、設(shè)置服務(wù)端的偵聽端口(默認端口為8888)。n“+

      2、點擊 啟動服務(wù) 按鈕便可在指定的端口啟動服務(wù)。n“+

      3、選擇需要接受消息的用戶,在消息欄中寫入消息,之后便可發(fā)送消息。n“+ 43

      }

      } ”

      4、信息狀態(tài)欄中顯示服務(wù)器當前的啟動與停止狀態(tài)、“+ ”用戶發(fā)送的消息和n 服務(wù)器端發(fā)送的系統(tǒng)消息?!?;help.setEditable(false);titlePanel.add(new Label(” “));titlePanel.add(title);titlePanel.add(new Label(” “));contentPanel.add(help);closePanel.add(new Label(” “));closePanel.add(close);closePanel.add(new Label(” “));Container contentPane = getContentPane();contentPane.setLayout(new BorderLayout());contentPane.add(titlePanel, BorderLayout.NORTH);contentPane.add(contentPanel, BorderLayout.CENTER);contentPane.add(closePanel, BorderLayout.SOUTH);close.setText(”關(guān)閉“);//事件處理

      close.addActionListener(new ActionListener(){

      public void actionPerformed(ActionEvent e){

      dispose();

      } });

      8、ChatClient類

      功能:定義客戶端的界面,添加時間監(jiān)聽與事件處理。該類定義了Connect()與DisConnect()方法實現(xiàn)與客戶端的連接與斷開連接。當?shù)顷懙街付ǖ姆?wù)器時,調(diào)用ClientReceive類實現(xiàn)消息收發(fā),同時該類還定義了SendMessaga()方法來其他用戶發(fā)送帶有表情的消息或悄悄話。

      代碼:

      package client;

      import java.awt.*;import java.awt.event.*;import javax.swing.*;

      import java.io.*;import java.net.*;/* * 聊天客戶端的主框架類 */ public class ChatClient extends JFrame implements ActionListener{

      /** * */ private static final long serialVersionUID = 1L;String ip = ”127.0.0.1“;//連接到服務(wù)端的ip地址

      int port = 8888;//連接到服務(wù)端的端口號

      String userName = ”匆匆過客“;//用戶名

      int type = 0;//0表示未連接,1表示已連接

      JComboBox combobox;//選擇發(fā)送消息的接受者

      JTextArea messageShow;//客戶端的信息顯示

      JScrollPane messageScrollPane;//信息顯示的滾動條

      JLabel express,sendToLabel,messageLabel;

      JTextField clientMessage;//客戶端消息的發(fā)送

      JCheckBox checkbox;//悄悄話

      JComboBox actionlist;//表情選擇

      JButton clientMessageButton;//發(fā)送消息

      JTextField showStatus;//顯示用戶連接狀態(tài)

      Socket socket;ObjectOutputStream output;//網(wǎng)絡(luò)套接字輸出流

      ObjectInputStream input;//網(wǎng)絡(luò)套接字輸入流

      ClientReceive recvThread;

      //建立菜單欄

      JMenuBar jMenuBar = new JMenuBar();//建立菜單組

      JMenu operateMenu = new JMenu(”操作(O)“);//建立菜單項

      JMenuItem loginItem = new JMenuItem(”用戶登錄(I)“);JMenuItem logoffItem = new JMenuItem(”用戶注銷(L)“);JMenuItem exitItem=new JMenuItem(”退出(X)“);

      JMenu conMenu=new JMenu(”設(shè)置(C)“);JMenuItem userItem=new JMenuItem(”用戶設(shè)置(U)“);JMenuItem connectItem=new JMenuItem(”連接設(shè)置(C)“);

      JMenu helpMenu=new JMenu(”幫助(H)“);JMenuItem helpItem=new JMenuItem(”幫助(H)“);//建立工具欄

      JToolBar toolBar = new JToolBar();//建立工具欄中的按鈕組件

      JButton loginButton;//用戶登錄 JButton logoffButton;//用戶注銷 JButton userButton;//用戶信息的設(shè)置 JButton connectButton;//連接設(shè)置 JButton exitButton;//退出按鈕

      //框架的大小

      Dimension faceSize = new Dimension(400, 600);JPanel downPanel;GridBagLayout girdBag;GridBagConstraints girdBagCon;

      public ChatClient(){ init();//初始化程序

      //添加框架的關(guān)閉事件處理

      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.pack();//設(shè)置框架的大小

      this.setSize(faceSize);//設(shè)置運行時窗口的位置

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.widthfaceSize.getHeight())/ 2);this.setResizable(false);this.setTitle(”聊天室客戶端");//設(shè)置標題 setVisible(true);//為操作菜單欄設(shè)置熱鍵'V' operateMenu.setMnemonic('O');46

      第三篇:課程設(shè)計之法蘭盤夾具設(shè)計

      畢 業(yè) 設(shè) 計

      設(shè)計題目 設(shè)計法蘭盤零件的加工工藝

      及鉆7-Φ9孔的鉆床夾具

      班 級 檢測121 設(shè)計人員 曾雄、張純、張子揚、朱雄波 指導(dǎo)老師 蔣帥

      完成日期 2014 年 12 月 20 日

      目 錄

      設(shè)計任務(wù)書 …............................................................................1 畢業(yè)設(shè)計說明書正文…..............................................................2

      一、序言..............................................1 1.1 夾具的現(xiàn)狀及生產(chǎn)對其提出新的要求..............1 1.2 現(xiàn)代夾具的發(fā)展方向............................2

      二、零件的分析........................................4 2.1零件的作用.....................................4 2.2零件的工藝分析.................................4

      三、工藝規(guī)程設(shè)計......................................5 3.1 確定毛坯的制造形式............................5 3.2 基面的選擇....................................5 3.3 制定工藝路線..................................6 3.4 機械加工余量,工序尺寸及毛坯尺寸的確定........9 3.5 確定切削用量及基本尺寸.......................10

      四、夾具設(shè)計.........................................12 4.1問題的提出....................................12 4.2定位基準的選擇................................13 4.3切削力及夾緊力計算............................14 4.4定位誤差分析..................................15 4.5夾具設(shè)計及操作簡要說明........................16 總結(jié).................................................19 致謝.................................................22 參考文獻.............................................23

      摘 要

      本次設(shè)計了一套法蘭盤的專用夾具設(shè)計。經(jīng)過查閱資料,首先要對零件進行工藝分析,經(jīng)過工藝分析,對工序進行對比,通過選定某一工序設(shè)計專用夾具,選擇定位基準、定位方法和定位元件,進行定位誤差分析。在文檔中第一部分,主要敘述了專用夾具設(shè)計基本要求和特點,對零件的工藝分析,完成了工藝方案的確定。第二部分,對夾具設(shè)計,對夾具設(shè)計計算。最后對主要零部件的設(shè)計和標準件的選擇,以及為裝配圖各尺寸提供依據(jù)。通過前面的設(shè)計方案畫出模具各零件圖和裝配圖。

      本次設(shè)計闡述了專用夾具結(jié)構(gòu)設(shè)計及工作過程。本夾具性能可靠,運行平穩(wěn),提高生產(chǎn)效率,降低勞動強度和生產(chǎn)成本。

      關(guān)鍵字:夾具設(shè)計;基本要求;工藝分析;

      一、序 言

      夾具最早出現(xiàn)在1787年,至今經(jīng)歷了三個發(fā)展階段。第一階段表現(xiàn)為夾具與人的結(jié)合。在工業(yè)發(fā)展初期。機械制造的精度較低,機械產(chǎn)品工件的制造質(zhì)量主要依賴勞動者個人的經(jīng)驗和手藝,而夾具僅僅作為加工工藝過程中的一種輔助工具;第二階段是隨著機床、汽車、飛機等制造業(yè)的發(fā)展,夾具的門類才逐步發(fā)展齊全。夾具的定位、夾緊、導(dǎo)向(或?qū)Φ叮┰慕Y(jié)構(gòu)也日趨完善,逐漸發(fā)展成為系統(tǒng)的主要工藝裝備之一;第三階段,即近代由于世界科學(xué)技術(shù)的進步及社會生產(chǎn)力的迅速提高,夾具在系統(tǒng)中占據(jù)相當重要的地位。這一階段的主要特征表現(xiàn)為夾具與機床的緊密結(jié)合。

      1.1夾具的現(xiàn)狀及生產(chǎn)對其提出新的要求

      現(xiàn)代生產(chǎn)要求企業(yè)制造的產(chǎn)品品種經(jīng)常更新?lián)Q代,以適應(yīng)市場激烈競爭,企業(yè)中多品種生產(chǎn)的工件已占工件種類數(shù)的85%左右。然而目前,一般企業(yè)習(xí)慣與采用傳統(tǒng)的專用夾具,在一個具有大批量生產(chǎn)的能力工廠中約擁有13000~15000套專用夾具。另一方面,在多品種生產(chǎn)的企業(yè)中,約隔4年就要更新80%左右的專用夾具,而夾具的實際磨損量只有15%左右,特別最近年來柔性制造系統(tǒng)(FMS)、數(shù)控機床(NC),加工中心(MC)和成組加工(GT)等新技術(shù)被應(yīng)用和推廣,使中小批生產(chǎn)的生產(chǎn)率逐步趨近于大批量生產(chǎn)的水平。

      綜上所述,現(xiàn)代生產(chǎn)對夾具提出了如下新的要求: 1.能迅速方便地裝備新產(chǎn)品的投產(chǎn)以縮短生產(chǎn)準備周期 2.能裝夾一組相似性特征的工件 3.適用于精密加工的高精度的機床 4.適用于各種現(xiàn)代化制造技術(shù)的新型技術(shù)

      5.采用液壓汞站等為動力源的高效夾緊裝置,進一步提高勞動生產(chǎn)率

      1.2現(xiàn)代夾具的發(fā)展方向

      現(xiàn)代夾具的發(fā)展方向表現(xiàn)為精密化、高效化、柔性化、標準化等四個方面: 1.精密化

      隨著機械產(chǎn)品精度的日益提高,勢必也相應(yīng)提高對其精度要求。精密化夾具的結(jié)構(gòu)類型很多,例如用于精密分度的多齒盤,其分度可達正負0.1,用于精密車削的高精度三爪卡盤,其定心精度為5um,又如用于軸承套圈磨削的電磁無心夾具,工件的圓讀可達0.2~0.5um。2.高效化

      高效化夾具主要用來減少工件加工的機動時的和輔助時的,以提高勞動生產(chǎn)率,減少工人勞動強度,常見的高效化夾具有:自動化夾具、告訴化夾具、具有夾緊動力模塊的夾具等。例如使用電動虎鉗裝夾工件,可使工件效率比普通虎鉗提高了5倍左右;而高速卡盤則可保證卡爪在轉(zhuǎn)速9000r/min的條件下能正常夾緊工件,使切削速度大幅度提高。3.柔性化

      夾具的柔性化與機床的柔性化相似,它是通過調(diào)組合等方式,以適應(yīng)工藝可變因素的能力。工藝的可變因素主要有:工序特征、生產(chǎn)批量、工件的形狀和尺寸等,具有柔性化特征的新型夾具種類主要有:組合夾具、通用可調(diào)夾具、成組夾具、模塊夾具、數(shù)控夾具等,在較長時間內(nèi),夾具的柔性化趨向?qū)⑹菉A具發(fā)展的主要方向。4.標準化

      夾具的標準化與通用化是相互聯(lián)系的兩個方面,在制造典型夾具,結(jié)構(gòu)的基礎(chǔ)上,首先進行夾具元件和部件的通用化,建立典型尺寸系列或變型,以減少功能用途相近的夾具元件和不見的形成:舍棄一些功能低劣的結(jié)構(gòu),通用化方法包括:夾具、部件、元件、毛呸和材料的通用化夾具的標準化階段是通用化的深入并為工作圖的審查創(chuàng)造了良好的條件。目前,我國已有夾具零件、部件的國家標準:GB2148~2249-80,GB2262~2269-80以及通用夾具標準,組合夾具標準等。夾具的標準化也是夾具柔性化高效化的基礎(chǔ),作為發(fā)展趨勢,這類夾具的標準化,有利于夾具的專業(yè)化生產(chǎn)和有利于縮短生產(chǎn)準備周期,降低生產(chǎn)總成本。

      二、零 件 的 分 析

      2.1零件的作用

      題目所給定的零件是法蘭盤,法蘭盤起聯(lián)接作用是車床上的重要零件。零件上精度要求較高的兩個平面用以裝配。

      圖1

      2.2零件的工藝分析

      法蘭盤是一回轉(zhuǎn)體零件,有一組加工表面,這一組加工表面以Φ38,Φ50,Φ62為中心 ,包括:兩個左右端面,端面上面的7-Φ9和7-Φ15的階梯孔.和M12孔和斜孔Φ6孔, 以及退刀槽。

      這組加工表面是以右端面為中心,其余加工面都與它有位置關(guān)系,可以先加工它的一個端面,再借助專用夾具以這個端面為定位基準加工另一端面,然后再加工其它加工表面.2.3工藝規(guī)程設(shè)計

      2.1確定毛配的制造形式

      零件材料為HT200,由于該零件是中批生產(chǎn),而且零件輪廓尺寸不大,故采用金屬模鑄造,法蘭盤因毛坯比較簡單,采用鑄造毛坯時一般是成隊鑄造,再進行機械加工。這從提高生產(chǎn)率,保證加工精度上考慮也是應(yīng)該的。

      工藝路線方案

      工序1 選擇鑄造毛坯 工序2 時效處理

      工序3 夾工件左端面,Φ55*14外端圓,粗車右端面Φ87*42外圓端面,粗車右端面至72 工序4 夾工件右端面,Φ85*43外圓端面,粗車左端面外圓Φ52*13,粗車左端面至70 工序5 夾工件左外圓端面,加工內(nèi)控,Φ35*22.5,粗車Φ48*47.5,粗車Φ60*38.5 工序6 夾工件左外圓端面,半精加工內(nèi)孔Φ37*22.5,半精車Φ48*47.5半精車Φ61*38.5 工序7 夾工件左外圓端面,精加工內(nèi)孔Φ38*22.5 精加工Φ50*47.5 精加工Φ62*38.5內(nèi)孔

      工序8 夾工件左外圓端面,倒Φ50*47.5處外圓角R=3,加工Φ62*38.5和Φ62*4兩處內(nèi)槽Φ65*3 工序9 半精車右端面外圓Φ86,精車至Φ85,精車右端面至Φ69.5 工序10 夾工件右端面,倒內(nèi)孔Φ38圓角,半精車外圓Φ50.5*12.5精車至Φ50*12.5,精車右端面至69 工序11 半精車,精車3*1退刀槽 工序12 精鉆7*Φ9內(nèi)孔

      工序13 在7*Φ9內(nèi)孔基礎(chǔ)上锪孔7*Φ15 工序14 鉆M12螺紋孔 工序15 鉆Φ6斜孔

      工序16 精銑工件表面達尺寸要求 工序17 去毛刺 工序18 檢驗 工序19 入庫

      2.4機械加工余量、工序尺寸及毛坯尺寸的確定 “法蘭盤”零件材料為HT200,毛坯重量約為1.4kg,生產(chǎn)類型為中批生產(chǎn),采用鑄造毛坯。

      根據(jù)上述原始資料及加工工藝,分別確定各加工表面的機械加工余量,工序及毛坯尺寸如下:

      “法蘭盤”零件材料為HT200,硬度190HBS,毛坯重量約為2.8KG,生產(chǎn)類型為中批生產(chǎn),采用鑄造毛坯。2.2基面的選擇

      基面選擇是工藝規(guī)程設(shè)計中的重要工作之一。基面選擇得正確與合理,可以使加工質(zhì)量得到保證,生產(chǎn)率得以提高。否則,加工工藝過程中會問題百出,更有甚著,還會造成零件大批報廢,使生產(chǎn)無法正常進行。1)粗基準的選擇

      選擇粗基準主要是選擇第一道機械加工工序的定位基準,以便為后續(xù)的工序提供精基準。選擇粗基準的出發(fā)點是:一要考慮如何分配各加工表面的余量:二要考慮怎樣保證不加工面與加工面間的尺寸及相互位置要求。這兩個要求常常是不能兼顧的,但對于一般的軸類零件來說,以外圓作為粗基準是完全合理的。對本零件而言,由于每個表面都要求加工,為保證各表面都有足夠的余量,應(yīng)選加工余量最小的面為粗基準(這就是粗基準選擇原則里的余量足夠原則)現(xiàn)選取Φ45外圓柱面和端面作為粗基準。在車床上用帶有子口的三爪卡盤夾住工件,消除工件的六個自由度,達到完全定位。2)精基準的選擇

      主要應(yīng)該考慮基準重合的問題。當設(shè)計基準與工序基準不重合時,應(yīng)該進行尺寸換算。2.3制定工藝路線

      制定工藝路線的出發(fā)點,應(yīng)當是使零件的幾何形狀,尺寸精度及位置精度等技術(shù)要求能得到合理的保證。在生產(chǎn)綱領(lǐng)一確定為中批生產(chǎn)的條件下,可以考慮采用通用性的機床配以專用工夾具,并盡量使工序集中來提高生產(chǎn)率。除此以外,還應(yīng)當考慮經(jīng)濟效果,以便使生產(chǎn)成本盡量下降。

      三、夾具設(shè)計

      為了提高勞動生產(chǎn)率,保證加工質(zhì)量,降低勞動強度,需要設(shè)計專用夾具。經(jīng)過與指導(dǎo)老師協(xié)商,本夾具將用于Z5125立鉆床,設(shè)計在第10工序—鉆4×φ9的孔的鉆床夾具。此道工序主要考慮的是如何提高勞動生產(chǎn)率,降低勞動強度。

      4.1 問題的提出

      本夾具主要用于鉆7-Φ9孔,精度要求不高,為此,只考慮如何提高生產(chǎn)效率上,精度則不予考慮。因為M12螺紋孔和Φ62K7中心孔有垂直度要求,因此我們要以已加工的Φ62K7孔為定位基準。采用蓋板式鉆模板加工,用固定套定位,另外用一擋銷,即可實現(xiàn)完全定位。

      4.2 定位基準的選擇

      擬定加工路線的第一步是選擇定位基準。定位基準的選擇必須合理,否則將直接影響所制定的零件加工工藝規(guī)程和最終加工出的零件質(zhì)量?;鶞蔬x擇不當往往會增加工序或使工藝路線不合理,或是使夾具設(shè)計更加困難甚至達不到零件的加工精度(特別是位置精度)要求。因此我們應(yīng)該根據(jù)零件圖的技術(shù)要求,從保證零件的加工精度要求出發(fā),合理選擇定位基準。此零件圖沒有較高的技術(shù)要求,也沒有較高的平行度和對稱度要求,所以我們應(yīng)考慮如何提高勞動效率,降低勞動強度,提高加工精度。Φ62的孔已加工好,為了使定位誤差減小,選擇已加工好的Φ62孔和其端面作為定位基準,來設(shè)計本道工序的夾具,以兩銷和已加工好的Φ62孔及其端面作為定位夾具。為了提高加工效率,縮短輔助時間,決定用簡單的螺母作為夾緊機構(gòu)。4.3切削力和夾緊力的計算

      由于本道工序主要完成工藝孔的鉆孔加工,鉆削力。由《切削手冊》得: 鉆削力 F?26Df0.8HB0.6 式(5-2)

      鉆削力矩 T?10D1.9f0.8HB0.6 式(5-3)

      11式中:D?9mm HB?HBmax??HBmax?HBmin??187??187?149??174

      f?0.20mm?r?1代入公式(5-2)和(5-3)得

      F?26x9x0.200.8x1740.6?1863N

      T?10x919x0.200.8x1740.6?47127N.m

      本道工序加工工藝孔時,夾緊力方向與鉆削力方向相同。因此進行夾緊立計算無太大意義。只需定位夾緊部件的銷釘強度、剛度適當即能滿足加工要求。

      4.4定位誤差分析

      本工序選用的工件以圓孔在定位銷上定位,定位銷為水平放置,由于定位副間存在徑向間隙,因此必將引起徑向基準位移誤差。在重力作用下定位副只存在單邊間隙,即工件始終以孔壁與心軸上母線接觸,故此時的徑向基準位移誤差僅存在Z軸方向,且向下,見下圖。夾具的主要定位元件為浮動支撐板和定位銷。支撐板的定位表面與夾具體底面平行度誤差不超過0.05;定位銷選取標準件,夾具體上裝定位銷銷孔的軸線與夾具體底面的垂直度誤差不超過0.05。夾具的主要定位元件為長定位銷限制了4個自由度,另一端面限制1個自由度,繞軸線旋轉(zhuǎn)方向的自由度無須限制。因零件對形位公差及尺寸公差均要求不高,且各定位件均采用標準件,故定位誤差在此可忽略。

      ?Yz???TD?Td2?0.014?0.022?0.034?0.070

      式中 ?——定位副間的最小配合間隙(mm);

      TD——工件圓孔直徑公差(mm);

      Td——定

      (mm)。

      定位銷水平放置時定位分析圖 圖2 4.5鉆削力的計算:

      PX?419DS0.8kp

      刀具選用高速鋼材料

      查《機床夾具設(shè)計手冊》表1-2-8 ?HB?k??p?190??0.6200?1900.6?1.03

      D?8.4、S1?0.25、S2?0.125

      px1?419DS0.8kp?419?8.4?0.250.8?1.03?1195.8Npx2?419DS0.8kp?419?9?0.1250.8?1.03?735.9N

      在計算切削力時,要考慮安全系數(shù),安全系數(shù)K=K1K2K3K4 式中 K1——基本安全系數(shù),K1=1.5 K2 —— 加工性質(zhì)系數(shù),K2=1.1 K3 —— 刀具鈍化系數(shù),K3=1.1 K4 —— 斷續(xù)切削系數(shù), K4=1.1 于是 F1=KPx1=1.5×1.1×1.1×1.1×1195.8N=2387N 4.6夾緊力計算:

      氣缸選用φ100mm,當壓縮空氣單位壓力為p=0.4MPa時,氣缸推力為3900N。

      因此N氣已大于所需的2387N的夾緊力,故本夾具可安全工作。

      4.7 夾具設(shè)計及操作簡要說明

      如前所述,在設(shè)計夾具時,應(yīng)該注意提高勞動生產(chǎn)率避免干涉。應(yīng)使夾具結(jié)構(gòu)簡單,便于操作,降低成本。提高夾具性價比。本道工序為鉆床夾具選擇了螺母夾緊方式。我們采用蓋板式鉆模板,本工序為鉆切削余量小,切削力小,所以一般的手動夾緊就能達到本工序的要求。

      本夾具的最大優(yōu)點就是結(jié)構(gòu)簡單緊湊。夾具的夾緊力不大,故使用手動夾緊。為了提高生產(chǎn)力,使用快速螺旋夾緊機構(gòu)。

      圖3 3.6夾具結(jié)構(gòu)設(shè)計及操作簡要說明

      3.6.1 底座 底座使用HT200的鑄造成型,進行時效處理,消除內(nèi)應(yīng)力,具有較好的抗壓強度,剛度和抗振性。在四角有U型槽,與T型螺釘配合使用,將夾具固定在工作臺上。

      3.6.2 固定導(dǎo)向件

      固定導(dǎo)向件由45鋼的鋼板和型材焊接而成,退后處理,保證尺寸的穩(wěn)定性,且在裝配后修正尺寸,保證夾具的精度。焊接件制造方便,生產(chǎn)周期短,成本低。

      圖4 3.6.3 鉆套、襯套的選擇

      因為為中批量生產(chǎn),為了便于更換磨損的鉆套,所以選擇使用標準可換

      F7鉆套,材料為T10A。查機械手冊,鉆套與襯套之間采用配合,襯套與鉆模

      m6H7之間采用配合。當鉆套磨損一定后,可卸下螺釘,更換新的鉆套。螺釘能n6防止鉆套加工時轉(zhuǎn)動及退刀時脫出。

      圖5

      3.6.4夾緊機構(gòu)

      夾緊使用氣動推動移動軸,使工件上移,工件的φ90圓的上表面與導(dǎo)向件相接觸,并夾緊。由于工件所需的夾緊力并不大,所以直接夾緊未采用其他的機構(gòu)。

      圖6

      如前所述,在設(shè)計夾具時,為了提高勞動生產(chǎn)效率,應(yīng)首先著眼于機動夾緊方式。而且考慮到環(huán)保,所以選用氣動源夾緊。氣動反應(yīng)速度快,環(huán)保,但工作壓力小,所以氣缸體積大。本工序為鉆鉸加工,由于夾緊方向為垂直向上,要克服零件和移動軸所受重力,可以在適當?shù)奶岣邏嚎s空氣的工作壓力(由0.4MPa增至0.5MPa),以增加氣缸推力。

      裝配圖:

      圖7

      夾具體:

      圖8

      總 結(jié)

      課程設(shè)計是綜合性實踐環(huán)節(jié),目的是通過課題的設(shè)計研究,培養(yǎng)綜合運用各門課程知識的能力,培養(yǎng)獨立分析問題和解決問題的能力。但是,高職學(xué)生的畢業(yè)設(shè)計不能完全等同于本科生,應(yīng)密切與生產(chǎn)實際相結(jié)合,應(yīng)與培養(yǎng)職業(yè)能力相結(jié)合,應(yīng)體現(xiàn)職高的特點。通過本次持續(xù)三周的夾具設(shè)計,首先通過零件圖來確定加工余量,會毛坯圖,而后通過小組的合作分工計算切削余量,繪制工藝卡。通過繪制工藝卡片,確定每道工序的定位與夾緊方式,有老師分配任務(wù)進行夾具設(shè)計。整個過程中對以往所學(xué)的知識進行了回顧和復(fù)習(xí),同時也是一種查缺補漏的鞏固過程。通過老師的指導(dǎo),對很多設(shè)計過程遇到的問題進行了解決,也學(xué)到很多知識,獲益匪淺。

      在指導(dǎo)教師李老師安排和精心指導(dǎo)下,這次畢業(yè)設(shè)計從確定設(shè)計課題、擬定設(shè)計方案、設(shè)計過程都按照工作計劃進行。

      第一,確定課程設(shè)計課題。

      選好課程設(shè)計題目是實現(xiàn)畢業(yè)設(shè)計目標、保證畢業(yè)設(shè)計質(zhì)量的前提,我們的畢業(yè)設(shè)計的課題取自企業(yè)生產(chǎn)實際。這個課題能較全面地應(yīng)用學(xué)生所學(xué)專業(yè)知識或者將來工作所需的專業(yè)技術(shù),達到綜合運用的目的,既能夠解決企業(yè)急需解決的生產(chǎn)技術(shù)問題,又能夠培養(yǎng)學(xué)生的職業(yè)崗位能力,難度不是很大,符合我們高職專科生的專業(yè)理論知識水平和實際設(shè)計能力,工作量恰當,能夠在規(guī)定時間內(nèi)完成。

      第二,確定產(chǎn)品設(shè)計方案。

      明確課題的性質(zhì)、意義、設(shè)計內(nèi)容、設(shè)計要達到的技術(shù)經(jīng)濟指標和完成時間,并確定好正確合理的設(shè)計方案是完成設(shè)計任務(wù)的保證,指導(dǎo)教師、和同學(xué)一起參與設(shè)計方案的討論,使我對設(shè)計方案心中有數(shù)。

      第三,虛心求教,仔細認真地進行課程設(shè)計。

      我們高職學(xué)生基礎(chǔ)理論知識不夠扎實,設(shè)計能力較差,為了使我們很快地進入工作狀態(tài),指導(dǎo)教師耐心向我們介紹機械產(chǎn)品設(shè)計方法、一般步驟和設(shè)計過程中應(yīng)注意的事項。在設(shè)計中能主動請教指導(dǎo)老師,培養(yǎng)綜合運用機械制圖、工程材料與熱處理、公差配合、計算機繪圖、機械制造工藝等專業(yè)知識的能力,培養(yǎng)查閱技術(shù)資料和其它專業(yè)文獻的能力。培養(yǎng)嚴謹?shù)墓ぷ鲬B(tài)度和踏實的工作作風。明確必須有高度責任心、嚴肅認真的工作習(xí)慣,才能做好設(shè)計工作,減少工作失誤,避免給企業(yè)生產(chǎn)造成損失。充分發(fā)揮主觀能動性,積極思考,大膽創(chuàng)新。

      第四,完善設(shè)計 完整的設(shè)計包括設(shè)計圖紙和設(shè)計說明書等技術(shù)文件。根據(jù)設(shè)計任務(wù)書要求,全面檢查設(shè)計技術(shù)資料,按照指導(dǎo)教師的批改,認真修改圖紙錯誤,認真修改設(shè)計說明書.應(yīng)該說,在指導(dǎo)教師的認真指導(dǎo)下,我基本完成了這套夾具的設(shè)計工作,通過這次設(shè)計,學(xué)到了很多知識和技術(shù)。

      致 謝

      這次設(shè)計使我收益不小,為我今后的學(xué)習(xí)和工作打下了堅實和良好的基礎(chǔ)。但是,查閱資料尤其是在查閱切削用量手冊時,數(shù)據(jù)存在大量的重復(fù)和重疊,由于經(jīng)驗不足,在選取數(shù)據(jù)上存在一些問題,不過我的指導(dǎo)老師每次都很有耐心地幫我提出寶貴的意見,在我遇到難題時給我指明了方向,最終我很順利的完成了畢業(yè)設(shè)計。

      這次設(shè)計成績的取得,與指導(dǎo)老師的細心指導(dǎo)是分不開的。在此,我衷心感謝我的指導(dǎo)老師,特別是每次都放下他的休息時間,耐心地幫助我解決技術(shù)上的一些難題,他嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,他都始終給予我細心的指導(dǎo)和不懈的支持。多少個日日夜夜,他不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想、生活上給我以無微不至的關(guān)懷,除了敬佩指導(dǎo)老師的專業(yè)水平外,他的治學(xué)嚴謹和科學(xué)研究的精神也是我永遠學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。在此謹向指導(dǎo)老師致以誠摯的謝意和崇高的敬意。

      參 考 文 獻

      1.切削用量簡明手冊,艾興、肖詩綱主編,機械工業(yè)出版社出版,1994年 2.機械制造工藝設(shè)計簡明手冊,李益民主編,機械工業(yè)出版社出版,1994年 3.機床夾具設(shè)計,哈爾濱工業(yè)大學(xué)、上海工業(yè)大學(xué)主編,上??茖W(xué)技術(shù)出版社出版,1983年

      4.機床夾具設(shè)計手冊,東北重型機械學(xué)院、洛陽工學(xué)院、一汽制造廠職工大學(xué)編,上海科學(xué)技術(shù)出版社出版,1990年

      5.金屬機械加工工藝人員手冊,上??茖W(xué)技術(shù)出版社,1981年10月

      第四篇:課程設(shè)計之測量實習(xí)報告

      實習(xí)報告

      苦心經(jīng)營的十四天測量實習(xí)結(jié)束了,在這十四天,有風有雨也有晴,有苦有慮也有笑。詩曰:桃之夭夭,灼灼其實?;ㄩ_結(jié)下豐滿的果實,辛勤的實習(xí)也要產(chǎn)生他的累累果實。實習(xí)報告就是果實!

      可以說這次實習(xí)就是對我們整個學(xué)期以來本科目的一次大檢閱,但是我們誰都明白這次測量任務(wù)不輕,責任很重,誰也不敢掉以輕心。一周多以來,我們都堅守在自己的“陣地”,觀測、記錄、計算、描點......我們分工合作,力求更好更快地完成我們的任務(wù)。在整個測量過程中,我們遇到了不少的問題和疑難,也出現(xiàn)了不少的錯誤,對整個測量進度造成了一定的影響.,我們也從中得到了不少的教訓(xùn)和體會。撰寫實習(xí)報告是實踐學(xué)習(xí)的進一步深入,溫故而知新,可以為師矣。在下面的報告中,我將概述外業(yè)內(nèi)業(yè)的工作情況,特別注重撰寫結(jié)合書本理論知識的某一方面體會與收獲。

      6月13日(實習(xí)規(guī)定時間的前一天),在實習(xí)正式開始之前,任課老師給我們大概講述了這兩周實習(xí)的任務(wù),以及在實習(xí)中可能遇到的問題和注意事項,并給各小組下發(fā)了任務(wù)書。小組將嚴格根據(jù)任務(wù)書的指導(dǎo),循序漸進的完成本次實習(xí)。老師給我們講話完后,就帶領(lǐng)我們到測區(qū)查看已知的圖根控制點,接著認領(lǐng)測量實習(xí)中要用到的儀器以及設(shè)備,這樣實習(xí)正式開始了。

      是日下午,我們小組聚到一起,商量本小組工作的計劃與時間安排,也就是本小組的實習(xí)小規(guī)劃。根據(jù)規(guī)劃,我們選定了十六周的星期一測量外也得開始時間。這天下午我們決定先把測區(qū)的控制點選好,以備明日工作的順利進行。于是乎,大家就帶上涂改液(標志導(dǎo)線點之用),浩浩蕩蕩出發(fā)開始了征程。

      我們的測區(qū)東西走向250米,南北走向200米,主要包括紅樓、學(xué)海花園、北院配電房、新北高速一段、電教,以及紡織學(xué)院大樓。根據(jù)實地考察,目測加上比畫,我們一一精細的選擇我們的導(dǎo)線點。工作進行中,我們發(fā)現(xiàn)選點要注意的問題是兩個導(dǎo)線點之間的距離要小于100米,選的導(dǎo)線點獨立或相互配合工作要能將所有的地形特征點通過已有儀器設(shè)備測出。經(jīng)過仔細認真的工作,大家討論選擇點的合理性,最終我們選出了12個導(dǎo)線點,以b點為基本控制點,bc為定位導(dǎo)線。選定后,大家各自回去,準備第二天的正式作戰(zhàn)。

      6月14日,十六周的星期一上午,天氣非常晴朗,大家依據(jù)規(guī)劃興致勃勃的扛著全站儀,棱鏡架等儀器設(shè)備來到了測量現(xiàn)場。我們從基本控制點b點開始測,按照逆時針方向,一一測量。上午的任務(wù)是將導(dǎo)線點的平面方位角和水平距離測出。這個測量看起來貌似蠻簡單的,但真正要做到數(shù)據(jù)有效,也就是誤差在允許范圍內(nèi),還是有一定難度的,在這個測量上,我們就遇到了很多問題。

      起初,由于對全站儀的使用還不是十分掌握,在調(diào)平和對中上我們就花了一些時間摸索;之后我們還認為測水平距離要輸入儀器高,就傻傻的每次測量儀器高度,直到已經(jīng)測量了兩三個點之后才發(fā)現(xiàn)這完全是沒有必要的,只是徒費時間而已;再后面,因為

      天氣炎熱,和大家都覺得操作好簡單,加快了測量速度,在中午時分,任務(wù)“完成”。到底是初經(jīng)沙場,不知測量稍有粗心釀成不必要的誤差就會令整個測量崩盤,再加上個別人員的粗心不認真仔細操作,急于求成,直接導(dǎo)致測量誤差大得驚人——閉合差達到幾度。當然組長沒有敦促組員嚴格操作也是有大責任的,所以身為組長的我,從中也認識到“做一個領(lǐng)導(dǎo)人,就要領(lǐng)導(dǎo)大家把工作按正規(guī)要求做好”的道理。次日通過計算發(fā)現(xiàn)誤差后,我們決定重測!

      前事不忘后事之師,有了那次教訓(xùn),我們重點就我們忽略大意的地方一絲不茍的進行操作。我們同樣以b點開始,逆時針方向進行;我們務(wù)求調(diào)平對中準確無疑,棱鏡架水平無偏差,工作求質(zhì)不求速,仔細瞄準,仔細讀數(shù),仔細記錄。毫無疑問,我們得到的數(shù)據(jù)是非常有效的,我們的閉合差是182秒,而容許值是208秒。雖然反工了,但我們得到了精準的數(shù)據(jù),喜悅不禁,反攻的苦楚大家都忘得一干二凈了。Gratulations!Boys.(祝賀,小伙子們)

      星期一下午,我們進行的是高程的控制測量。因為我們學(xué)校依山傍水,地勢高低起伏不平,高程測量不平面控制測量就要來的復(fù)雜一些了,因為他要設(shè)很多的轉(zhuǎn)點。同樣的,我們?nèi)匀挥蒪點開始,逆時針方向開工。我們使用的是自動安平水準儀。水準儀與全站儀相比,使用起來人工因素誤差就要明顯的多了。出來調(diào)平外,立尺也要有一定的水平。還有由于水準測量天生的詬病,為了消除儀器誤差而采用的紅黑面方法,測站居中,測站偶數(shù)法等等。為了得到精準的數(shù)據(jù),我們必須比使用全站儀更加認真的使用水準儀。在測量過程中,我們小組遇到了一位職業(yè)測量人員,他來學(xué)校玩玩,看到我們在測量,就饒有興致的過來與我們交談。他告訴我們,“水準測量在工程測量中非常的重要,不同的建設(shè)精度要求不一樣,比如橋梁的建設(shè)對水準的要求就很高,精度不高可能導(dǎo)致橋無法對接,那就嘻哈了;而道路就要求低些了。測量中的各種誤差消除法都是很常見的方法,你們要牢牢掌握,如你們也在用的紅黑面方法、測站偶數(shù)法。測量工作一定要認真,認真就是對工作負責,對工程建設(shè)負責,沒有強烈的責任心是不能成為一個合格的工程建設(shè)者的?!蔽覀冃〗M六人團結(jié)合作,一絲不茍各司其職,操作水準儀的認真操作,讀數(shù)的認真讀數(shù),立尺的認真立尺,記數(shù)的認真記數(shù)。在地勢升降大的地方,我們細致的設(shè)置轉(zhuǎn)點,采用偶數(shù)測站法消除兩尺的磨損不同引起的誤差。這么嚴謹?shù)墓ぷ?,怎么能不得到嚴格符合要求的?shù)據(jù)?!

      這樣第一期的外業(yè)任務(wù)就圓滿完成了,接下來是第一期的內(nèi)業(yè)了。第一期的內(nèi)業(yè)實在星期三進行的。大家在組長的帶領(lǐng)下,齊聚湖南工程學(xué)院學(xué)生宿舍九棟201,展開數(shù)據(jù)計算和表格制作與填寫。同樣是分工合作,兩個計算數(shù)據(jù),四個制作表格與填寫。計算數(shù)據(jù)我們按照書本上正規(guī)的計算方法進行,多次運算,確保無錯;再計算出誤差,在誤差容許的條件下,根據(jù)測站數(shù)進行調(diào)整。我們制作了一個電子表格來記錄平面測量中方位角的讀數(shù),記錄數(shù)據(jù)認真細膩,無差錯的完成了。這樣的話,第一期的全部工作就圓滿完成了。這夜,大家在一起吃了個飯以示慶祝。

      十六周的星期天,我們迎來了本次實習(xí)的第二期任務(wù)——測繪測區(qū)地形圖。同樣,正式開始前,老師給我們講述了一些要點,包括畫圖要注意的地方,花圃怎么畫啊、臺階怎么畫啊等等。去了一些舊的,來了一些新的儀器,碎部測量在大家的勃勃興致之手下,又展開了。

      第二期的任務(wù)是在前期處理準備好的控制點上進行碎部測量。因為可以用經(jīng)緯儀也可以用全站儀,而我們的全站儀很好用,且他自動化高,數(shù)據(jù)處理上非常之方便,所以盡管其他組使用的是經(jīng)緯儀,我們第六小組依然選擇了全站儀來陪伴我們地形圖的測繪工作。由于測量與畫圖同時進行(以便及時發(fā)現(xiàn)錯誤補救),第二期花了好幾天時間。為了能讓繪圖員了解何數(shù)據(jù)對應(yīng)何點,我特意畫了一副測區(qū)草圖,在上面給特征點標上一些號碼,然后依據(jù)號碼記錄數(shù)據(jù),測圖員一目了然,測繪工作得以準確而快速的進行。我們的測繪從紅樓學(xué)海花園開始,按逆時針畫過去。測量上,我們力求做到準確無差,選點上我們力求細致入微,盡可能反映地形圖的特征。其實測繪工作開始時,我們也試著用經(jīng)緯儀測過。但是,一人工誤差大,二計算量繁,我們毅然放棄了經(jīng)緯儀的使用。我們小組的繪圖工作是由方勵同學(xué)一個人完成的,他嚴格按照老師和任務(wù)書上的要求,根據(jù)制圖圖標和制圖格式來繪圖。定位針打遍了所有的控制點,量角器不知轉(zhuǎn)了數(shù)千圈,他的工作是繁多的,他認真的態(tài)度讓所有人滿意鼓舞。我們呈上精確的數(shù)據(jù),他交出精準的地形圖。六組組員通力合作,辛勤耕耘四天,將第二期的地形測繪工作圓圓滿滿的Complish(完成)了。

      感悟?qū)嵙?xí):這次實習(xí)我最大的感悟是,工作必須要抱有十分嚴謹?shù)膽B(tài)度,特別是工程工作。不嚴謹,就不精確無誤,就會使整個工作崩潰,這個后果是個人無法承擔。據(jù)說,法國人浪漫,英國人享受,德國人嚴謹,所以德意志民族的工業(yè)工程制造技術(shù)是全世界一流的,他們的奔馳寶馬奧迪舉世無雙。還有一點,我感受到了作為小組領(lǐng)導(dǎo)人的責任與重要,領(lǐng)導(dǎo)者是大家行動的指南,大家分工協(xié)作各司其職的保證。領(lǐng)導(dǎo)者工作什么態(tài)度,大家就什么態(tài)度,做一作為領(lǐng)導(dǎo)者首先就要做到嚴格要求自己,滿懷責任心。故《大學(xué)》有曰:一言僨事,一人定國。又曰:君子先諸己而后求諸人,無諸己而后非諸人。

      第五篇:軟件工程課程設(shè)計報告 之 總結(jié)性報告

      總結(jié)性報告

      1. 時間

      飛Q2012項目從擬定好課題起,經(jīng)過問題定義,可行性研究,需求分析,概要設(shè)計,詳細設(shè)計,主要編程,分布測試,總體測試,到整體裝配完成歷時一個半月。

      2. 人員

      主程序員(組長):王昌帥

      輔程序員:司吉峰、王璐、紀曉文、王松松

      文檔管理員:王璐、紀曉文

      3. 遇到的困難

      服務(wù)器方面:最開始我們選用的登錄模式是利用sqlsever從硬盤上的數(shù)據(jù)庫中讀取賬號密碼進行匹配登錄,但這種讀取機制降低了登錄速度,經(jīng)過修改,改用了將好友賬號密碼預(yù)讀入內(nèi)存中,直接在內(nèi)存中進行讀取,大幅度節(jié)省了登錄時間。

      客戶端方面:區(qū)別于類似的大多數(shù)即時聊天工具的消息傳送機制(即向服務(wù)器發(fā)送消息經(jīng)服務(wù)器轉(zhuǎn)發(fā)),我們利用了典型的p2p(點對點)機制,當好友聊天時,服務(wù)器避免了接收和轉(zhuǎn)發(fā)消息的負荷,減少了線程數(shù)量,既減輕了服務(wù)器壓力同時又提高了好友間消息傳送的速度和質(zhì)量。

      4. 系統(tǒng)性總結(jié)

      本系統(tǒng)具有以下特點:

      ?采用 C/S通信模型設(shè)計,有效減輕了服務(wù)器的負擔,便于后臺的管理。將任務(wù)合理分配到 Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。

      ?采用了Java語言,因為用Java設(shè)計的系統(tǒng)是跨平臺的,在任何操作系統(tǒng)上,只要安裝了Java虛擬機,就可以運行本系統(tǒng),不用受平臺的限制。

      ? 在客戶端都和服務(wù)器端都實現(xiàn)了多線程編程技術(shù),以提高系統(tǒng)的效率。使用線程可以把占據(jù)長時間的程序中的任務(wù)放到后臺去處理。

      本系統(tǒng)這實現(xiàn)了網(wǎng)絡(luò)聊天工具所具備的基本功能,即注冊、登錄、查找好友,添加好友、更改個人資料、查看好友資料、添加刪除分組、各分組之間轉(zhuǎn)移好友、發(fā)送消息、接收消息、接收系統(tǒng)消息等,還添加了一些特色功能,如隱身,頭像的變化,系統(tǒng)管理員可以向每個客戶端發(fā)送系統(tǒng)消息,上線下線在好友客戶端都有提示,密碼丟失可以通過密碼找回功能通過設(shè)置的密保問題找回密碼,并可以判斷密碼的安全等級等。本系統(tǒng)實現(xiàn)了一個與Tencent QQ相似的友好操作界面,簡單,易用,適合用戶的操作習(xí)慣。

      該系統(tǒng)具備了網(wǎng)絡(luò)聊天工具所具備的基本功能,但還有一些功能還沒完善,如用戶聊天之間的方式僅限于文本通信,還沒實現(xiàn)文本傳輸功能。還沒實現(xiàn)修改用戶資料的功能等。系統(tǒng)或許存在一些未知的Bug,還需要進一步的改進和測試。在以后的研究中,我們還會研究安全通信協(xié)議,保障通信的安全,提高系統(tǒng)的實用性等

      本課題需要繼續(xù)完善的功能有:

      ?

      ?

      ?

      ?設(shè)計測試用例,全面、系統(tǒng)地測試該系統(tǒng)所存在的一些缺陷;

      ? 擴展即時消息系統(tǒng)的服務(wù)范圍,增強系統(tǒng)工作的穩(wěn)定性和健壯性。

      5. 收獲與經(jīng)驗

      本次課程設(shè)計是自大一以來工作量最大的同時也是歷時最長的一次大作業(yè)任務(wù)。與之前大作業(yè)不同的在于,這次課程設(shè)計所設(shè)計的項目課題,所用的編程語言,用到的知識都是以前沒有接觸過的,完全通過自學(xué)掌握。所以工作進度最初進展很慢,不過通過對新知識的學(xué)習(xí),和項目實踐的鍛煉,深入學(xué)習(xí)java可視化編程,完善操作界面,使其更加適合用戶的操作習(xí)慣; 設(shè)計安全通信機制,保障通信的安全; 加入文件傳輸功能,豐富用戶的信息交流方式;

      掌握專業(yè)知識的同時,更重要的是項目經(jīng)驗,以及實踐中處理各種問題能力的培養(yǎng)。

      通過本次項目的復(fù)習(xí),我們了解了一個完整的軟件開發(fā)過程,包括課題定義、可行性研究,需求分析,概要設(shè)計,詳細設(shè)計,測試工作,進一步完善,設(shè)計使用說明書,總結(jié)提交實驗報告。以及其中不同人員和不同的工作,主程序員是一個項目團隊的核心,指導(dǎo)整個項目組各個成員的工作,規(guī)劃整個項目的結(jié)構(gòu),統(tǒng)一各個部分函數(shù)接口,承擔著編程過程中最核心的任務(wù),以其為核心各個部分才可以慢慢擴展開來。輔助程序員主要負責各個獨立部分的編程設(shè)計,對輔助程序員來說,獨立性較主程序員的任務(wù)更大一些,但是,卻要求輔助程序員對自己承擔的任務(wù)有必須清晰的了解,因為到后期各個部分連接的時候肯定會出現(xiàn)一些問題,修改這些錯誤要求必須對不同部分有很詳細的了解。文檔管理員承擔著大部分文檔編輯工作,但對具體的程序代碼也要有一定的了解。

      本次課程設(shè)計最重要的是讓我們收獲了一些寶貴的項目開發(fā)經(jīng)驗:項目最開始的全局規(guī)劃,接口統(tǒng)一工作很重要以及數(shù)據(jù)結(jié)構(gòu)的選擇因為這涉及到以后各部分連接時的統(tǒng)一問題,一旦剛開始沒有統(tǒng)一好,連接時會有很多問題,導(dǎo)致各部分不能很好的連接,很多功能或?qū)傩詻]有很好的利用。另外,項目后期的bug修改也很重要,因為由不同程序員編寫程序在正確性、高效性,和格式上都有很大的不同,自然會在連接時產(chǎn)生一些問題,更改這些問題時便不再是某個部分的問題,而是全局的問題,需要各個程序員協(xié)調(diào)完成修改工作,而且我們也了解到,工程項目越大,后期產(chǎn)生的bug也會越多,起初我們忽視了后期bug修改的工作量,導(dǎo)致在完成時間上一拖再拖。

      總而言之,盡管本次課程設(shè)計使我們糾結(jié)了很長的時間,遇到了很多困難,但我們真心的為我們所獲得工作經(jīng)驗和成果而高興,截止到完成文檔時,我們的飛QQ2012已經(jīng)實現(xiàn)了局域網(wǎng)內(nèi)以及校園內(nèi)網(wǎng)各個客戶端的即時聊天,并且速度和質(zhì)量得到了各用戶的好評,我們還將繼續(xù)完善飛Q2012,讓更多人知道了解它,繼續(xù)學(xué)習(xí)繼續(xù)努力。

      下載全方位課程設(shè)計之初探word格式文檔
      下載全方位課程設(shè)計之初探.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        嵌入式課程設(shè)計之觸摸屏程序設(shè)計

        嵌入式課程設(shè)計 設(shè)計題目:觸摸屏驅(qū)動程序設(shè)計 班級: 學(xué)號: 姓名: 指導(dǎo)老師: 設(shè)計時間:2010年12月25日--12月28日 目錄 第一部分 要求 ................................................

        化工原理課程設(shè)計之心得體會

        化工原理課程設(shè)計之心得體會 這次化工原理設(shè)計我們用了兩周時間去做,我們這次的任務(wù)是做列管式換熱器。時間不長,但卻學(xué)到了很多東西。 由于第一次接觸課程設(shè)計,我起初心里充滿......

        單片機課程設(shè)計之秒表五篇范文

        單片機課程設(shè)計報告題目:基于stc89c52rc的秒表設(shè)計學(xué)生:唐偉軒 11071339指導(dǎo)老師:日期:2013年12月8日基于stc89c52rc的秒表設(shè)計此設(shè)計中硬件部分由王華杲完成,軟件由唐偉軒完成一......

        課程設(shè)計之繪本閱讀(格式修改版)

        教案:繪本閱讀 課程名稱: 繪本閱讀(一、二、三年級) 課時: 四課時(每周兩節(jié),共兩周) 授課老師: 龍川 教學(xué)目的: 1. 培養(yǎng)閱讀的興趣 2. 培養(yǎng)孩子養(yǎng)成閱讀的習(xí)慣 3. 提高孩子們的閱讀能......

        新版商業(yè)車險條款之全方位解讀(精選5篇)

        新版商業(yè)車險條款之全方位解讀 亮點解讀: 新版商業(yè)車險 附加險:部分統(tǒng)一 車身劃痕險、玻璃單獨破碎險等,目前投保中幾種常用的附加險在2007新版車險中進行了統(tǒng)一,客戶在選擇......

        人員培訓(xùn)與開發(fā)之培訓(xùn)課程設(shè)計專題

        上海美特斯邦威遭投訴“門” 投訴事件: “美特斯邦威”服飾質(zhì)量劣、服務(wù)差 我們通過網(wǎng)絡(luò)得知,近日,福建、河北、山東、上海等消費者反映,稱購買了上海美特斯邦威股份有限公司生......

        國學(xué)誦讀之三字經(jīng)課程設(shè)計(5篇)

        國學(xué)誦讀之《三字經(jīng)》 一、 科目開發(fā)背景 中國歷史上下五千年,淵源流長,古國的文明深奧而博大,浩如煙濤?!度纸?jīng)》便是一本學(xué)習(xí)中華文化不可多得的入門之書。這本自南宋以來......

        數(shù)字電路課程設(shè)計之循環(huán)移位器

        課程設(shè)計2 循環(huán)移位器 2012019120008江明杰 一、 設(shè)計要求 設(shè)計一個8位的循環(huán)移位器:輸入8位二進制數(shù)據(jù)X[7:0],在控制輸入N[2:0]和D的控制下進行向左或向右循環(huán)移位,N和D分別表......