王牌对王牌第一季综艺,黄视频在线观看网站,世界一级毛片,成人黄色免费看

薈聚奇文、博采眾長(zhǎng)、見(jiàn)賢思齊
當(dāng)前位置:公文素材庫(kù) > 計(jì)劃總結(jié) > 工作總結(jié) > 軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告

軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-26 21:09:01 | 移動(dòng)端:軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告

軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告

華東交通大學(xué)軟件學(xué)院軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

華東交通大學(xué)軟件學(xué)院201*年6周軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

專(zhuān)業(yè)班級(jí):09軟件+電氣4班學(xué)號(hào):201*2110080402學(xué)生姓名:xx指導(dǎo)教師:xx所在項(xiàng)目:遠(yuǎn)程實(shí)驗(yàn)室管理系統(tǒng)項(xiàng)目經(jīng)理:xx實(shí)訓(xùn)公司:江西微軟技術(shù)中心實(shí)訓(xùn)周期:201*年11月5日至201*年12月14日

總結(jié)內(nèi)容一、團(tuán)隊(duì)基本情況團(tuán)隊(duì)名稱(chēng):AceTeam團(tuán)隊(duì)成員:陳忱、龍驍、田越、徐佳奇、朱成、翟勝、高楊、賀麗、汪曉玲、周啟榮二、項(xiàng)目基本概況項(xiàng)目名稱(chēng):遠(yuǎn)程實(shí)驗(yàn)室管理系統(tǒng)該項(xiàng)目是為學(xué)生提供個(gè)人虛擬化計(jì)算機(jī),提供隨時(shí)隨地的遠(yuǎn)程服務(wù),并且通過(guò)其管理系統(tǒng)能夠方便校方相關(guān)管理員對(duì)實(shí)驗(yàn)室的監(jiān)控與管理。適用對(duì)象:本項(xiàng)目將應(yīng)用于各高校的機(jī)房實(shí)驗(yàn)室,為高校的老師學(xué)生和機(jī)房管理人員提供極大的便利,有很多的潛在用戶(hù);但由于網(wǎng)絡(luò)上的不穩(wěn)定因素,不排除用戶(hù)使用時(shí)出現(xiàn)延遲等情況;本項(xiàng)目基于Vmware虛擬化技術(shù)將與實(shí)驗(yàn)室監(jiān)控系統(tǒng)同時(shí)工作,為學(xué)生提供個(gè)人虛擬化計(jì)算機(jī),并提供隨時(shí)隨地的遠(yuǎn)程服務(wù),保證整個(gè)系統(tǒng)的運(yùn)行,通過(guò)虛擬化實(shí)驗(yàn)室管理系統(tǒng),方便校方相關(guān)管理員對(duì)實(shí)驗(yàn)室的監(jiān)控與管理。三、本人在項(xiàng)目中的主要任務(wù)及完成情況1)主要任務(wù)簡(jiǎn)介及完成情況本人主要完成了數(shù)據(jù)庫(kù)的設(shè)計(jì),以及項(xiàng)目的核心編碼、項(xiàng)目調(diào)研、人員分工等。項(xiàng)目調(diào)研完成100%;數(shù)據(jù)庫(kù)設(shè)計(jì)完成100%;人員分工完成100%;項(xiàng)目核心編碼完成60%,主要實(shí)現(xiàn)以下功能:1、虛擬機(jī)的創(chuàng)建2、虛擬機(jī)的啟動(dòng)3、Web端遠(yuǎn)程桌面連接4、關(guān)閉虛擬機(jī)1/5

華東交通大學(xué)軟件學(xué)院軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

