軟件工程的心得(熱門22篇)

字號:

    通過總結(jié),我們可以發(fā)現(xiàn)問題、找到解決問題的方法,并且在以后的學(xué)習(xí)和工作中避免犯同樣的錯誤。寫總結(jié)時要注意審查和修改,確保語言和內(nèi)容的準(zhǔn)確性和連貫性。小編精選了一些與各行各業(yè)相關(guān)的總結(jié)范文,希望可以給大家提供一些思路和靈感。
    軟件工程的心得篇一
    在這次軟件工程課程中,我學(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)系。
    軟件工程的心得篇二
    對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明、應(yīng)用背景、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團(tuán)隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進(jìn)行定義等工作。
    原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細(xì),而這次看到大型項目的行業(yè)背景說明也是這么詳細(xì),也讓自己認(rèn)識到不管是軟件開發(fā)的那個階段都要認(rèn)真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進(jìn)行。
    第二、項目需求說明方面
    這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少。
    在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗教訓(xùn)我會對這部分更加重視。
    第三、系統(tǒng)概要設(shè)計方面
    這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個階段還會具體畫出e-r圖、數(shù)據(jù)流圖等方面的設(shè)計。
    比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的系統(tǒng)概要設(shè)計從項目概述、設(shè)計約束、功能單元與功能模塊設(shè)計、數(shù)據(jù)e-r圖設(shè)計、總體設(shè)計、界面設(shè)計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設(shè)計,分別從邏輯架構(gòu)設(shè)計、物理架構(gòu)設(shè)計、技術(shù)架構(gòu)設(shè)計設(shè)計系統(tǒng)。在這個階段中模塊要做到高內(nèi)聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨(dú)立性。
    在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學(xué)習(xí),我相信在以后做項目的時候一定會注意到這類文檔的編寫。
    第四、詳細(xì)設(shè)計與分析方面
    詳細(xì)設(shè)計階段就是把概要設(shè)計階段的每個模塊進(jìn)一步設(shè)計,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個階段還是需要我們設(shè)計出程序的詳細(xì)規(guī)格說明,而不是編寫程序。在詳細(xì)設(shè)計階段,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖、pad圖等過程設(shè)計的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進(jìn)一步設(shè)計系統(tǒng)相關(guān)接口,主要包括界面設(shè)計接口、業(yè)務(wù)單設(shè)計接口、單元模塊設(shè)計接口等,這些對于以后的編碼工作都是極其重要的。
    第五、編碼和測試方案方面
    關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當(dāng)看到源程序代碼的時候也能容易讀懂代碼的意思。
    其次就是測試的內(nèi)容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平。
    軟件工程的心得篇三
    學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
    要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。
    可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
    軟件工程過程:生產(chǎn)一個最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
    pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
    軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
    在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進(jìn)度報告,項目開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
    而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護(hù)又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
    在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(jìn)。
    軟件工程的心得篇四
    軟件工程師是一個充滿挑戰(zhàn)和機(jī)遇的職業(yè)。在我從事軟件開發(fā)工作的這段時間里,我不斷學(xué)習(xí)和成長,越來越喜愛這個行業(yè)。在這篇文章中,我將分享自己關(guān)于軟件工程師的心得體會,希望對其他人有所幫助。
    第一段:專業(yè)知識的重要性。
    作為軟件工程師,我們必須對技術(shù)的掌握非常精通,我們在不斷的探索和學(xué)習(xí)新的工具和技術(shù)。我們必須持續(xù)不斷地關(guān)注業(yè)界的最新動態(tài),及時掌握前沿技術(shù),像人工智能、區(qū)塊鏈等這些新技術(shù)都值得我們?nèi)ヌ骄俊Ec此同時,掌握好基礎(chǔ)的計算機(jī)科學(xué)知識也是需要的。掌握這些知識既能幫助我們更好地理解系統(tǒng)內(nèi)部實現(xiàn)機(jī)理,也能避免犯一些低級的錯誤。在學(xué)習(xí)和成長的過程中,我體會到了這一點(diǎn)。
    第二段:團(tuán)隊合作的重要性。
    在軟件開發(fā)領(lǐng)域,沒有人能獨(dú)善其身。在一個團(tuán)隊中,每個人都有自己的專業(yè)領(lǐng)域,只有團(tuán)隊共同合作才能實現(xiàn)項目的成功。因此,團(tuán)隊合作是成功的關(guān)鍵。在團(tuán)隊工作中,我們必須學(xué)會彼此傾聽,交流并協(xié)作。我們必須以實現(xiàn)目標(biāo)為導(dǎo)向,共同完成任務(wù)。同時,探討問題并互相幫助也是必要的。這些方面都可以提高我們的溝通能力,并促進(jìn)合作的成功。
    第三段:代碼質(zhì)量的重要性。
    軟件工程師所編寫的代碼是企業(yè)技術(shù)資產(chǎn),同時也是開發(fā)者個人的財富。因此,編寫優(yōu)質(zhì)的代碼是非常重要的。良好的代碼質(zhì)量可以提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性,減少后續(xù)的工作量,同時也可以為編寫代碼的人提供一份技術(shù)遺產(chǎn)。還有就是一個高效、優(yōu)質(zhì)的代碼可以提高團(tuán)隊的安全和整體效率。在我的經(jīng)驗中,保證代碼質(zhì)量可以使系統(tǒng)更加穩(wěn)定可靠,同時也可以讓開發(fā)者和團(tuán)隊獲得更高的聲譽(yù)。
    第四段:思考的重要性。
    軟件工程師是一個需要保持開放性思維的職業(yè),我們需要在不斷的探索和思考中成長和進(jìn)步。嘗試去遇到新事物并探究它們的實現(xiàn)方法,吸收不同的思路和思考方式,這些都是非常好的方法。思考可以幫助我們更加深入地理解一個問題,也有助于我們找到解決問題的方法。因此,保持開放性思維,創(chuàng)新思考就顯得非常重要。思考能助于我們預(yù)先考慮項目中可能出現(xiàn)的問題,從而提前解決。這就可以讓我們在未來的開發(fā)需求中更好地迎接新的挑戰(zhàn)。
    第五段:持續(xù)學(xué)習(xí)和成長。
    軟件工程師的職業(yè)生涯需要不斷的學(xué)習(xí)和成長。保持對技術(shù)的持續(xù)學(xué)習(xí)和學(xué)習(xí)新的工具和技術(shù)是追求成長的最好途徑。因此保持學(xué)習(xí)的態(tài)度,介入到新依賴和組件中去創(chuàng)造用戶會很喜愛的產(chǎn)品。同時,不斷地學(xué)習(xí)也能拓寬了自己的視野,了解各種技術(shù)的優(yōu)點(diǎn)和缺點(diǎn)。保持求知欲,不斷學(xué)習(xí),用最好的狀態(tài)去完成我自己和團(tuán)隊的任務(wù)。
    總之,軟件工程師的工作是充滿挑戰(zhàn)和機(jī)遇的。實現(xiàn)成功的關(guān)鍵在于專業(yè)知識、團(tuán)隊合作、代碼質(zhì)量、思考能力和持續(xù)學(xué)習(xí)。我相信,人們只要持續(xù)學(xué)習(xí)和努力進(jìn)步,定能成為更好的軟件開發(fā)者。
    軟件工程的心得篇五
    自從參加了軟件工程師培訓(xùn),軟件開發(fā)最重要的就是編程思想,可我現(xiàn)在的水平只是編寫代碼達(dá)到非常熟練的程度罷了的心得。下面是本站小編為大家收集整理的軟件工程師培訓(xùn)心得,歡迎大家閱讀。
    軟件工程師是一個認(rèn)證考試,具體地說是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過它說明具備了工程師的資格。軟件工程師是從事軟件開發(fā)相關(guān)工作的人員的統(tǒng)稱。它是一個廣義的概念,包括軟件設(shè)計人員、軟件架構(gòu)人員、軟件工程管理人員、程序員等一系列崗位,工作內(nèi)容都與軟件開發(fā)生產(chǎn)相關(guān)。軟件工程師的技術(shù)要求是比較全面的,除了最基礎(chǔ)的編程語言(c語言/c++/java等)、數(shù)據(jù)庫技術(shù)(sql/oracle/db2等)等,還有諸多如javascript、ajax、hibernate、spring等前沿技術(shù)。此外,關(guān)于網(wǎng)絡(luò)工程和軟件測試的其他技術(shù)也要有所涉獵。
    職位概述。
    軟件工程師是一個認(rèn)證考試,具體地說是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過它說明具備了工程師的資格.。
    一般情況下,都是分4級:軟件技術(shù)員、助理軟件工程師、軟件工程師、高級軟件工程師。目前國內(nèi)軟件測試工程師的來源主要有三方面:一是以前專業(yè)做軟件開發(fā)的人員后來轉(zhuǎn)行做軟件測試,二是從大學(xué)招聘的本科或者研究生,三就是通過培訓(xùn)機(jī)構(gòu)招聘的專業(yè)學(xué)員。據(jù)了解,在國外測試人才的供應(yīng)方式多以第三種為主,而國內(nèi)目前除少數(shù)培訓(xùn)機(jī)構(gòu)外尚未形成足夠的人才供應(yīng)規(guī)模。以北京中關(guān)村為例,現(xiàn)有軟件企業(yè)5000多家,僅對曰本軟件外包領(lǐng)域的人才缺口就高達(dá)5000人,而對美軟件外包人才缺口更大,可供量不足10%。中關(guān)村一位負(fù)責(zé)人介紹,未來5年北京將有至少200億美元的外包訂單,由此可推算出中關(guān)村將出現(xiàn)100萬的軟件人才缺口。巨大的產(chǎn)業(yè)前景和匱乏的人才現(xiàn)狀,使越來越多的it企業(yè)關(guān)注軟件測試人才的儲備工作。
    2職位定義。
    負(fù)責(zé)產(chǎn)品的軟件研發(fā),承擔(dān)軟件設(shè)計、代碼編寫、軟件測試方案制訂、代碼調(diào)試和測試等。負(fù)責(zé)產(chǎn)品軟件的定制化工作,按照客戶需求定制軟件用戶界面,定制驅(qū)動程序,開發(fā)安裝程序,數(shù)據(jù)庫訪問等。
    工作內(nèi)容。
    1、指導(dǎo)程序員的工作;2、參與軟件工程系統(tǒng)的設(shè)計、開發(fā)、測試等過程;3、協(xié)助工程管理人保證項目的質(zhì)量;4、負(fù)責(zé)工程中主要功能的代碼實現(xiàn);5、解決工程中的關(guān)鍵問題和技術(shù)難題;6、協(xié)調(diào)各個程序員的工作,并能與其它軟件工程師協(xié)作工作。
    職位背景、現(xiàn)狀和前景。
    當(dāng)今社會不論什么職業(yè)的都需要一個不斷學(xué)習(xí)的環(huán)節(jié),軟件工程師也一樣。雖然軟件工程師的工作不同于程序員但是一個軟件工程師其前身必定是一個優(yōu)秀的程序員,軟件的開發(fā)工具、開發(fā)技術(shù)在不斷地發(fā)展。在校學(xué)生所能學(xué)到的東西很難跟得上發(fā)展的需要但是也不能說那些東西完全沒有用,只有在完全理解了相應(yīng)的基本技能之后你才能很輕松地掌握新的技能,軟件技術(shù)都是一個循序漸進(jìn)的過程。所以學(xué)好學(xué)校所能提供的專業(yè)課程是相當(dāng)重要的。it行業(yè)的平穩(wěn)增長必然會帶來軟件工程師需求的增長,目前隨著it產(chǎn)品出現(xiàn)的技術(shù)融合,軟件行業(yè)需要的也是復(fù)合型人才,軟件工程師需要掌握更多的編程語言。
    3從業(yè)要求。
    具有扎實的計算機(jī)基礎(chǔ)理論知識;.精通c/c++、java、c#等語言,具有豐富的unix/linux/windows系統(tǒng)下開發(fā)經(jīng)驗;.精通perl、python、php、shell等腳本語言;.有一定的算法基礎(chǔ),具有較強(qiáng)的獨(dú)立解決問題能力;.有大容量、高性能、分布式系統(tǒng)的設(shè)計開發(fā)經(jīng)驗;.具有很強(qiáng)的學(xué)習(xí)能力和對新技術(shù)的追求精神;.具有良好的中英文溝通能力,具有項目管理經(jīng)驗者優(yōu)先;.認(rèn)同客戶第一、團(tuán)隊合作、擁抱變化、誠信、激情、敬業(yè)的企業(yè)價值觀。
    技能認(rèn)證。
    java似乎專門為網(wǎng)絡(luò)設(shè)計的,用其開發(fā)網(wǎng)絡(luò)軟件特別便利,在internet時代,java熱遍及全球,學(xué)習(xí)和使用java的人越來越多。根據(jù)權(quán)威部門的預(yù)測:未來五年我國對java技術(shù)人員的需求量將高達(dá)200萬余人。
    同時java也是一種平臺,也是一種程序設(shè)計語言,如何學(xué)好程序設(shè)計不僅僅適用于java,對c++等其他程序設(shè)計語言也一樣管用。有編程高手認(rèn)為,java也好c也好沒什么分別,拿來就用。為什么他們能達(dá)到如此境界?我想是因為編程語言之間有共通之處,領(lǐng)會了編程的精髓,自然能夠做到一通百通。如何學(xué)習(xí)程序設(shè)計理所當(dāng)然也有許多共通的地方。
    1培養(yǎng)興趣。
    興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關(guān)心一些行業(yè)趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農(nóng)民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進(jìn)帳,憑空多出個"食利階層"。你認(rèn)為,這樣有味道嗎?有空多到一些程序員論壇轉(zhuǎn)轉(zhuǎn),你會發(fā)現(xiàn),他們其實很樂觀幽默,時不時會冒出智慧的火花。
    2慎選程序設(shè)計語言。
    男怕入錯行,女怕嫁錯郎。初學(xué)者選擇程序設(shè)計語言需要謹(jǐn)慎對待。軟件開發(fā)不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟件開發(fā)也不僅僅局限于某幾個領(lǐng)域,而是已經(jīng)滲透到了各行各業(yè)幾乎每一個角落。
    如果你對硬件比較感興趣,你可以學(xué)習(xí)c語言/匯編語言,進(jìn)入硬件開發(fā)領(lǐng)域。如果你對電信的行業(yè)知識及網(wǎng)絡(luò)比較熟悉,你可以在c/c++等之上多花時間,以期進(jìn)入電信軟件開發(fā)領(lǐng)域。如果你對操作系統(tǒng)比較熟悉,你可以學(xué)習(xí)c/linux等等,為linux內(nèi)核開發(fā)/驅(qū)動程序開發(fā)/嵌入式開發(fā)打基礎(chǔ)。
    如果你想介入到應(yīng)用范圍最廣泛的應(yīng)用軟件開發(fā)(包括電子商務(wù)電子政務(wù)系統(tǒng))的話,,甚至lamp組合。每個領(lǐng)域要求的背景知識不一樣。做應(yīng)用軟件需要對數(shù)據(jù)庫等很熟悉。總之,你需要根據(jù)自己的特點(diǎn)來選擇合適你的編程語言。
    3要腳踏實地,快餐式的學(xué)習(xí)不可取。
    先分享一個故事。
    有一個小朋友,他很喜歡研究生物學(xué),很想知道那些蝴蝶如何從蛹?xì)だ锍鰜?,變成蝴蝶便會飛。有一次,他走到草原上面看見一個蛹,便取了回家,然后看著,過了幾天以后,這個蛹出了一條裂痕,看見里面的蝴蝶開始掙扎,想抓破蛹?xì)わw出來。這個過程達(dá)數(shù)小時之久,蝴蝶在蛹里面很辛苦地拼命掙扎,怎么也沒法子走出來。這個小孩看著看著不忍心,就想不如讓我?guī)蛶退桑汶S手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。但蝴蝶出來以后,因為翅膀不夠力,變得很臃腫,飛不起來。
    這個故事給我們的啟示是:欲速則不達(dá)。
    簡歷。
    上也大言不慚地寫上"精通vc/java"。結(jié)果到軟件公司面試時要么被三兩下打發(fā)走了,要么被駁的體無完膚,無地自容。到處碰壁之后才知道捧起《c++編程思想》《java編程思想》仔細(xì)鉆研,早知如此何必當(dāng)初呀。
    "你現(xiàn)在講究簡單方便,你以后的路就長了",好象也是佛經(jīng)中的勸戒。
    4多實踐,快實踐。
    彭端淑的《為學(xué)一首示子侄》中有窮和尚與富和尚的故事。
    從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝圣,你看怎么樣?"富和尚說:"這里離南海有幾千里遠(yuǎn),你靠什么去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!"一年以后,富和尚還在為租賃船只籌錢,窮和尚卻已經(jīng)從南海朝圣回來了。
    這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到準(zhǔn)備周全之后,再去干事情。假如事情準(zhǔn)備考慮周全了再上路的話,別人恐怕捷足先登了。軟件開發(fā)是一門工程學(xué)科,注重的就是實踐,"君子動口不動手"對軟件開發(fā)人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認(rèn)為,學(xué)習(xí)編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應(yīng)該在看書的同時敲代碼,程序運(yùn)行的各種情況可以讓你更快更牢固的掌握知識點(diǎn)。
    5多參考程序代碼。
    程序代碼是軟件開發(fā)最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇?zhèn)b傳》中凄美的愛情故事感動,悲劇的結(jié)局更有一種缺憾美。為什么要以悲劇結(jié)尾?據(jù)說是因為寫《仙劍奇?zhèn)b傳》的程序員失戀而安排了這樣的結(jié)局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
    多多參考代碼例子,對java而言有參考文獻(xiàn)[4.3],有api類的源代碼(文件),也可以研究一些開源的軟件或框架。
    6加強(qiáng)英文閱讀能力。
    對學(xué)習(xí)編程來說,不要求英語,但不能一點(diǎn)不會,。最起碼像javaapi文檔(參考文獻(xiàn)[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"??炊嗔司蜁絹碓绞炀?。在學(xué)java的同時學(xué)習(xí)英文,一箭雙雕多好。另外好多軟件需要到英文網(wǎng)站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學(xué)習(xí)有很大的幫助。口語好的話更有機(jī)會進(jìn)入管理層,進(jìn)而可以成為剝削程序員的"周扒皮"。
    7萬不得已才請教別人。
    筆者在martix與java論壇的在線輔導(dǎo)系統(tǒng)中解決學(xué)生問題時發(fā)現(xiàn),大部分的問題學(xué)生稍做思考就可以解決。請教別人之前,你應(yīng)該先回答如下幾個問題。
    你是否在google中搜索了問題的解決辦法?
    你是否查看了javaapi文檔?
    你是否查找過相關(guān)書籍?
    你是否寫代碼測試過?
    如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨(dú)立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
    轉(zhuǎn)眼間,4個月的java軟件開發(fā)工程師培訓(xùn)就要結(jié)束了,說說我的感受吧,以供想在軟件行業(yè)發(fā)展的朋友們參考一下。
    首先我是一個女孩,學(xué)軟件開發(fā)的女孩相對于男孩來說并不是太多,但是因為我自己對編程比較感興趣,所以就從事了這個行業(yè)。
    我們學(xué)校的學(xué)生從20xx年的下半年就已經(jīng)開始出來實習(xí)了,據(jù)我所知我們計算機(jī)系的學(xué)生大都從事別的行業(yè)去了,從事計算機(jī)行業(yè)的人數(shù)非常少,我想大部分是沒有過硬的技術(shù)知識的原故,不敢去應(yīng)聘本行業(yè)的工作吧。
    我一直是一個有上進(jìn)心的女孩,對軟件編程有很大的興趣,總想著自己也要像男孩一樣,做一番屬于自己的事業(yè),不能白白的虛度自己的青春,但我又不想從事與計算機(jī)沾邊的初級職位,比如文員之類的。因為如果自己的第一份工作從做文員開始,以后自己的職業(yè)生涯就不好規(guī)劃,肯定會離軟件編程越來越遠(yuǎn)的。
    說實話我的家庭條件并不富裕,但是我有一個非常支持我上學(xué)的父母,他們狠狠心在我上了幾年大學(xué)之后又給我交了幾千元的培訓(xùn)費(fèi)。從那時候起我就想著我一定要好好學(xué)習(xí),對得起父母。
    就這樣開始了我的培訓(xùn)旅程,其實說實話在培訓(xùn)的過程中我是時而感到特別迷茫,時而又有了奮斗的激情,這不免有個人的因素,也有培訓(xùn)環(huán)境的影響。
    在這里我想提醒一下那些想?yún)⒓榆浖嘤?xùn)的學(xué)生,在你們選培訓(xùn)班的時候一定要看清這個學(xué)校以前培訓(xùn)學(xué)員的就業(yè)情況,特別重要的是培訓(xùn)老師有沒有教學(xué)經(jīng)驗,一些培訓(xùn)機(jī)構(gòu)總是以賺錢為目的,鼓吹著自己的培訓(xùn)老師擁有幾年幾年的項目經(jīng)驗,其實我感覺沒有教學(xué)經(jīng)驗的老師還不如項目經(jīng)驗少一些的老師。
    我們培訓(xùn)部就是一個例子,我有時候就感覺聽我們老師講課簡直是一件非常痛苦的事情,他講課從來就不備課,只是根據(jù)自己的工作經(jīng)驗,想到哪個知識點(diǎn)就講哪個,我們聽課的學(xué)生一點(diǎn)思想準(zhǔn)備都沒有,而他常常在課堂上為了調(diào)試一個程序的一個小小的錯誤耽誤一兩個小時的時間,而這期間往往也是我們最煎熬的時候,因為我們要坐在那個地方陪著他找錯誤,這種情況下的我們非常受折磨,并且感覺時間都白白浪費(fèi)掉了,以至于根本沒有什么收獲。
    再來談?wù)勎易约旱那闆r吧,我在大學(xué)期間編程語言學(xué)的還算不錯,當(dāng)時我們只開了c++、java兩門編程語言課,還有軟件開發(fā)相關(guān)的sqlserver20xx數(shù)據(jù)庫,我的這三門主修課程每次考試都很優(yōu)秀,參加培訓(xùn)時也有老師勸我學(xué)軟件前臺,網(wǎng)頁設(shè)計什么的,說是女孩比較適合學(xué)這個,好就業(yè),而軟件開發(fā)大都是男孩子,女孩幾乎是學(xué)不通的。我當(dāng)時就是為了證明自己的能力,根據(jù)大學(xué)期間自己的學(xué)習(xí)情況,我相信自己能學(xué)好。
    但是也因為我們老師講課的無計劃性,課程拖到現(xiàn)在還沒有結(jié)束掉,時間已經(jīng)過去6個月了,我開始思索我自己的人生了。
    經(jīng)過四個月的培訓(xùn),我不能說我沒有學(xué)到什么東西,但我還要說一點(diǎn),我雖然每一樣技術(shù)都知道了,但是我學(xué)的僅僅還只是一個皮毛而已。軟件開發(fā)最重要的就是編程思想,可我現(xiàn)在的水平只是編寫代碼達(dá)到非常熟練的程度罷了,對于編程思想感覺還是沒有踏入軟件開發(fā)的門檻.而編程思想主要來自于你所做過的實際項目獲得的經(jīng)驗。而我們培訓(xùn)部的項目不僅少而且不怎么實用。所以要想?yún)⒓优嘤?xùn)還要看清這個培訓(xùn)部的項目是不是夠份量,沒有實際的項目經(jīng)驗去應(yīng)聘軟件開發(fā)的工作還是不行的。
    經(jīng)過仔細(xì)的思索,我已經(jīng)決定去找工作了,現(xiàn)在正是找工作的好時候,雖然我沒有多少項目經(jīng)驗,但我相對于應(yīng)屆畢業(yè)生自信多了,也許這就是培訓(xùn)的力量。不過哪怕找到一份小小程序員的工作干著也行,因為現(xiàn)在對自己的職業(yè)定位還有點(diǎn)迷茫,我自己的性格屬于那種做事情非常認(rèn)真、踏實、細(xì)心,感覺更適合做軟件測試方面的工作,對于軟件開發(fā)我還是抱著先試試工作的態(tài)度,主要源自于我自己頭腦反應(yīng)太慢,估計一直做軟件開發(fā)對職業(yè)發(fā)展前景是有礙的。
    軟件工程的心得篇六
    在計算機(jī)通信崗位工作的實習(xí)過程中,我始終把學(xué)習(xí)作為獲得新知識、掌握方法、提高能力、解決問題的一條重要途徑和方法,切實做到用理論武裝頭腦、指導(dǎo)實踐、推動工作。思想上積極進(jìn)取,積極的把自己現(xiàn)有的知識用于社會實踐中,在實踐中也才能檢驗知識的有用性。在這兩個月的實習(xí)工作中給我的感觸就是:我們在學(xué)校學(xué)到了很多的理論知識,但很少用于社會實踐中,這樣理論和實踐就大大的脫節(jié)了,以至于在以后的學(xué)習(xí)和生活中找不到方向,無法學(xué)以致用。同時,在工作中不斷的學(xué)習(xí)也是彌補(bǔ)自己的不足的有效方式。信息時代,瞬息萬變,社會在變化,人也在變化,所以你一天不學(xué)習(xí),你就會落伍。通過這兩個月的實習(xí),并結(jié)合計算機(jī)通信崗位工作的實際情況,認(rèn)真學(xué)習(xí)的計算機(jī)通信崗位工作各項政策制度、管理制度和工作條例,使工作中的困難有了最有力地解決武器。通過這些工作條例的學(xué)習(xí)使我進(jìn)一步加深了對各項工作的理解,可以求真務(wù)實的開展各項工作。
    在工作間能得到領(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)一步提高,對計算機(jī)通信崗位工作崗位還不夠熟悉等等,這些問題,我決心實習(xí)報告在今后的工作和學(xué)習(xí)中努力加以改進(jìn)和解決,使自己更好地做好本職工作。
    針對實習(xí)期工作存在的不足和問題,在以后的工作中我打算做好以下幾點(diǎn)。
    1.做好實習(xí)期工作計劃,繼續(xù)加強(qiáng)對計算機(jī)通信崗位工作崗位各種制度和業(yè)務(wù)的學(xué)習(xí),做到全面深入的了解各種制度和業(yè)務(wù)。
    2.以實踐帶學(xué)習(xí)全方位提高自己的工作能力。在注重學(xué)習(xí)的同時狠抓實踐,在實踐中利用所學(xué)知識用知識指導(dǎo)實踐全方位的提高自己的工作能力和工作水平。
    3.踏實做好本職工作。在以后的工作和學(xué)習(xí)中,我將以更加積極的工作態(tài)度更加熱情的工作作風(fēng)把自己的本職工作做好。在工作中任勞任怨力爭“沒有只有更好”。
    4.繼續(xù)在做好本職工作的同時,為單位做一些力所能及的工作,為單位做出自己應(yīng)有的貢獻(xiàn)。
    軟件工程的心得篇七
    我所實習(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)是從.12.26號開始的,截至2021.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)。
    軟件工程的心得篇八
    軟件工程(softwareengineering,簡稱為se)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
    在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。
    是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發(fā)范型;2)采用合適的設(shè)計方法;3)提供高質(zhì)量的工程支持;4)重視開發(fā)過程的管理。
    據(jù)說上個世紀(jì)60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術(shù),音樂的是一類的,被稱為“藝術(shù)家”。
    但事過境遷,就像任何人都不會嫌錢多一樣,永遠(yuǎn)都不會有人嫌cpu快的。于是,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學(xué)家拷游戲,通常幾張軟盤就可以搞定,而現(xiàn)在的游戲,兩三張cd-rom都算少的了。像如此龐大復(fù)雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家intel連奔騰n都開發(fā)出來了。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。
    在開始合作的初期,由于大家都習(xí)慣了當(dāng)很有個性的“藝術(shù)家”,結(jié)果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么bill早就轉(zhuǎn)行了。所以,那時侯的大型軟件,據(jù)說“藍(lán)屏”比windows98還多。
    馬克思告訴我們,萬物都是從量變到質(zhì)變的。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結(jié)經(jīng)驗,并歸納了一些規(guī)范去指導(dǎo)軟件的分析,設(shè)計,實現(xiàn),測試,維護(hù),人員交流協(xié)作,項目預(yù)算及時限控制等方方面面,這就是軟件工程的前身。
    軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當(dāng)成熟的了?,F(xiàn)在開發(fā)軟件,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活。于是,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了。
    軟件工程,說白了,就是這樣一套用于軟件的團(tuán)隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護(hù),如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現(xiàn)。
    開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。既然軟件開發(fā)是一個具有不可預(yù)知性和變化性的`動態(tài)的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質(zhì)。
    具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護(hù)這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結(jié)果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達(dá)的時候,很容易會丟三落四,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護(hù)時的參考資料。有一句名言:“筆和紙永遠(yuǎn)都比大腦可靠”,意思就是說,放在大腦里的東西說不準(zhǔn)哪天就忘了,但寫在紙上的東西,只要不發(fā)生什么意外,一般是丟不了的。當(dāng)過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復(fù)雜一點(diǎn)的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。
    可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。主要考慮的方面包括:是否能把這個項目開發(fā)出來;假如可以的話,預(yù)計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風(fēng)險進(jìn)行評估。
    時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)完了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
    在以前,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
    但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
    而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進(jìn)行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
    而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是教員的課程講解和每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機(jī)會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認(rèn)識和培養(yǎng)了我的團(tuán)隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
    所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對教員的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
    軟件工程的心得篇九
    在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機(jī)的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進(jìn)行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒ā⑿问交椒?。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e—r圖以及狀態(tài)圖式本節(jié)的重點(diǎn)。第四章結(jié)構(gòu)化分析方法,這一章重點(diǎn)講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進(jìn)。第五章編碼,這一章重點(diǎn)講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點(diǎn)要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進(jìn)行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進(jìn)行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點(diǎn)是對面向?qū)ο蠓治鰰r建立的對象模型進(jìn)行調(diào)整和細(xì)化。第十一章軟件維護(hù),本章主要介紹軟件維護(hù)的任務(wù)、軟件維護(hù)活動以及軟件維護(hù)方法進(jìn)行了介紹。
    要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
    軟件工程過程:生產(chǎn)一個最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
    軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
    我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護(hù),進(jìn)而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。包括程序流程圖、n—s圖、pad圖、hipo圖。
    程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達(dá)工具。它獨(dú)立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
    n—s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n—s圖。在n—s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。
    pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
    hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。
    hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
    還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
    靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
    動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
    還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
    軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
    在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進(jìn)度報告,項目開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
    而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護(hù)又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
    在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
    在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(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í)感想。
    軟件工程的心得篇十一
    軟件工程,就是一套用于軟件的團(tuán)隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。你知道軟件工程。
    是什么嗎?接下來就是本站小編為大家整理的關(guān)于軟件工程心得體會,供大家閱讀!
    時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)已經(jīng)過了大半了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
    在以前,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
    但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
    而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進(jìn)行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
    而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是老師每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機(jī)會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認(rèn)識和培養(yǎng)了我的團(tuán)隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
    所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
    軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。
    經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護(hù),如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
    在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團(tuán)隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
    上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
    其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護(hù)這幾部分的工作的時候,最核心的就是文檔的編寫。1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
    2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
    3.需求分析就是對客戶要求的功能的定義。
    4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
    5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
    6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
    共
    2
    頁,當(dāng)前第。
    1
    頁
    1
    2
    軟件工程的心得篇十二
    這次軟件工程實習(xí)是從20xx.12.26號開始的,截至20xx.12.31號。實習(xí)內(nèi)容是用java相關(guān)知識(主要是jsp)做一個物流配送系統(tǒng)。下面談?wù)剬@次實習(xí)的看法。
    因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實習(xí)開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(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í)的心得體會吧。
    通過這次實習(xí),讓我了解到工程開發(fā)的過程,可行性分析——需求分析——概要設(shè)計——詳細(xì)設(shè)計——代碼編寫——測試——驗收。從技術(shù)方面上,我開始jsp基礎(chǔ)基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認(rèn)識。其實實習(xí)開始前,我還以為做個系統(tǒng)沒什么大不了,可是當(dāng)真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細(xì)設(shè)計,在代碼編寫時,一樣寸步難行。
    通過這個實習(xí),也讓我了解到,團(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í)我確實是認(rèn)真對待了,六天的實習(xí),除了晚上加班外,還花了2個通宵來完成不同階段的任務(wù),完成與否也不重要了,我至少我做了,這點(diǎn),是這次我應(yīng)該對自己的一個肯定。
    這次實習(xí)的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進(jìn)行了擴(kuò)展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點(diǎn)我并不會覺得老師知識儲備不夠,我想應(yīng)該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認(rèn)真,很負(fù)責(zé)。還要感謝就是syz2小組的傾力支持,輔導(dǎo)。
    軟件工程的心得篇十三
    我們從一些事情上得到感悟后,就十分有必須要寫一篇心得體會,這樣可以幫助我們分析出現(xiàn)問題的原因,從而找出解決問題的辦法。到底應(yīng)如何寫心得體會呢?下面是小編為大家收集的軟件工程實習(xí)心得感想,歡迎閱讀與收藏。
    轉(zhuǎn)眼之間,兩個月的實習(xí)期即將結(jié)束,回顧這兩個月的實習(xí)工作,感觸很深,收獲頗豐。這兩個月,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,通過我自身的不懈努力,我學(xué)到了人生難得的工作經(jīng)驗和社會見識。我將從以下幾個方面總結(jié)軟件工程崗位工作實習(xí)這段時間自己體會和心得:
    在軟件工程崗位工作的實習(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ù)實的開展各項工作。
    在軟件工程崗位工作中我都本著認(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)的贊許。
    從大學(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)變。
    在工作間能得到領(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)和解決,使自己更好地做好本職工作。
    軟件工程的心得篇十四
    15天的實訓(xùn)結(jié)束了,今天做的是紙牌游戲軟件和趣味打字游戲。今天的東西對我來說有點(diǎn)難度,最后沒有能過完全做完。但是我還是覺得這是一個不錯的實訓(xùn),在這種集體的環(huán)境里和同學(xué)們一起學(xué)習(xí),每天的生活過的也是非常的充實。
    此次實踐課我的收獲很多。我和同學(xué)們這一次真正自己動手制作了一個小軟件,雖然還存在很多的問題,而且我做的軟件在使用起來還是很不可行的,但是我們從中受到了很多知識,不僅是專業(yè)的知識,更讓我明白了一個軟件從設(shè)計到實現(xiàn)的每一個環(huán)節(jié)真的很不容易,不僅需要扎實的專業(yè)知識,更需要一個團(tuán)隊的配合,這才是一個軟件成功的關(guān)鍵。這就告訴我們,一個人的出色不算什么,一個團(tuán)隊的出色才是真正有用的。
    剛開始拿到題目我們組員都不知如何下手,經(jīng)過小組成員一起查找資料,并且開會討論,我們確定了設(shè)計的設(shè)計目標(biāo)以及具體實現(xiàn)方式,包括如何將java的思想運(yùn)用到實際系統(tǒng)的詳細(xì)設(shè)計之中。
    在實驗課上,我學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實用的。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實踐,再學(xué)習(xí)、再實踐。這對于我的將來也有很大的幫助。以后,不管有多苦,我想我都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我都可以在實驗結(jié)束之后變的更加成熟,會面對需要面對的事情,以及學(xué)會遇到問題,不急不慌,慢慢解決它。
    雖然過程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的軟件設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程。實驗過程中,也十分感謝實驗指導(dǎo)老師陳中育老師的指點(diǎn)與教導(dǎo)。這次軟件設(shè)計不僅是對這學(xué)期所學(xué)知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強(qiáng)了自己實踐能力。通過這次課程設(shè)計使我明白了自己知識還比較欠缺,只是學(xué)習(xí)書本知識還是遠(yuǎn)遠(yuǎn)不夠的,自己不會的東西還有太多,學(xué)習(xí)需要自己長期的積累,在以后的學(xué)習(xí)、工作中都應(yīng)該不斷的學(xué)習(xí),將課本的理論知識與生活中的實踐知識相結(jié)合,不斷提高自己文化知識和實踐能力。
    軟件工程的心得篇十五
    轉(zhuǎn)眼之間,20xx年兩個月的實習(xí)期即將結(jié)束,回顧這兩個月的實習(xí)工作,感觸很深,頗豐。這兩個月,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,通過我自身的不懈努力,我學(xué)到了難得的工作經(jīng)驗和社會見識。我將從以下幾個方面總結(jié)計算機(jī)通信工作實習(xí)這段時間自己體會和心得:
    在計算機(jī)通信崗位工作的實習(xí)過程中,我始終把學(xué)習(xí)作為獲得新知識、掌握方法、提高能力、解決問題的一條重要途徑和方法,切實做到用理論武裝頭腦、指導(dǎo)實踐、推動工作。上積極進(jìn)取,積極的把自己現(xiàn)有的知識用于中,在實踐中也才能檢驗知識的有用性。在這兩個月的實習(xí)工作中給我的感觸就是:我們在學(xué)到了很多的理論知識,但很少用于社會實踐中,這樣理論和實踐就大大的脫節(jié)了,以至于在以后的學(xué)習(xí)和生活中找不到方向,無法學(xué)以致用。同時,在工作中不斷的學(xué)習(xí)也是彌補(bǔ)自己的不足的有效方式。信息時代,瞬息萬變,社會在變化,人也在變化,所以你一天不學(xué)習(xí),你就會落伍。通過這兩個月的實習(xí),并結(jié)合計算機(jī)通信崗位工作的實際情況,認(rèn)真學(xué)習(xí)的計算機(jī)通信崗位工作各項政策制度、和工作條例,使工作中的困難有了最有力地解決武器。通過這些工作條例的學(xué)習(xí)使我進(jìn)一步加深了對各項工作的理解,可以求真務(wù)實的各項工作。
    從大學(xué)校門跨入到計算機(jī)通信崗位工作崗位,一開始我難以適應(yīng)角色的轉(zhuǎn)變,不能發(fā)現(xiàn)問題,從而解決問題,認(rèn)為沒有多少事情可以做,我就有一點(diǎn)失望,開始的熱情有點(diǎn)消退,完全找不到方向。但我還是盡量保持當(dāng)初的那份熱情,想干有用的事的態(tài)度,不斷的做好一些雜事,同時也勇于協(xié)助同事做好各項工作,慢慢的就找到了自己的角色,明白自己該干什么,這就是一個熱情的問題,只要我保持極大的熱情,相信自己一定會得到認(rèn)可,沒有不會做,沒有做不好,只有你愿不愿意做。轉(zhuǎn)變自己的角色,從一位到一位工作人員的轉(zhuǎn)變,不僅僅是角色的變化,更是思想觀念的轉(zhuǎn)變。
    在工作間能得到領(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)和,共同決策以幫助每個成員能夠更好地工作,同時強(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)一步提高,對計算機(jī)通信崗位工作崗位還不夠熟悉等等,這些問題,我決心在今后的工作和學(xué)習(xí)中努力加以改進(jìn)和解決,使自己更好地做好本職工作。
    針對實習(xí)期工作存在的不足和問題,在以后的工作中我打算做好以下幾點(diǎn)。
    1.做好實習(xí)期,繼續(xù)加強(qiáng)對計算機(jī)通信崗位工作崗位各種制度和業(yè)務(wù)的學(xué)習(xí),做到全面深入的了解各種制度和業(yè)務(wù)。
    2.以實踐帶學(xué)習(xí)全方位提高自己的工作能力。在注重學(xué)習(xí)的同時狠抓實踐,在實踐中利用所學(xué)知識用知識指導(dǎo)實踐全方位的提高自己的工作能力和工作水平。
    3.踏實做好本職工作。在以后的工作和學(xué)習(xí)中,我將以更加積極的工作態(tài)度更加熱情的工作作風(fēng)把自己的本職工作做好。在工作中任勞任怨力爭“沒有只有更好”。
    4.繼續(xù)在做好本職工作的同時,為單位做一些力所能及的工作,為單位做出自己應(yīng)有的貢獻(xiàn)。
    軟件工程的心得篇十六
    隨著信息技術(shù)的快速發(fā)展,軟件工程在各個行業(yè)中起到了不可忽視的作用。作為軟件工程師,理解和滿足用戶需求是我們工作的核心。在長期的軟件工程需求分析實踐中,我深深感受到了需求分析的重要性和挑戰(zhàn)。下面,我將從需求分析的重要性、需求分析的方法和技巧、需求變更的管理、和用戶需求的理解四個方面來談一下我對軟件工程需求的心得體會。
    首先,需求分析的重要性不可忽視。軟件開發(fā)的成功與否往往取決于是否準(zhǔn)確理解并滿足用戶的實際需求。需求分析過程中,我們要深入了解用戶的業(yè)務(wù)流程、工作環(huán)境和使用習(xí)慣,從而充分理解用戶需求。只有在需求分析過程中對用戶需求進(jìn)行準(zhǔn)確描述和分析,才能避免開發(fā)過程中的返工和需求的不匹配,從而提高軟件開發(fā)的效率和質(zhì)量。
    其次,需求分析的方法和技巧十分重要。在需求分析過程中,我們可以運(yùn)用需求采集、需求建模、需求驗證等方法和技巧,以確保我們完整、準(zhǔn)確地捕獲用戶需求。需求采集通過面對面的用戶訪談、問卷調(diào)查、需求工作坊等方式,可以深入了解用戶需求。需求建模通過使用UML(統(tǒng)一建模語言)或其他建模工具,能夠?qū)τ脩粜枨筮M(jìn)行形式化的描述和分析。需求驗證通過原型開發(fā)、功能測試等方式,可以驗證需求的正確性和完整性。通過合理運(yùn)用這些方法和技巧,我們可以更好地進(jìn)行需求分析,為軟件開發(fā)提供準(zhǔn)確的需求基礎(chǔ)。
    此外,需求變更的管理是軟件工程需求分析的一項重要任務(wù)。在軟件開發(fā)的過程中,用戶的需求是可能發(fā)生變化的。因此,我們需要及時處理和管理需求變更。在需求變更管理中,我們要與用戶進(jìn)行充分的溝通,了解變更的原因和影響,并對變更進(jìn)行評估和管理。合理處理需求變更可以減少不必要的返工和開發(fā)延期,同時也能保持軟件的持續(xù)演化能力。
    最后,理解用戶需求是軟件工程需求分析的核心。在軟件開發(fā)中,我們要關(guān)注用戶的真實需求,而不僅僅是用戶的表面需求。有時用戶可能難以準(zhǔn)確表達(dá)自己的需求,我們需要通過深入的觀察和溝通,去理解用戶背后的真正需求。只有準(zhǔn)確理解用戶需求,我們才能開發(fā)出滿足用戶期望的軟件產(chǎn)品。
    總之,軟件工程需求分析是軟件開發(fā)中不可或缺的環(huán)節(jié)。在需求分析過程中,我意識到需求分析的重要性,學(xué)習(xí)并應(yīng)用了各種需求分析的方法和技巧,掌握了需求變更的管理方法,并培養(yǎng)了對用戶需求的敏感性。通過不斷地實踐和總結(jié),我相信自己將能夠在軟件工程領(lǐng)域取得更大的成就。
    軟件工程的心得篇十七
    轉(zhuǎn)眼之間,20__年兩個月的實習(xí)期即將結(jié)束,回顧這兩個月的實習(xí)工作,感觸很深,收獲頗豐。這兩個月,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,通過我自身的不懈努力,我學(xué)到了人生難得的工作經(jīng)驗和社會見識。我將從以下幾個方面總結(jié)計算機(jī)通信崗位工作實習(xí)這段時間自己體會和心得:
    一、努力學(xué)習(xí),理論結(jié)合實踐,不斷提高自身工作能力。
    在計算機(jī)通信崗位工作的實習(xí)過程中,我始終把學(xué)習(xí)作為獲得新知識、掌握方法、提高能力、解決問題的一條重要途徑和方法,切實做到用理論武裝頭腦、指導(dǎo)實踐、推動工作。思想上積極進(jìn)取,積極的把自己現(xiàn)有的知識用于社會實踐中,在實踐中也才能檢驗知識的有用性。在這兩個月的實習(xí)工作中給我的感觸就是:我們在學(xué)校學(xué)到了很多的理論知識,但很少用于社會實踐中,這樣理論和實踐就大大的脫節(jié)了,以至于在以后的學(xué)習(xí)和生活中找不到方向,無法學(xué)以致用。同時,在工作中不斷的學(xué)習(xí)也是彌補(bǔ)自己的不足的有效方式。信息時代,瞬息萬變,社會在變化,人也在變化,所以你一天不學(xué)習(xí),你就會落伍。通過這兩個月的實習(xí),并結(jié)合計算機(jī)通信崗位工作的實際情況,認(rèn)真學(xué)習(xí)的計算機(jī)通信崗位工作各項政策制度、管理制度和工作條例,使工作中的困難有了最有力地解決武器。通過這些工作條例的學(xué)習(xí)使我進(jìn)一步加深了對各項工作的理解,可以求真務(wù)實的開展各項工作。
    二、圍繞工作,突出重點(diǎn),盡心盡力履行職責(zé)。
    三、轉(zhuǎn)變角色,以極大的熱情投入到工作中。
    從大學(xué)校門跨入到計算機(jī)通信崗位工作崗位,一開始我難以適應(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)一步提高,對計算機(jī)通信崗位工作崗位還不夠熟悉等等,這些問題,我決心實習(xí)報告在今后的工作和學(xué)習(xí)中努力加以改進(jìn)和解決,使自己更好地做好本職工作。
    針對實習(xí)期工作存在的不足和問題,在以后的工作中我打算做好以下幾點(diǎn)。
    1.做好實習(xí)期工作計劃,繼續(xù)加強(qiáng)對計算機(jī)通信崗位工作崗位各種制度和業(yè)務(wù)的學(xué)習(xí),做到全面深入的了解各種制度和業(yè)務(wù)。
    2.以實踐帶學(xué)習(xí)全方位提高自己的工作能力。在注重學(xué)習(xí)的同時狠抓實踐,在實踐中利用所學(xué)知識用知識指導(dǎo)實踐全方位的提高自己的工作能力和工作水平。
    3.踏實做好本職工作。在以后的工作和學(xué)習(xí)中,我將以更加積極的工作態(tài)度更加熱情的工作作風(fēng)把自己的本職工作做好。在工作中任勞任怨力爭“沒有只有更好”。
    4.繼續(xù)在做好本職工作的同時,為單位做一些力所能及的工作,為單位做出自己應(yīng)有的貢獻(xiàn)。
    軟件工程的心得篇十八
    需求獲取可能是最困難、最關(guān)鍵、最易出錯及最需要溝通交流的活動。對需求的獲取往往有錯誤的認(rèn)識:用戶知道需求是什么,我們所要做的就是和他們交談從他們那里得到需求,只要問用戶系統(tǒng)的目標(biāo)特征,什么是要完成的`,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,但是實際上需求獲取并不是想象的這樣簡單,這條溝通之路布滿了荊棘。首先需求獲取要定義問題范圍,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術(shù)實現(xiàn)的細(xì)節(jié),這樣造成了系統(tǒng)目標(biāo)的混淆。
    其次是對問題的理解,用戶對計算機(jī)系統(tǒng)的能力和限制缺乏了解,任何一個系統(tǒng)都會有很多的用戶或者不同類型的用戶,每個用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況,他們不知道系統(tǒng)作為一個整體怎么樣工作效率更好,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,或者說如何以一種精確的方式來描述需求,他們需要開發(fā)人員的協(xié)助和指導(dǎo),但是用戶與開發(fā)人員之間的交流很容易出現(xiàn)障礙,忽略了那些被認(rèn)為是"很明顯"的信息。最后是需求的確認(rèn),因為需求的不穩(wěn)定性往往隨著時間的推移產(chǎn)生變動,使之難以確認(rèn)。為了克服以上的問題,必須有組織的執(zhí)行需求的獲取活動。
    需求獲取活動要完成的任務(wù)或者步驟的過程如下:
    系統(tǒng)的需求包括四個不同的層次:業(yè)務(wù)需求、用戶需求和功能需求、非功能性需求。業(yè)務(wù)需求說明了提供給用戶新系統(tǒng)的最初利益,反映了組織機(jī)構(gòu)或用戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
    非功能性需求是用戶對系統(tǒng)良好運(yùn)作提出的期望,包括了易用性、反應(yīng)速度、容錯性、健壯性等等質(zhì)量屬性。需求獲取就是根據(jù)系統(tǒng)業(yè)務(wù)需求去獲得系統(tǒng)用戶需求,然后通過需求分析得到系統(tǒng)的功能需求和非功能需求。項目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務(wù)需求,應(yīng)該包括高層的產(chǎn)品業(yè)務(wù)目標(biāo),評估問題解決方案的商業(yè)和技術(shù)可行性,所有的使用實例和功能需求都必須遵從的標(biāo)準(zhǔn)。而范圍文檔定義了項目產(chǎn)品所包括的所有工作及產(chǎn)生產(chǎn)品所用的過程。項目相關(guān)人員對項目的目標(biāo)和范圍能達(dá)成共識,整個項目組都應(yīng)該把注意力集中在項目目標(biāo)和范圍上。
    系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度、應(yīng)用領(lǐng)域和計算機(jī)系統(tǒng)知識、所使用的系統(tǒng)特性、所進(jìn)行的業(yè)務(wù)過程、訪問權(quán)限、地理上的布局以及個人的素質(zhì)和喜好等等。根據(jù)這些差異,你可以把這些不同的用戶分成不同的用戶類。與ulm中usecase的actor概念一樣,用戶類不一定都指人,也可以包括其他應(yīng)用系統(tǒng)、接口或者硬件,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求。將用戶群分類并歸納各自特點(diǎn),并詳細(xì)描述出它們的個性特點(diǎn)及任務(wù)狀況,將有助于需求的獲取和系統(tǒng)設(shè)計。
    通常用戶和開發(fā)人員不自覺的都有一種"我們和他們"的想法,產(chǎn)生一種對立關(guān)系,把彼此放在對立面,每一方都定義自己的"邊界",只想自己的利益而忽略對方的想法。他們通過文檔、記錄和對話來溝通,而不是作為一個合作的整體去識別和確定需求完成任務(wù)。實踐證明這樣的方法是不正確的,不會給雙方帶來一點(diǎn)益處,良好的溝通關(guān)系沒有建立導(dǎo)致了誤解和忽略重要的信息。只有當(dāng)雙方參與者都明白要成功自己需要什么,同時也知道要成功對方需要什么時,才能建立起一種合作關(guān)系。
    為了建立合作關(guān)系通常采取一種組隊的方式來獲取需求,建立一個由用戶代表和開發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊伍。聯(lián)合小組將負(fù)責(zé)識別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會議、電子郵件、綜合辦公系統(tǒng)等方式進(jìn)行交流,但交流時應(yīng)注意以下原則:小組會議應(yīng)該由中立方來組織和主持,用戶和開發(fā)人員都要參加;交流預(yù)先要確定準(zhǔn)備和參與的規(guī)則;議題要明確并覆蓋所有關(guān)鍵點(diǎn),但信息來源應(yīng)該自由;交流目標(biāo)要明確,并告知所有的成員。
    從用戶代表處收集他們將使用系統(tǒng)完成所需任務(wù)的描述,討論用戶與系統(tǒng)間的交互方式和對話要求,這就是使用實例,一個單一的使用實例可能包括完成某項任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。使用實例方法給需求獲取帶來的好處來自于該方法是用以任務(wù)為中心和以用戶為中心的觀點(diǎn),比起使用以功能為中心和以開發(fā)者為中心的方法,使用實例方法可以使用戶更清楚地理解和認(rèn)識到新系統(tǒng)允許他們做什么和怎么做。描寫使用實例的時候要注意使用簡潔直白的表述,盡量使用主動語態(tài),用"系統(tǒng)"或者"用戶"作為主語,比如"用戶提交用戶密碼,系統(tǒng)驗證用戶密碼是否正確",還有一點(diǎn)在描述中不要設(shè)計界面細(xì)節(jié),比如"用戶從下拉框中選擇產(chǎn)品類型"。使用實例為以后寫用例場景描述中的基本路徑和擴(kuò)展路徑提供了素材。
    分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程,通過分析使用實例得到系統(tǒng)的用例圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實例和功能需求,統(tǒng)一建模語言的使用有助于與用戶進(jìn)一步交流。每個用例的描述應(yīng)包括:編號,為每個用例分配一個唯一的編號,為需求的追溯提供了方便;參與者,與這個用例交互的actor;前置條件,開始用例前所必須具備的系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達(dá)到的狀態(tài);基本路徑,用例完成的關(guān)鍵路徑,也是用戶期望的路徑;擴(kuò)展點(diǎn),基本路徑的分枝,表示意外情況;字段說明,路徑中名稱的進(jìn)一步分解說明,對以后類屬性的定義和數(shù)據(jù)庫字段設(shè)計起作用;設(shè)計約束,實現(xiàn)用例的非功能約束。
    通過檢查當(dāng)前已經(jīng)運(yùn)行系統(tǒng)的問題報告來進(jìn)一步完善需求客戶的問題報告及補(bǔ)充需求為新系統(tǒng)或新版本提供了大量豐富的改進(jìn)及增加特性的想法,負(fù)責(zé)提供用戶支持及幫助的人能為收集需求過程提供極有價值的信息。
    如果客戶要求的功能與已有的系統(tǒng)很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。業(yè)務(wù)建模和領(lǐng)域建模式需求重用的最好方法,像分析模式和設(shè)計模式一樣,需求也有自己的模式。
    總結(jié):經(jīng)過一學(xué)期的軟工實驗,深刻感到其重要性的同時也學(xué)到了不少的東西,將對我在今后的軟件開發(fā)過程中起極大的作用。
    軟件工程的心得篇十九
    學(xué)習(xí)了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
    要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原那么:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品到達(dá)預(yù)期功能的程度。
    可用性指軟件根本構(gòu)造、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不管在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
    軟件工程過程:生產(chǎn)一個最終能滿足需求且到達(dá)工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)構(gòu)造,包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)構(gòu)造說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后確實認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。軟件工程的原那么是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原那么。
    pad圖:它是用構(gòu)造化程序設(shè)計思想表現(xiàn)程序邏輯構(gòu)造的圖形工具。pad也設(shè)置了五種根本控制構(gòu)造的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。hc圖既是層次圖,用于表示軟件的分層構(gòu)造。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做構(gòu)造檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)那么描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
    軟件工程對于初學(xué)者來說,知識根底較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)展提軟件工程對于初學(xué)者來說,知識根底較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)展提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)展研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫穿。
    在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的工程規(guī)劃須包括,軟件的定義,可行性分析報告,工程開發(fā)方案,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試方案,測試分析報告,開發(fā)進(jìn)度報告,工程開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)展周密的籌劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)詳細(xì)情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
    而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的標(biāo)準(zhǔn)的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無標(biāo)準(zhǔn)可言,那么別人怎么能讀懂你的程序讀不懂程序,維護(hù)又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在標(biāo)準(zhǔn)的根底上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
    在學(xué)習(xí)中,我們還要注意比擬三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比擬強(qiáng)的系統(tǒng)。形式化方法那么是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的根底,并以此為根底將其擴(kuò)散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(jìn)。
    這次軟件工程實訓(xùn)是從20xx.12.26號開始的,截至20xx.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根底根本上就是零的,在老師和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ì)的根底上,假設(shè)你個人素質(zhì)不行,將會影響到整個團(tuán)隊,就別提對團(tuán)隊作更多奉獻(xiàn)了。**老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹(jǐn)記老師的教誨。
    還有一個收獲是從一個同學(xué)(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術(shù),會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應(yīng)該認(rèn)真的對待,將來出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術(shù)知識為0,但我也還是在認(rèn)真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學(xué)生,可以毫不顧忌的詢問各種問題,老師也會盡力為你答復(fù)。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓(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)。
    時間過的很快,轉(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)的方方面面詳細(xì)運(yùn)作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)歷。實際工程中,編碼時間一般只占30%左右,真正消耗時間的是it階段的找bug與對應(yīng)bug,此階段根本評定了coder的編碼質(zhì)量。
    2、程序員的困惑。
    有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此根底上去做詳細(xì)記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
    3、如何調(diào)試追蹤。
    如果你能在短短的時間內(nèi)就看到問題點(diǎn)在那,放下斷點(diǎn)去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運(yùn)行期間的詳細(xì)值,那是最好途徑。eclipse是個很爽的ide,這點(diǎn)做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點(diǎn),一步一步stepover,讓sql字段(存取最終sql語句的字符串)運(yùn)行到有值,inspect進(jìn)去看,如果還看不出來,就點(diǎn)擊它,copy后在sql客戶端去實際運(yùn)行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
    遇到問題先自己思考,無從下手再找高手幫助看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多。
    解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費(fèi)同樣的時間。
    把代碼寫的漂亮,注釋、空行、標(biāo)準(zhǔn)一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比擬好走了。
    在這次軟件工程課程中,我學(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è)計模塊,此模塊與軟件編碼涉及比擬嚴(yán)密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是消滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的時機(jī),我會在第一時間將他去除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
    轉(zhuǎn)眼,出來社會都已大半年,已是半個社會人了。不能再向?qū)W生那樣,某些時候可以隨心隨意。頂崗實習(xí),為我們提供了一個很好的實踐時機(jī),可以讓我們更好的把理論應(yīng)用于實踐,在實踐中領(lǐng)悟理論,更可以學(xué)習(xí)到很多書本上學(xué)習(xí)不到的、甚至比理論知識更實用的業(yè)務(wù)知識。而且,這些實習(xí)經(jīng)歷,無疑是我們畢業(yè)后就業(yè)的一大籌碼。作為一個成年人,作為一個社會職業(yè)人,任何時候都要守規(guī)矩,做好自己的本分,承當(dāng)起自己所需要承當(dāng)?shù)呢?zé)任。經(jīng)歷了2家公司的工作,我漸漸的認(rèn)識到,每一份工作或每一個工作環(huán)境都無法盡善盡美,但每一份工作中都有許多珍貴的經(jīng)歷和資源,如失敗的沮喪、自我成長的喜悅、溫馨的工作伙伴、值得感謝的客戶等等,這些都是工作成功者必須體驗的感受和必備的財富。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,就要懂得感恩”的道理,你一定會收獲很多很多。在你收獲很多很多的同時,你會發(fā)現(xiàn)自己已經(jīng)在鍛煉中變得勇敢,堅強(qiáng),樂觀,闊達(dá)。這樣的你,是不斷前進(jìn)的走在成功的路上的。
    軟件工程的心得篇二十
    軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。
    經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護(hù),如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
    在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團(tuán)隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
    上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
    其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護(hù)這幾部分的工作的時候,最核心的就是文檔的編寫。
    1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
    2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
    3.需求分析就是對客戶要求的功能的定義。
    4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
    5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
    6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
    軟件工程的心得篇二十一
    這次軟件工程實訓(xùn)是從__年__月__日號開始的,截至__年__月__日號。實訓(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)。
    軟件工程的心得篇二十二
    1需求分析產(chǎn)生了軟件功能規(guī)格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義。不涉及具體實現(xiàn)方法。用戶能看得明白,開發(fā)人員也可據(jù)此進(jìn)行下面的工作(概要設(shè)計)。
    2.概要設(shè)計產(chǎn)生了軟件概要設(shè)計說明書,說明系統(tǒng)模塊劃分、選擇的技術(shù)路線等,整體說明軟件的實現(xiàn)思路。并且需要指出關(guān)鍵技術(shù)難點(diǎn)等。
    在進(jìn)行需求分析時,我們既是開發(fā)者又是用戶,本系統(tǒng)的業(yè)務(wù)流程與業(yè)務(wù)分類的定義比較難。我們的團(tuán)隊進(jìn)行了研討,還充分運(yùn)用了身邊的各種資源,大量的查找了很多網(wǎng)絡(luò)上關(guān)于工資系統(tǒng)的資料。通過資料的進(jìn)行討論、根據(jù)我們的課題進(jìn)行分析,最后確定了用戶的需求為:
    1.本系統(tǒng)在高校應(yīng)用后高校工資管理方面的教職工將減少至目前的50%左右;
    2.本系統(tǒng)在高校應(yīng)用后將在高校各方面的成本將會有所降低;
    3.本系統(tǒng)在高校應(yīng)用后將教職工的工資達(dá)到完全透明,計算更加精確教職工因糾紛事件減少到1%。根據(jù)分析將系統(tǒng)的功能從一般教職工與系統(tǒng)管理者兩個角度將功能劃分為7個模塊,當(dāng)然介于我們的知識有限,有的功能沒有實現(xiàn):員工工資與考勤直接掛鉤,但本系統(tǒng)無法與員工考勤系統(tǒng)掛鉤相連,由于涉及此系統(tǒng)時該高校并沒有員工考勤系統(tǒng),而且我們在最初進(jìn)行商量的時候也沒有提出該要求。
    從概要階段開發(fā)正式進(jìn)入軟件的實際開發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計階段主要是把一個軟件需求轉(zhuǎn)化為軟件表示的過程,這種表示只是描繪出軟件的總的概貌。由概要設(shè)計說產(chǎn)生大的概要說明書的目的就是進(jìn)一步細(xì)化軟件設(shè)計階段得出的軟件總體概貌,把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。
    在本階段主要涉及處理流程的設(shè)計、總體結(jié)構(gòu)和模塊外部設(shè)計、功能分配。在接口設(shè)計上有用戶接口、外部接口、內(nèi)部接口;數(shù)據(jù)結(jié)構(gòu)設(shè)計有邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計等等。在接口設(shè)計時參考了大量的資料。
    最后就是編寫文檔——軟件需求說明書、概要分析說明書。
    而文檔的作用在于:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。三是可以作為以后維護(hù)時的參考資料。
    我們進(jìn)行了為期一周的課程設(shè)計。通過這次課程設(shè)計,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計的基本目的,在于通過理論與實際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應(yīng)社會主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計雖然安排在一周進(jìn)行,但并不具有絕對獨(dú)立的意義。它的一個重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識,嘗試性地應(yīng)用于實際設(shè)計工作,并從理論的高度對設(shè)計工作的現(xiàn)代化提出一些有針對性的建議和設(shè)想。檢驗學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實際工作到底有多大距離,并通過綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計劃,改變學(xué)習(xí)內(nèi)容與方法提供實踐依據(jù)。對我們信息管理與信息系統(tǒng)專業(yè)的學(xué)生來說,實際能力的培養(yǎng)至關(guān)重要,而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計工作。通過課程設(shè)計,讓我們找出自身狀況與實際需要的差距,并在以后的學(xué)習(xí)期間及時補(bǔ)充相關(guān)知識,為求職與正式工作做好充分的知識、能力準(zhǔn)備,從而縮短從校園走向社會的心理轉(zhuǎn)型期。課程設(shè)計促進(jìn)了我系人才培養(yǎng)計劃的完善和課程設(shè)置的調(diào)整。
    在一個星期的課程設(shè)計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進(jìn)一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結(jié)合實際存在的問題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。
    軟件工程課程雖已結(jié)束,但我對于軟件工程的學(xué)習(xí)才剛剛開始。我體會到項目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習(xí)到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認(rèn)識到使用計算機(jī)解決實際問題的復(fù)雜性,人們認(rèn)識表達(dá)的過程不斷反復(fù)、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進(jìn)行形式化的過程方法。