java實(shí)訓(xùn)報告總結(jié)

學(xué)人智庫 時間:2018-01-13 我要投稿
【clearvueentertainment.com - 學(xué)人智庫】

總結(jié)一:

在學(xué)院領(lǐng)導(dǎo)老師的帶領(lǐng)和安排下,我們在上個學(xué)期末,到北京進(jìn)行了為期10天的專業(yè)實(shí)習(xí)。在實(shí)習(xí)過程中,我們在專編程技能以及軟件開發(fā)的總體架構(gòu)思想上都收獲頗豐。

本次實(shí)訓(xùn)我們分為兩個階段,前五天為第一階段,我們進(jìn)行了理論知識的學(xué)習(xí),鞏固和深化了所學(xué)的編程知識。以下談一談個人的感受與體會

一、理論知識的學(xué)習(xí)

在實(shí)訓(xùn)進(jìn)行的前五天,我們上的是java編程的理論課。負(fù)責(zé)上課的老師言語風(fēng)趣幽默而不失嚴(yán)謹(jǐn),在老師的引導(dǎo)和啟發(fā)下,我們鞏固了之前在學(xué)校所學(xué)的編程知識,并加以深化,澄清之前對編程技術(shù)認(rèn)識的一些錯誤或模糊的概念。

我們還在課上以java里GUI編程常用的swing框架和JAVA的容器體系作為切入點(diǎn),框架作為這期間除了學(xué)習(xí)一般的編程的知識技巧。在全面的系統(tǒng)的認(rèn)識了框架同時補(bǔ)充學(xué)習(xí)了泛型技術(shù),以及框架中架構(gòu)思想的知識。在企業(yè)的實(shí)際編碼過程中,一個個框架構(gòu)成了軟件的基石,只有掌握了幾門框架知識,才能在實(shí)踐中高效開發(fā),讓自己的產(chǎn)品在市場上立于不敗之地。

在理論課的學(xué)習(xí)過程中,我們也暴露了一些問題,比如在學(xué)校上課學(xué)習(xí)時,對所學(xué)知識只是知其然而不知其所以然,不太愿意深鉆,和超前學(xué)習(xí)一些知識。

二、項(xiàng)目開發(fā)實(shí)戰(zhàn)練習(xí)

在結(jié)束了理論知識的學(xué)習(xí)之后,后五天我們在實(shí)訓(xùn)基地進(jìn)行了項(xiàng)目開發(fā)的實(shí)戰(zhàn)練習(xí)。

項(xiàng)目的名稱是superVCD,是由海輝曾經(jīng)所接的一個遠(yuǎn)程音樂唱片管理軟件項(xiàng)目的精簡版。雖然有所精簡,但是其內(nèi)容對我們學(xué)習(xí)仍具有相當(dāng)?shù)膬r值,對我們了解真實(shí)的軟件的設(shè)計(jì)規(guī)范,編碼規(guī)范,文檔規(guī)范以及客戶對軟件的需求很有參考價值。該內(nèi)容囊括了GUI設(shè)計(jì)和編碼,容器與泛型的知識,規(guī)范文檔編寫,測試及日志系統(tǒng),甚至要求我們實(shí)現(xiàn)一個專用的輕量級數(shù)據(jù)庫系統(tǒng),這無疑是對我們很好的一次歷練機(jī)會,同時可以積累豐富的知識。

平時我們很少有機(jī)會能夠完成一個如此規(guī)模的項(xiàng)目,所以在這次項(xiàng)目實(shí)戰(zhàn)訓(xùn)練中,我的收獲也有很多。

第一,我學(xué)會了如何規(guī)范的編寫代碼和文檔。文檔和代碼是團(tuán)隊(duì)各成員在項(xiàng)目開發(fā)交流合作中的紐帶,風(fēng)格隨意混亂的代碼和缺失或語義不明的文檔會讓團(tuán)隊(duì)中的其他成員不能理解和使用自己寫的程序,我在平時編寫代碼比較隨意,并不注重這一點(diǎn),經(jīng)歷這次實(shí)戰(zhàn)演練之后,我一定會嚴(yán)格的遵守編碼規(guī)范。

第二,我學(xué)會了如何理解和分析客戶的需求。軟件為客戶而生,只有理解了客戶的需求才有寫出優(yōu)秀的軟件的可能,在這次實(shí)戰(zhàn)演練中,老師教會了我們?nèi)绾谓M織團(tuán)隊(duì)正確的理解和分析客戶的需求,并寫出完善的需求分析,并用于項(xiàng)目開發(fā)。