5、查看虛擬機(jī)進(jìn)程(殺死指定進(jìn)程正在開(kāi)發(fā)中……)6、用戶(hù)管理7、預(yù)約管理(學(xué)院、班級(jí)、年級(jí)管理)2)相關(guān)設(shè)計(jì)思路及實(shí)現(xiàn)成果數(shù)據(jù)庫(kù)設(shè)計(jì)思路:主要對(duì)后臺(tái)數(shù)據(jù)庫(kù)的概念模型設(shè)計(jì)和物理模型設(shè)計(jì)做出了統(tǒng)一的規(guī)定和約束,同時(shí)確定了每一個(gè)表的數(shù)據(jù)字典結(jié)構(gòu),主鍵和外鍵約束。數(shù)據(jù)庫(kù)名稱(chēng):remotecontrol數(shù)據(jù)表命名規(guī)則:表前綴(t_)+表名(首字母大寫(xiě))概念結(jié)構(gòu)的主要特點(diǎn)是能真實(shí)、充分地反映現(xiàn)實(shí)世界;易于理解;易于更改;易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。邏輯結(jié)構(gòu)設(shè)計(jì):實(shí)現(xiàn)成果如下,表名t_usert_rolet_resourcest_user_rolet_role_resourcest_noticet_contractt_studentClasst_gradet_colleget_virtualMachinet_physicalMachinet_virtualMachineProcesst_fileSystemt_cput_memoryt_peratingSystemt_netinfo四、個(gè)人實(shí)訓(xùn)成果特點(diǎn)總結(jié)功能說(shuō)明用戶(hù)表,剝離了角色的所有用戶(hù)的基本信息角色表,用戶(hù)的角色,權(quán)限控制資源表,用戶(hù)擁有角色后可以操作的資源用戶(hù)-角色中間表,包括用戶(hù)Id,角色I(xiàn)d角色-資源中間表,包括角色I(xiàn)d,資源Id公告表,存放公告信息預(yù)約表,存放老師預(yù)約實(shí)驗(yàn)室信息班級(jí)表,存放班級(jí)信息年級(jí)表,存放年級(jí)信息學(xué)院表,存放學(xué)院信息虛擬機(jī)表,虛擬機(jī)硬件信息,關(guān)聯(lián)學(xué)生表(多對(duì)一),關(guān)聯(lián)物理機(jī)物理機(jī)表,物理機(jī)硬件信息,關(guān)聯(lián)文件系統(tǒng),CPU,內(nèi)存,操作虛擬機(jī)進(jìn)程表,主要監(jiān)測(cè)學(xué)生是否有游戲進(jìn)程文件系統(tǒng)表,存放物理機(jī)虛擬機(jī)文件系統(tǒng)信息CPU表,存放物理機(jī)虛擬機(jī)cpu信息內(nèi)存表,存放物理機(jī)虛擬機(jī)內(nèi)存信息操作系統(tǒng)表,存放物理機(jī)虛擬機(jī)操作系統(tǒng)信息網(wǎng)絡(luò)表,存放物理機(jī)虛擬機(jī)操作網(wǎng)絡(luò)相關(guān)信息t_physicalMachineProcess物力機(jī)進(jìn)程表特點(diǎn)1:一開(kāi)始老師教學(xué)講解比較細(xì)致。從web開(kāi)發(fā)最基礎(chǔ)的html,css到SSH框架以及web服務(wù)器介紹。學(xué)習(xí)了成套的知識(shí)體系,對(duì)java做web開(kāi)發(fā)有了個(gè)初步的了解,隨后通過(guò)項(xiàng)目實(shí)戰(zhàn)對(duì)SSH框架有了個(gè)詳細(xì)的了解,能實(shí)現(xiàn)一些基本的操作和需求的實(shí)現(xiàn)。2/華東交通大學(xué)軟件學(xué)院軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

特點(diǎn)2:學(xué)習(xí)寫(xiě)了許多文檔,對(duì)一個(gè)項(xiàng)目的大致流程有了深入了解。特點(diǎn)3:對(duì)項(xiàng)目的開(kāi)發(fā)流程有了個(gè)基本的了解,從項(xiàng)目需求分析,調(diào)研,進(jìn)度計(jì)劃的制定到UI,數(shù)據(jù)庫(kù),架構(gòu)設(shè)計(jì),然后到編碼實(shí)現(xiàn),進(jìn)度跟蹤,每個(gè)階段的評(píng)審報(bào)告,總體比較規(guī)范。特點(diǎn)4:通過(guò)對(duì)HTML+CSS以及SSH框架學(xué)習(xí),對(duì)SSH框架的環(huán)境搭建,開(kāi)發(fā)流程,項(xiàng)目部署有了基本的了解。特點(diǎn)5:通過(guò)這個(gè)比較由難度的項(xiàng)目還了解了IE下遠(yuǎn)程桌面連接控件,MINA通信框架,這些都比較由意思,開(kāi)拓了視野。特點(diǎn)6:對(duì)項(xiàng)目管理有了一些切身的體會(huì),例如人員分工,如何調(diào)動(dòng)每個(gè)人的積極性,讓合適的人做適合的事,都是一些需要考慮周全的事。項(xiàng)目計(jì)劃的制定,需求實(shí)現(xiàn)的討論例會(huì)等看似比較繁瑣的事其實(shí)在項(xiàng)目中起到比較重要的作用。五、個(gè)人實(shí)訓(xùn)成果缺陷總結(jié)缺陷1:代碼耦合度比較高產(chǎn)生原因:編碼命名不規(guī)范,與合作小組溝通不夠,代碼沒(méi)有注釋?zhuān)瑢?duì)ssh框架不熟悉。改進(jìn)措施:編碼前多想想后續(xù)是否需要擴(kuò)展改進(jìn),與合作小組要溝通好命名規(guī)范,合理的注釋。缺陷2:只支持IE瀏覽器產(chǎn)生原因:項(xiàng)目中的遠(yuǎn)程桌面插件只支持IE,HTML+CSS對(duì)其他瀏覽器的hackcode做的不夠。改進(jìn)措施:改進(jìn)HTML+css在其他瀏覽器下的效果。缺陷3:用戶(hù)不能得到友好的錯(cuò)誤提示產(chǎn)生原因:容錯(cuò)性的交互做的不好,代碼中對(duì)錯(cuò)誤的捕獲以及給出友好提示沒(méi)有做。改進(jìn)措施:在代碼中對(duì)可遇見(jiàn)的錯(cuò)誤給出友好的界面提示。六、心得與體會(huì)時(shí)間過(guò)得很快,為期6周的實(shí)訓(xùn)即將接近尾聲。在這6周中,每天都過(guò)得很充實(shí),從項(xiàng)目需求分析,調(diào)研,進(jìn)度計(jì)劃的制定到UI,數(shù)據(jù)庫(kù),架構(gòu)設(shè)計(jì),然后到編碼實(shí)現(xiàn),進(jìn)度跟蹤,每個(gè)階段的評(píng)審報(bào)告,通過(guò)規(guī)范的軟件開(kāi)發(fā)流程讓我收益匪淺。3/5

華東交通大學(xué)軟件學(xué)院軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

