軟件工程實(shí)習心得體會(huì )3篇
當我們受到啟發(fā),對生活有了新的感悟時(shí),不妨將其寫(xiě)成一篇心得體會(huì ),讓自己銘記于心,這樣有利于培養我們思考的習慣。是不是無(wú)從下筆、沒(méi)有頭緒?下面是小編精心整理的軟件工程實(shí)習心得體會(huì ),歡迎閱讀與收藏。
軟件工程實(shí)習心得體會(huì )1
學(xué)習了這門(mén)課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實(shí)例,讓理論和實(shí)踐得到了很好的結合。整一個(gè)學(xué)期下來(lái),總的來(lái)說(shuō)還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實(shí)在我看來(lái),軟件工程與其說(shuō)是一門(mén)課程,不如說(shuō)是一門(mén)思想。是一個(gè)如何去分析和處理問(wèn)題的過(guò)程,應該說(shuō)其范疇已經(jīng)遠遠不止局限于該門(mén)課程,成為了一個(gè)綜合的一個(gè)能夠解決問(wèn)題的思想集合。
要學(xué)習軟件工程,學(xué)會(huì )如何系統的思考,以及養成良好的編碼習慣,想學(xué)好軟件工程,就必須知道軟件工程的目標、過(guò)程和原則: 軟件工程目標:生產(chǎn)具有正確性、可用性以及開(kāi)銷(xiāo)合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預期功能的程度。
可用性指軟件基本結構、實(shí)現及文檔為用戶(hù)可用的程度。開(kāi)銷(xiāo)合宜是指軟件開(kāi)發(fā)、運行的整個(gè)開(kāi)銷(xiāo)滿(mǎn)足用戶(hù)要求的程度。這些目標的實(shí)現不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對過(guò)程、過(guò)程模型及工程方法選取的約束。
軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿(mǎn)足需求且達到工程目標的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運作過(guò)程、維護過(guò)程。它們覆蓋了需求、設計、實(shí)現、確認以及維護等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱(chēng)軟件需求規約。需求分析生成功能規約。設計活動(dòng)一般包括概要設計和詳細設計。概要設計建立整個(gè)軟件系統結構,包括子系統、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。詳細設計產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數據結構說(shuō)明及加工描述。實(shí)現活動(dòng)把設計結果轉換為可執行的程序代碼。確認活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現完成后的確認,保證最終產(chǎn)品滿(mǎn)足用戶(hù)的要求。維護活動(dòng)包括使用過(guò)程中的擴充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓過(guò)程等。 軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。
pad圖:它是用結構化程序設計思想表現程序邏輯結構的圖形工具。pad也設置了五種基本控制結構的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結構。hc圖中的每一個(gè)模塊,均可用一張ipo圖來(lái)描述。ipo 圖由輸入、處理和輸出三個(gè)框組成,需要時(shí)還可以增加一個(gè)數據文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀(guān)地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過(guò)程是否在實(shí)際應用環(huán)境中來(lái)分,有靜態(tài)分析與動(dòng)態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱(chēng)黑盒法)。靜態(tài)分析技術(shù):不執行被測軟件,可對需求分析說(shuō)明書(shū)、軟件設計說(shuō)明書(shū)、源程序做結構檢查、流程分析、符號執行來(lái)找出軟件錯誤。動(dòng)態(tài)測試技術(shù):當把程序作為一個(gè)函數,輸入的全體稱(chēng)為函數的定義域,輸出的全體稱(chēng)為函數的值域,函數則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習了其他很多工具、語(yǔ)言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習中一定會(huì )慢慢的完善的。
軟件工程對于初學(xué)者來(lái)說(shuō),知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來(lái)較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專(zhuān)業(yè)書(shū)籍細致地看幾遍,然后上機練習幾次就可以成功,學(xué)習過(guò)程中要注意多看多練要注意結合實(shí)際,更要多思考,面對錯誤不要一范就問(wèn),要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰,學(xué)習軟件工程首先要明白自己的學(xué)習目標究竟是什么,根據自己的實(shí)際工作出發(fā),有針對性的在相應的學(xué)習方向上進(jìn)行提高,制定出詳細的學(xué)習規劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習面向對象分析的時(shí)候要結合大一學(xué)習的面向對象及其方法學(xué)這一專(zhuān)業(yè)科目進(jìn)行研究拓展;在學(xué)習語(yǔ)言時(shí),要看看與c語(yǔ)言的聯(lián)系,多思多想,把從各個(gè)科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習中,我了解到了軟件并非是一些代碼這么簡(jiǎn)單,在開(kāi)發(fā)軟件的過(guò)程中,編寫(xiě)代碼的工作量其實(shí)只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個(gè)完整的項目規劃須包括,軟件的定義,可行性分析報告,項目開(kāi)發(fā)計劃,軟件需求說(shuō)明書(shū),概要設計說(shuō)明書(shū),詳細設計說(shuō)明書(shū),用戶(hù)操作手冊,測試計劃,測試分析報告,開(kāi)發(fā)進(jìn)度報告,項目開(kāi)發(fā)總結報告,軟件維護手冊,軟件問(wèn)題報告,軟件修改報告,等多個(gè)文檔,每個(gè)文檔都要上級驗收審查,而文檔數量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫(xiě)好文檔正能保證完成軟件工程其中一個(gè)目的的關(guān)鍵,既研究如何用最小的開(kāi)銷(xiāo)做出生存期較長(cháng)的軟件,再加上各個(gè)階段都要進(jìn)行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開(kāi)發(fā)軟件這個(gè)浩大的工程的一個(gè)小小的過(guò)程。
而編碼的'學(xué)習中,我更了解到形成自己獨特的規范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫(xiě)的程序毫無(wú)規范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護又從何談起呢所以,我們在今后的學(xué)習中,一定要注意這方面的培養,在寫(xiě)程序的過(guò)程中,要逐步的在規范的基礎上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統方法雖然使軟件擺脫了混亂和無(wú)序,但其在適應需求變化的方面不夠靈活,而且傳統方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問(wèn)題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基于形式化數學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統的規格說(shuō)明轉換為可執行的程序。在今后的學(xué)習中要注意多讀書(shū)、多思考、多練習、多討論,不斷熟悉書(shū)本的基礎,并以此為基礎將其擴散開(kāi)來(lái),應用于今后的實(shí)踐。不斷鍛煉自己,向一名合格的程序設計師邁進(jìn)。
軟件工程實(shí)習心得體會(huì )2
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會(huì )到了什么叫做用工程化的思想來(lái)編寫(xiě)軟件,以前自己也寫(xiě)過(guò)一些小型軟件,沒(méi)有做過(guò)大型的項目,直到這次課堂我擔任組長(cháng)并組織組員共同完成“個(gè)人圖書(shū)管理系統”這個(gè)項目,第一次和別人合作,才發(fā)現運用工程化的思想來(lái)做是如此的有必要。
從這里,我才真正的意識到實(shí)施一個(gè)軟件工程并不是說(shuō)簡(jiǎn)單的會(huì )編碼就能夠解決問(wèn)題的,我們更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,只占到那么小的一個(gè)部分。這個(gè)事實(shí)在很大程度上顛覆了我以前的思想,在我以前的認識中,似乎整個(gè)軟件就是編碼,除此無(wú)它,還好有老師的指導,不然真的會(huì )出現老師所說(shuō)的,撞得頭破血流之后才想起來(lái)用軟件工程的思想來(lái)完成這個(gè)工作。
剛真正開(kāi)始工作之前,我們費了很多的時(shí)間來(lái)完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來(lái)可能是相對無(wú)關(guān)緊要,甚至是多于的,其實(shí),換做在以前,我也會(huì )這么認為?墒,我現在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場(chǎng),能被別人接受和認可,在進(jìn)行過(guò)程中不會(huì )出現崩潰性的問(wèn)題,這些工作缺一不可。
還有就是接下來(lái)的一些設計模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數傳遞和接口通訊的問(wèn)題,此模塊對我的觸動(dòng)遠沒(méi)有上兩個(gè)模塊對我的影響大,因此再次也不做過(guò)多的介紹。
在整個(gè)活動(dòng)的`完成過(guò)程中,作為組長(cháng),我收獲很多,我發(fā)現,要是組里有個(gè)人不怎么想做事情時(shí),他對于整個(gè)組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現這樣的人,我絕不會(huì )給他繼續留下來(lái)的機會(huì ),我會(huì )在第一時(shí)間將他清除出去。還有就是,作為組長(cháng),你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng )造出一個(gè)平臺,讓別人去發(fā)揮,你所要做得,出了保證這個(gè)平臺的完整性和公平性外,還有就是協(xié)調好各組員之間的關(guān)系。
這就是我的實(shí)習感想。
軟件工程實(shí)習心得體會(huì )3
時(shí)間過(guò)的很快,轉眼間已經(jīng)實(shí)習將近5個(gè)月。
最先在內部系統組參與內部管理系統開(kāi)發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò )交換機軟件的腳本測試,F在又回歸內部系統,雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)驗。
至少自己做的東西,是真正交付到了客戶(hù)手上,到也稍微有些成就感。
1淺談測試
一直以來(lái),我都認為測試是脫離了軟件工程范圍的工作,不以為屑。但在實(shí)際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個(gè)系統的方方面面具體運作的前提。但占主導地位的,還是大型系統的集成測試經(jīng)驗。實(shí)際項目中,編碼時(shí)間一般只占30%左右,真正耗費時(shí)間的是IT階段的找bug與對應bug,此階段基本評定了coder的編碼質(zhì)量。
2程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實(shí)際做起來(lái),卻不知從何下手,問(wèn)題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱(chēng)調試。在項目組工作不愁源碼資源,但問(wèn)題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒(méi)用,要去抄,例如一個(gè)查詢(xún)模塊,在此基礎上去做具體記錄的歷史記錄查詢(xún)模塊,你可能會(huì )覺(jué)得很簡(jiǎn)單,但實(shí)際情況卻往往報一堆異常,配置問(wèn)題涉及到方方面面,以及數據庫字段,傳值問(wèn)題等等,一大堆對于新人來(lái)說(shuō)很郁悶的問(wèn)題。但不用怕,只要學(xué)會(huì )調試,一個(gè)個(gè)問(wèn)題去追蹤,一個(gè)個(gè)去解決,自然而然,那段“源碼”才真正屬于你。
3如何調試追蹤?
如果你能在短短的時(shí)間內就看到問(wèn)題點(diǎn)在那,放下斷點(diǎn)去追蹤,出去找工作,絕對沒(méi)問(wèn)題。出現問(wèn)題的時(shí)候,不要光看代碼,要用實(shí)際行動(dòng)去追蹤運行期間的具體值,那是最好途徑。eclipse是個(gè)很爽的ide,這點(diǎn)做的很好。例如頁(yè)面內容顯示不是自己想要的數據,我們要先從數據庫查詢(xún)語(yǔ)句去下手,設置斷點(diǎn),一步一步step over,讓sql字段(存取最終sql語(yǔ)句的字符串)運行到有值,inspect進(jìn)去看,如果還看不出來(lái),就點(diǎn)擊它,copy后在sql客戶(hù)端去實(shí)際運行,看看實(shí)際查詢(xún)出來(lái)的表是什么,如果是對的,有可能就是頁(yè)面調用的錯誤或者action邏輯的傳值問(wèn)題。
頁(yè)面錯誤的調試,基本方法是用右鍵點(diǎn)擊實(shí)際網(wǎng)頁(yè)查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見(jiàn)的錯誤,例如:缺少對象這種很多時(shí)候是有些被你調用的字段有可能為空的情況出現的,可以加if語(yǔ)句加保護。追蹤的方法基本就是用alert語(yǔ)句,放在有可能出錯的地方。
4一些習慣
遇到問(wèn)題先自己思考,無(wú)從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著(zhù),看多了自己也會(huì )了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠遠比書(shū)多的多。
解決了一個(gè)問(wèn)題后,要去究根問(wèn)底去找到問(wèn)題產(chǎn)生的起因,以防你下次遇到類(lèi)似的問(wèn)題再浪費同樣的時(shí)間。
把代碼寫(xiě)的漂亮,注釋、空行、規范一樣不能少,可讀性是放在第一位。曾經(jīng)看過(guò)一個(gè)高手寫(xiě)的代碼,真的一看就是不同水平的人寫(xiě)的,幾乎很完美,讀起來(lái)很流暢,方便自己也方便別人。
任務(wù)完后不要呆著(zhù),去要求經(jīng)理給你更有挑戰性的任務(wù),只要你肯去嘗試,他們就會(huì )對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比較好走了。
5題尾話(huà)
如果你有一份思想,我有一份思想,拿出來(lái)交換,我們大家擁有就是2分份思想,可惜這種觀(guān)念,并不能深入每一個(gè)團隊的每一個(gè)人,少一點(diǎn)自私,未必不是好事。職場(chǎng)到處都存在被排擠的隱患,要為自己找片草地實(shí)在不容易。但有一點(diǎn)要相信,只要自己不放棄自己,這世上就沒(méi)有絕望的路,你可以被打趴下,可以被身邊的人暗算,可以被深?lèi)?ài)的人流放,只要你用自己決心站起來(lái),受過(guò)的傷痊愈后就能增強你的抵抗力,一路前進(jìn)!
【軟件工程實(shí)習心得體會(huì )3篇】相關(guān)文章:
軟件工程實(shí)習目的和要求實(shí)習目的11-01
軟件工程專(zhuān)業(yè)實(shí)習目的與任務(wù)10-16
軟件工程應用淺析10-05
軟件工程應屆畢業(yè)生實(shí)習個(gè)人簡(jiǎn)歷模板09-14
軟件工程自薦書(shū)10-16
碩士軟件工程開(kāi)題報告10-24
軟件工程英文簡(jiǎn)歷11-09
accp軟件工程師10-31