第三,我學(xué)會了對按照需求對軟件架構(gòu)進(jìn)行設(shè)計(jì),這點(diǎn)我想是我們許多同學(xué)之前都非常欠缺的,因?yàn)槲覀冊趯W(xué)校的時編寫代碼篇幅短小,功能單一,所以設(shè)計(jì)思路通常只留于腦內(nèi),非常模糊。而在這次項(xiàng)目開發(fā)演練中,老師手把手的教會我如何從需求中抽象出問題,并將之模塊化,然后逐步求精,就如同為高樓大廈搭建棟梁。

第四,我學(xué)會了如何團(tuán)隊(duì)合作,共同開發(fā)。作為項(xiàng)目開發(fā)小組的組長,我的體會更加深刻。獨(dú)木難支,光靠一個人的力量是遠(yuǎn)遠(yuǎn)不夠的。只有管理組織好一個團(tuán)隊(duì),才能夠最終完成項(xiàng)目的開發(fā),或許在編程技術(shù)水平上團(tuán)隊(duì)成員有高有低,但是,每個人都有自己的閃光點(diǎn),總可以在團(tuán)隊(duì)的找到適合自己的位置,每個人在自己的團(tuán)隊(duì)中做的貢獻(xiàn),創(chuàng)造出不可磨滅的重大價值。

第五,我學(xué)會了如何與客戶溝通并展示自己的項(xiàng)目,軟件項(xiàng)目的開發(fā)最終需要的是客戶的認(rèn)可,讓客戶了解并認(rèn)可自己的產(chǎn)品最好的辦法就是用言語將自己的項(xiàng)目的最好的一面展示出來,在最后一天里,實(shí)訓(xùn)的老師組織了項(xiàng)目的答辯,給我們提供了鍛煉自己的表達(dá)能力,展示自己的項(xiàng)目的舞臺。

在實(shí)戰(zhàn)的過程中,我對項(xiàng)目開發(fā)流程有了切實(shí)的體會:學(xué)會了如何編寫規(guī)范合格的代碼和文檔;學(xué)會了了正確理解分析客戶需求并設(shè)計(jì)項(xiàng)目的方法;體會到了團(tuán)隊(duì)合作精神的重要性,明白了組織團(tuán)隊(duì)進(jìn)行項(xiàng)目開發(fā)的具體流程,還了解到了向客戶展示產(chǎn)品以及與客戶進(jìn)行溝通的技巧。

經(jīng)歷過這次實(shí)習(xí)實(shí)訓(xùn),我們不僅在編程的理論知識上有所鞏固和深化,更重要的是有了實(shí)戰(zhàn)進(jìn)行項(xiàng)目開發(fā)鍛煉動手能力的機(jī)會,積累了一筆寶貴的經(jīng)驗(yàn)。實(shí)訓(xùn)雖已結(jié)束,但我們的不斷學(xué)習(xí)的征途才剛剛邁出第一步。今后的路還很長,還有很多機(jī)會去實(shí)習(xí)提高,我們要以更加積極的姿態(tài)去充實(shí)自己,學(xué)習(xí),不斷地迎接挑戰(zhàn)。

總結(jié)二:

作為就業(yè)培訓(xùn),項(xiàng)目的好壞對培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開發(fā)時練習(xí)項(xiàng)目的總結(jié),簡單總結(jié)為以下幾點(diǎn):

1、項(xiàng)目一定要全新的項(xiàng)目,不能是以前做過的

2、項(xiàng)目一定要企業(yè)真實(shí)項(xiàng)目,不能是精簡以后的,不能脫離實(shí)際應(yīng)用系統(tǒng)

3、在開發(fā)時要和企業(yè)的開發(fā)保持一致

4、在做項(xiàng)目的時候不應(yīng)該有參考代碼

一:項(xiàng)目的地位

因?yàn)閰⒓泳蜆I(yè)培訓(xùn)的學(xué)員很多都是有一定的計(jì)算機(jī)基礎(chǔ),大部分都具備一定的編程基礎(chǔ),尤其是在;蛘呤莿偖厴I(yè)的學(xué)生,多少都有一些基礎(chǔ)。

他們欠缺的主要是兩點(diǎn):

(1)不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會的挺多,但都是皮毛,不能滿足就業(yè)的需要。

(2)沒有任何實(shí)際的開發(fā)經(jīng)驗(yàn),完全是想象中學(xué)習(xí),考試還行,一到實(shí)際開發(fā)和應(yīng)用就歇菜了。