與以前的個(gè)人開(kāi)發(fā),想到什么做什么改變很大,也讓我對(duì)軟件工程這門(mén)課程有了更深的理解。我們組做的系統(tǒng):遠(yuǎn)程實(shí)驗(yàn)室管理系統(tǒng),由2組合作進(jìn)行。我們主要做B/S端功能的實(shí)現(xiàn),通過(guò)對(duì)HTML+CSS以及SSH框架學(xué)習(xí),對(duì)SSH框架的環(huán)境搭建,開(kāi)發(fā)流程,項(xiàng)目部署有了基本的了解。而且通過(guò)這個(gè)比較由難度的項(xiàng)目還了解了IE下遠(yuǎn)程桌面連接控件,MINA通信框架,這些都比較由意思,開(kāi)拓了視野。本人在小組擔(dān)任項(xiàng)目經(jīng)理,對(duì)項(xiàng)目管理有了一些切身的體會(huì),例如人員分工,如何調(diào)動(dòng)每個(gè)人的積極性,讓合適的人做適合的事,都是一些需要考慮周全的事。項(xiàng)目計(jì)劃的制定,需求實(shí)現(xiàn)的討論例會(huì)等看似比較繁瑣的事其實(shí)在項(xiàng)目中起到比較重要的作用。在項(xiàng)目中必須以身作則,帶動(dòng)大家一起參與到項(xiàng)目中來(lái),讓項(xiàng)目有條不紊的進(jìn)行,更讓我意識(shí)到一個(gè)團(tuán)隊(duì)最重要的就是隊(duì)員間的合作。要做一個(gè)龐大的項(xiàng)目不能光靠一兩個(gè)人,需要每個(gè)人都去認(rèn)真對(duì)待并完成分配的任務(wù)。就像一臺(tái)大型的機(jī)器,發(fā)動(dòng)機(jī)是核心但也需每個(gè)小零部件的配合才能運(yùn)轉(zhuǎn)。更讓我體會(huì)到一個(gè)完整項(xiàng)目的開(kāi)發(fā)它所要經(jīng)歷的階段包括:規(guī)劃和用例說(shuō)明、項(xiàng)目結(jié)構(gòu)和風(fēng)險(xiǎn)評(píng)估、業(yè)務(wù)功能說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、代碼實(shí)現(xiàn)、測(cè)試、操作手冊(cè)。一個(gè)項(xiàng)目的開(kāi)發(fā)所需要的財(cái)力、人力都是大量的,如果沒(méi)有一個(gè)好的遠(yuǎn)景規(guī)劃,對(duì)以后的開(kāi)發(fā)進(jìn)度會(huì)產(chǎn)生很大的影響,嚴(yán)重時(shí)導(dǎo)致在預(yù)定時(shí)間內(nèi)不能完成該項(xiàng)目或者完成的項(xiàng)目跟原先劃所要實(shí)現(xiàn)的項(xiàng)目功能不符合。一份好的項(xiàng)目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計(jì)說(shuō)明書(shū)對(duì)一個(gè)項(xiàng)目的開(kāi)發(fā)有明確的指引作用,它可以使開(kāi)發(fā)人員對(duì)這個(gè)項(xiàng)目所要實(shí)現(xiàn)的功能在總體上有具體的認(rèn)識(shí),并能減少在開(kāi)發(fā)過(guò)程中出現(xiàn)不必要的脫節(jié)。代碼的實(shí)現(xiàn)是一個(gè)項(xiàng)目開(kāi)發(fā)成功與否的關(guān)鍵,可以說(shuō),前面所做的事情就是為代碼的實(shí)現(xiàn)做鋪墊。JAVA項(xiàng)目開(kāi)始有很大的難度,由于沒(méi)有任何java基礎(chǔ),開(kāi)始學(xué)習(xí)后也并非是想象中那樣順利,開(kāi)始的學(xué)習(xí)讓我異常感到學(xué)習(xí)任務(wù)的艱巨,因?yàn)閷W(xué)習(xí)中我們遇到了很多以前未曾遇到的難點(diǎn),有時(shí)難免冥思苦想也無(wú)濟(jì)于事,通過(guò)我們小組的積極努力協(xié)作,同時(shí)請(qǐng)教老師和其他同學(xué),我們順利的化解了一道道的障礙。這讓我不斷的對(duì)學(xué)習(xí)技術(shù)又有了新的認(rèn)識(shí),學(xué)習(xí)中我們必須邊總結(jié)邊學(xué)習(xí),開(kāi)始階段對(duì)老師交代的任何方法和類(lèi)都不要放過(guò),不管是否簡(jiǎn)單與否都要樂(lè)于地接受,因?yàn)槔蠋熆隙ㄓ兴牡览,相信老師走過(guò)的路比我們長(zhǎng),那么其經(jīng)驗(yàn)也就肯定比我們豐富。上課時(shí)一定要專(zhuān)心聽(tīng)講,一個(gè)關(guān)鍵的知識(shí)點(diǎn)聽(tīng)漏了,可能會(huì)使一個(gè)人在課下花很多時(shí)間去消化,這樣也就會(huì)花掉做其他事情的大量時(shí)間,同時(shí)也使得學(xué)習(xí)不能和老師的講的課程同步,以至出現(xiàn)以后就跟不上老師講課的進(jìn)度而掉隊(duì)。所以學(xué)習(xí)中我們寧可4/5

華東交通大學(xué)軟件學(xué)院軟件工程實(shí)訓(xùn)總結(jié)報(bào)告

