第一篇:軟件工程心得體會
《軟件工程》的感悟
時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)已經(jīng)過了大半了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學(xué)習(xí),使我認識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是老師每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
第二篇:軟件工程心得體會
軟件工程心得體會
未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。
曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。
吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。
在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。
學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:
我們?yōu)槭裁葱枰浖こ棠??上面已?jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。
具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當前項目的一份扼要說明。3.需求分析就是對客戶要求的功能的定義。
4.軟件設(shè)計這就是對程序的每一個模塊的詳細設(shè)計的說明文檔。5.開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析 用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
第三篇:軟件工程課 心得體會
心得體會
通過本學(xué)期的學(xué)習(xí),獨立完成了軟件工程方法實踐與案例的作業(yè),同時也收獲了學(xué)習(xí)方法和思維方式。由于我是從電氣專業(yè)調(diào)劑到計算機專業(yè),幾乎沒有基礎(chǔ),所以在剛開始進入學(xué)習(xí)時感覺非常的困難。但是,李老師每節(jié)課都循序漸進的引導(dǎo)教學(xué),讓我慢慢理解了軟件工程的學(xué)習(xí)思維,并且堅持學(xué)習(xí),逐漸找到了學(xué)習(xí)軟件工程的方法。在整個的學(xué)習(xí)中,一點一點的學(xué)習(xí):上網(wǎng)搜索、問同學(xué)和老師、找參考書、查文獻,甚至下倉庫管理的軟件進行使用研究,用了很多方法,也終于對軟件工程的整體設(shè)計有了深刻概念和理解。
老師給我們分組分配任務(wù),同時又每個人有不同的具體任務(wù),這樣既鍛煉了我們的合作溝通的能力,同時也強調(diào)了獨立自主的思考。我們倉庫管理小組進行過好幾次集體討論,大家互相討論,共同學(xué)習(xí),也曾出現(xiàn)過意見不統(tǒng)一,通過探討,共同解決,我覺得這也是學(xué)習(xí)提升的過程。明確了自己的任務(wù)后,就努力去完成,按時完成自己的任務(wù)。
在完成作業(yè)的同時,學(xué)到了很多的數(shù)據(jù)庫知識和軟件使用方法。首先接觸了visio軟件,發(fā)現(xiàn)了它畫圖比較方便,之后老師介紹用rose軟件后,發(fā)現(xiàn)其功能更加強大。由于rose軟件是英文版,所以剛開始用的時候比較吃力,經(jīng)過搜索使用教程和多次使用練習(xí)后,終于可以熟練使用了。
整個設(shè)計過程,包括調(diào)研設(shè)計、需求分析、概要設(shè)計、數(shù)據(jù)庫設(shè)計、詳細設(shè)計等。其中,我對UML圖印象最為深刻,也是從這個地方開始,我對軟件設(shè)計有了質(zhì)的改變,體會和理解了軟件設(shè)計應(yīng)該樹立的思維方式,對以后的學(xué)習(xí)和任務(wù)有有很大幫助,后期做作業(yè)時也沒有那么困難了。
在這整個課程學(xué)習(xí)和完成作業(yè)過程中,收獲知識,提高能力的同時,我也學(xué)到了很多人生習(xí)慣,懂得怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會把這種習(xí)慣帶到生活中,不畏,勇往直前!
最后感謝李老師對我們耐心的教育和指導(dǎo),認真細心的給我們批改作業(yè),給予我們這些沒有基礎(chǔ)的學(xué)生耐心指導(dǎo),謝謝老師!
第四篇:zzf軟件工程心得體會
軟件開發(fā)特別是大型軟件是一項浩大的工程,需要幾個人、十幾個人、幾十個人甚至幾百個人合作開發(fā)幾個月、十幾個月甚至幾年。要保證系統(tǒng)的協(xié)調(diào)性、統(tǒng)一性和連續(xù)性,就需要在開發(fā)之前制定嚴格、詳細的開發(fā)規(guī)范。開發(fā)規(guī)范的制定需要花費一定的時間和精力,但是“磨刀不誤砍柴功”,它相當于把今后開發(fā)過程中開發(fā)人員都要遇到的問題提前做了一個考慮。有了開發(fā)規(guī)范,在后續(xù)的開發(fā)過程中,設(shè)計人員就不必每次考慮如何為一個字段命名,編程人員也不必去想某個程序的結(jié)構(gòu)和布局應(yīng)當 怎樣,測試人員也有了判斷程序?qū)﹀e的標準。開發(fā)規(guī)范在項目開發(fā)工作中起著事前約定的作用,需要所有開發(fā)人員共同遵守。它約束開發(fā)人員的行為和設(shè)計、編程風(fēng)格,使不同子系統(tǒng)和模塊的設(shè)計、編程人員達成默契,以便形成整個系統(tǒng)的和諧步調(diào)和統(tǒng)一風(fēng)格,也便于今后的系統(tǒng)維護和擴展工作。
最初接觸軟工的時候以為是一門程序設(shè)計的課程,主要講述的是軟件的編寫。結(jié)果上了課以后才發(fā)現(xiàn)這確實是一門有關(guān)軟件的課程,雖然不教授具體的代碼編寫,但是這確確實實是一門有關(guān)軟件開發(fā)的課程,是一門對于我們來講必不可少的課程。有的人會覺得會編寫代碼就可以了啊,但是他忽視了我們現(xiàn)階段接觸的軟件開發(fā)都是比較簡單的,工作量較小的課題。然而當項目的規(guī)模變得越發(fā)巨大而且越來越復(fù)雜的時候,我們就需要軟件工程這門學(xué)科來讓大家理清設(shè)計思路,并且學(xué)會分工合作。在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。這讓我們收益匪淺。在課程設(shè)計的過程中,我們發(fā)現(xiàn)讓大家齊心協(xié)力去完成工作并沒有那么簡單,每個人的時間規(guī)劃都不一樣,擅長的也不相同!也許未來我們面對的團隊合作會更加的困難。調(diào)整了心態(tài)才能夠行更遠的路,收獲成功。
第五篇:軟件工程讀書心得體會
軟件工程讀書心得體會
040730111 步入大四,課程變的少了,學(xué)期伊始,我很認真地上課、聽講;很快就過了1個月了,學(xué)校的就業(yè)中心開始忙碌起來,作為就業(yè)大軍中的一員,我開始忙碌我的工作,聽宣講會、筆試、面試,漸漸地上課不用心了,還曠過課,在這里請老師原諒,下面是我對于軟件工程各方面知識的理解,請老師指正:
(一)軟件度量方面
軟件度量是對軟件開發(fā)項目、過程及其產(chǎn)品進行數(shù)據(jù)定義、收集以及分析的持續(xù)性定量化過程,目的在于對此加以理解、預(yù)測、評估、控制和改善。沒有軟件度量,就不能從軟件開發(fā)的暗箱中跳將出來。通過軟件度量可以改進軟件開發(fā)過程,促進項目成功,開發(fā)高質(zhì)量的軟件產(chǎn)品。在軟件開發(fā)中,軟件度量的根本目的是為了管理的需要,利用度量來改進軟件過程。對于管理層人員來說:沒有對軟件過程的可見度就無法管理;而沒有對見到的事物有適當?shù)亩攘炕蜻m當?shù)臏蕜t去判斷、評估和決策,也無法進行優(yōu)秀的管理。所以軟件度量在軟件開發(fā)中起到不可或缺的作用。
項目度量是針對軟件開發(fā)項目的特定度量,目的在于度量項目規(guī)模、項目成本、項目進度、顧客滿意度等,輔助項目管理進行項目控制。軟件開發(fā)項目規(guī)模度量(size measurement)是估算軟件項目工作量、編制成本預(yù)算、策劃合理項目進度的基礎(chǔ)。規(guī)模度量是軟件項目失敗的重要原因之一。一個好的規(guī)模度量模型可以解決這一問題。有效的軟件規(guī)模度量是成功項目的核心要素:基于有效的軟件規(guī)模度量可以策劃合理的項目計劃,合理的項目計劃有助于有效地管理項目。規(guī)模度量的要點在于:由開發(fā)現(xiàn)場的項目成員進行估算;靈活運用實際開發(fā)作業(yè)數(shù)據(jù);杜絕盲目迎合顧客需求的“交期逆推法”。軟件開發(fā)成本度量主要指軟件開發(fā)項目所需的財務(wù)性成本的估算。主要方法如下:
類比估算法。類比估算法是通過比較已完成的類似項目系統(tǒng)來估算成本,適合評估一些與歷史項目在應(yīng)用領(lǐng)域、環(huán)境和復(fù)雜度方面相似的項目。其約束條件在于必須存在類似的具有可比性的軟件開發(fā)系統(tǒng),估算結(jié)果的精確度依賴于歷史項目數(shù)據(jù)的完整性、準確度以及現(xiàn)行項目與歷史項目的近似程度。
細分估算法。細分估算法是將整個項目系統(tǒng)分解成若干個小系統(tǒng),逐個估算成本,然后合計起來作為整個項目的估算成本。細分估算法通過逐漸細化的方式對每個小系統(tǒng)進行詳細的估算,可能獲得貼近實際的估算成本。其難點在于,難以把握各小系統(tǒng)整合為大系統(tǒng)的整合成本。
周期估算法。周期估算法是按軟件開發(fā)周期進行劃分,估算各個階段的成本,然后進行匯總合計。周期估算法基于軟件工程理論對軟件開發(fā)的各個階段進行估算,很適合瀑布型軟件開發(fā)方法,但是需要估算者對軟件工程各個階段的作業(yè)量和相互間的比例具有相當?shù)牧私狻?/p>
(二)軟件項目管理
軟件項目管理的對象是軟件工程項目。它所涉及的范圍覆蓋了整個軟件工程過程。為使軟件項目開發(fā)獲得成功,關(guān)鍵問題是必須對軟件項目的工作范圍、可能風(fēng)險、需要資源(人、硬件/軟件)、要實現(xiàn)的任務(wù)、經(jīng)歷的里程碑、花費工作量(成本)、進度安排等做到心中有數(shù)。這種管理在技術(shù)工作開始之前就應(yīng)開始,在軟件從概念到實現(xiàn)的過程中繼續(xù)進行,當軟件工程過程最后結(jié)束時才終止
軟件項目管理是為了使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成,而對人員(People)、產(chǎn)品(Product)、過程(Process)和項目(Project)進行分析和管理的活動。
軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期(從分析、設(shè)計、編碼到測試、維護全過程)都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。而研究軟件項目管理為了從已有的成功或失敗的案例中總結(jié)出能夠指導(dǎo)今后開發(fā)的通用原則,方法,同時避免前人的失誤。
軟件項目管理的內(nèi)容主要包括如下幾個方面:人員的組織與管理,軟件度量,軟件項目計劃,風(fēng)險管理,軟件質(zhì)量保證,軟件過程能力評估,軟件配置管理等。這幾個方面都是貫穿、交織于整個軟件開發(fā)過程中的,其中人員的組織與管理把注意力集中在項目組人員的構(gòu)成、優(yōu)化;軟件度量把關(guān)注用量化的方法評測軟件開發(fā)中的費用、生產(chǎn)率、進度和產(chǎn)品質(zhì)量等要素是否符合期望值,包括過程度量和產(chǎn)品度量兩個方面;軟件項目計劃主要包括工作量、成本、開發(fā)時間的估計,并根據(jù)估計值制定和調(diào)整項目組的工作;風(fēng)險管理預(yù)測未來可能出現(xiàn)的各種危害到軟件產(chǎn)品質(zhì)量的潛在因素并由此采取措施進行預(yù)防;質(zhì)量保證是保證產(chǎn)品和服務(wù)充分滿足消費者要求的質(zhì)量而進行的有計劃,有組織的活動;軟件過程能力評估是對軟件開發(fā)能力的高低進行衡量;軟件配置管理針對開發(fā)過程中人員、工具的配置、使用提出管理策略。
(三)CMM CMM是是一種用于評價軟件承包能力并幫助其改善軟件質(zhì)量的方法,側(cè)重于軟件開發(fā)過程的管理及工程能力的提高與評估。CMM分為五個等級:一級為初始級,二級為可重復(fù)級,三級為已定義級,四級為已管理級,五級為優(yōu)化級。除了第1級外,其他每一級由幾個關(guān)鍵過程方面組成。每一個關(guān)鍵過程方面都由上述5種公共特性予以表征。CMM給每個關(guān)鍵過程了一些具體目標。按每個公共特性歸類的關(guān)鍵慣例是按該關(guān)鍵過程的具體目標選擇和確定的。如果恰當?shù)靥幚砹四硞€關(guān)鍵過程涉及的全部關(guān)鍵慣例,這個關(guān)鍵過程的各項目標就達到了,也就表明該關(guān)鍵過程實現(xiàn)了。這種成熟度分級的優(yōu)點在于,這些級別明確而清楚地反映了過程改進活動的輕重緩急和先后順序。
(四)SPP SPP模型將項目管理、項目研發(fā)、機構(gòu)支撐所包含的工作劃分為相對獨立的三類過程,各個過程域之間的關(guān)系直觀明了。這樣,機構(gòu)領(lǐng)導(dǎo)、項目經(jīng)理、開發(fā)人員、測試人員、質(zhì)量保證人員、外包與采購管理人員等人根據(jù)SPP模型,很容易知道自己“應(yīng)該在什么時候、按照什么規(guī)范做什么事情”。所以SPP模型有助于使機構(gòu)內(nèi)的各個職能單位有條不紊地開展工作。SPP模型的三類過程貫穿了產(chǎn)品的整個生命周期,19個最常見的過程域都合理地安排在產(chǎn)品生命周期中的某些階段。用戶可以根據(jù)自己產(chǎn)品的特征,適當?shù)夭眉艋驍U充SPP的過程域,很容易制定出最適合于本產(chǎn)品的過程模型。
在讀了軟件工程以后,我覺得我前期不認真看書真的是錯誤的做法,經(jīng)過這次對軟件工程的閱讀,我覺得受益匪淺,非常干些老師的教導(dǎo),我覺得我對軟件工程的認識還遠遠不夠,在以后的日子里,我仍然需要努力學(xué)習(xí),做到更深入的學(xué)習(xí),提高解決問題的能力。