解決的方法就是通過項(xiàng)目練習(xí),對所學(xué)知識進(jìn)行深化,然后通過項(xiàng)目來獲取實(shí)際開發(fā)的經(jīng)驗(yàn),從而彌補(bǔ)這些不足,盡快達(dá)到企業(yè)的實(shí)際要求。

二:如何選擇項(xiàng)目

項(xiàng)目既然那么重要,肯定不能隨隨便便找項(xiàng)目,那么究竟如何來選擇呢?根據(jù)Java的研究和實(shí)踐經(jīng)驗(yàn)總結(jié),選擇項(xiàng)目的時候要注意以下方面:

1:項(xiàng)目不能太大,也不能太小

這個要根據(jù)項(xiàng)目練習(xí)的階段,練習(xí)的時間,練習(xí)的目標(biāo)來判斷。不能太大,太大了做不完,也不能太小,太小了沒有意義,達(dá)不到練習(xí)的目的。

2:項(xiàng)目不能脫離實(shí)際應(yīng)用系統(tǒng)

項(xiàng)目應(yīng)該是實(shí)際的系統(tǒng),或者是實(shí)際系統(tǒng)的簡化和抽象,不能夠是沒有實(shí)戰(zhàn)意義的教學(xué)性或者是純練習(xí)性的項(xiàng)目。因?yàn)榕嘤?xùn)的時間有限,必須讓學(xué)員盡快地融入到實(shí)際項(xiàng)目的開發(fā)當(dāng)中去。任何人接受和掌握一個東西都需要時間去適應(yīng),需要重復(fù)幾次才能夠真正掌握,所以每個項(xiàng)目都必須跟實(shí)際應(yīng)用掛鉤。

3:項(xiàng)目應(yīng)能覆蓋所學(xué)的主要知識點(diǎn)

學(xué)以致用,學(xué)完的知識點(diǎn)需要到應(yīng)用中使用,才能夠真正理解和掌握,再說了,軟件開發(fā)是一個動手能力要求很高的行業(yè),什么算會了,那就是能夠做出來,寫出代碼來,把問題解決了,你就算會了。

4:最后綜合項(xiàng)目一定要是實(shí)際應(yīng)用系統(tǒng)

學(xué)員經(jīng)過這個項(xiàng)目的練習(xí),就要走上實(shí)際的工作崗位了,如果這個系統(tǒng)還達(dá)不到實(shí)際應(yīng)用系統(tǒng)的標(biāo)準(zhǔn),學(xué)員練習(xí)過后也還是達(dá)不到企業(yè)實(shí)際的需要,那么這個培訓(xùn)應(yīng)該說質(zhì)量就不高了。理想的狀況是這個項(xiàng)目就是實(shí)際項(xiàng)目,到時候?qū)W員就業(yè)到另外一個公司,不過是換個地方干活而已,完全沒有技能上的問題。

三:Java怎么選擇項(xiàng)目

這個不是靠想象,而是根據(jù)實(shí)際的情況一步一步分析出來的(呵呵要賣弄一下:這也算是邏輯思維),當(dāng)然這里只是討論方法,不涉及具體的項(xiàng)目案例。

我們可以采用倒推的方式來分析:

(1)最終的項(xiàng)目一定是真實(shí)的項(xiàng)目,也就是要把學(xué)員訓(xùn)練到能夠獨(dú)立開發(fā)實(shí)際應(yīng)用,通常我們還不能選最簡單的項(xiàng)目,因?yàn)閷W(xué)員的吸收還要有一個折扣,所以最終的項(xiàng)目應(yīng)該選實(shí)際項(xiàng)目中中等難度的項(xiàng)目

(2)最終項(xiàng)目定下來過后,開始分解這個項(xiàng)目,看看為了達(dá)到完成這個項(xiàng)目需要哪些技術(shù)和知識點(diǎn),以及每部分知識點(diǎn)的深度,然后定出每個分階段的任務(wù)

(3)然后開始選擇分階段的項(xiàng)目,分階段的項(xiàng)目應(yīng)該比剛才分析出來的分階段任務(wù)稍稍復(fù)雜點(diǎn),這樣才能達(dá)到訓(xùn)練的目標(biāo)。定下分階段項(xiàng)目后,同樣去分解,定出為了完成他所需要的各部分知識點(diǎn)和深度。

(4)然后是選擇上課期間的演示項(xiàng)目,演示的項(xiàng)目是為了做分階段項(xiàng)目服務(wù)的,可以認(rèn)為是分階段項(xiàng)目的分階段項(xiàng)目

(5)最終把要求掌握的知識點(diǎn)和要求掌握的深度,分散到日常教學(xué)和練習(xí)中。