先勞其筋骨,苦其心志,餓其體膚,也不能掉隊(duì)跟不上學(xué)習(xí)進(jìn)度。我克服了Java學(xué)習(xí)上的一道道難關(guān),課上認(rèn)真聽(tīng)講,摘好必要的筆記,并通過(guò)自己課后的不斷消化學(xué)習(xí),現(xiàn)在自己已經(jīng)基本掌握了一定的java的基礎(chǔ)知識(shí),并且能應(yīng)用到相應(yīng)的項(xiàng)目開(kāi)發(fā)中對(duì)項(xiàng)目開(kāi)發(fā)的一些相關(guān)文檔也有了一定的了解,能順利實(shí)現(xiàn)項(xiàng)目的需求。還有一點(diǎn)關(guān)于代碼學(xué)習(xí)的體會(huì),通過(guò)看人家的代碼能夠加快自己的學(xué)習(xí)。這個(gè)方法對(duì)有經(jīng)驗(yàn)的人來(lái)講是對(duì)的,但是對(duì)于還在學(xué)習(xí)期間,沒(méi)有經(jīng)驗(yàn)的學(xué)員來(lái)講,就是一個(gè)認(rèn)識(shí)的誤區(qū)了。因?yàn)槟阋苍S能看懂代碼的語(yǔ)法,但根本看不懂代碼背后的含義,看不懂代碼的設(shè)計(jì),看不懂為什么要這么實(shí)現(xiàn),看不懂代碼所體現(xiàn)的思想,其實(shí),看了跟沒(méi)看沒(méi)有多大區(qū)別。

學(xué)生簽名:年月日

5/5

擴(kuò)展閱讀:第四小組《Java項(xiàng)目實(shí)訓(xùn)》軟件工程系實(shí)訓(xùn)總結(jié)報(bào)告

課程實(shí)訓(xùn)報(bào)告書(shū)

技能實(shí)訓(xùn)(課程設(shè)計(jì))

總結(jié)報(bào)告

實(shí)訓(xùn)項(xiàng)目Java項(xiàng)目實(shí)訓(xùn)系部軟件工程系指導(dǎo)老師朱堂勛日期201*-1-5

201*180109盧徵

20201*0071李曉輝實(shí)訓(xùn)報(bào)告撰寫(xiě)注意事項(xiàng)

一、報(bào)告內(nèi)容至少應(yīng)包括以下項(xiàng)目:

1、具體實(shí)訓(xùn)內(nèi)容;2、本次實(shí)訓(xùn)主要目的;

3、具體日程、實(shí)訓(xùn)地點(diǎn)、同組同學(xué)、指導(dǎo)老師等;

4、實(shí)驗(yàn)操作或技能訓(xùn)練步驟,課程設(shè)計(jì)還應(yīng)包括設(shè)計(jì)任務(wù)書(shū)、原始參數(shù)、計(jì)算說(shuō)明、圖紙圖表、程序清單等;

5、本次實(shí)訓(xùn)的主要收獲與體會(huì)。

二、其余如報(bào)告的具體格式、篇幅等要求,視實(shí)訓(xùn)課程的區(qū)別由實(shí)訓(xùn)任課老師或課程設(shè)計(jì)指導(dǎo)教師按實(shí)訓(xùn)大綱,用《實(shí)訓(xùn)指導(dǎo)書(shū)》或《課程設(shè)計(jì)指導(dǎo)書(shū)》的形式具體規(guī)定。

教務(wù)處實(shí)訓(xùn)中心制

課程實(shí)訓(xùn)報(bào)告書(shū)

一、實(shí)訓(xùn)名稱(chēng)

《編寫(xiě)記事本程序》

二、實(shí)訓(xùn)項(xiàng)目的目的和功能

本次實(shí)訓(xùn)是對(duì)前面學(xué)過(guò)的所有面向?qū)ο蟮木幊趟枷胍约熬幊谭椒ǖ囊粋(gè)總結(jié)、回顧和實(shí)踐,因此,開(kāi)始設(shè)計(jì)前學(xué)生一定要先回顧以前所學(xué)的內(nèi)容,明確本次作業(yè)設(shè)計(jì)所要用到的技術(shù)點(diǎn)并到網(wǎng)上搜索以及查閱相關(guān)的書(shū)籍來(lái)搜集資料。通過(guò)編寫(xiě)一個(gè)基于J2SE的應(yīng)用系統(tǒng)綜合實(shí)例,以掌握J(rèn)ava語(yǔ)言編程技巧。

具體要求有以下幾點(diǎn):

1.問(wèn)題的描述與程序?qū)⒁獙?shí)現(xiàn)的具體功能。

2.程序功能實(shí)現(xiàn)的具體設(shè)計(jì)思路或框架,并檢查流程設(shè)計(jì)。3.代碼實(shí)現(xiàn)。

4.程序測(cè)試(如程序代碼、功能測(cè)試、可靠性測(cè)試和效率測(cè)試等)。5.設(shè)計(jì)小結(jié)。

三、實(shí)訓(xùn)項(xiàng)目的開(kāi)發(fā)環(huán)境和所使用的技術(shù)

使用Java核心API技術(shù),利用Eclipse或NetBeans、JBuilder集成開(kāi)發(fā)環(huán)境完成實(shí)訓(xùn)項(xiàng)目,界面友好,代碼的可維護(hù)性好,有必要的注釋和相應(yīng)的文檔。

