軟件工程學習心得體會
當我們受到啟發(fā),對學習和工作生活有了新的看法時,就十分有必須要寫一篇心得體會,它可以幫助我們了解自己的這段時間的學習、工作生活狀態(tài)。那么心得體會怎么寫才能感染讀者呢?下面是小編收集整理的軟件工程學習心得體會,供大家參考借鑒,希望可以幫助到有需要的朋友。
軟件工程學習心得體會1
一、需求分析和概要設計。
1)需求分析
按照軟件工程的軟件過程來說:
1需求分析產生了軟件功能規(guī)格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義。不涉及具體實現方法。用戶能看得明白,開發(fā)人員也可據此進行下面的工作(概要設計)。
2.概要設計產生了軟件概要設計說明書,說明系統模塊劃分、選擇的技術路線等,整體說明軟件的實現思路。并且需要指出關鍵技術難點等。
在進行需求分析時,我們既是開發(fā)者又是用戶,本系統的業(yè)務流程與業(yè)務分類的定義比較難。我們的團隊進行了研討,還充分運用了身邊的各種資源,大量的查找了很多網絡上關于工資系統的資料。通過資料的進行討論、根據我們的課題進行分析,最后確定了用戶的需求為:
1.本系統在高校應用后高校工資管理方面的教職工將減少至目前的50%左右;
2.本系統在高校應用后將在高校各方面的成本將會有所降低;
3.本系統在高校應用后將教職工的工資達到完全透明,計算更加精確教職工因糾紛事件減少到1%。 根據分析將系統的功能從一般教職工與系統管理者兩個角度將功能劃分為7個模塊,當然介于我們的知識有限,有的功能沒有實現:員工工資與考勤直接掛鉤,但本系統無法與員工考勤系統掛鉤相連,由于涉及此系統時該高校并沒有員工考勤系統,而且我們在最初進行商量的時候也沒有提出該要求。
2)概要設計
從概要階段開發(fā)正式進入軟件的實際開發(fā)階段,本階段完成系統的大致設計并明確系統的數據結構與軟件結構。在軟件設計階段主要是把一個軟件需求轉化為軟件表示的過程,這種表示只是描繪出軟件的總的概貌。由概要設計說產生大的概要說明書的目的就是進一步細化軟件設計階段得出的軟件總體概貌,把它加工成在程序細節(jié)上非常接近于源程序的軟件表示。
在本階段主要涉及處理流程的設計、總體結構和模塊外部設計、功能分配。在接口設計上有用戶接口、外部接口、內部接口;數據結構設計有邏輯結構設計、物理結構設計等等。在接口設計時參考了大量的資料。
最后就是編寫文檔——軟件需求說明書、概要分析說明書。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標,系統的結構,每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據可依,在需要回過頭來修改設計的時候,也有證可考。二是便于交流。三是可以作為以后維護時的參考資料。
三、軟件工程課程設計——心得體會
我們進行了為期一周的課程設計。通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到較大提高。安排課程設計的基本目的,在于通過理論與實際的結合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應社會主義現代化建設需要的高素質的復合型人才。作為整個學習體系的有機組成部分,課程設計雖然安排在一周進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學習成果,檢驗學習成果。運用學習成果,把課堂上學到的系統化的理論知識,嘗試性地應用于實際設計工作,并從理論的高度對設計工作的現代化提出一些有針對性的建議和設想。檢驗學習成果,看一看課堂學習與實際工作到底有多大距離,并通過綜合分析,找出學習中存在的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據。對我們信息管理與信息系統專業(yè)的學生來說,實際能力的培養(yǎng)至關重要,而這種實際能力的培養(yǎng)單靠課堂教學是遠遠不夠的,必須從課堂走向實踐。這也是一次預演和準備畢業(yè)設計工作。通過課程設計,讓我們找出自身狀況與實際需要的差距,并在以后的學習期間及時補充相關知識,為求職與正式工作做好充分的知識、能力準備,從而縮短從校園走向社會的心理轉型期。課程設計促進了我系人才培養(yǎng)計劃的完善和課程設置的調整。
在一個星期的課程設計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結合實際存在的問題在專業(yè)領域內進行更深入的學習。
軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始。我體會到項目管理的重要性,隨著軟件規(guī)模、復雜度的'不斷增加,項目開發(fā)中更多的是協作、管理和控制。我學習到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認識到使用計算機解決實際問題的復雜性,人們認識表達的過程不斷反復、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。
軟件工程學習心得體會2
未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協調,組員積極配合,才能合作愉快。學習能力體現在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠兀可厦嬉呀浗o出了一些原因。專業(yè)點講,軟件工程最終是為了實現“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現的核心功能大概構思一種或多種實現方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1?尚行苑治鼍褪顷P于當前項目能不能干的分析結果。
2。項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3。需求分析就是對客戶要求的功能的定義。
4。軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5。開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6。測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。
軟件工程學習心得體會3
學習了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
整本書的內容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學的內容,第一章是從整體分析軟件工程這門學科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結構化分析建模以及基于uml面向對象分析建模等。接著我就詳細介紹下我對這門課程知識點的理解概括:
軟件:軟件是能夠完成預定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數據,加上描述程序的操作和使用的文檔。軟件的特征:①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟件是通過人們的智力活動,把知識與技術轉化成信息的一種產品。③軟件成為產品后,其生產只是簡單的拷貝,不同于硬件制造。④維護過程比硬件復雜的多,甚至會引發(fā)新的錯誤。軟件危機:指的是軟件開發(fā)和維護過程中遇到的一系列嚴重問題。出現軟件危機的原因:①軟件維護費用急劇上升,直接威脅計算機應用的擴大。②軟件生產技術進步緩慢。軟件工程是指導計算機軟件開發(fā)和維護的工程學科。軟件生存周期:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經歷一個漫長的時期,通常把軟件經歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設計;⑤詳細設計;⑥編碼與單元測試;⑦綜合測試;⑧軟件維護;
瀑布模式:是傳統的軟件開發(fā)模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設計、編碼、集成等幾個階段,并且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅動;簡潔便于工程應用的線性化過程步驟,并可以通過里程碑管理機制而使項目進程量化。其明顯的優(yōu)點就是沒個階段結束前都要對所完成的階段成果進行評審,這使得軟件的錯誤能夠在個階段內盡早發(fā)現并盡早解決,總的來說瀑布模式具有良好的質量保證機制,有很強的生命力。
原型進化模式:對軟件進行直接模擬或仿真,只需要分析需求框架后進行原型創(chuàng)建,再對原型系統進行逐步細化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。
增量模式:開發(fā)過程有三個任務域,分別是設計結構、開發(fā)構件和集成系統,它既有完善的工程管理機制,又能適應用戶需求變更,有利于質量的監(jiān)控,并且各局部基于構件構造,有利于逐步構建與完善;由于先交付核心構件可利于降低項目的技術風險。
螺旋模式:是一種可較好的規(guī)避開發(fā)風險過程的模式,項目是基于任務的螺旋式推進,每個螺旋由內之外分別是需求分析、軟件設計、系統集成、驗證與交付。
軟件開發(fā)的整個過程:①需要項目團隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質量的軟件產品。任務開發(fā)團隊要求小而精,成員大多在8人以內,主要成員有項目負責人、開發(fā)人員、資料管理員和軟件測試員。②項目計劃是為了使軟件開發(fā)各項工作有秩序地進行,包括任務分配和基于里程碑的進度安排,甘特圖和任務網絡圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術風險、人員風險、產品風險、用戶風險和商業(yè)風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現,包括技術文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質量控制計劃。
【軟件工程學習心得體會】相關文章:
軟件工程實踐學習心得體會11-10
軟件工程學習心得體會(精選17篇)04-28
軟件工程學習心得體會4篇08-16
軟件工程學習方法12-18
軟件工程學習心得體會(通用16篇)06-01
關于軟件工程的學習方法的論文10-25
軟件工程實習的心得體會10-25
軟件工程實習心得體會11-25
軟件工程實驗心得體會范文12-04