好了,把上面的分析用正向描述就是:

日常教學(xué)和練習(xí)中學(xué)習(xí)和掌握的知識

==〉演示項(xiàng)目

==〉分階段項(xiàng)目

==〉綜合項(xiàng)目

==〉勝任企業(yè)實(shí)際開發(fā)需要。

附注:有了好的項(xiàng)目還要有好的訓(xùn)練方法(這個另外立文討論),最最基本和重要的一條就是:絕對要指導(dǎo)學(xué)生親自動手做,而不是看和聽,所以盡量不要選擇有現(xiàn)成代碼的項(xiàng)目,演示用的項(xiàng)目也最好不配發(fā)代碼,讓學(xué)生能夠跟著做出來才是真的掌握了。

上面闡述了Java對項(xiàng)目的態(tài)度和基本選擇方法,這里再把其中幾個重要的、與眾不同的特點(diǎn)闡述如下:

1:真項(xiàng)目

項(xiàng)目一定要真實(shí),要是企業(yè)實(shí)際應(yīng)用的,不能是教學(xué)性的項(xiàng)目,否則會脫離實(shí)達(dá)不到項(xiàng)目實(shí)訓(xùn)的效果。還有一個一定要是最新的項(xiàng)目,企業(yè)的要求也是在不斷變化的,應(yīng)用技術(shù)的方向和層次也在不斷變化,這些都體現(xiàn)在最新項(xiàng)目的要求上,舊項(xiàng)目所要求的技術(shù)和層次很可能已經(jīng)過時了,根本達(dá)不到訓(xùn)練的目的。

Java的做法是:沒有固定項(xiàng)目,每個班做項(xiàng)目之前會從企業(yè)獲取最新的項(xiàng)目需求,然后經(jīng)過挑選和精心設(shè)計(jì),以保證既能訓(xùn)練技術(shù),又能得到實(shí)際的開發(fā)經(jīng)驗(yàn)。這樣實(shí)現(xiàn)了跟企業(yè)的同步,企業(yè)做什么,我們就學(xué)什么,然后也跟著做什么。

2:真流程

開發(fā)的流程也要跟企業(yè)的實(shí)際開發(fā)保持一致。從項(xiàng)目立項(xiàng)開始,到需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試的各個環(huán)節(jié),都要完全按照真實(shí)的開發(fā)流程來做。

Java的主力老師都是實(shí)戰(zhàn)出身,在Java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)驗(yàn),同時具備多年的項(xiàng)目管理經(jīng)驗(yàn),所以能夠完全按照企業(yè)開發(fā)的流程來訓(xùn)練學(xué)生。

3:真環(huán)境

開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺、應(yīng)用服務(wù)器、常用插件、測試工具、項(xiàng)目管理工具、項(xiàng)目管理文檔等等。

Java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團(tuán)隊(duì)開發(fā)。老師就相當(dāng)于項(xiàng)目經(jīng)理,一個班分成多個小組,每個組有自己的Team Leader,大家分工合作,共同完成項(xiàng)目。

4:真開發(fā)

這是Java最與眾不同的一點(diǎn),Java深知:軟件是做出來的,而不是聽出來或者看出來的,企業(yè)需要能實(shí)際開發(fā)的人員,而不是只聽過、看過但不能做的人。所以Java非常強(qiáng)調(diào):項(xiàng)目一定要讓學(xué)生動手寫出來。

Java的做法是:老師做為項(xiàng)目經(jīng)理,帶領(lǐng)著大家一起去做需求分析、概要設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、重要業(yè)務(wù)流程的分析設(shè)計(jì)等,然后由學(xué)生們分團(tuán)隊(duì)進(jìn)行開發(fā),實(shí)現(xiàn)整個項(xiàng)目。這里有幾個與眾不同:

(1):現(xiàn)場帶領(lǐng)學(xué)生一起做分析和設(shè)計(jì),而不是預(yù)先做好了來講講。因?yàn)樾枰獙W(xué)生學(xué)習(xí)的是分析設(shè)計(jì)的過程和方法,而不是已經(jīng)做好的結(jié)果。

(2):Java選用的項(xiàng)目基本都是企業(yè)最新的項(xiàng)目,很多都是Java的學(xué)生和企業(yè)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學(xué)生的依賴思想,認(rèn)認(rèn)真真去開發(fā)。可能有同學(xué)會問:為什么不選擇有源代碼的項(xiàng)目呢,那樣還可以參考學(xué)習(xí)啊!