四、實(shí)訓(xùn)地點(diǎn)、日程、分組情況

實(shí)訓(xùn)地點(diǎn):2棟301機(jī)房分組情況:盧徵(組長(zhǎng))、李曉輝日程:

第一階段:

1.班級(jí)分組,選定課題,查閱相關(guān)資料半天2.劃分模塊、小組成員分工半天3利用CASE工具進(jìn)行系統(tǒng)設(shè)計(jì)和分析,并編制源程序3天第二階段:上機(jī)調(diào)試,修改、調(diào)試、完善系統(tǒng)1天第三階段:撰寫(xiě)、上交課程設(shè)計(jì)報(bào)告,上交課程設(shè)計(jì)作品源程序(每人一份)1天

五、小組分工李曉輝:負(fù)責(zé)代碼編寫(xiě)盧徵:負(fù)責(zé)程序的測(cè)試與調(diào)試

實(shí)訓(xùn)成績(jī)2

評(píng)語(yǔ)課程實(shí)訓(xùn)報(bào)告書(shū)

文本編輯器的設(shè)計(jì)和實(shí)現(xiàn)

1實(shí)訓(xùn)目的

1.1實(shí)訓(xùn)目的

本次實(shí)訓(xùn)是對(duì)前面學(xué)過(guò)的所有面向?qū)ο蟮木幊趟枷胍约熬幊谭椒ǖ囊粋(gè)總結(jié)、回顧和實(shí)踐,因此,開(kāi)始設(shè)計(jì)前學(xué)生一定要先回顧以前所學(xué)的內(nèi)容,明確本次作業(yè)設(shè)計(jì)所要用到的技術(shù)點(diǎn)并到網(wǎng)上搜索以及查閱相關(guān)的書(shū)籍來(lái)搜集資料。通過(guò)編寫(xiě)一個(gè)基于J2SE的應(yīng)用系統(tǒng)綜合實(shí)例,以掌握J(rèn)ava語(yǔ)言編程技巧。

1.2實(shí)訓(xùn)要求

具體要求有以下幾點(diǎn):

1.問(wèn)題的描述與程序?qū)⒁獙?shí)現(xiàn)的具體功能。

2.程序功能實(shí)現(xiàn)的具體設(shè)計(jì)思路或框架,并檢查流程設(shè)計(jì)。3.代碼實(shí)現(xiàn)。

4.程序測(cè)試(如程序代碼、功能測(cè)試、可靠性測(cè)試和效率測(cè)試等)。5.

設(shè)計(jì)小結(jié)。

2文本編輯器系統(tǒng)的分析與設(shè)計(jì)

2.1系統(tǒng)功能描述

通過(guò)此系統(tǒng)可以實(shí)現(xiàn)如下功能:

1、可進(jìn)行文件的新建、打開(kāi)、保存、編輯等基本功能。2、支持復(fù)制、剪切和粘貼操作3、可進(jìn)行查找和替換操作2.2系統(tǒng)模塊設(shè)計(jì)

根據(jù)系統(tǒng)自帶的文檔編輯器的特征設(shè)計(jì),包括如下的功能模塊:一、整體結(jié)構(gòu)框架包括:菜單欄和文檔編輯區(qū)

二、每個(gè)框架分別包含不同的子框架,各個(gè)模塊的具體框架:

菜單欄:文件、編輯、插入、格式、工具、幫助菜單欄中各個(gè)子菜單功能

文件:新建、打開(kāi)、保存、另存、退出

編輯:撤銷(xiāo)、剪切、復(fù)制、粘貼、刪除、全選、查找、替換工具:字體統(tǒng)計(jì)幫助:版本

課程實(shí)訓(xùn)報(bào)告書(shū)

子菜單功能的實(shí)現(xiàn)主要的幾個(gè)功能介紹

1)打開(kāi)與另存為:兩個(gè)窗體調(diào)用系統(tǒng)函數(shù)直接利用,注意格式的選擇2)查找:查找內(nèi)容、查找、查找下一個(gè)文本編輯區(qū)

監(jiān)視文本內(nèi)容是否改變、監(jiān)聽(tīng)光標(biāo)所在位置2.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)

1.程序E-R圖

文件新建打開(kāi)保存另存為退出課程實(shí)訓(xùn)報(bào)告書(shū)

刪除全選查找編輯剪切復(fù)制粘貼工具字?jǐn)?shù)統(tǒng)計(jì)幫助版本5

課程實(shí)訓(xùn)報(bào)告書(shū)

3主要代碼清單

3.1生成菜單欄及菜單項(xiàng)

在窗體初始化時(shí),自動(dòng)添加菜單及其菜單項(xiàng),用于在文本編輯器中對(duì)文本去內(nèi)容進(jìn)行操作,使用for語(yǔ)句循環(huán)生成菜單欄和菜單項(xiàng)。

classCextendsJFrame{//在文本區(qū)域內(nèi)動(dòng)態(tài)顯示輸入字符數(shù)Stringprefix="下面的文本域里現(xiàn)在共有";//統(tǒng)計(jì)窗體字?jǐn)?shù)publicC(){

setTitle(prefix+"個(gè)字符。");

finalTextAreata=newTextArea();ta.addTextListener(newTextListener(){

publicvoidtextValueChanged(TextEvente){

setTitle(prefix+ta.getText().length()+"個(gè)字符。");}});

getContentPane().add(ta);pack();

setLocation(200,200);//顯示窗體大小

setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);}}

