軟件開發(fā)實習心得
軟件開發(fā)實習心得
一直以來期望從事自己喜歡的事業(yè)的我,對軟件開發(fā)有者及大的興趣,可由說種種原因使我從事工作以來走了好幾年彎路,心中的夢想遲遲不能得以實現(xiàn),可程序員的夢想從來沒有從我的心中抹去,但這扇大門好像并沒有向我敞開,今天,貴公司給了我敲開這扇大門的機會,讓我真實體驗了程序員的誕生過程。早就聽說,程序員的前幾個月是最苦的,可從來沒有感受到,海馬實習基地讓我提前感受到了剛剛進入軟件行業(yè)的壓力和困惑,再也沒有在自己家里隨便寫段小程序后的那種“自豪”感了。要面對每天必須面對的問題,再也不可能以“逃避”而了之了。也讓我感覺到做為一個程序員所應該具備的基本素質在這不到一個月的實習過程中也讓我深深體會到了作為一個合格的程序員應該具備的基本素質。
團隊精神和協(xié)作能力是程序員應該具備的基本素質,最近的工作中讓我深深休會到了這一點,由于小組成員配合不好,使本來很方便的cvs給自己的工作帶來的及大的麻煩,一不小心自己寫的的東西就會被小組別的成員在上傳文件的時候給覆蓋掉,一整天的工作可能就這樣被反工,我們小組這次就是因為協(xié)作不好,導致各模塊之間不法連接,給工作帶來了及大的麻煩,消耗了大量的勞動力還沒有提高工作效率。這使我深深的體會到:一個成功商業(yè)性軟件的開發(fā)必須有一個有強大凝聚力的團隊,個人的力量是有限的,團隊精神和良好的協(xié)作會使我們做出優(yōu)秀的軟件。
良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30%的工作時間寫技術文檔是很正常的,缺乏文檔,一個軟件系統(tǒng)就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇到極大的麻煩。這次的這個小小的項目,就因為文檔上的一點點理解錯誤讓我們花了很大的工夫去改代碼,改頁面。很慶幸的是,這是一個小項目,要是大項目,這種問題可能就會導致大量的代碼修改,可見文檔在一個項目中起者巨大的做用。
此外,良好的代碼編寫習慣,不但有助于代碼的移植和糾錯,也有助于不同技術人員之間的協(xié)作。作為一個程序員,對需求的理解能力也是很重要的,只有真正理解了一個模塊的作用,才會寫出高效率的代碼,才能使整個軟件項目作出來更加優(yōu)秀,具備更好的安全性和穩(wěn)定性,我在寫代碼的過程中就遇到了需求理解上的問題,使得寫出來的代碼功能不全,幸好不是給客戶發(fā)現(xiàn)在,要不,這個軟件的商業(yè)價值可能就會打折扣了。單元測試對于一個程序員來說是不可不做的一項工作,不做好測試就會給后期的集成工作帶來麻煩,往往為了一個小問題會讓我們查找好多模塊,給后期工作帶來很大麻煩。
這一段時間的工作也讓我明白了一點:一個優(yōu)秀的程序員必須不斷的學習,隨時總結,找到自己的不足,這樣逐步提高,才能讓自己很快的成長起來。建站俠客發(fā)表于201*-4-2810:19
對軟件開發(fā)的一點心得體會一、前期規(guī)劃:
我理解的前期規(guī)劃是:在市場人員們匯總一個需求提交給產品專家?guī)ьI的產品經(jīng)理團隊,然后經(jīng)過這個團隊根據(jù)公司具體情況再次分析和規(guī)劃出一個最終需求文檔。
這個需求文檔應當首先提交給技術研發(fā)部門的負責人以及核心開發(fā)人員。由開發(fā)團隊對其進行技術和風險分析。如果對此需求統(tǒng)一有異議的地方,需要返回給產品團隊,重新修正需求。反復如此,直至需求完善準確,細致,清晰。
前期規(guī)劃就像高樓的地基,如果馬馬虎虎,就算是一塊磚塊沒擺好都可能導致整個高樓建設的失敗。在規(guī)劃中我認為,交流永遠是需要雙方積極主動,能認真聽取每個人的建議。前期工作思維不慎重,不細致,不認真,不夠完善,將產生連鎖效應直接導致整個工程和項目的失敗。
這種失敗可能表現(xiàn)為:第一種,軟件按需求實現(xiàn)但是功能根本不能滿足用戶需要。第二種,功能都有了,軟件沒有達到可用性、易用性。
對于第一種,當然是因為前期規(guī)劃疏漏了某些細小功能,沒能把需求文檔做完善。應該是規(guī)劃工作做的還不夠認真和細致。
對于第二種情況,我認為更多是在產品設計規(guī)劃方面經(jīng)驗還不夠成熟。這種問題應該是很難避免的。因為每種新產品對產品團隊來說都很陌生。即使以前做過類似的東西,也難免面面俱到。這只能通過不斷努力和認真的態(tài)度來彌補。
前期規(guī)劃的交流涉及了市場、產品和技術研發(fā)等多個團隊之間。需要的不僅是團隊內部的交流,更多需要協(xié)調好團隊之間的交流?赡苡袝r候需要公司高層和中層參與協(xié)調。
目前,很多開發(fā)人員深感項目的需求文檔寫的都很單薄。大家可以想一想,如果沒有好的開始,怎么會有好的結束呢?需求文檔單薄,不夠細致,由誰來繼續(xù)完善呢?難道讓程序員們自己去完善。我想程序員也可能沒有這種能力。對于程序員能把代碼寫的很健壯很穩(wěn)定就已經(jīng)是很不容易的事情了。
二、概要設計:
我理解的概要設計步驟:(以項目為中心的開發(fā)流程)
1〉項目經(jīng)理仔細閱讀項目需求文檔。
2〉項目經(jīng)理召集項目開發(fā)成員,開項目啟動會議。具體商議項目的開發(fā)任務和責任分配。
3〉核心開發(fā)人員開發(fā)確定,以及各模塊開發(fā)人員確定。4〉由系統(tǒng)分析員和核心開發(fā)人員仔細閱讀需求文檔,對系統(tǒng)整個架構分析和做技術規(guī)劃。
5〉系統(tǒng)分析員整理和書寫最終的系統(tǒng)架構和概要設計文檔。
6〉系統(tǒng)分析員在文檔提交日,提交給項目經(jīng)理。項目經(jīng)理確認文檔并審批。
7〉項目經(jīng)理召集項目開發(fā)成員,開一個概要設計以及系統(tǒng)架構確定的會議。向每個成員分發(fā)文檔,并討論確定最終概要設計文檔。
8〉開始詳細設計文檔的工作
三、詳細設計:1〉項目經(jīng)理組織成立各個模塊的開發(fā)小組,并確定開發(fā)小組組長(程序經(jīng)理)。
2〉各開發(fā)組長書寫各自模塊的詳細設計文檔,開發(fā)成員需要協(xié)助,配合。
3〉在指定提交日,開發(fā)組長提交文檔給系統(tǒng)分析員。由系統(tǒng)分析員審批。
4〉系統(tǒng)分析員組織召開一個詳細設計文檔確認的會議。5〉然后開發(fā)組長分發(fā)各自模塊的詳細設計文檔給程序員,程序員在指定時間內完成。
6〉程序員做內部測試。開發(fā)組長協(xié)調并配合。
7〉確認無bug提交給開發(fā)組組長。
8〉所有模塊整合工作,由整個開發(fā)組成員參與完成。由所有開發(fā)組長和系統(tǒng)分析員負責主要部分工作。程序員協(xié)助和配合。
9〉對整合后工程做詳細測試。10〉確認測試通過后,開發(fā)組長根據(jù)開發(fā)成員表現(xiàn)以及提交成果填寫績效考核表。然后提交給項目經(jīng)理。
11〉項目經(jīng)理會召開項目總結會,同時向優(yōu)秀成員頒獎。同時鼓勵所有成員繼續(xù)努力。對不能按時完成導致項目能按時提交,以及對導致失敗的關鍵人員給與懲罰處理。
當然,以上只是一個簡單的開發(fā)流程,一定是有很多不足的地方。希望能起到拋磚引玉的作用。大家都明白,流程和制度是死的,但人是活的,所以如何按流程做得好,關鍵還是在人本身了。沒有一個流程和制度,一個團隊也必將是一盤散沙。正所謂“無規(guī)矩無以成方圓”。這句話說得很有道理。
四、具體編碼:
開發(fā)幾個項目之后,對編寫程序有了更進一步的了解。
好的程序應該具有:易讀性,易擴展性,容錯性。
易讀性:所有變量和函數(shù)以及類名用簡單易懂易記憶的命名方式。所有類和函數(shù)甚至變量都有關鍵的注釋說明。這點很重要,也是最基礎的。如果代碼書寫不夠美觀和易懂,我想自己以后也不想再看。就更別談功能的擴展和新版本開發(fā)了。
易擴展性:整體系統(tǒng)架構邏輯簡單清晰。模塊與模塊之間盡量做到互不影響,也就是盡可能的獨立。這部分工作主要體現(xiàn)在前期設計工作中,需要掌握好的設計經(jīng)驗和方法才能夠做得比較好。
容錯性:對數(shù)據(jù)流和指針以及數(shù)組都做數(shù)據(jù)有效性檢查;對第三方接口的調用失敗的容錯性。對所有代碼都做調用失敗后的錯誤處理。以及在大的工程中加入trace文件輸出,把關鍵的數(shù)據(jù)流和關鍵處理部分的操作信息輸出。以便對工程異常情況產生條件的定位,及時解決問題。
我覺得程序員能在這三方面做得很好就算一個優(yōu)秀的programmer了。
五、調試、跟蹤與測試:
1測試需要注意的:
對每個模塊的接口做測試,數(shù)據(jù)邊界的檢查。在對整個模塊做測試。
主要測試穩(wěn)定性,效率以及功能是否正常。
確認單個模塊完全正常后,再加入工程。
在系統(tǒng)架構設計的時候,可能會引入原型參考。要對原型做完成測試后,確認沒有問題后,才可使用。
2可以采用VC自帶Trace或者將信息輸出為文本文件的方式跟蹤程序并輸出關鍵信息,以便定位程序異常的原因。
3對于通信模塊的測試,特別注意服務端和客戶端的數(shù)據(jù)流?梢葬槍π缘膶懸粋客戶端或服務端的測試程序,檢驗通訊過程是否正常。
4在用VC做開發(fā)中,一定先要讓Debug版本正常運行,保證沒有任何異常,內存泄漏和Assert等調試警告信息。如果用到其他Lib,一定要保證Lib本身不存在問題。
這里只是提到一些自己容易忽略的東西,希望能對大家有所幫助,歡迎指正!謝謝。
擴展閱讀:軟件實訓心得體會
學生管理系統(tǒng)實訓心得
通過為學期期的實訓,我學習了很多關于很多的知識。在老師的正確指導下,順利的完成了我的實訓內容。在此,也有同學的幫助,在他們的幫助下我也受益匪淺。最終,能順利完成實訓的任務也高興了。
在實訓生活中,我了解開發(fā)項目的需求、設計、實現(xiàn)、確認以及維護等活動整個過程,讓自己開始懂得一點軟件工程的知識點。首先,了解需求分析的重要性,比如:需求分析就是分析軟件用戶的需求是什么.如果投入大量的人力,物力,財力,時間,開發(fā)出的軟件卻沒人要,那所有的投入都是徒勞.如果費了很大的精力,開發(fā)一個軟件,最后卻不滿足用戶的要求,從而要重新開發(fā)過,這種返工是讓人痛心疾首的.(相信大家都有體會)比如,用戶需要一個forlinux的軟件,而你在軟件開發(fā)前期忽略了軟件的運行環(huán)境,忘了向用戶詢問這個問題,而想當然的認為是開發(fā)forwindows的軟件,當你千辛萬苦地開發(fā)完成向用戶提交時才發(fā)現(xiàn)出了問題,那時候你是欲哭無淚了,恨不得找塊豆腐一頭撞死。所以,需求分析是成功的第一步,就是要全面地理解用戶的各項要求,并準確地表達所接受的用戶需求。然后呢?確實客戶的需求的以后我們要做什么呢,那當然是設計和分析。此階段主要根據(jù)需求分析的結果,對整個軟件系統(tǒng)進行設計,如系統(tǒng)框架設計,數(shù)據(jù)庫設計等等。軟件設計一般分為總體設計和詳細設計。好的軟件設計將為軟件程序編寫打下良好的基礎。接下來是代碼實現(xiàn),此階段是將軟件設計的結果轉換成計算機可運行的程序代碼,我們這個項目為五個模塊,分別為五個小組成員完成。這階段我學到很多編程的思想,如:分層思想、mvc、ssh的整合、dao的編寫。編號程序之后就是軟件測試了,此時在軟件設計完成后要經(jīng)過嚴密的測試,以發(fā)現(xiàn)軟件在整個設計過程中存在的問題并加以糾正。整個測試過程分單元測試、組裝測試以及系統(tǒng)測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃并嚴格按照測試計劃進行測試,以減少測試的隨意性。最后是軟件維護,它是軟件生命周期中持續(xù)時間最長的階段。在軟件開發(fā)完成并投入使用后,由于多方面的原因,軟件不能繼續(xù)適應用戶的要求。要延續(xù)軟件的使用壽命,就必須對軟件進行維護。
但是,我深深體會到了在許多方面的欠缺和不足,比如:在需求分析時,由于自己的實踐經(jīng)驗不夠,很難分析需求到位;在編寫代碼時,由于自己技術知識水平不廣,常常遇到技術難題;還有自己沒有
良好的編程習慣,不注釋,有時連自己也看懵了;編程的結構不好,維修和修改代碼是很慢。這次實訓讓我意識到了自己做為計算機軟件工程專業(yè)的學生,要想在以后的職業(yè)中嶄露頭角,除了要有過硬的理論知識,健康的體魄外,還必須具備良好的心理素質,使自己在以后的途中無論經(jīng)歷什么樣的困難,都立于不敗之地。“紙上得來終覺淺,絕知此事要躬行!”在這短短的時間里,讓我深深的感覺到自己在實際應用中所學專業(yè)知識的匱乏。讓我真真領悟到“學無止境”這句話的涵義。而所學的,都是課本上沒有而對我們又非常實用的東西,這又給我們的實訓增加了濃墨淡采的光輝。我懂得了實際生活中,專業(yè)知識是怎樣應用與實踐的。
在這次實訓中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識,而且讓我深深體會到一個團隊中各成員合作的重要性,要善于團隊合作,善于利用別人的智慧,這才是大智慧。靠單一的力量是很難完成一個大項目的,在進行團隊合作的時候,還要耐心聽取每個成員的意見,使我們的組合達到更加完美。實訓過程中,除了要專業(yè)知識,包括人際交往,溝通方式及相關禮節(jié)方面的內容,對于團隊開發(fā)來說,團結一致使我深有體會。團隊的合作注重溝通和信任,不能不屑于做小事,永遠都要保持親和誠信,把專業(yè)理論運用到具體實踐中,不僅加深我對理論的掌握和運用,還讓我擁有了一次又一次難忘的開發(fā)經(jīng)理,這是也是實訓最大的收獲。
這次實訓帶給我太多的感觸,它讓我知道工作上的辛苦,事業(yè)途中的艱辛。讓我知道了實際的工作并不像在學校學習那樣輕松。讓我學到了很多課堂上更本學不到的東西,仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了學習的意義,時間的寶貴,人生的真諦。明白人世間一生不可能都是一帆風順的,只要勇敢去面對人生中的每個驛站!這讓我清楚地感到了自己肩上的重任,看清了自己的人生方向,也讓我認識到了做軟件應支持仔細認真的工作態(tài)度,要有一種平和的心態(tài)和不恥下問的精神,不管遇到什么事都要總代表地去思考,多聽別人的建議,不要太過急燥。人非生而知之,雖然我現(xiàn)在的知識結構還很差,但是我知道要學的知識,一靠努力學習,二靠潛心實踐。沒有實踐,學習就是無源之水,無本之木。這次實訓讓我在一瞬間長大:我們不可能永遠呆在象牙塔中,過著一種無憂無慮的生活,我們總是要走上社會的,而社會,就是要靠我們這些年輕的一代來推動。這就是我們不遠千里來實訓的心得和感受,而不久后的我,面臨是就業(yè)壓力,還是繼續(xù)深造,我想我都應該好好經(jīng)營自己的時間,充實、完善自我,不要讓自己的人生留下任何空白!
從初出茅廬,到現(xiàn)在可以熟練的按照流程開發(fā)軟件,這都與我組每個成員的努力是分不開的。在實訓中,教會了我們很多東西,同時也鍛煉了大家踏實、穩(wěn)重、溝通的能力,每個人都很珍惜這來之不易的實訓機會。在工作中,經(jīng)常會和不同的人打交道,然而他們的態(tài)度是不可恭維的,你會感覺到他的不耐煩以及他的高傲,所以這就需要學會溝通的方式及說話技巧,學會靈活面對。
在這學期的實訓中,我受益匪淺,不僅專業(yè)知識增長了,最主要是懂得了如何更好的為人處事、團隊合作,感覺自己比以前成熟多了。正因為學習上有所收獲,思想上也就豁然開朗起來。通過這次實訓,我覺得要改變以前錯誤的思想,想把各項工作做好,就必需要不斷的學習,不斷的充電,也只有不斷的學習、充電,才能提高自已的工作能力。古人云,“活到老、學到老”,這句話是很有道理的。
社會的競爭是激烈的,我想我們應該好好把握住大學學習的時間,充實、完善自我,全面發(fā)展,攻破電腦,爭取做一名出色的程序員。我們深刻的了解到,只有經(jīng)歷過,才知道其中的滋味。
對于我而言,可以說通過這次實訓,真真切切的讓我了解了什么是軟件開發(fā),什么是軟件,讓我對于軟件最初的觀點也有了本質性的改變!程序員不僅僅是一份職業(yè),更是一份細心+一份耐心+一份責任心=人生價值的詮釋。
友情提示:本文中關于《軟件開發(fā)實習心得》給出的范例僅供您參考拓展思維使用,軟件開發(fā)實習心得:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯(lián)系我們及時刪除。