java實(shí)習(xí)報(bào)告總結(jié)
作為就業(yè)培訓(xùn),項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開(kāi)發(fā)時(shí)練習(xí)項(xiàng)目的總結(jié),簡(jiǎn)單總結(jié)為以下幾點(diǎn):
1、項(xiàng)目一定要全新的項(xiàng)目,不能是以前做過(guò)的
2、項(xiàng)目一定要企業(yè)真實(shí)項(xiàng)目,不能是精簡(jiǎn)以后的,不能脫離實(shí)際應(yīng)用系統(tǒng)
3、在開(kāi)發(fā)時(shí)要和企業(yè)的開(kāi)發(fā)保持一致
4、在做項(xiàng)目的時(shí)候不應(yīng)該有參考代碼
長(zhǎng)話(huà)短說(shuō)就是以上幾點(diǎn),如果你想要更多的了解,可以繼續(xù)往后看。
一:項(xiàng)目的地位
因?yàn)閰⒓泳蜆I(yè)培訓(xùn)的學(xué)員很多都是有一定的計(jì)算機(jī)基礎(chǔ),大部分都具備一定的編程基礎(chǔ),尤其是在;蛘呤莿偖厴I(yè)的學(xué)生,多少都有一些基礎(chǔ)。
他們欠缺的主要是兩點(diǎn):
(1)不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會(huì)的挺多,但都是皮毛,不能滿(mǎn)足就業(yè)的需要。
(2)沒(méi)有任何實(shí)際的開(kāi)發(fā)經(jīng)驗(yàn),完全是想象中學(xué)習(xí),考試還行,一到實(shí)際開(kāi)發(fā)和應(yīng)用就歇菜了。
解決的方法就是通過(guò)項(xiàng)目練習(xí),對(duì)所學(xué)知識(shí)進(jìn)行深化,然后通過(guò)項(xiàng)目來(lái)獲取實(shí)際開(kāi)發(fā)的經(jīng)驗(yàn),從而彌補(bǔ)這些不足,盡快達(dá)到企業(yè)的實(shí)際要求。
二:如何選擇項(xiàng)目
項(xiàng)目既然那么重要,肯定不能隨隨便便找項(xiàng)目,那么究竟如何來(lái)選擇呢?根據(jù)Java的研究和實(shí)踐經(jīng)驗(yàn)總結(jié),選擇項(xiàng)目的時(shí)候要注意以下方面:
1:項(xiàng)目不能太大,也不能太小
這個(gè)要根據(jù)項(xiàng)目練習(xí)的階段,練習(xí)的時(shí)間,練習(xí)的目標(biāo)來(lái)判斷。不能太大,太大了做不完,也不能太小,太小了沒(méi)有意義,達(dá)不到練習(xí)的目的。
2:項(xiàng)目不能脫離實(shí)際應(yīng)用系統(tǒng)
項(xiàng)目應(yīng)該是實(shí)際的系統(tǒng),或者是實(shí)際系統(tǒng)的簡(jiǎn)化和抽象,不能夠是沒(méi)有實(shí)戰(zhàn)意義的教學(xué)性或者是純練習(xí)性的項(xiàng)目。因?yàn)榕嘤?xùn)的時(shí)間有限,必須讓學(xué)員盡快地融入到實(shí)際項(xiàng)目的開(kāi)發(fā)當(dāng)中去。任何人接受和掌握一個(gè)東西都需要時(shí)間去適應(yīng),需要重復(fù)幾次才能夠真正掌握,所以每個(gè)項(xiàng)目都必須跟實(shí)際應(yīng)用掛鉤。
3:項(xiàng)目應(yīng)能覆蓋所學(xué)的主要知識(shí)點(diǎn)
學(xué)以致用,學(xué)完的知識(shí)點(diǎn)需要到應(yīng)用中使用,才能夠真正理解和掌握,再說(shuō)了,軟件開(kāi)發(fā)是一個(gè)動(dòng)手能力要求很高的行業(yè),什么算會(huì)了,那就是能夠做出來(lái),寫(xiě)出代碼來(lái),把問(wèn)題解決了,你就算會(huì)了。
4:最后綜合項(xiàng)目一定要是實(shí)際應(yīng)用系統(tǒng)
學(xué)員經(jīng)過(guò)這個(gè)項(xiàng)目的練習(xí),就要走上實(shí)際的工作崗位了,如果這個(gè)系統(tǒng)還達(dá)不到實(shí)際應(yīng)用系統(tǒng)的標(biāo)準(zhǔn),學(xué)員練習(xí)過(guò)后也還是達(dá)不到企業(yè)實(shí)際的需要,那么這個(gè)培訓(xùn)應(yīng)該說(shuō)質(zhì)量就不高了。理想的狀況是這個(gè)項(xiàng)目就是實(shí)際項(xiàng)目,到時(shí)候?qū)W員就業(yè)到另外一個(gè)公司,不過(guò)是換個(gè)地方干活而已,完全沒(méi)有技能上的問(wèn)題。
三:Java怎么選擇項(xiàng)目
這個(gè)不是靠想象,而是根據(jù)實(shí)際的情況一步一步分析出來(lái)的(呵呵要賣(mài)弄一下:這也算是邏輯思維),當(dāng)然這里只是討論方法,不涉及具體的項(xiàng)目案例。
我們可以采用倒推的方式來(lái)分析:
(1)最終的項(xiàng)目一定是真實(shí)的項(xiàng)目,也就是要把學(xué)員訓(xùn)練到能夠獨(dú)立開(kāi)發(fā)實(shí)際應(yīng)用,通常我們還不能選最簡(jiǎn)單的項(xiàng)目,因?yàn)閷W(xué)員的吸收還要有一個(gè)折扣,所以最終的項(xiàng)目應(yīng)該選實(shí)際項(xiàng)目中中等難度的項(xiàng)目
(2)最終項(xiàng)目定下來(lái)過(guò)后,開(kāi)始分解這個(gè)項(xiàng)目,看看為了達(dá)到完成這個(gè)項(xiàng)目需要哪些技術(shù)和知識(shí)點(diǎn),以及每部分知識(shí)點(diǎn)的深度,然后定出每個(gè)分階段的任務(wù)
(3)然后開(kāi)始選擇分階段的項(xiàng)目,分階段的項(xiàng)目應(yīng)該比剛才分析出來(lái)的分階段任務(wù)稍稍復(fù)雜點(diǎn),這樣才能達(dá)到訓(xùn)練的目標(biāo)。定下分階段項(xiàng)目后,同樣去分解,定出為了完成他所需要的各部分知識(shí)點(diǎn)和深度。
(4)然后是選擇上課期間的演示項(xiàng)目,演示的項(xiàng)目是為了做分階段項(xiàng)目服務(wù)的,可以認(rèn)為是分階段項(xiàng)目的分階段項(xiàng)目
(5)最終把要求掌握的知識(shí)點(diǎn)和要求掌握的深度,分散到日常教學(xué)和練習(xí)中。
好了,把上面的分析用正向描述就是:日常教學(xué)和練習(xí)中學(xué)習(xí)和掌握的知識(shí)
==〉演示項(xiàng)目
==〉分階段項(xiàng)目
==〉綜合項(xiàng)目
==〉勝任企業(yè)實(shí)際開(kāi)發(fā)需要。
附注:有了好的項(xiàng)目還要有好的訓(xùn)練方法(這個(gè)另外立文討論),最最基本和重要的一條就是:絕對(duì)要指導(dǎo)學(xué)生親自動(dòng)手做,而不是看和聽(tīng),所以盡量不要選擇有現(xiàn)成代碼的項(xiàng)目,演示用的項(xiàng)目也最好不配發(fā)代碼,讓學(xué)生能夠跟著做出來(lái)才是真的掌握了。
上面闡述了Java對(duì)項(xiàng)目的態(tài)度和基本選擇方法,這里再把其中幾個(gè)重要的、與眾不同的特點(diǎn)闡述如下:
1:真項(xiàng)目
項(xiàng)目一定要真實(shí),要是企業(yè)實(shí)際應(yīng)用的,不能是教學(xué)性的項(xiàng)目,否則會(huì)脫離實(shí)達(dá)不到項(xiàng)目實(shí)訓(xùn)的效果。還有一個(gè)一定要是最新的項(xiàng)目,企業(yè)的要求也是在不斷變化的,應(yīng)用技術(shù)的方向和層次也在不斷變化,這些都體現(xiàn)在最新項(xiàng)目的要求上,舊項(xiàng)目所要求的技術(shù)和層次很可能已經(jīng)過(guò)時(shí)了,根本達(dá)不到訓(xùn)練的目的。
Java的做法是:沒(méi)有固定項(xiàng)目,每個(gè)班做項(xiàng)目之前會(huì)從企業(yè)獲取最新的項(xiàng)目需求,然后經(jīng)過(guò)挑選和精心設(shè)計(jì),以保證既能訓(xùn)練技術(shù),又能得到實(shí)際的開(kāi)發(fā)經(jīng)驗(yàn)。這樣實(shí)現(xiàn)了跟企業(yè)的同步,企業(yè)做什么,我們就學(xué)什么,然后也跟著做什么。
2:真流程
開(kāi)發(fā)的流程也要跟企業(yè)的實(shí)際開(kāi)發(fā)保持一致。從項(xiàng)目立項(xiàng)開(kāi)始,到需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試的各個(gè)環(huán)節(jié),都要完全按照真實(shí)的開(kāi)發(fā)流程來(lái)做。
Java的主力老師都是實(shí)戰(zhàn)出身,在Java開(kāi)發(fā)方面都至少有七年以上的開(kāi)發(fā)經(jīng)驗(yàn),同時(shí)具備多年的項(xiàng)目管理經(jīng)驗(yàn),所以能夠完全按照企業(yè)開(kāi)發(fā)的流程來(lái)訓(xùn)練學(xué)生。
3:真環(huán)境
開(kāi)發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開(kāi)發(fā)工具、開(kāi)發(fā)平臺(tái)、應(yīng)用服務(wù)器、常用插件、測(cè)試工具、項(xiàng)目管理工具、項(xiàng)目管理文檔等等。
Java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開(kāi)發(fā)一樣,分團(tuán)隊(duì)開(kāi)發(fā)。老師就相當(dāng)于項(xiàng)目經(jīng)理,一個(gè)班分成多個(gè)小組,每個(gè)組有自己的Team
Leader,大家分工合作,共同完成項(xiàng)目。
4:真開(kāi)發(fā)
這是Java最與眾不同的一點(diǎn),Java深知:軟件是做出來(lái)的,而不是聽(tīng)出來(lái)或者看出來(lái)的,企業(yè)需要能實(shí)際開(kāi)發(fā)的人員,而不是只聽(tīng)過(guò)、看過(guò)但不能做的人。所以Java非常強(qiáng)調(diào):項(xiàng)目一定要讓學(xué)生動(dòng)手寫(xiě)出來(lái)。
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)行開(kāi)發(fā),實(shí)現(xiàn)整個(gè)項(xiàng)目。這里有幾個(gè)與眾不同:
(1):現(xiàn)場(chǎng)帶領(lǐng)學(xué)生一起做分析和設(shè)計(jì),而不是預(yù)先做好了來(lái)講講。因?yàn)樾枰獙W(xué)生學(xué)習(xí)的是分析設(shè)計(jì)的過(guò)程和方法,而不是已經(jīng)做好的結(jié)果。
(2):Java選用的項(xiàng)目基本都是企業(yè)最新的項(xiàng)目,很多都是Java的學(xué)生和企業(yè)在同期開(kāi)發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學(xué)生的依賴(lài)思想,認(rèn)認(rèn)真真去開(kāi)發(fā)。可能有同學(xué)會(huì)問(wèn):為什么不選擇有源代碼的項(xiàng)目呢,那樣還可以參考學(xué)習(xí)啊!
這是一個(gè)典型的誤區(qū):覺(jué)得通過(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ū)別。
事實(shí)上,Java界最不缺的就是代碼了,那么多開(kāi)源軟件,小到一個(gè)工具,到企業(yè)級(jí)ERP都有開(kāi)源的,而且很多都是大師級(jí)的作品,說(shuō)實(shí)話(huà)比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個(gè)水平,看不懂代碼背后所體現(xiàn)的設(shè)計(jì)和思想以及為什么要這么做,效果也就不好了。
當(dāng)然不排除有這樣的高人是能夠完全能理解和掌握這些大師級(jí)作品的,但估計(jì)不會(huì)是剛開(kāi)始學(xué)習(xí)Java開(kāi)發(fā)的學(xué)生,所以Java根據(jù)多年的培訓(xùn)經(jīng)驗(yàn),友情提示:在初學(xué)階段,看一千遍,聽(tīng)一千遍,都不如自己動(dòng)手寫(xiě)一遍所達(dá)到的學(xué)習(xí)效果。自己能寫(xiě)出來(lái)的功能才是你真正掌握的功能,而不是你看得代碼或者是聽(tīng)老師講的,就算講過(guò)看過(guò),但是自己做不出來(lái),那都不算會(huì)。
(3):Java在課堂上除了帶領(lǐng)學(xué)生去分析設(shè)計(jì)外,還會(huì)分析一些重點(diǎn)、難點(diǎn)功能的實(shí)現(xiàn)機(jī)制和原理,然后指導(dǎo)學(xué)生去實(shí)現(xiàn)。
5:真技術(shù)
Java在每個(gè)項(xiàng)目中,特別會(huì)抽取有難度的部分讓學(xué)生們?cè)诶蠋熤笇?dǎo)下實(shí)現(xiàn),專(zhuān)門(mén)啃硬骨頭,那才能真正鍛煉學(xué)生的開(kāi)發(fā)能力。
比如:在做OA類(lèi)的項(xiàng)目時(shí),會(huì)重點(diǎn)去做工作流、公文收發(fā)、在線Office控制等;在做CRM類(lèi)項(xiàng)目時(shí):會(huì)重點(diǎn)去做銷(xiāo)售自動(dòng)化和市場(chǎng)塊的業(yè)務(wù);在做人力資源類(lèi)項(xiàng)目的時(shí)候會(huì)重點(diǎn)去做人力跟蹤和人力評(píng)測(cè)模型等......
Java在每個(gè)項(xiàng)目中,都會(huì)使用目前企業(yè)最新最流行的技術(shù),按照最新的難度去要求,從而讓學(xué)員能更符合企業(yè)的需要。
6:真經(jīng)驗(yàn)
Java的項(xiàng)目都是企業(yè)最新的真實(shí)項(xiàng)目,經(jīng)過(guò)開(kāi)發(fā)訓(xùn)練,學(xué)員能夠積累足夠的真實(shí)的開(kāi)發(fā)經(jīng)驗(yàn),以勝任企業(yè)的工作需要。在進(jìn)行項(xiàng)目分析時(shí),還會(huì)全面講解項(xiàng)目所要求的業(yè)務(wù),讓學(xué)員從業(yè)務(wù)和技術(shù)上都能充分積累。
7:真實(shí)力
作為就業(yè)培訓(xùn),項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開(kāi)發(fā)時(shí)練習(xí)項(xiàng)目的總結(jié),簡(jiǎn)單總結(jié)為以下幾點(diǎn):事實(shí)上,不采用有源代碼的教學(xué)性項(xiàng)目對(duì)Java的要求非常高。
試想一下,如果項(xiàng)目分發(fā)下去,老師帶著分析后,學(xué)生都不會(huì)做會(huì)出現(xiàn)什么樣的后果?這對(duì)Java的教學(xué)質(zhì)量提出了極高的要求,如果教學(xué)質(zhì)量達(dá)不到讓學(xué)員獨(dú)立開(kāi)發(fā)的水平,對(duì)依靠質(zhì)量取勝和口碑發(fā)展的Java將是毀滅性的。
另外一個(gè),由于是全真的項(xiàng)目,在開(kāi)發(fā)的過(guò)程中,肯定會(huì)有很多的問(wèn)題出現(xiàn),這些都要老師去解決,由于不像教學(xué)項(xiàng)目那樣預(yù)先做好,又需要老師能很快地解決各個(gè)問(wèn)題,這對(duì)老師的真實(shí)開(kāi)發(fā)水平有極高的要求,這可是需要真功夫的。
總結(jié)
總之,Java通過(guò)真實(shí)的項(xiàng)目,真實(shí)的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)流程,指導(dǎo)學(xué)員去真正開(kāi)發(fā),讓學(xué)員得到真正的鍛煉,收獲真正的開(kāi)發(fā)能力。