時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近5個月,其中有2個月是屬于完全被流放的。 最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機(jī)軟件的腳本測試?,F(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認(rèn)為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運(yùn)作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,編碼時間一般只占30%左右,真正耗費(fèi)時間的是IT階段的找 bug與對應(yīng)bug,此階段基本評定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,問題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱調(diào)試。在項目組工作不愁源碼資源,但問題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時間內(nèi)就看到問題點(diǎn)在那,放下斷點(diǎn)去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運(yùn)行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點(diǎn)做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點(diǎn),一步一步step over,讓sql字段(存取最終sql語句的字符串)運(yùn)行到有值,inspect進(jìn)去看,如果還看不出來,就點(diǎn)擊它,copy后在sql客戶端去實際運(yùn)行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,基本方法是用右鍵點(diǎn)擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(___=null)語句加保護(hù)。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習(xí)慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費(fèi)同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比較好走了。
一、關(guān)于實習(xí)公司
我所實習(xí)的南京__軟件有限公司簡稱__公司,公司成立于__年,主營軟件開發(fā)和信息系統(tǒng)集成,專門從事工程建設(shè)項目管理信息系統(tǒng)開發(fā)和實施,具有自主知識產(chǎn)權(quán)的項目管理軟件產(chǎn)品__項目管理系列軟件(包括__投資控制合同管理軟件、進(jìn)度控制計劃管理軟件、__質(zhì)量控制安全管理軟件、__項目管理門戶、__城建項目管理平臺等),并已經(jīng)在全世界第一大橋蘇通長江大橋、國內(nèi)最大的開發(fā)區(qū)蘇州工業(yè)園區(qū)以及南水北調(diào)工程實施和應(yīng)用,目前正與南京城建集團(tuán)合作,開發(fā)城建項目管理平臺。
二、實習(xí)的內(nèi)容
今年__月__日開始,我正式走進(jìn)__開始了實習(xí)工作,并被調(diào)到了江蘇省建筑質(zhì)量檢測中心,參加正在進(jìn)行的一個檢測項目。由于我才大三,本身對企業(yè)的經(jīng)營方式等都很陌生,公司讓我們的王工帶我學(xué)習(xí),以師傅帶徒弟的方式,指導(dǎo)我的日常實習(xí)。在王工的熱心指導(dǎo)下,我依次對此次項目的業(yè)務(wù)流程和大概框架進(jìn)行了了解,并積極參與相關(guān)工作,注意把書本上學(xué)到的理論知識對照實際工作,用理論知識加深對實際工作的認(rèn)識,用實踐驗證大學(xué)所學(xué)確實有用。以雙重身份完成了學(xué)習(xí)與工作兩重任務(wù)。跟公司同事一樣上下班,協(xié)助同事完成部門工作;又以學(xué)生身份虛心學(xué)習(xí),努力汲取實踐知識。我心里明白我要以良好的工作態(tài)度以及較強(qiáng)的工作能力和勤奮好學(xué)來適應(yīng)公司的工作,完成公司的任務(wù)。
三、實習(xí)的提高與收獲
實習(xí)收獲,主要有四個方面:
一是通過直接參與企業(yè)的運(yùn)作過程,學(xué)到了實踐知識,同時進(jìn)一步加深了對理論知識的理解,使理論與實踐知識都有所提高,圓滿地完成了本科教學(xué)的實踐任務(wù)。
二是提高了實際工作能力,為就業(yè)和將來的工作取得了一些寶貴的實踐經(jīng)驗。
三是一些學(xué)生在實習(xí)單位受到認(rèn)可并促成就業(yè)。
四是為畢業(yè)后的正式工作做好了準(zhǔn)備。
四、結(jié)語
到公司實習(xí)并沒有我想象中的難以融入,通過慢慢的學(xué)習(xí),發(fā)現(xiàn)在公司用的到得知識在我們的學(xué)校學(xué)習(xí)中都會遇到。至暑期結(jié)束,從不懂到漸漸的做了幾個檢測項目。學(xué)到不少的東西。實習(xí)生活還沒結(jié)束,開學(xué)了我還是會繼續(xù)留在公司我的學(xué)習(xí)和探索。
一、 實訓(xùn)目的:
通過對java語言、sql數(shù)據(jù)庫的應(yīng)用以及sql語言的復(fù)習(xí)和鍛煉,并且通過使用MyEclipse開發(fā)平臺設(shè)計管理項目,以達(dá)到充分熟悉開發(fā)平臺及應(yīng)用設(shè)計。同時掌握并實踐軟件項目設(shè)計規(guī)范及其開發(fā)流程:需求分析、概要設(shè)計、詳細(xì)設(shè)計、代碼編寫等,以便提前適應(yīng)軟件公司開發(fā)流程、環(huán)境和工作要求。
二、實訓(xùn)內(nèi)容:
1. 項目:(“當(dāng)當(dāng)網(wǎng)”)
2. 完成(用戶注冊、登錄、列表、購物車、刪除、修改)等功能
3. 數(shù)據(jù)庫設(shè)計、SQL應(yīng)用
4. 項目實戰(zhàn)
三、實訓(xùn)總結(jié):
轉(zhuǎn)眼間實訓(xùn)已過去一段時間,之前的興奮、喜悅?cè)缃褚呀?jīng)讓我熟悉,在實訓(xùn)的每一天都會讓我有成為一名真正的財富者擁有的沖動。也許,在這期間不一定會讓一個人有著翻天覆地的變化,但變化就是這樣一點(diǎn)一點(diǎn)產(chǎn)生的。通過這一期的實訓(xùn),雖然倍感折磨,但是收獲卻是很大的,學(xué)習(xí)中我不但有了學(xué)習(xí)成果的喜悅,而且自己也日漸成熟,有種說不出的喜悅。
在實訓(xùn)的過程中,我深深的體會到了自己在專業(yè)知識方面的欠缺和不足,也意識到了自己作為計算機(jī)軟件專業(yè)的學(xué)生,要想在以后的職業(yè)中嶄露頭角,除了要有過硬的理論知識,健康的體魄之外,還必須具備良好的心理素質(zhì),是自己在以后的途中無論經(jīng)歷什么樣的困難,都立于不敗之地。通過實訓(xùn)老師的課堂講解與企業(yè)文化標(biāo)準(zhǔn)的培訓(xùn),使我加深了對自己專業(yè)的認(rèn)識,從而確定自己以后的努力方向,要想在短暫的實訓(xùn)時間內(nèi)盡多的學(xué)到東西,就需要我們跟老師或同學(xué)進(jìn)行良好的溝通,加深彼此的了解,只有我們跟老師多溝通,讓老師更了解我們,才能更真切的對我們進(jìn)行培訓(xùn)工作。由此,班級的文化“共享”就在生活中慢慢形成了。
“紙上得來終覺淺,絕知此事要躬行!”在這短短的時間里,讓我深深的感覺到自己在實際應(yīng)用中所學(xué)來專業(yè)知識的匱乏。讓我真真領(lǐng)悟到“學(xué)無止境”這句話的涵義。而老師在專業(yè)認(rèn)識周到中所講的,都是課本上沒有而對我們非常有實際意義的。這又給我們的實訓(xùn)增添了濃墨淡彩的光輝。我懂得了實際生活中,專業(yè)知識是怎樣應(yīng)用與實踐的。在這些過程中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識,而且讓我深深體會到一個團(tuán)隊中的各個成員合作的重要性,要善于團(tuán)隊合作,善于利用別人的智慧,這才是大智慧??繂我坏牧α渴呛茈y完成一個大項目的,在進(jìn)行團(tuán)隊合作的時候,還要耐心聽取每一個成員的意見,是我們的組合達(dá)到更加完美。
這次實訓(xùn)除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作。當(dāng)遇到問題,冷靜,想辦法一點(diǎn)一點(diǎn)的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學(xué)會了在工作中與人的合作與交流,同樂同累,合作互助,這是團(tuán)體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的學(xué)習(xí),對程序設(shè)計有了一定的認(rèn)識與理解。在校期間,一直都是學(xué)習(xí)理論知識,沒有機(jī)會去參與項目的開發(fā)。所以說實話,這次實訓(xùn),軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓(xùn),讓我明白了一個完整項目的開發(fā),必須由團(tuán)隊來分工合作,并在每個階段中進(jìn)行必要的總結(jié)與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠(yuǎn)景范圍規(guī)劃和用例說明、項目結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能說明書、詳細(xì)設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠(yuǎn)景規(guī)劃,對以后的開發(fā)進(jìn)度會有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成項目或者完成的項目跟原來預(yù)想的不一樣。一份好的項目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認(rèn)識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎(chǔ),必須要有事先對文檔進(jìn)行可靠性報告,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學(xué)的就是實訓(xùn)機(jī)房,在匆匆過去的兩個月內(nèi),我往返于實訓(xùn)機(jī)房與宿舍之間,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,對自己充滿信心,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓(xùn)中要求有扎實的理論基本知識,操作起來才順心應(yīng)手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學(xué)習(xí)的欲望。 “學(xué)以致用”,就是要把學(xué)來的知識能運(yùn)用到實際操作當(dāng)中,用實踐來檢驗知識的正確性。我想,這是實訓(xùn)的最根本目的。
最初在實訓(xùn)時自己就有一些不自信,但隨著項目的進(jìn)展,我慢慢的找到了自己的位置,找到自己的目標(biāo),雖然自己與好的同學(xué)還有差距,這也給了我很大壓力,但是我相信沒有壓力就沒有動力,所以在整個實訓(xùn)過程中我都在不斷地努力。
實訓(xùn)期間讓我學(xué)到很多東西,不僅在理論上讓我對IT領(lǐng)域有了全新的認(rèn)識,在實踐能力上也得到了很大的提高,真正的學(xué)到了學(xué)以致用,更學(xué)到很多做人的道理,對我來說受益匪淺。我意識到自己知識的缺少,這激勵我在以后的學(xué)習(xí)、工作、生活中要不斷了解信息技術(shù)發(fā)展動態(tài)以及信息發(fā)展中出現(xiàn)的新的技術(shù)。
除此之外,我還學(xué)到了如何與人相處,如何和人更好的交流,我們組成一個團(tuán)隊大家一起開發(fā)一個項目,大家的交流溝通顯得尤為重要,如何將自己的想法清楚明白的告訴隊友,如何提出自己想法的同時又不傷害其他的隊友的面子,這些在我的實訓(xùn)生活中都有一些體會??墒钦f,第一次親身體會理論與實際相結(jié)合,讓我大開眼界。也是對以前學(xué)習(xí)的一個初審吧,相信這次實訓(xùn)多我以后的學(xué)習(xí)、工作也將會有很大的影響,在實訓(xùn)的這段時間里這些寶貴的經(jīng)驗將會成為我以后工作的基石。
作為即將畢業(yè)走出校園的學(xué)生,經(jīng)過3年的在校學(xué)習(xí),對程序設(shè)計有了一些基本的理性的認(rèn)識和理解。在校期間一直忙于理論的學(xué)習(xí),沒有機(jī)會也沒有經(jīng)驗來參與我們項目的開發(fā),所以在實習(xí)之前軟件按開發(fā)對我來說是非常抽象的,一個完整的項目要怎么來分工以及完成該項目所需要的基本步驟也不明確,通過這次實訓(xùn)讓我明白一個完整項目的完成必須團(tuán)隊分工合作,并在每個階段進(jìn)行必要的總結(jié)和檢查。在我們項目的開發(fā)過程中我們項目的步驟:詳細(xì)設(shè)計、詳細(xì)設(shè)計review、編碼、編碼。在項目開發(fā)過程中我也深刻的體會到詳細(xì)設(shè)計對一個項目開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有具體的認(rèn)識,并能減少在開發(fā)過程中出現(xiàn)不必要的脫節(jié)。
這次實訓(xùn)是對我們學(xué)習(xí)的一個檢驗,雖然項目中很多知識我們在日常的學(xué)習(xí)中都沒有遇到,這同時提醒我:要想成為一個合格的程序員就有具備一種自學(xué)能力,在工作中會遇到很多從未接觸過的問題,當(dāng)有了問題時要去解決,在你不斷努力,尋找答案的過程中,自己的能力也在潛移默化的提升。有時遇到問題時可能有很多想法但卻不知道那個正確,這就讓我們不斷地去探索,不斷地嘗試。
轉(zhuǎn)眼之間,兩個月的實習(xí)期即將結(jié)束,回顧這兩個月的實習(xí)工作,感觸很深,收獲頗豐。這兩個月,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,通過我自身的不懈努力,我學(xué)到了人生難得的工作經(jīng)驗和社會見識。我將從以下幾個方面總結(jié)軟件工程崗位工作實習(xí)這段時間自己體會和心得:
一、努力學(xué)習(xí),理論結(jié)合實踐,不斷提高自身工作能力。
在軟件工程崗位工作的實習(xí)過程中,我始終把學(xué)習(xí)作為獲得新知識、掌握方法、提高能力、解決問題的一條重要途徑和方法,切實做到用理論武裝頭腦、指導(dǎo)實踐、推動工作。思想上積極進(jìn)取,積極的把自己現(xiàn)有的知識用于社會實踐中,在實踐中也才能檢驗知識的有用性。在這兩個月的實習(xí)工作中給我最大的感觸就是:我們在學(xué)校學(xué)到了很多的理論知識,但很少用于社會實踐中,這樣理論和實踐就大大的脫節(jié)了,以至于在以后的學(xué)習(xí)和生活中找不到方向,無法學(xué)以致用。同時,在工作中不斷的學(xué)習(xí)也是彌補(bǔ)自己的不足的有效方式。信息時代,瞬息萬變,社會在變化,人也在變化,所以你一天不學(xué)習(xí),你就會落伍。通過這兩個月的實習(xí),并結(jié)合軟件工程崗位工作的實際情況,認(rèn)真學(xué)習(xí)的軟件工程崗位工作各項政策制度、管理制度和工作條例,使工作中的困難有了最有力地解決武器。通過這些工作條例的學(xué)習(xí)使我進(jìn)一步加深了對各項工作的理解,可以求真務(wù)實的開展各項工作。
二、圍繞工作,突出重點(diǎn),盡心盡力履行職責(zé)。
在軟件工程崗位工作中我都本著認(rèn)真負(fù)責(zé)的態(tài)度去對待每項工作。雖然開始由于經(jīng)驗不足和認(rèn)識不夠,覺得在軟件工程崗位工作中找不到事情做,不能得到鍛煉的目的,但我迅速從自身出發(fā)尋找原因,和同事交流,認(rèn)識到自己的不足,以至于迅速的轉(zhuǎn)變自己的角色和工作定位。為使自己盡快熟悉工作,進(jìn)入角色,我一方面抓緊時間查看相關(guān)資料,熟悉自己的工作職責(zé),另一方面我虛心向領(lǐng)導(dǎo)、同事請教使自己對軟件工程崗位工作的情況有了一個比較系統(tǒng)、全面的認(rèn)知和了解。根據(jù)軟件工程崗位工作的實際情況,結(jié)合自身的優(yōu)勢,把握工作的重點(diǎn)和難點(diǎn), 盡心盡力完成軟件工程崗位工作的任務(wù)。兩個月的實習(xí)工作,我經(jīng)常得到了同事的好評和領(lǐng)導(dǎo)的贊許。
三、轉(zhuǎn)變角色,以極大的熱情投入到工作中。
從大學(xué)校門跨入到軟件工程崗位工作崗位,一開始我難以適應(yīng)角色的轉(zhuǎn)變,不能發(fā)現(xiàn)問題,從而解決問題,認(rèn)為沒有多少事情可以做,我就有一點(diǎn)失望,開始的熱情有點(diǎn)消退,完全找不到方向。但我還是盡量保持當(dāng)初的那份熱情,想干有用的事的態(tài)度,不斷的做好一些雜事,同時也勇于協(xié)助同事做好各項工作,慢慢的就找到了自己的角色,明白自己該干什么,這就是一個熱情的問題,只要我保持極大的熱情,相信自己一定會得到認(rèn)可,沒有不會做,沒有做不好,只有你愿不愿意做。轉(zhuǎn)變自己的角色,從一位學(xué)生到一位工作人員的轉(zhuǎn)變,不僅僅是角色的變化,更是思想觀念的轉(zhuǎn)變。
四、發(fā)揚(yáng)團(tuán)隊精神,在完成本職工作的同時協(xié)同其他同事。
在工作間能得到領(lǐng)導(dǎo)的充分信任,并在按時完成上級分配給我的各項工作的同時,還能積極主動地協(xié)助其他同事處理一些內(nèi)務(wù)工作。個人的能力只有融入團(tuán)隊,才能實現(xiàn)最大的價值。實習(xí)期的工作,讓我充分認(rèn)識到團(tuán)隊精神的重要性。
團(tuán)隊的精髓是共同進(jìn)步。沒有共同進(jìn)步,相互合作,團(tuán)隊如同一盤散沙。相互合作,團(tuán)隊就會齊心協(xié)力,成為一個強(qiáng)有力的集體。很多人經(jīng)常把團(tuán)隊和工作團(tuán)體混為一談,其實兩者之間存在本質(zhì)上的區(qū)別。優(yōu)秀的工作團(tuán)體與團(tuán)隊一樣,具有能夠一起分享信息、觀點(diǎn)和創(chuàng)意,共同決策以幫助每個成員能夠更好地工作,同時強(qiáng)化個人工作標(biāo)準(zhǔn)的特點(diǎn)。但工作團(tuán)體主要是把工作目標(biāo)分解到個人,其本質(zhì)上是注重個人目標(biāo)和責(zé)任,工作團(tuán)體目標(biāo)只是個人目標(biāo)的簡單總和,工作團(tuán)體的成員不會為超出自己義務(wù)范圍的結(jié)果負(fù)責(zé),也不會嘗試那種因為多名成員共同工作而帶來的增值效應(yīng)。
五、存在的問題。
幾個月來,我雖然努力做了一些工作,但距離領(lǐng)導(dǎo)的要求還有不小差距,如理論水平、工作能力上還有待進(jìn)一步提高,對軟件工程崗位工作崗位還不夠熟悉等等,這些問題,我決心實習(xí)報告在今后的工作和學(xué)習(xí)中努力加以改進(jìn)和解決,使自己更好地做好本職工作。
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,沒有做過大型的項目,直到這次課堂我擔(dān)任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個項目,第一次和別人合作,才發(fā)現(xiàn)運(yùn)用工程化的思想來做是如此的有必要。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模塊,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識中,似乎整個軟件就是編碼,除此無它,還好有老師的指導(dǎo),不然真的會出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作。
剛真正開始工作之前,我們費(fèi)了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關(guān)緊要,甚至是多于的,其實,換做在以前,我也會這么認(rèn)為。可是,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場,能被別人接受和認(rèn)可,在進(jìn)行過程中不會出現(xiàn)崩潰性的問題,這些工作缺一不可。
還有就是接下來的一些設(shè)計模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。
在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的機(jī)會,我會在第一時間將他清除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
這次軟件工程實訓(xùn)是從20__.12.26號開始的,截至20__.12.31號。實訓(xùn)內(nèi)容是用java相關(guān)知識(主要是jsp)做一個物流配送系統(tǒng)。下面談?wù)剬@次實訓(xùn)的看法。
因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓(xùn)開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補(bǔ)充的知識(jsp和數(shù)據(jù)庫連接等這幾塊)給我們實際操作了下,因為當(dāng)時看到用jsp,還講的那么認(rèn)真,當(dāng)時我就后悔了,平時要是多聽點(diǎn),現(xiàn)在老師這么認(rèn)真的給我們講,這是一個多么難得的機(jī)會啊。后悔也沒用啊,開始還勉強(qiáng)能理解一點(diǎn),后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比如rationalRose,SVN,MyEclipse等等。接下來的幾天就不再細(xì)講了。下面談?wù)勍ㄟ^這次實訓(xùn)的心得體會吧。
通過這次實訓(xùn),讓我了解到工程開發(fā)的過程,可行性分析——>需求分析——>概要設(shè)計——>詳細(xì)設(shè)計——>代碼編寫——>測試——>驗收。從技術(shù)方面上,我開始jsp基礎(chǔ)基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認(rèn)識。其實實訓(xùn)開始前,我還以為做個系統(tǒng)沒什么大不了,可是當(dāng)真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細(xì)設(shè)計,在代碼編寫時,一樣寸步難行。通過這個實訓(xùn),也讓我了解到,團(tuán)隊協(xié)作是多么的重要。一個人的精力是多么的有限。進(jìn)一步理解到,企業(yè)為什么如此重視團(tuán)隊協(xié)作。同時借用老師的話就是團(tuán)隊協(xié)作固然重要,但是是建立在個人素質(zhì)的基礎(chǔ)上,假設(shè)你個人素質(zhì)不行,將會影響到整個團(tuán)隊,就別提對團(tuán)隊作更多貢獻(xiàn)了。_老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹(jǐn)記老師的教導(dǎo)。
還有一個收獲是從一個同學(xué)(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術(shù),會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應(yīng)該認(rèn)真的對待,將來 出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術(shù)知識為0,但我也還是在認(rèn)真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學(xué)生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓(xùn)我確實是認(rèn)真對待了,六天的實訓(xùn),除了晚上加班外,還花了2個通宵來完成不同階段的任務(wù),完成與否也不重要了,我至少我做了,這點(diǎn),是這次我應(yīng)該對自己的一個肯定。
這次實訓(xùn)的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進(jìn)行了擴(kuò)展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點(diǎn)我并不會覺得老師知識儲備不夠,我想應(yīng)該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認(rèn)真,很負(fù)責(zé)。還要感謝就是syz2小組的傾力支持,輔導(dǎo)。
基于本次暑期實習(xí)的情況,我收獲很大。
從實訓(xùn)目的來看,本次實訓(xùn)主要是在VS2012開發(fā)平臺上實現(xiàn)對C#語言、SQL數(shù)據(jù)庫的應(yīng)用,就我所在小組的項目工作內(nèi)容來看,還需要掌握水晶報表和MDI多窗口應(yīng)用技術(shù)。除了要充分熟悉開發(fā)平臺及應(yīng)用設(shè)計之外,還要掌握并實踐軟件項目設(shè)計規(guī)范及其開發(fā)流程即需求階段、分析和設(shè)計階段、編碼階段和測試階段,以便能按時交付作業(yè)。
從實訓(xùn)的內(nèi)容來看,我小組的項目是“人事工資管理系統(tǒng)”,主要實現(xiàn)公司企業(yè)對內(nèi)部員工檔案、工資、獎罰考勤等一系列的管理,這在當(dāng)今不斷壯大的企業(yè)用人單位是亟待需要的,總的來說,項目的難度系數(shù)不是很高,但也是相當(dāng)困難。
在校外實習(xí)之前,老師先在校內(nèi)培訓(xùn)了5天。5天實訓(xùn)中,著重講解了c#語言應(yīng)用,并布置編寫“通訊錄”工作臺程序,windows應(yīng)用程序和WPF程序,數(shù)據(jù)先是用文本保存,然后練習(xí)用數(shù)據(jù)庫保存,期間每天需上交當(dāng)日作業(yè)。5天的時間里,通過不斷地學(xué)習(xí),我從完全不懂c#語言成長到初步掌握了這門語言,當(dāng)然在具體應(yīng)用中還是會遇到些問題,但我還在學(xué)習(xí)。其實在實習(xí)的前一個月里,老師就上傳了一些關(guān)于c#語言的資料并通知我們需要配置哪些軟件環(huán)境,對于這一點(diǎn),我是相當(dāng)感謝何老師的,當(dāng)然在校外的實習(xí)里,公司也全都把開發(fā)項目用到的一系列軟件上傳到公共文件夾里,從而免去了我們下載軟件的麻煩,在此,感謝眾老師。
校內(nèi)實習(xí)要上交的作業(yè)我是在校外實習(xí)中補(bǔ)充完成的,因為之前上交的作業(yè)由于時間倉促大都有錯誤,所以借著校外實習(xí)中對c#語言的進(jìn)一步應(yīng)用和講師的詳細(xì)講解后,我重新改正了錯誤,希望何老師能諒解采納。
校外實習(xí)是從7月12號開始,歷時15天,15天的最后一天要回校評審。我對本次校外實習(xí)的各個方面都十分滿意。相比上次實習(xí),首先這里的住宿學(xué)習(xí)條件非常好,住宿和實習(xí)地都安裝了空調(diào),實習(xí)地方環(huán)境清幽寬敞明亮,伙食也非常好。然后就是實習(xí)講師非常專業(yè)和負(fù)責(zé),他事先把所有有關(guān)實習(xí)的資料軟件存放在公共文件夾,且規(guī)劃入微。一開始先是對我們進(jìn)行C#測試分好組安排好每組項目任務(wù),又指導(dǎo)我們每個小組安裝SVN軟件,方便小組文件上傳與統(tǒng)一,整體一氣呵成,不似之前實習(xí)的凌亂,這一點(diǎn)我十分敬佩。之后每天都先安排好任務(wù)工作,認(rèn)真且非常詳細(xì)的給我們操作示范并細(xì)心地制作成word文檔供小組之后查看。每隔幾天都會有小組評審,主要針對小組所編文檔的規(guī)范程度和不足提出修改建議。作為小組的PM,我必須承認(rèn)一開始工作任務(wù)安排不當(dāng),沒有完全發(fā)揮各成員的優(yōu)勢,以致文檔編寫的有些瑕疵,不過在小組評審過后,我便及時更改了項目工作的分工,而之后小組項目工作進(jìn)行的非常順利,每個人的能力都得到了最大的發(fā)揮和升華,當(dāng)然這完全得力于小組成員的高度配合。
我小組是c#軟件開發(fā)第一組,組內(nèi)有6名成員,兩個主要負(fù)責(zé)項目核心代碼的編寫,其余負(fù)責(zé)簡單模塊代碼的編寫,我主要負(fù)責(zé)填寫與修改相關(guān)項目文檔并督促小組進(jìn)度和團(tuán)結(jié)組內(nèi)成員、合理分配組員任務(wù)并及時調(diào)節(jié)組內(nèi)安排的各種不適與問題。校外實習(xí)的過程中,小組成員高度團(tuán)結(jié),協(xié)調(diào)合作,對所有問題都能及時探討并高效解決,有時遇到分歧,不過在全體討論后,都能找到合理的統(tǒng)一方案,如在界面設(shè)計環(huán)節(jié)中,就登陸界面和模塊界面的設(shè)計中,組員有很多不同建議,在詢問老師和權(quán)衡實現(xiàn)困難程度后,我們達(dá)成了一致意見,統(tǒng)一后的界面相比之前更加規(guī)整明晰,且功能更加健全,當(dāng)然這是我們小組齊心合力的結(jié)果。在開發(fā)的過程中,出現(xiàn)過項目分工不明確的問題,其原因源于我考慮到組員能力的不同,所以就把大部分的工作安排給能力高的人身上,其他能力低的只暫讓他們自由學(xué)習(xí)希望能盡早跟上小組步伐,不過事實證明我錯了。讓部分組員自由學(xué)習(xí)而不參與項目的工作中本身就拖累了小組的整體速度,而且在短暫的時間里,他們也實在學(xué)不到任何實際的東西,所以后來我更改了戰(zhàn)略。我先讓能力低的組員嘗試參照模板編寫一些文檔的簡單部分,然后讓能力稍高點(diǎn)的組員繼續(xù)補(bǔ)充文檔的核心部分,最后由我修改格式和內(nèi)容,最后讓老師審閱。這個方案實施過后,小組的效率整體上明顯提高,每個人各司其職,全組團(tuán)結(jié)一致,共同為項目的完成發(fā)揮自己的聰明才智。而之后,在項目編碼階段,我們小組的TL負(fù)責(zé)對項目整個框架的構(gòu)建,即設(shè)計好主要的窗口原型,然后指導(dǎo)小組成員在自己所負(fù)責(zé)的模塊上添加具體事件代碼,最后再進(jìn)行修改,這樣做不僅將組員團(tuán)結(jié)在一起提高組內(nèi)效率,更直接提高了組員的編程能力。
需求分析階段和設(shè)計階段很快結(jié)束了,我們小組齊心協(xié)力按時完成了相關(guān)文檔的編寫,包括需求規(guī)約、實現(xiàn)規(guī)約、界面設(shè)計word圖形文檔、數(shù)據(jù)庫設(shè)計說明書、詳細(xì)設(shè)計說明書和概要說明書,在老師評審過后,發(fā)現(xiàn)問題還是有很多,作為項目經(jīng)理的我本該對這些文檔進(jìn)行及時修改和更正,但由于時間倉促且我們是第一組需第一個評審,所以就馬馬虎虎的拿未精確修改的文檔進(jìn)行審評了,老師著重對系統(tǒng)模塊圖和模塊功能描述那塊提出了些許建議,并讓演示了小組編寫的代碼程序,對其中錯誤問題提出了解決方案。之后進(jìn)行一番修改過后,我小組正式進(jìn)入了編碼階段,編碼只有短暫的3天,后兩天老師分小組評審并提出改進(jìn)意見,小組修正和改進(jìn)代碼結(jié)構(gòu)語句,完善項目要求,緊接著進(jìn)入測試階段,老師又著重介紹了一些測試工具方便小組測試,填寫并修改好測試文檔后,整個實習(xí)就將要進(jìn)入尾聲了。再回校進(jìn)行最后評審項目PPT和提交作業(yè)后,暑期實習(xí)就正式結(jié)束。
短短半個月的實習(xí)中,我深深的感受到自己在實際應(yīng)用中專業(yè)知識的匱乏和短時間學(xué)習(xí)掌握一門新知識和新技術(shù)的困難,這是我非常畏懼的兩大難題。就自身來說,我喜歡有所準(zhǔn)備,不喜歡臨陣磨槍,盡管之前對實習(xí)要求的知識技能有些了解,但到真正實施時,還是不免有些不知所措,而之后能慢慢克服畏懼慌張并團(tuán)結(jié)小組成員按時且高效的完成作業(yè),這都得力于實習(xí)老師和組員對我的巨大幫助,在此,由衷感謝他們,也感謝我自己。