這是一個典型的誤區(qū):覺得通過看人家的代碼能夠加快自己的學(xué)習(xí)。這個方法對有經(jīng)驗(yàn)的人來講是對的,但是對于還在學(xué)習(xí)期間,沒有經(jīng)驗(yàn)的學(xué)員來講,就是一個認(rèn)識的誤區(qū)了。因?yàn)槟阋苍S能看懂代碼的語法,但根本看不懂代碼背后的含義,看不懂代碼的設(shè)計(jì),看不懂為什么要這么實(shí)現(xiàn),看不懂代碼所體現(xiàn)的思想,其實(shí),看了跟沒看沒有多大區(qū)別。

事實(shí)上,Java界最不缺的就是代碼了,那么多開源軟件,小到一個工具,到企業(yè)級ERP都有開源的,而且很多都是大師級的作品,說實(shí)話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個水平,看不懂代碼背后所體現(xiàn)的設(shè)計(jì)和思想以及為什么要這么做,效果也就不好了。

當(dāng)然不排除有這樣的高人是能夠完全能理解和掌握這些大師級作品的,但估計(jì)不會是剛開始學(xué)習(xí)Java開發(fā)的學(xué)生,所以Java根據(jù)多年的培訓(xùn)經(jīng)驗(yàn),友情提示:在初學(xué)階段,看一千遍,聽一千遍,都不如自己動手寫一遍所達(dá)到的學(xué)習(xí)效果。自己能寫出來的功能才是你真正掌握的功能,而不是你看得代碼或者是聽老師講的,就算講過看過,但是自己做不出來,那都不算會。

(3):Java在課堂上除了帶領(lǐng)學(xué)生去分析設(shè)計(jì)外,還會分析一些重點(diǎn)、難點(diǎn)功能的實(shí)現(xiàn)機(jī)制和原理,然后指導(dǎo)學(xué)生去實(shí)現(xiàn)。

5:真技術(shù)

Java在每個項(xiàng)目中,特別會抽取有難度的部分讓學(xué)生們在老師指導(dǎo)下實(shí)現(xiàn),專門啃硬骨頭,那才能真正鍛煉學(xué)生的開發(fā)能力。

比如:在做OA類的項(xiàng)目時,會重點(diǎn)去做工作流、公文收發(fā)、在線Office控制等;在做CRM類項(xiàng)目時:會重點(diǎn)去做銷售自動化和市場塊的業(yè)務(wù);在做人力資源類項(xiàng)目的時候會重點(diǎn)去做人力跟蹤和人力評測模型等。

Java在每個項(xiàng)目中,都會使用目前企業(yè)最新最流行的技術(shù),按照最新的難度去要求,從而讓學(xué)員能更符合企業(yè)的需要。

6:真經(jīng)驗(yàn)

Java的項(xiàng)目都是企業(yè)最新的真實(shí)項(xiàng)目,經(jīng)過開發(fā)訓(xùn)練,學(xué)員能夠積累足夠的真實(shí)的開發(fā)經(jīng)驗(yàn),以勝任企業(yè)的工作需要。在進(jìn)行項(xiàng)目分析時,還會全面講解項(xiàng)目所要求的業(yè)務(wù),讓學(xué)員從業(yè)務(wù)和技術(shù)上都能充分積累。

7:真實(shí)力

作為就業(yè)培訓(xùn),項(xiàng)目的好壞對培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開發(fā)時練習(xí)項(xiàng)目的總結(jié),簡單總結(jié)為以下幾點(diǎn):

事實(shí)上,不采用有源代碼的教學(xué)性項(xiàng)目對Java的要求非常高。試想一下,如果項(xiàng)目分發(fā)下去,老師帶著分析后,學(xué)生都不會做會出現(xiàn)什么樣的后果?這對Java的教學(xué)質(zhì)量提出了極高的要求,如果教學(xué)質(zhì)量達(dá)不到讓學(xué)員獨(dú)立開發(fā)的水平,對依靠質(zhì)量取勝和口碑發(fā)展的Java將是毀滅性的。另外一個,由于是全真的項(xiàng)目,在開發(fā)的過程中,肯定會有很多的問題出現(xiàn),這些都要老師去解決,由于不像教學(xué)項(xiàng)目那樣預(yù)先做好,又需要老師能很快地解決各個問題,這對老師的真實(shí)開發(fā)水平有極高的要求,這可是需要真功夫的。

總結(jié)

總之,Java通過真實(shí)的項(xiàng)目,真實(shí)的開發(fā)環(huán)境和開發(fā)流程,指導(dǎo)學(xué)員去真正開發(fā),讓學(xué)員得到真正的鍛煉,收獲真正的開發(fā)能力。