publicclassMyNotepadimplementsActionListener{

privateJFrameframe=newJFrame("我的記事本");privateJTextAreajta=newJTextArea();//文件對(duì)話框privateStringresult="";

課程實(shí)訓(xùn)報(bào)告書(shū)

publicvoidaddString(JTextAreajta,Stringaddstr){

intposition=jta.getCaretPosition();Stringtext=jta.getText();

text=text.substring(0,position)+addstr+text.substring(position,text.length());jta.setText(text);

jta.setCaretPosition(position);}

privatebooleanflag=true;privateFilef;

privateJButtonjb=newJButton("開(kāi)始");

privateJTextFieldjtf=newJTextField(15);privateJTextFieldjt=newJTextField(15);privateJButtonjbt=newJButton("替換為");privateJButtonjba=newJButton("全部替換");

privateIconic=newImageIcon("D:\\\\java課堂筆記\\\\GUI\\\\11.gif");privateStringvalue;privateintstart=0;

privateJFramejf=newJFrame("查找");privateJFramejfc=newJFrame("替換");@SuppressWarnings("unused")

privateJFramejfc1=newJFrame("文件");@SuppressWarnings("unused")privateJFileChooserfchooser;@SuppressWarnings("unused")privateFilefile;

@SuppressWarnings("unused")

privateJCheckBoxCheckeb_bold,checkb_italic;

3.2監(jiān)聽(tīng)事件處理

注冊(cè)監(jiān)聽(tīng)事件,當(dāng)進(jìn)行操作時(shí),監(jiān)聽(tīng)事件活得事件源并選擇相應(yīng)的操作,對(duì)不同的事件調(diào)用不同的函數(shù),得到文本操作的不同結(jié)果。

publicvoidactionPerformed(ActionEvente){//單擊事件處理方法,單擊菜單項(xiàng)Stringcomm=e.getActionCommand();

if("新建".equals(comm)){

if(!(frame.getTitle().equals("新記事本"))){if(!flag){

write();newNew();

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");

intreturnVal=jfc.showDialog(null,"保存為");

7

}else{課程實(shí)訓(xùn)報(bào)告書(shū)

if(returnVal==JFileChooser.APPROVE_OPTION){//顯示打開(kāi)文

本對(duì)話框且單擊“另存為”按鈕f=jfc.getSelectedFile();

}

flag=false;

write();

}

}elseif(!(jta.getText().isEmpty())){

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");intreturnVal=jfc.showDialog(null,"保存為");

if(returnVal==JFileChooser.APPROVE_OPTION){//顯示打開(kāi)文本對(duì)話框且單

擊“保存為”按鈕f=jfc.getSelectedFile();

flag=false;

write();newNew();

}}else{newNew();}

}elseif("打開(kāi)".equals(comm)){

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);

if(returnVal==JFileChooser.APPROVE_OPTION){//顯示打開(kāi)文本對(duì)話框且單擊“打

f=jfc.getSelectedFile();frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

開(kāi)”按鈕

}

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");if(flag){

intreturnVal=jfc.showDialog(null,"保存為");

if(returnVal==JFileChooser.APPROVE_OPTION){//顯示打開(kāi)文本對(duì)話框且單

}elseif("保存".equals(comm)){

擊“保存為”按鈕f=jfc.getSelectedFile();

flag=false;

write();

}

}else{

課程實(shí)訓(xùn)報(bào)告書(shū)

write();

}

}elseif("另存".equals(comm)){

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");intreturnVal=jfc.showDialog(null,"另存");if(returnVal==JFileChooser.APPROVE_OPTION){f=jfc.getSelectedFile();

write();

}

}elseif("退出".equals(comm)){System.exit(0);}elseif("撤銷(xiāo)".equals(comm)){jta.setText(value);}elseif("剪切".equals(comm)){value=jta.getText();

jta.cut();

}elseif("復(fù)制".equals(comm)){jta.copy();}elseif("粘貼".equals(comm)){value=jta.getText();

jta.paste();

}elseif("刪除".equals(comm)){value=jta.getText();

jta.replaceSelection(null);}elseif("全選".equals(comm)){jta.selectAll();

}elseif("查找".equals(comm)){

value=jta.getText();

}elseif("替換".equals(comm)){value=jta.getText();

GridLayoutgl=newGridLayout(3,3);JLabeljl1=newJLabel("查找內(nèi)容:");

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);if(returnVal==JFileChooser.APPROVE_OPTION){}

f=jfc.getSelectedFile();frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

課程實(shí)訓(xùn)報(bào)告書(shū)

JLabeljl2=newJLabel("替換為:");jfc.setLayout(gl);jfc.add(jl1);jfc.add(jtf);jfc.add(jb);jfc.add(jl2);jfc.add(jt);jfc.add(jbt);

JLabeljl3=newJLabel();JLabeljl4=newJLabel();jfc.add(jl3);jfc.add(jl4);jfc.add(jba);

jfc.setLocation(300,300);jfc.setVisible(true);

JDialogjd=newJDialog(frame,"關(guān)于對(duì)話框");jd.setSize(200,200);

JLabell=newJLabel("版本:ISBN-8778746121524571746");jd.add(l,BorderLayout.CENTER);jd.setLocation(100,200);jd.setSize(600,600);jd.setVisible(true);jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}elseif("版本".equals(comm)){

}elseif("開(kāi)始".equals(comm)||"下一個(gè)".equals(comm)){Stringtemp=jtf.getText();

ints=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());jta.setSelectedTextColor(Color.GREEN);start=s+1;

