我們?cè)趯W(xué)校機(jī)房進(jìn)行了為期三周的JAVA實(shí)訓(xùn)。現(xiàn)在即將結(jié)束了,回首本學(xué)期的java學(xué)習(xí),重點(diǎn)還是在學(xué)習(xí)概念等一些常識(shí)性的東西,Application應(yīng)用程序和Applet小程序,它的開發(fā)工具,數(shù)據(jù)類型,變量,接口,輸入輸出流,學(xué)會(huì)分析異常,拋出異常,后期主要是小程序運(yùn)用,Gui界面設(shè)計(jì)和事件。
我覺(jué)得這兩種程序結(jié)構(gòu)有很大的不同,不管是體系結(jié)構(gòu)還是運(yùn)行方式,都有很大的區(qū)別,我主要偏向于小程序的學(xué)習(xí),呵呵,因?yàn)楦杏X(jué)它用處比較大,可以做出好多好多好玩的游戲,運(yùn)用程序等,且它靈活。呵呵,當(dāng)然學(xué)知識(shí)可不能憑自己的愛(ài)好和一時(shí)興趣,要一步一個(gè)腳印,認(rèn)認(rèn)真真,踏踏實(shí)實(shí),理論與實(shí)踐相結(jié)合,在扎實(shí)掌握課本實(shí)例和內(nèi)容之后,有一定的擴(kuò)展閱讀和課外學(xué)習(xí),充分全面的了解JAVA的應(yīng)用和擴(kuò)展運(yùn)用。
這次實(shí)訓(xùn),我們更多學(xué)到的是不懂就問(wèn)和自己應(yīng)該盡自己的全力去嘗試,哪怕失敗,只要自己盡自己的全力,和身邊同學(xué)一起探討而不是抄襲,團(tuán)結(jié)合作,發(fā)揮團(tuán)隊(duì)意識(shí),最后在自己的努力下,終于運(yùn)行成功,這種成就感美不可言,心情愉悅至極。
在學(xué)院領(lǐng)導(dǎo)老師的帶領(lǐng)和安排下,我們?cè)谏蟼€(gè)學(xué)期末,到北京進(jìn)行了為期10天的專業(yè)實(shí)習(xí)。在實(shí)習(xí)過(guò)程中,我們?cè)趯>幊碳寄芤约败浖_發(fā)的總體架構(gòu)思想上都收獲頗豐。
本次實(shí)訓(xùn)我們分為兩個(gè)階段,前五天為第一階段,我們進(jìn)行了理論知識(shí)的學(xué)習(xí),鞏固和深化了所學(xué)的編程知識(shí)。以下談一談個(gè)人的感受與體會(huì)
一、理論知識(shí)的學(xué)習(xí)
在實(shí)訓(xùn)進(jìn)行的前五天,我們上的是java編程的理論課。負(fù)責(zé)上課的老師言語(yǔ)風(fēng)趣幽默而不失嚴(yán)謹(jǐn),在老師的引導(dǎo)和啟發(fā)下,我們鞏固了之前在學(xué)校所學(xué)的編程知識(shí),并加以深化,澄清之前對(duì)編程技術(shù)認(rèn)識(shí)的一些錯(cuò)誤或模糊的概念。
我們還在課上以java里GUI編程常用的swing框架和JAVA的容器體系作為切入點(diǎn),框架作為這期間除了學(xué)習(xí)一般的編程的知識(shí)技巧。在全面的系統(tǒng)的認(rèn)識(shí)了框架同時(shí)補(bǔ)充學(xué)習(xí)了泛型技術(shù),以及框架中架構(gòu)思想的知識(shí)。在企業(yè)的實(shí)際編碼過(guò)程中,一個(gè)個(gè)框架構(gòu)成了軟件的基石,只有掌握了幾門框架知識(shí),才能在實(shí)踐中高效開發(fā),讓自己的產(chǎn)品在市場(chǎng)上立于不敗之地。
在理論課的學(xué)習(xí)過(guò)程中,我們也暴露了一些問(wèn)題,比如在學(xué)校上課學(xué)習(xí)時(shí),對(duì)所學(xué)知識(shí)只是知其然而不知其所以然,不太愿意深鉆,和超前學(xué)習(xí)一些知識(shí)。
二、項(xiàng)目開發(fā)實(shí)戰(zhàn)練習(xí)
在結(jié)束了理論知識(shí)的學(xué)習(xí)之后,后五天我們?cè)趯?shí)訓(xùn)基地進(jìn)行了項(xiàng)目開發(fā)的實(shí)戰(zhàn)練習(xí)。
項(xiàng)目的名稱是superVCD,是由海輝曾經(jīng)所接的一個(gè)遠(yuǎn)程音樂(lè)唱片管理軟件項(xiàng)目的精簡(jiǎn)版。雖然有所精簡(jiǎn),但是其內(nèi)容對(duì)我們學(xué)習(xí)仍具有相當(dāng)?shù)膬r(jià)值,對(duì)我們了解真實(shí)的軟件的設(shè)計(jì)規(guī)范,編碼規(guī)范,文檔規(guī)范以及客戶對(duì)軟件的需求很有參考價(jià)值。該內(nèi)容囊括了GUI設(shè)計(jì)和編碼,容器與泛型的知識(shí),規(guī)范文檔編寫,測(cè)試及日志系統(tǒng),甚至要求我們實(shí)現(xiàn)一個(gè)專用的輕量級(jí)數(shù)據(jù)庫(kù)系統(tǒng),這無(wú)疑是對(duì)我們很好的一次歷練機(jī)會(huì),同時(shí)可以積累豐富的知識(shí)。
平時(shí)我們很少有機(jī)會(huì)能夠完成一個(gè)如此規(guī)模的項(xiàng)目,所以在這次項(xiàng)目實(shí)戰(zhàn)訓(xùn)練中,我的收獲也有很多。
第一,我學(xué)會(huì)了如何規(guī)范的編寫代碼和文檔。文檔和代碼是團(tuán)隊(duì)各成員在項(xiàng)目開發(fā)交流合作中的紐帶,風(fēng)格隨意混亂的代碼和缺失或語(yǔ)義不明的文檔會(huì)讓團(tuán)隊(duì)中的其他成員不能理解和使用自己寫的程序,我在平時(shí)編寫代碼比較隨意,并不注重這一點(diǎn),經(jīng)歷這次實(shí)戰(zhàn)演練之后,我一定會(huì)嚴(yán)格的遵守編碼規(guī)范。
第二,我學(xué)會(huì)了如何理解和分析客戶的需求。軟件為客戶而生,只有理解了客戶的需求才有寫出優(yōu)秀的軟件的可能,在這次實(shí)戰(zhàn)演練中,老師教會(huì)了我們?nèi)绾谓M織團(tuán)隊(duì)正確的理解和分析客戶的需求,并寫出完善的需求分析,并用于項(xiàng)目開發(fā)。
第三,我學(xué)會(huì)了對(duì)按照需求對(duì)軟件架構(gòu)進(jìn)行設(shè)計(jì),這點(diǎn)我想是我們?cè)S多同學(xué)之前都非常欠缺的,因?yàn)槲覀冊(cè)趯W(xué)校的時(shí)編寫代碼篇幅短小,功能單一,所以設(shè)計(jì)思路通常只留于腦內(nèi),非常模糊。而在這次項(xiàng)目開發(fā)演練中,老師手把手的教會(huì)我如何從需求中抽象出問(wèn)題,并將之模塊化,然后逐步求精,就如同為高樓大廈搭建棟梁。
第四,我學(xué)會(huì)了如何團(tuán)隊(duì)合作,共同開發(fā)。作為項(xiàng)目開發(fā)小組的組長(zhǎng),我的體會(huì)更加深刻。獨(dú)木難支,光靠一個(gè)人的力量是遠(yuǎn)遠(yuǎn)不夠的。只有管理組織好一個(gè)團(tuán)隊(duì),才能夠最終完成項(xiàng)目的開發(fā),或許在編程技術(shù)水平上團(tuán)隊(duì)成員有高有低,但是,每個(gè)人都有自己的閃光點(diǎn),總可以在團(tuán)隊(duì)的找到適合自己的位置,每個(gè)人在自己的團(tuán)隊(duì)中做的貢獻(xiàn),創(chuàng)造出不可磨滅的重大價(jià)值。
第五,我學(xué)會(huì)了如何與客戶溝通并展示自己的項(xiàng)目,軟件項(xiàng)目的開發(fā)最終需要的是客戶的認(rèn)可,讓客戶了解并認(rèn)可自己的產(chǎn)品最好的辦法就是用言語(yǔ)將自己的項(xiàng)目的最好的一面展示出來(lái),在最后一天里,實(shí)訓(xùn)的老師組織了項(xiàng)目的答辯,給我們提供了鍛煉自己的表達(dá)能力,展示自己的項(xiàng)目的舞臺(tái)。
在實(shí)戰(zhàn)的過(guò)程中,我對(duì)項(xiàng)目開發(fā)流程有了切實(shí)的體會(huì):學(xué)會(huì)了如何編寫規(guī)范合格的代碼和文檔;學(xué)會(huì)了了正確理解分析客戶需求并設(shè)計(jì)項(xiàng)目的方法;體會(huì)到了團(tuán)隊(duì)合作精神的重要性,明白了組織團(tuán)隊(duì)進(jìn)行項(xiàng)目開發(fā)的具體流程,還了解到了向客戶展示產(chǎn)品以及與客戶進(jìn)行溝通的技巧。
經(jīng)歷過(guò)這次實(shí)習(xí)實(shí)訓(xùn),我們不僅在編程的理論知識(shí)上有所鞏固和深化,更重要的是有了實(shí)戰(zhàn)進(jìn)行項(xiàng)目開發(fā)鍛煉動(dòng)手能力的機(jī)會(huì),積累了一筆寶貴的經(jīng)驗(yàn)。實(shí)訓(xùn)雖已結(jié)束,但我們的不斷學(xué)習(xí)的征途才剛剛邁出第一步。今后的路還很長(zhǎng),還有很多機(jī)會(huì)去實(shí)習(xí)提高,我們要以更加積極的姿態(tài)去充實(shí)自己,學(xué)習(xí),不斷地迎接挑戰(zhàn)。
我們?cè)趯W(xué)校機(jī)房進(jìn)行了為期三周的JAVA實(shí)訓(xùn)?,F(xiàn)在即將結(jié)束了,回首本學(xué)期的java學(xué)習(xí),重點(diǎn)還是在學(xué)習(xí)概念等一些常識(shí)性的東西,Application應(yīng)用程序和Applet小程序,它的開發(fā)工具,數(shù)據(jù)類型,變量,接口,輸入輸出流,學(xué)會(huì)分析異常,拋出異常,后期主要是小程序運(yùn)用,Gui界面設(shè)計(jì)和事件。我覺(jué)得這兩種程序結(jié)構(gòu)有很大的不同,不管是體系結(jié)構(gòu)還是運(yùn)行方式,都有很大的區(qū)別,我主要偏向于小程序的學(xué)習(xí),呵呵,因?yàn)楦杏X(jué)它用處比較大,可以做出好多好多好玩的游戲,運(yùn)用程序等,且它靈活。呵呵,當(dāng)然學(xué)知識(shí)可不能憑自己的愛(ài)好和一時(shí)興趣,要一步一個(gè)腳印,認(rèn)認(rèn)真真,踏踏實(shí)實(shí),理論與實(shí)踐相結(jié)合,在扎實(shí)掌握課本實(shí)例和內(nèi)容之后,有一定的擴(kuò)展閱讀和課外學(xué)習(xí),充分全面的了解JAVA的應(yīng)用和擴(kuò)展運(yùn)用。
這次實(shí)訓(xùn),我們更多學(xué)到的是不懂就問(wèn)和自己應(yīng)該盡自己的全力去嘗試,哪怕失敗,只要自己盡自己的全力,和身邊同學(xué)一起探討而不是抄襲,團(tuán)結(jié)合作,發(fā)揮團(tuán)隊(duì)意識(shí),最后在自己的努力下,終于運(yùn)行成功,這種成就感美不可言,心情愉悅至極。
Java學(xué)起來(lái)很有趣,通過(guò)學(xué)習(xí)Java可以提高自己的邏輯思維能力。在學(xué)習(xí)Java期間我們做了一些程序,我們班的同學(xué)也都積極準(zhǔn)備,完成的還不錯(cuò)!在做程序時(shí),我遇到了一些難題,有時(shí)也會(huì)出現(xiàn)錯(cuò)誤,耐心的調(diào)試解決問(wèn)題,我知道只有堅(jiān)持下去才會(huì)成功。
因?yàn)镴ava是一種面向?qū)ο蟮木幊陶Z(yǔ)言,剛接觸Java的人可能會(huì)感覺(jué)比較抽象,不過(guò)沒(méi)關(guān)系不用著急,上課的時(shí)候認(rèn)真聽老師講解,一些概念知識(shí)慢慢去理解,課后多做練習(xí),熟能生巧,哪怕是你的記性再好,課后不去強(qiáng)化練習(xí)也沒(méi)用,只有多練了,當(dāng)你在做項(xiàng)目時(shí)你才能很熟練的寫出你想要代碼。平日在練習(xí)時(shí)若遇到不會(huì)的題目或是在項(xiàng)目中遇到解決不了的問(wèn)題,首先不要急著去問(wèn)老師,或是急著上百度搜答案,那樣即使你得到了正確答案,以后在其它地方遇到同樣的問(wèn)題,你還是不知道怎么解決!
我覺(jué)得把Java學(xué)會(huì)的關(guān)鍵一點(diǎn)就是堅(jiān)持練習(xí)。學(xué)習(xí)Java時(shí)每天必須保證一定量的練習(xí),我們老師也說(shuō)學(xué)習(xí)編程語(yǔ)言沒(méi)有捷徑可走。真的,只有每天反復(fù)操作了,經(jīng)常寫代碼了,我們?cè)谟龅絾?wèn)題時(shí)才有一定的思路。欲速則不達(dá),學(xué)習(xí)編程語(yǔ)言需要一個(gè)比較漫長(zhǎng)的階段,不能一步登天,這需要一個(gè)過(guò)程,在這個(gè)過(guò)程中慢慢積累經(jīng)驗(yàn),扎實(shí)基礎(chǔ)。不要以為寫出了一個(gè)簡(jiǎn)單的小程序,就認(rèn)為自己已經(jīng)學(xué)的很好了,這只不過(guò)是在你學(xué)習(xí)編程過(guò)程中一個(gè)小小的實(shí)踐。不要滿足于現(xiàn)狀,要不斷完善自己的知識(shí)體系,善于總結(jié)實(shí)踐經(jīng)驗(yàn)。要端正自己的學(xué)習(xí)態(tài)度,是主動(dòng)去學(xué),而不是被動(dòng)!提高自學(xué)能力。學(xué)習(xí)編程的秘訣是:編程、編程、再編程。不僅要多實(shí)踐,而且要快實(shí)踐。另外好多軟件需要到英文網(wǎng)站下載,你要能夠找到它們,這些是最基本的要求。英語(yǔ)好對(duì)你學(xué)習(xí)有很大的幫助。
學(xué)習(xí)Java這段時(shí)間,有時(shí)候會(huì)覺(jué)得有點(diǎn)苦,但是我覺(jué)得正是有了你奮斗時(shí)的苦,才能換來(lái)學(xué)成后的甜。當(dāng)你經(jīng)過(guò)認(rèn)真寫代碼做完一個(gè)項(xiàng)目時(shí),你會(huì)有一種成就感。心里有一種說(shuō)不出的喜悅之情。
學(xué)習(xí)Java靠得是韌勁,靠得是拼勁,靠得是堅(jiān)持不懈。如果做好了這幾點(diǎn),我想Java對(duì)你來(lái)說(shuō)不會(huì)太難。還有,你自己要有信心,相信自己能學(xué)會(huì)。
學(xué)生在學(xué)校學(xué)習(xí)Java時(shí),老師教學(xué)內(nèi)容太多,學(xué)生跟老師學(xué)習(xí)時(shí),往往抓不住學(xué)習(xí)的重點(diǎn),學(xué)習(xí)的知識(shí)太空泛,也缺少項(xiàng)目經(jīng)驗(yàn),造成有些學(xué)生只會(huì)空泛的理論,項(xiàng)目能力,實(shí)踐能力不強(qiáng),達(dá)不到企業(yè)選用人才的標(biāo)準(zhǔn)。但是學(xué)生參加思軟的培訓(xùn)之后,學(xué)生能對(duì)Java的結(jié)構(gòu)能更好掌握,對(duì)知識(shí)點(diǎn)也能深刻連貫的理解。尤其是對(duì)企業(yè)面試的考點(diǎn)能做到很好的掌握,讓你在企業(yè)的面試過(guò)程中,不管是項(xiàng)目能力,還是考試能力,都會(huì)讓你有很大的提升,讓你在求職的過(guò)程中穩(wěn)操勝券。
學(xué)生在最初學(xué)習(xí)Java時(shí),學(xué)生考慮到自己有C語(yǔ)言基礎(chǔ),而且英語(yǔ)基礎(chǔ)也很扎實(shí),所以想先學(xué)校學(xué)習(xí)然后去考試。學(xué)校學(xué)習(xí)了一段時(shí)間后,發(fā)現(xiàn)Java的知識(shí)點(diǎn)都還比較容易理解,因此信心十足地做了幾套考試模擬題,可是結(jié)果卻令學(xué)生頗受打擊。究其原因,學(xué)生發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)計(jì)算機(jī)語(yǔ)言時(shí)習(xí)慣多上機(jī)練習(xí),多查文檔,多翻參考書,所以對(duì)一些細(xì)枝末節(jié)的地方往往都不加特殊記憶。然而,在考試中,自己沒(méi)有任何文檔可查,內(nèi)容又往往偏向那些不被注意的細(xì)節(jié)上。而且由于Sun公司用于考試的專用教程,只有在授權(quán)培訓(xùn)中心參加了培訓(xùn)之后才能獲得,所以學(xué)校學(xué)習(xí)的重點(diǎn)往往與考試方向“謬以千里”。所以參加思軟培訓(xùn)班之后,會(huì)讓你更容易通過(guò)考試,取得SCJP證書,讓你高薪就業(yè)。
學(xué)校學(xué)習(xí)時(shí)不容易注意到的知識(shí)點(diǎn),講師都會(huì)給予提醒和講解。
比如,垃圾回收機(jī)制,Java沒(méi)有指針,利用后臺(tái)線程進(jìn)行垃圾回收。學(xué)校學(xué)習(xí)時(shí)看到書上的講解真是一頭霧水,聽課后,就會(huì)“恍然大悟”。講師把垃圾回收機(jī)制這個(gè)知識(shí)點(diǎn)必須理解的幾條內(nèi)容列出:“程序員無(wú)權(quán)回收內(nèi)存;系統(tǒng)自動(dòng)完成垃圾回收;回收的時(shí)間無(wú)法預(yù)計(jì);程序員可使本地變量賦值為空,使其失去意義以待回收;當(dāng)運(yùn)行用戶線程時(shí)不能回收內(nèi)存;垃圾回收時(shí)必須使變量賦值為空null?!敝v師會(huì)列出考試中此類知識(shí)點(diǎn)的考查方
由于培訓(xùn)方向就是面向應(yīng)用和認(rèn)證考試的,促進(jìn)就業(yè)。所以在整個(gè)授課過(guò)程中,重點(diǎn)都會(huì)圍繞著考點(diǎn),講師會(huì)在其中添加一些實(shí)用的知識(shí)以助理解。對(duì)難以區(qū)分的概念,講師會(huì)用例子進(jìn)行歸納總結(jié),學(xué)員可高效率地準(zhǔn)確掌握。
比如“重載(overloading)”與“覆蓋(overriding)”這兩個(gè)概念,考試中??迹约嚎磿鴷r(shí)覺(jué)得很相似,書上講得又很抽象。某中文參考書上對(duì)“重載”解釋成“在同一類中實(shí)現(xiàn)取用不同變?cè)耐蓡T函數(shù)”,把“覆蓋”解釋成“子類修改父類中的方法”,而且舉的例子很簡(jiǎn)單,即使理解了其中的含義,也很難想到考試中會(huì)如何考查此知識(shí)點(diǎn)。在思軟Java培訓(xùn)班上,講師將兩個(gè)概念的不同與要點(diǎn)都總結(jié)成幾條,把重載的特點(diǎn)總結(jié)成“在同一個(gè)類中方法名相同的方法;參數(shù)個(gè)數(shù),參數(shù)類型,參數(shù)順序不能完全相同;只有方法返回類型不同的方法不是重載;構(gòu)造函數(shù)也可重載”。同時(shí)把覆蓋的特點(diǎn)總結(jié)為“分別在子類和父類中的同名方法;方法聲明形式必須相同;子類方法訪問(wèn)權(quán)限不能縮小;子類中覆蓋的方法不能拋出比父類中更多的異常?!睂?duì)這兩個(gè)概念的每個(gè)特點(diǎn)和不同點(diǎn)都會(huì)有例子對(duì)其進(jìn)行解釋,還會(huì)給學(xué)員思考鞏固的時(shí)間。例子都與知識(shí)點(diǎn)很貼切,能在最短的時(shí)間里牢固掌握這兩個(gè)概念。然后講師會(huì)舉出一個(gè)考試中的例題進(jìn)行練習(xí),這樣學(xué)員不僅掌握了這個(gè)知識(shí)點(diǎn),而且理解透徹,正所謂“萬(wàn)變不離其宗”,考試中只要與這兩個(gè)概念相關(guān)的題都會(huì)迎刃而解。
學(xué)校學(xué)習(xí)時(shí)不容易注意到的知識(shí)點(diǎn),講師都會(huì)給予提醒和講解。
比如關(guān)鍵字false和true不能大寫,這在學(xué)校學(xué)習(xí)時(shí)很難注意。講師講到關(guān)鍵字時(shí),會(huì)寫出“FALSE”,問(wèn)學(xué)員是不是關(guān)鍵字,每個(gè)人會(huì)做出不同的回答。講師會(huì)強(qiáng)調(diào)思軟Java中嚴(yán)格區(qū)分大小寫,false和true都不能大寫。接著會(huì)有相應(yīng)的考試?yán)},如:下列哪幾個(gè)是關(guān)鍵字?A.falseB.TRUEC.gotoD.sizeof。因?yàn)樗架汮ava中取消了goto語(yǔ)句,所以goto當(dāng)然就不是關(guān)鍵字了,有C語(yǔ)言基礎(chǔ)的人對(duì)sizeof想都比較熟悉,所以很容易會(huì)認(rèn)為sizeof也是思軟Java中的關(guān)鍵字,然而結(jié)果恰恰相反。goto是關(guān)鍵字,但只是保留并不使用,sizeof不是關(guān)鍵字。這樣記憶就比較深刻,學(xué)校學(xué)習(xí)時(shí)往往就容易忽略。
整個(gè)授課過(guò)程中,學(xué)員可以共享講師的電子版講義,需要做筆記得內(nèi)容很少,學(xué)員能專心聽課,不用分散注意力作筆記。講師的講義都很有條理,而且講課內(nèi)容也很貼切,所以在復(fù)習(xí)和預(yù)習(xí)時(shí)都很方便。培訓(xùn)用的教材也是Sun公司發(fā)行的專門用于認(rèn)證培訓(xùn)的,內(nèi)容緊扣認(rèn)證考試,比國(guó)內(nèi)翻譯過(guò)的中文書更有利于學(xué)習(xí)和考試,而此教材在市面上是買不到的。每堂課都有充足時(shí)間作實(shí)驗(yàn),同時(shí)會(huì)有講師作輔導(dǎo),這樣本堂課的內(nèi)容學(xué)員就會(huì)很快地掌握和理解,遇到不懂的問(wèn)題都會(huì)得到講師及時(shí)耐心的講解。
認(rèn)證考試與編程有許多不同之處,培訓(xùn)中心的講師不僅僅為了考試而授課,同時(shí)對(duì)一些編程技巧都會(huì)有所設(shè)計(jì)。有的培訓(xùn)中心也是授權(quán)考試中心(例如中軟培訓(xùn)中心),考試中心工作人員會(huì)在考試前對(duì)考試中需要注意的問(wèn)題免費(fèi)對(duì)學(xué)員進(jìn)行講解培訓(xùn)。這是很必要的,因?yàn)榈谝淮螀⒓诱J(rèn)證考試的學(xué)員很多,如果不了解答題方式和某些需注意的細(xì)節(jié),很可能造成由于誤操作使得考試無(wú)法進(jìn)行。
我們山西思軟培訓(xùn)機(jī)構(gòu)會(huì)對(duì)每一位學(xué)員負(fù)責(zé),對(duì)自己負(fù)責(zé)。相信你自己,也相信思軟,相信同我們和你們共同努力學(xué)習(xí),跟著思軟老師學(xué)習(xí),認(rèn)真完成培訓(xùn)學(xué)習(xí)任務(wù),高薪就業(yè)不再是夢(mèng)想,而是即將成為現(xiàn)實(shí)。
作為就業(yè)培訓(xùn),項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開發(fā)時(shí)練習(xí)項(xiàng)目的總結(jié),簡(jiǎn)單總結(jié)為以下幾點(diǎn):
作為就業(yè)培訓(xùn),項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)JAVA軟件開發(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、在開發(fā)時(shí)要和企業(yè)的開發(fā)保持一致
4、在做項(xiàng)目的時(shí)候不應(yīng)該有參考代碼
長(zhǎng)話短說(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ì)的挺多,但都是皮毛,不能滿足就業(yè)的需要。
(2)沒(méi)有任何實(shí)際的開發(fā)經(jīng)驗(yàn),完全是想象中學(xué)習(xí),考試還行,一到實(shí)際開發(fā)和應(yīng)用就歇菜了。
解決的方法就是通過(guò)項(xiàng)目練習(xí),對(duì)所學(xué)知識(shí)進(jìn)行深化,然后通過(guò)項(xiàng)目來(lái)獲取實(shí)際開發(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)目的開發(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ō)了,軟件開發(fā)是一個(gè)動(dòng)手能力要求很高的行業(yè),什么算會(huì)了,那就是能夠做出來(lái),寫出代碼來(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)的(呵呵要賣弄一下:這也算是邏輯思維),當(dāng)然這里只是討論方法,不涉及具體的項(xiàng)目案例。
我們可以采用倒推的方式來(lái)分析:
(1)最終的項(xiàng)目一定是真實(shí)的項(xiàng)目,也就是要把學(xué)員訓(xùn)練到能夠獨(dú)立開發(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ò)后,開始分解這個(gè)項(xiàng)目,看看為了達(dá)到完成這個(gè)項(xiàng)目需要哪些技術(shù)和知識(shí)點(diǎn),以及每部分知識(shí)點(diǎn)的深度,然后定出每個(gè)分階段的任務(wù)
(3)然后開始選擇分階段的項(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í)際開發(fā)需要。附注:有了好的項(xiàng)目還要有好的訓(xùn)練方法(這個(gè)另外立文討論),最最基本和重要的一條就是:絕對(duì)要指導(dǎo)學(xué)生親自動(dò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í)際的開發(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ì)、編碼、測(cè)試的各個(gè)環(huán)節(jié),都要完全按照真實(shí)的開發(fā)流程來(lái)做。
Java的主力老師都是實(shí)戰(zhàn)出身,在Java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)驗(yàn),同時(shí)具備多年的項(xiàng)目管理經(jīng)驗(yàn),所以能夠完全按照企業(yè)開發(fā)的流程來(lái)訓(xùn)練學(xué)生。
3:真環(huán)境
開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺(tái)、應(yīng)用服務(wù)器、常用插件、測(cè)試工具、項(xiàng)目管理工具、項(xiàng)目管理文檔等等。
Java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團(tuán)隊(duì)開發(fā)。老師就相當(dāng)于項(xiàng)目經(jīng)理,一個(gè)班分成多個(gè)小組,每個(gè)組有自己的Team
Leader,大家分工合作,共同完成項(xiàng)目。
4:真開發(fā)
這是Java最與眾不同的一點(diǎn),Java深知:軟件是做出來(lái)的,而不是聽出來(lái)或者看出來(lái)的,企業(yè)需要能實(shí)際開發(fā)的人員,而不是只聽過(guò)、看過(guò)但不能做的人。所以Java非常強(qiáng)調(diào):項(xiàng)目一定要讓學(xué)生動(dòng)手寫出來(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)行開發(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è)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學(xué)生的依賴思想,認(rèn)認(rèn)真真去開發(fā)??赡苡型瑢W(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界最不缺的就是代碼了,那么多開源軟件,小到一個(gè)工具,到企業(yè)級(jí)ERP都有開源的,而且很多都是大師級(jí)的作品,說(shuō)實(shí)話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個(gè)水平,看不懂代碼背后所體現(xiàn)的設(shè)計(jì)和思想以及為什么要這么做,效果也就不好了。
當(dāng)然不排除有這樣的高人是能夠完全能理解和掌握這些大師級(jí)作品的,但估計(jì)不會(huì)是剛開始學(xué)習(xí)Java開發(fā)的學(xué)生,所以Java根據(jù)多年的培訓(xùn)經(jīng)驗(yàn),友情提示:在初學(xué)階段,看一千遍,聽一千遍,都不如自己動(dòng)手寫一遍所達(dá)到的學(xué)習(xí)效果。自己能寫出來(lái)的功能才是你真正掌握的功能,而不是你看得代碼或者是聽老師講的,就算講過(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),專門啃硬骨頭,那才能真正鍛煉學(xué)生的開發(fā)能力。
比如:在做OA類的項(xiàng)目時(shí),會(huì)重點(diǎn)去做工作流、公文收發(fā)、在線Office控制等;在做CRM類項(xiàng)目時(shí):會(huì)重點(diǎn)去做銷售自動(dòng)化和市場(chǎng)塊的業(yè)務(wù);在做人力資源類項(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ò)開發(fā)訓(xùn)練,學(xué)員能夠積累足夠的真實(shí)的開發(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軟件開發(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ú)立開發(fā)的水平,對(duì)依靠質(zhì)量取勝和口碑發(fā)展的Java將是毀滅性的。
另外一個(gè),由于是全真的項(xiàng)目,在開發(fā)的過(guò)程中,肯定會(huì)有很多的問(wèn)題出現(xiàn),這些都要老師去解決,由于不像教學(xué)項(xiàng)目那樣預(yù)先做好,又需要老師能很快地解決各個(gè)問(wèn)題,這對(duì)老師的真實(shí)開發(fā)水平有極高的要求,這可是需要真功夫的。
總結(jié)
總之,Java通過(guò)真實(shí)的項(xiàng)目,真實(shí)的開發(fā)環(huán)境和開發(fā)流程,指導(dǎo)學(xué)員去真正開發(fā),讓學(xué)員得到真正的鍛煉,收獲真正的開發(fā)能力。
作為就業(yè)培訓(xùn),項(xiàng)目的好壞對(duì)培訓(xùn)質(zhì)量的影響非常大,常常是決定性的作用。這篇文章是關(guān)于在學(xué)習(xí)java軟件開發(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、在開發(fā)時(shí)要和企業(yè)的開發(fā)保持一致
4、在做項(xiàng)目的時(shí)候不應(yīng)該有參考代碼
長(zhǎng)話短說(shuō)就是以上幾點(diǎn),如果你想要更多的了解,可以繼續(xù)往后看。
一:項(xiàng)目的地位
因?yàn)閰⒓泳蜆I(yè)培訓(xùn)的學(xué)員很多都是有一定的計(jì)算機(jī)基礎(chǔ),大部分都具備一定的編程基礎(chǔ),尤其是在校或者是剛畢業(yè)的學(xué)生,多少都有一些基礎(chǔ)。
他們欠缺的主要是兩點(diǎn):
(1)不能全面系統(tǒng)的、深入的掌握某種技術(shù),也就是會(huì)的挺多,但都是皮毛,不能滿足就業(yè)的需要。
(2)沒(méi)有任何實(shí)際的開發(fā)經(jīng)驗(yàn),完全是想象中學(xué)習(xí),考試還行,一到實(shí)際開發(fā)和應(yīng)用就歇菜了。
解決的方法就是通過(guò)項(xiàng)目練習(xí),對(duì)所學(xué)知識(shí)進(jìn)行深化,然后通過(guò)項(xiàng)目來(lái)獲取實(shí)際開發(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)目的開發(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ō)了,軟件開發(fā)是一個(gè)動(dòng)手能力要求很高的行業(yè),什么算會(huì)了,那就是能夠做出來(lái),寫出代碼來(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)的(呵呵要賣弄一下:這也算是邏輯思維),當(dāng)然這里只是討論方法,不涉及具體的項(xiàng)目案例。
我們可以采用倒推的方式來(lái)分析:
(1)最終的項(xiàng)目一定是真實(shí)的項(xiàng)目,也就是要把學(xué)員訓(xùn)練到能夠獨(dú)立開發(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ò)后,開始分解這個(gè)項(xiàng)目,看看為了達(dá)到完成這個(gè)項(xiàng)目需要哪些技術(shù)和知識(shí)點(diǎn),以及每部分知識(shí)點(diǎn)的深度,然后定出每個(gè)分階段的任務(wù)
(3)然后開始選擇分階段的項(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í)際開發(fā)需要。
附注:有了好的項(xiàng)目還要有好的訓(xùn)練方法(這個(gè)另外立文討論),最最基本和重要的一條就是:絕對(duì)要指導(dǎo)學(xué)生親自動(dò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í)際的開發(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ì)、編碼、測(cè)試的各個(gè)環(huán)節(jié),都要完全按照真實(shí)的開發(fā)流程來(lái)做。
java的主力老師都是實(shí)戰(zhàn)出身,在java開發(fā)方面都至少有七年以上的開發(fā)經(jīng)驗(yàn),同時(shí)具備多年的項(xiàng)目管理經(jīng)驗(yàn),所以能夠完全按照企業(yè)開發(fā)的流程來(lái)訓(xùn)練學(xué)生。
3:真環(huán)境
開發(fā)的環(huán)境也要跟企業(yè)一樣,包括常用的開發(fā)工具、開發(fā)平臺(tái)、應(yīng)用服務(wù)器、常用插件、測(cè)試工具、項(xiàng)目管理工具、項(xiàng)目管理文檔等等。
java的做法是:構(gòu)建跟企業(yè)完全一樣的環(huán)境,然后跟企業(yè)開發(fā)一樣,分團(tuán)隊(duì)開發(fā)。老師就相當(dāng)于項(xiàng)目經(jīng)理,一個(gè)班分成多個(gè)小組,每個(gè)組有自己的team leader,大家分工合作,共同完成項(xiàng)目。
4:真開發(fā)
這是java最與眾不同的一點(diǎn),java深知:軟件是做出來(lái)的,而不是聽出來(lái)或者看出來(lái)的,企業(yè)需要能實(shí)際開發(fā)的人員,而不是只聽過(guò)、看過(guò)但不能做的人。所以java非常強(qiáng)調(diào):項(xiàng)目一定要讓學(xué)生動(dòng)手寫出來(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)行開發(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è)在同期開發(fā),所以是不配發(fā)源代碼的。這樣也斷絕了學(xué)生的依賴思想,認(rèn)認(rèn)真真去開發(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界最不缺的就是代碼了,那么多開源軟件,小到一個(gè)工具,到企業(yè)級(jí)erp都有開源的,而且很多都是大師級(jí)的作品,說(shuō)實(shí)話比你參考的那些代碼質(zhì)量高多了,但是又有多少人能真正看明白呢,原因就在于達(dá)不到那個(gè)水平,看不懂代碼背后所體現(xiàn)的設(shè)計(jì)和思想以及為什么要這么做,效果也就不好了。
當(dāng)然不排除有這樣的高人是能夠完全能理解和掌握這些大師級(jí)作品的,但估計(jì)不會(huì)是剛開始學(xué)習(xí)java開發(fā)的學(xué)生,所以java根據(jù)多年的培訓(xùn)經(jīng)驗(yàn),友情提示:在初學(xué)階段,看一千遍,聽一千遍,都不如自己動(dòng)手寫一遍所達(dá)到的學(xué)習(xí)效果。自己能寫出來(lái)的功能才是你真正掌握的功能,而不是你看得代碼或者是聽老師講的,就算講過(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),專門啃硬骨頭,那才能真正鍛煉學(xué)生的開發(fā)能力。
比如:在做oa類的項(xiàng)目時(shí),會(huì)重點(diǎn)去做工作流、公文收發(fā)、在線office控制等;在做crm類項(xiàng)目時(shí):會(huì)重點(diǎn)去做銷售自動(dòng)化和市場(chǎng)塊的業(yè)務(wù);在做人力資源類項(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ò)開發(fā)訓(xùn)練,學(xué)員能夠積累足夠的真實(shí)的開發(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軟件開發(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ú)立開發(fā)的水平,對(duì)依靠質(zhì)量取勝和口碑發(fā)展的java將是毀滅性的。
另外一個(gè),由于是全真的項(xiàng)目,在開發(fā)的過(guò)程中,肯定會(huì)有很多的問(wèn)題出現(xiàn),這些都要老師去解決,由于不像教學(xué)項(xiàng)目那樣預(yù)先做好,又需要老師能很快地解決各個(gè)問(wèn)題,這對(duì)老師的真實(shí)開發(fā)水平有極高的要求,這可是需要真功夫的。
總結(jié)
總之,java通過(guò)真實(shí)的項(xiàng)目,真實(shí)的開發(fā)環(huán)境和開發(fā)流程,指導(dǎo)學(xué)員去真正開發(fā),讓學(xué)員得到真正的鍛煉,收獲真正的開發(fā)能力。
本人自20__年2月份參加工作至今,六個(gè)月的實(shí)習(xí)時(shí)間已經(jīng)結(jié)束。在這段時(shí)間里,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,通過(guò)自己的不懈努力,在各方面都取得了進(jìn)步。
實(shí)踐讓我的技能不斷增長(zhǎng),工作能力不斷加強(qiáng)。剛開始工作的時(shí)候,發(fā)現(xiàn)自己以前在學(xué)校學(xué)習(xí)的知識(shí)很死,知識(shí)面很窄,以前做的練習(xí)項(xiàng)目的實(shí)用性也不是很好。在開始的幾周公司給我們實(shí)習(xí)員工培訓(xùn)了____平臺(tái)的使用,通過(guò)這次培訓(xùn)使我認(rèn)識(shí)到____平臺(tái)的優(yōu)勢(shì),可以大大提高軟件開發(fā)效率。隨后我就加入到“____X稅源控管系統(tǒng)”項(xiàng)目的開發(fā)中,成為開發(fā)小組中的一員。在項(xiàng)目開發(fā)過(guò)程中一邊是同事們的悉心指導(dǎo),一邊是自己反復(fù)琢磨與理解,幾個(gè)月下來(lái)大大提高了自己業(yè)務(wù)和技術(shù)兩方面的技能,已經(jīng)能夠比較熟練的掌握基本的工作方法和一些技巧,而且能夠獨(dú)立完成一些模塊的開發(fā)。通過(guò)實(shí)踐,我解決實(shí)際問(wèn)題的能力得到了很好的鍛煉。工作中也遇到了很多的以前沒(méi)有遇到過(guò)的新技術(shù),面對(duì)技術(shù)難題我總是直接面對(duì),沒(méi)有逃避,也因此自學(xué)了好多新的技術(shù),大大提高了自己的自學(xué)能力,也加深了對(duì)自己工作要負(fù)責(zé)的信念。在項(xiàng)目開發(fā)過(guò)程中也遇到了一些自己確實(shí)無(wú)法解決的困難,在經(jīng)理和同事的幫助下也順利的解決了,在此表示感謝。在開發(fā)團(tuán)隊(duì)中,加強(qiáng)了自己的團(tuán)結(jié)精神和集體感,對(duì)工作認(rèn)真負(fù)責(zé),對(duì)團(tuán)隊(duì)認(rèn)真負(fù)責(zé)。通過(guò)這個(gè)項(xiàng)目不僅學(xué)習(xí)到了很多技術(shù)也了解了整個(gè)項(xiàng)目的大體流程,從需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼編寫、測(cè)試、項(xiàng)目維護(hù)等方面,使自己不僅從一個(gè)代碼編寫人員的角度還從一個(gè)整體的角度來(lái)看整個(gè)項(xiàng)目開發(fā),加深了軟件開發(fā)概念的理解。
不斷學(xué)習(xí)使我對(duì)工作有了更進(jìn)一步的認(rèn)識(shí)和了解。不懂就學(xué)、就問(wèn),是一切進(jìn)步取得的前提和基礎(chǔ)。因?yàn)橛写髮W(xué)專業(yè)課的底子和參加過(guò)專門的JAVA培訓(xùn)使我在工作過(guò)程中遇到的技術(shù)知識(shí)能更快的理解和掌握。工作中時(shí)常遇到新的問(wèn)題,就需要查閱相關(guān)資料,請(qǐng)教同事和經(jīng)理,一個(gè)問(wèn)題一個(gè)問(wèn)題的解決,一個(gè)困難一個(gè)困難的克服,不僅將原有知識(shí)溫習(xí)鞏固,產(chǎn)生新的理解,而且學(xué)到很多新知識(shí),有了許多新的認(rèn)識(shí)。但某些認(rèn)識(shí)都還是膚淺的,還需要我在實(shí)踐當(dāng)中去不斷深入地理解。
現(xiàn)場(chǎng)開發(fā)與維護(hù)使我不僅從一個(gè)開發(fā)人員的角度而且從客戶的角度去思考問(wèn)題。在項(xiàng)目的開發(fā)后期,也就是項(xiàng)目即將上線的階段我與其他幾位同事被派往現(xiàn)場(chǎng)去開發(fā)與維護(hù)項(xiàng)目。以前的開發(fā)都是根據(jù)需求分析來(lái)進(jìn)行,功能要求一般在分析里面都寫的很清楚,但是在現(xiàn)場(chǎng)開發(fā)直接面對(duì)客戶,客戶提出的需求一開始只是一個(gè)大體的功能描述,如何將這個(gè)只是語(yǔ)言描述的功能轉(zhuǎn)化為技術(shù)實(shí)現(xiàn)需要很強(qiáng)的抽象能力和對(duì)業(yè)務(wù)的深入理解,這個(gè)過(guò)程大大鍛煉了自己的綜合能力。在第一時(shí)間接觸客戶的需求,從客戶的角度思考問(wèn)題,只有更了解客戶需求才能更合理的設(shè)計(jì)軟件的結(jié)構(gòu),功能。了解客戶,了解需求,轉(zhuǎn)化到技術(shù)層面。這個(gè)過(guò)程得到的經(jīng)驗(yàn)很難得。
良好的心態(tài)轉(zhuǎn)換。從學(xué)校到社會(huì),從學(xué)生到職員,自己做到了自然的轉(zhuǎn)換過(guò)程,希望自己以后對(duì)工作更加認(rèn)真負(fù)責(zé)。在今后的工作中,我將發(fā)揮優(yōu)勢(shì)克服不足,朝著以下幾個(gè)方向努力:1、學(xué)無(wú)止鏡,時(shí)代的發(fā)展瞬息萬(wàn)變,各種新技術(shù)知識(shí)日新月異。我將堅(jiān)持不懈地努力學(xué)習(xí)各種理論知識(shí),并用于指導(dǎo)實(shí)踐,以更好的適應(yīng)行業(yè)發(fā)展的需要。2、熟練的掌握各種業(yè)務(wù)技能才能更好的投入工作,我將通過(guò)多看、多學(xué)、多練來(lái)不斷的提高自己的各項(xiàng)業(yè)務(wù)技能。3、"業(yè)精于勤而荒于嬉",實(shí)踐是不斷取得進(jìn)步的基礎(chǔ)。我要通過(guò)實(shí)踐不斷的總結(jié)經(jīng)驗(yàn),提高自己解決實(shí)際問(wèn)題的能力,并在實(shí)踐的過(guò)程中慢慢克服急躁情緒,積極、熱情的對(duì)待每一件工作。
總之,短短的半年實(shí)習(xí)期,是我人生角色轉(zhuǎn)換,不斷成長(zhǎng)的一個(gè)重要階段,也是我對(duì)編程由陌生進(jìn)而熟悉、熱愛(ài)并愿意為之終生默默奉獻(xiàn)的重要階段。