jb.setText("下一個(gè)");

value=value.substring(s+temp.length());//不能截取字串}else{}

JOptionPane.showMessageDialog(jf,"查找完畢!","提示",0,ic);jf.dispose();

}elseif("替換為".equals(comm)){Stringtemp=jtf.getText();

ints=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){

課程實(shí)訓(xùn)報(bào)告書(shū)

}

finalJFrameztsz=newJFrame("字體設(shè)置...");//字體設(shè)置窗口

elseif("字體".equals(comm)){

//字體

ztsz.setLocation(150,200);ztsz.setSize(500,300);

jf.setEnabled(false);//文本編輯窗體不可用!finalJComboBoxjc=newJComboBox(

GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());jc.setLocation(30,80);

}

elseif("字?jǐn)?shù)統(tǒng)計(jì)".equals(comm)){newC();

}}

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());jta.setSelectedTextColor(Color.GREEN);start=s+1;

jta.replaceSelection(jt.getText());

JOptionPane.showMessageDialog(jf,"查找完畢!","提示",0,ic);jf.dispose();

}else{

}elseif("全部替換".equals(comm)){Stringtemp=jta.getText();

temp=temp.replaceAll(jtf.getText(),jt.getText());jta.setText(temp);

}

elseif("文件".equals(comm)){jta.requestFocusInWindow();

JFileChooserjfc=newJFileChooser("D:\\\\java課堂筆記");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);

if(returnVal==JFileChooser.APPROVE_OPTION){//選擇文件后再執(zhí)行下面的語(yǔ)句f=jfc.getSelectedFile();

frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

課程實(shí)訓(xùn)報(bào)告書(shū)

//字形

String[]faceString={"正常","粗體","斜體","粗斜體"};

String[]sizeString={"初號(hào)","小初","一號(hào)","小一","二號(hào)","小二","三號(hào)","小三","四號(hào)","小四","五號(hào)","小五","六號(hào)","小六","七號(hào)",Containerc=ztsz.getContentPane();JPaneljp=newJPanel();jp.add(jc,newFlowLayout());

"八號(hào)

","5","8","9","10","11","12","14","16","18","20","22","24",

"26","28","36","48","72"};

finalJComboBoxzx=newJComboBox(faceString);finalJComboBoxdx=newJComboBox(sizeString);finalJButtonsure=newJButton("確定");sure.addActionListener(this);

finalJButtoncancel=newJButton("取消");cancel.addActionListener(this);

jp.add(zx);jp.add(dx);jp.add(sure);jp.add(cancel);c.add(jp);

ztsz.setVisible(true);

if(e.getSource()=="確定"){ztsz.setDefaultCloseOperation(ztsz.EXIT_ON_CLOSE);}

if(e.getSource()=="取消"){ztsz.setDefaultCloseOperation(ztsz.EXIT_ON_CLOSE);}

}}

4程序運(yùn)行與測(cè)試

4.1文本區(qū)功能測(cè)試

a)字體的顯示,開(kāi)始的時(shí)候不做任何操作的時(shí)候顯示的默認(rèn)值,通過(guò)修改字體的屬性來(lái)修改

字體。

b)對(duì)文本事件進(jìn)行監(jiān)聽(tīng),如果文本編輯窗口中如果有事件觸發(fā),關(guān)閉時(shí)能夠有必要的信息提

示。

課程實(shí)訓(xùn)報(bào)告書(shū)

c)狀態(tài)欄的可以正常顯示文本的狀態(tài)信息。

4.2文件菜單功能測(cè)試

課程實(shí)訓(xùn)報(bào)告書(shū)

文件中的功能測(cè)試:

a)通過(guò)文件字符流讀取文件,創(chuàng)建緩沖區(qū)存儲(chǔ)文件流。

b)當(dāng)保存文件時(shí),先判斷文件是否未被保存過(guò),如果未被保存過(guò),則創(chuàng)建新文件并通過(guò)

輸出流來(lái)存儲(chǔ)文件,當(dāng)文件已經(jīng)保存過(guò)再對(duì)文件進(jìn)行修改時(shí),則會(huì)提示保存的消息窗體。

c)另存為是通過(guò)不同的方法來(lái)創(chuàng)建一個(gè)新的文件。

4.3編輯菜單功能測(cè)試

復(fù)制前粘貼后

剪切、復(fù)制、粘貼功能的實(shí)現(xiàn)是在注冊(cè)監(jiān)聽(tīng)事件后,對(duì)文本去的文字進(jìn)行操作時(shí),系統(tǒng)調(diào)用文本類(lèi)本身的庫(kù)函數(shù)來(lái)處理文本去的文字操作,將選中的文本讀入緩沖區(qū)。然后再等待不同的操作方法的調(diào)用。4.4工具菜單功能測(cè)試

功能描述:

查找需要先生成對(duì)應(yīng)的窗體,使用相應(yīng)的組件類(lèi)來(lái)創(chuàng)建窗體,使用流布局管理器來(lái)對(duì)窗體中的

課程實(shí)訓(xùn)報(bào)告書(shū)

各個(gè)控件進(jìn)行布局,對(duì)查找和查找下一個(gè)按鈕注冊(cè)監(jiān)聽(tīng)事件并編寫(xiě)相應(yīng)的處理方法。文本去的文字使用相應(yīng)的處理方法進(jìn)行比較和處理,并對(duì)光標(biāo)位置進(jìn)行判斷是否到文本末尾,使用異常處理語(yǔ)句捕獲異常并處理。

功能描述:

使用相應(yīng)的組件類(lèi)來(lái)創(chuàng)建窗體,使用流布局管理器來(lái)對(duì)窗體中的各個(gè)控件進(jìn)行布局,對(duì)替換和清空按鈕注冊(cè)監(jiān)聽(tīng)事件并編寫(xiě)相應(yīng)的處理方法。

publicStringread(){

}

publicvoidwrite(){}

publicvoidnewNew(){

frame.dispose();newMyNotepad();try{}

FileOutputStreamfos=newFileOutputStream(f);//創(chuàng)建字符輸出流對(duì)象fos.write(jta.getText().getBytes());//向文本輸入字符串fos.close();

e.printStackTrace();Stringtemp="";try{}

returntemp;

FileInputStreamfis=newFileInputStream(f.getAbsolutePath());byte[]b=newbyte[1024];while(true){}

fis.close();

e1.printStackTrace();

intnum=fis.read(b);if(num==-1)break;

temp=temp+newString(b,0,num);

}catch(Exceptione1){

}catch(Exceptione){

課程實(shí)訓(xùn)報(bào)告書(shū)

}}

publicMyNotepad(){

JMenuBarjmb=newJMenuBar();

String[]menuLab={"文件","編輯","插入","格式","工具","幫助"};String[][]menuItemLab={{"新建","打開(kāi)","保存","另存","退出"},

{"撤銷(xiāo)","剪切","復(fù)制","粘貼","刪除","全選","查找","替換"},{"文件"},

{"字體"},{"字?jǐn)?shù)統(tǒng)計(jì)"},{"版本"}};for(inti=0;i課程實(shí)訓(xùn)報(bào)告書(shū)

并發(fā)現(xiàn)了自己的不足之處。

在編寫(xiě)代碼時(shí)需要的是我們的細(xì)心,因?yàn)榫帉?xiě)代碼是一個(gè)煩瑣的過(guò)程,我們?nèi)绻徊恍⌒,代碼就很容易出現(xiàn)漏詞、錯(cuò)詞已經(jīng)缺詞,所以我們采用了先完整的思考整個(gè)程序的步驟、思想,然后采取分工合作,一個(gè)負(fù)責(zé)代碼編寫(xiě),而另一個(gè)負(fù)責(zé)程序的調(diào)試。這樣既節(jié)省了時(shí)間,又提高了效率。同時(shí)這樣還便于兩人對(duì)遇到問(wèn)題時(shí)能夠加以討論共同修改。

在窗體中需要加入文本編輯區(qū)來(lái)存儲(chǔ)文本,這就需要?jiǎng)?chuàng)建文本對(duì)象并對(duì)其進(jìn)行實(shí)例化,并且在編輯菜單中還需要多個(gè)方法來(lái)實(shí)現(xiàn)對(duì)文本的操作和處理,比如剪切和復(fù)制,用到本身的函數(shù)來(lái)操作。對(duì)于所有的菜單和菜單項(xiàng)以及控件所做才操作處理都需要注冊(cè)其相應(yīng)的監(jiān)聽(tīng)事件來(lái)完成,而在文件菜單中,打開(kāi)的操作用到了文件的輸入流,保存則用到了文本的輸出流。而在打開(kāi)事件中所以遇到的錯(cuò)誤在查閱了很多資料后在得以解決,并在此過(guò)程中學(xué)到了很多老師在課程中沒(méi)有講到的知識(shí),是自己受益匪淺,在文件菜單中的保存中,需要用if語(yǔ)句進(jìn)行相應(yīng)的判斷,來(lái)執(zhí)行不同的代碼實(shí)現(xiàn),并與相應(yīng)的異常處理語(yǔ)句相結(jié)合來(lái)完善程序,使代碼具有健壯性和靈活性,減少程序運(yùn)行時(shí)錯(cuò)誤出現(xiàn)。

由于時(shí)間倉(cāng)促,還有許多其他的功能沒(méi)有,并在已實(shí)現(xiàn)的功能中也有不足的地方,還需要進(jìn)一步對(duì)其進(jìn)行修改。再次過(guò)程中不斷加深對(duì)java程序設(shè)計(jì)的認(rèn)識(shí)和理解,豐富自己的知識(shí),了解自己的不足,加強(qiáng)自己的理解能力和學(xué)習(xí)能力,提高自己獨(dú)立解決問(wèn)題的能力。Java是一門(mén)全新的計(jì)算機(jī)語(yǔ)言,需要自己對(duì)其全新的理解,而java的很多功能都需要在學(xué)習(xí)中去發(fā)現(xiàn)和理解,應(yīng)用到不同的設(shè)計(jì)中去,并結(jié)合網(wǎng)絡(luò)這個(gè)以有利工具方便自己學(xué)習(xí)java的語(yǔ)言和強(qiáng)大的編碼能力,以及在以后的設(shè)計(jì)中把程序不斷完善。

友情提示:本文中關(guān)于《軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告》給出的范例僅供您參考拓展思維使用,軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告:該篇文章建議您自主創(chuàng)作。

來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。


軟件工程實(shí)訓(xùn)(java)總結(jié)報(bào)告》由互聯(lián)網(wǎng)用戶(hù)整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.taixiivf.com/gongwen/446152.html