軟體工程學習心得體會範文

軟體工程學習心得體會範文 篇1

學習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟體工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟體工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其範疇已經遠遠不止局限於該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

整本書的內容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學的內容,第一章是從整體分析軟體工程這門學科的發展和所處的社會環境,接著後面的幾章深入分析了軟體開放過程和模式、軟體項目管理、計算機工程、需求分析、結構化分析建模以及基於UML面向對象分析建模等。接著我就詳細介紹下我對這門課程知識點的理解概括:

軟體:軟體是能夠完成預定功能和性能的可執行的電腦程式和使程式正常執行所需要的數據,加上描述程式的操作和使用的文檔。軟體的特徵:①軟體是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟體是通過人們的智力活動,把知識與技術轉化成信息的一種產品。③軟體成為產品後,其生產只是簡單的拷貝,不同於硬體製造。④維護過程比硬體複雜的多,甚至會引發新的錯誤。軟體危機:指的是軟體開發和維護過程中遇到的一系列嚴重問題。出現軟體危機的原因:①軟體維護費用急劇上升,直接威脅計算機套用的擴大。②軟體生產技術進步緩慢。軟體工程是指導計算機軟體開發和維護的工程學科。 軟體生存周期:一個軟體從定義到開發、使用和維護,直到最終被棄用,要經歷一個漫長的時期,通常把軟體經歷的這個漫長的時期稱為生存周期。軟體的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設計;⑤詳細設計;⑥編碼與單元測試;⑦綜合測試;⑧軟體維護;

瀑布模式:是傳統的軟體開發模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設計、編碼、集成等幾個階段,並且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅動;簡潔便於工程套用的線性化過程步驟,並可以通過里程碑管理機制而使項目進程量化。其明顯的優點就是沒個階段結束前都要對所完成的階段成果進行評審,這使得軟體的錯誤能夠在個階段內儘早發現並儘早解決,總的來說瀑布模式具有良好的質量保證機制,有很強的生命力。

原型進化模式:對軟體進行直接模擬或仿真,只需要分析需求框架後進行原型創建,再對原型系統進行逐步細化與完善,通過版本更新逐步滿足用戶對於軟體的多方面需要。

增量模式:開發過程有三個任務域,分別是設計結構、開發構件和集成系統,它既有完善的工程管理機制,又能適套用戶需求變更,有利於質量的監控,並且各局部基於構件構造,有利於逐步構建與完善;由於先交付核心構件可利於降低項目的技術風險。

螺旋模式:是一種可較好的規避開發風險過程的模式,項目是基於任務的螺旋式推進,每個螺旋由內之外分別是需求分析、軟體設計、系統集成、驗證與交付。

軟體開發的整個過程:①需要項目團隊,組建優秀的團隊可以開發出更搞質量的軟體產品。任務開發團隊要求小而精,成員大多在8人以內,主要成員有項目負責人、開發人員、資料管理員和軟體測試員。②項目計畫是為了使軟體開發各項工作有秩序地進行,包括任務分配和基於里程碑的進度安排,甘特圖和任務網路圖是用來描述進度計畫的工具。項目計畫書可以作為軟體開發的工作指南。③項目成本估算,由於項目有來自各方面的成本包括工資開支、場地費、差旅費、設備費和資料費等,但是軟體主要是對人力成本的估算,常用的方法有程式代碼成本估算法等。④軟體風險管理包括很多不確定的風險因素,如計畫風險、管理風險、需求風險、技術風險、人員風險、產品風險、用戶風險和商業風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防範。⑤軟體文檔管理,軟體文檔是工程模式軟體開發的成果體現,包括技術文檔、管理文檔和用戶文檔。 ⑥軟體配置管理與軟體質量管理,包括配置規劃、軟體變更控制、軟體版本控制和質量控制計畫。

計算機系統由硬體、軟體、數據資源、網路資源、使用系統的人等諸多元素。有三種典型的計算機體系結構:①主機結構,主機集中了全部智慧型,並依靠終端接口與外部設備連線。②Client/Server結構,智慧型分布於伺服器與客戶機,並依靠網路連線成系統,其中,伺服器處於核心位置,提供被動核心服務;客戶機處於邊緣位置,可主動訪問伺服器,尋求服務支持。③Browser/server結構,可適應網際網路遠程互動的特殊結構,基於Web伺服器構建。

需求分析:系統開發前期需求分析很重要,它是為了有效解決用戶問題的需要進行的一項工程活動,所需要考慮的需求問題是功能需求、數據需求、性能需求和接口需求,開發者承擔分析任務,核心是用戶。其步驟有三個:①獲取客戶需求,客戶泛指某個人或機構部門等,一般方法是調查,包括訪談、座談、問卷、跟班和收集資料,需求規約可表達用戶的軟體價值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業務樹圖、用例圖、活動圖。分別用於結構化需求建模、系統業務舉例和反映系統工作流程。③進行需求驗證,要驗證的主要內容有:有效性驗證、一致性驗證、完整性驗證、現實性驗證和可檢驗性驗證。 結構化分析建模:它是建立在需求規約基礎上的,對軟體問題進行全面解說,包括四個方面:①數據建模,它與資料庫設計密切相關,ER圖涉及實體、關係、屬性等圖形元素,在業務層面建立資料庫概念模型,一般用於前期的建模構想。②功能建模,是對系統數據加工的圖解,數據流程圖是常用的建模工具,涉及數據接口、數據處理、數據流、數據存儲等圖形元素,用於描述系統數據加工細節。③行為建模,行為模型用於說喔名軟體系統與環境的互動,狀態轉換圖常用的軟體行為建模工具涉及狀態、事件等圖形元素。⑤數據字典,是用於定義軟體的元素,使軟體元素獲得嚴肅的、詳密的、精確的規格說明。需求分析模型中的數據、功能、行為等諸多方面的元素,都有必要通過數據字典給予細節說明,以達到對系統較完整全面的規格定義。

基於UML對象面向對象分析建模:UML是統一建模語言,有統一的語法、語義和語用規則,其建模過程的特點是:用例驅動、以構架為中心和增量疊代,通過包實現對模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關係。②活動建模,活動圖用於描述系統動態過程,主要圖形元素有:活動、轉換、起點、終點、判斷、並發、同步、泳道等。可描述高層業務級活動,涉及整個業務流程,針對每個用例活動建模,反映用例內部活動細節。③類分析建模,這裡就只考慮實體類,實體類所代表的數據相互之間通常有一定的關係,依靠這種關係可形成有組織的程式數據結構。實體類之間的主要數據關係有:關聯、聚類、泛化。

接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學生了,也只有這個學期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什麼事情。但是相對於老師的壓力也有,課程壓縮了相當於每節課的教學任務大大增加了,在加上有些假期衝掉課,就感覺我們好像上課學不到什麼東西,也只是一些關鍵的和考試掛鈎的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學校開了這門課,我們上了這門課,總是學到了點東西的,不可能明明上了軟體工程這門課,卻像沒上一樣什麼都不懂。在上課的時候我還是很認真地去聽老師所講述的內容的,我覺得他的思想和我一向而來的培養計算機學生綜合素質的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經不是單純的編編程式就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程式的,在交際場上不知道說什麼而一個字都說不出來的人。我覺得這樣的人進入社會之後是沒有什麼前途的,起碼他們缺乏了與人溝通交流的能力。而這門課程在一定程度上給了我們這些學生一個機會來鍛鍊自己在另一方面的能力,構想一下,一個又有技術又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程式的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程式及過程,我認為這是一份非常具有實際意義的教學內容。當我們在畢業之後,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限於軟體工程的範疇,我們即使是從事與其它行業,不也是要從需求獲取開始,一直有條有理地到最後成品的出爐嗎?應該說這就是這門課的價值所在。無論是在上課,還是在學生會裡面做學生工作,我都深深地感覺到,技術性的工作就好比變魔術,其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之後,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是製作的過程他們卻不知道,也許知道之後他們只是會啞然失笑,原來這個東西的製作過程是如此的簡單。這個可以說就是技術的魅力了,而作為需求獲取及之後的一系列過程則是類似於魔術揭秘的過程,但是作為這個秘密我們並不需要一揭到底,至於揭的程度如何那就是我們那就是我們學出的程度如何了,我們要讓對方知道我們在做什麼?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術員,對方只是外行,即使對方知道了這個魔術的操作過程,也並不代表他們就能夠向變著魔術的我們來隨便修改這個魔術的變法,況且我們能夠用不同的過程來得出一個同樣的結果,這個過程的得出的主動權如何掌握在我們的手上,就看我們如何以高明的方式來揭開這個魔術的謎底了。當然了,在純粹的理論上,我覺得開設這樣一門課程是很成功的。但是畢竟現實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學生。這兩個可以說是這門課成與敗的決定性的因素。

作為我們學生來說,應該負起比較主要的責任。在大學裡有了太多的基礎課程,基礎課程大多都比較枯燥無味,也許在第一個學期里我們還能夠保持著新鮮感,但是在6學期之後,可以說再有新鮮感就是一件比較困難的事情了,我們都已經開始變得遲鈍了。其次的,沒有認識到這門課程的價值。這門課的價值我已經在上面說過了,是不言而喻的。但是並不是每個同學畢業之後都回從事計算機行業,也不是每個同學都知道這門課程的意義已經不僅僅局限於計算機這個範疇。或許有些人覺得反正以後不是這個發展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認真學必能學到很多東西,動手實踐能力和從整個大體分析系統開發的邏輯性思維也會明顯增強,不管以後從事哪個方面的工作,這對以後來說都是一筆很大的隱性財富。說到我自己對這么課的學習,還是有點愧疚的,前面四周我每周每節課都去上的,並且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是後來我上這門課的次數就降低了,因為覺得時間很緊吧,而且老師上課的節奏我個人覺得有點慢,我都可以自己預習看到後面去了,但是這門課我還是每周至少上一節課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環顧了下四周發現確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業了,覺得上課學不到什麼實際的東西,要么實際一點好好考研繼續深造,要么去培訓增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。

《軟體工程》課程既強調基本概念和基本知識的理解和掌握,又側重軟體項目的分析、設計、實現和維護的基本技能。比較注意“點”和“面”的結合。我還是蠻喜歡這門課的,通過對這門課的學習讓我意識到理論學習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結合,才更能發揮我們所學的知識的作用,更能直接的創造效益,社會和國家做出貢獻。

軟體工程學習心得體會範文 篇2

軟體工程心得體會未接觸軟體工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟體工程課,終於知道了個軟體工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程式就是軟體,軟體就是程式。學習這門課程第一個收穫是,知道了二者的不同之處。以前做過的一些小型的軟體比如加密軟體,我也只是在程式旁邊附上一個軟體的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟體工程的方法還是第一次。我想也是程式的不斷複雜化導致了軟體危機的發生,使得人們不得不探索新的解決方法。

經過倪老師的講解,理解了軟體工程,就是一套用於軟體的團隊開發,以提高軟體質量和程式設計師工作效率為目的的規範。其核心就是,對於軟體開發的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟體工程處於一知半解的狀態,分工比較混亂。

在劃分模組後明確了各自分工,漸漸形成良性循環。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協調,組員積極配合,才能合作愉快。學習能力體現在能儘快接受新的知識,順應變化,學為所用。

上《軟體工程導論》這門課,我的收穫大概如下:我們為什麼需要軟體工程呢?上面已經給出了一些原因。專業點講,軟體工程最終是為了實現“軟體製造業”的社會化,工業化大生產,提高其勞動生產效率。只有如此,軟體業才能實現社會化,工業化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發的軟體的規模,應該適當程度的運用軟體工程化的思想,需要靈活,畢竟我們開發的軟體大多數是中小型的,大型的並不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟體工程才能更有效率,工作成果更穩定。

其實開發軟體,就像是解決一個邏輯問題。想想自己平時是怎樣寫程式的。首先是要有一個想法,即我寫的這個程式是要乾什麼的;然後就是對要實現的核心功能大概構思一種或多種實現方法,並從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模組;最後就是分模組來編碼和DEBUG。在我看來,除了第一步外,其餘的步驟應該是一個循環的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模組設計,甚至最初選定的實現算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1.可行性分析就是關於當前項目能不能幹的分析結果。

2.項目描述這是在決定立項以後,對當前項目的一份扼要說明。

3.需求分析就是對客戶要求的功能的定義。

4.軟體設計這就是對程式的每一個模組的詳細設計的說明文檔。

5.開發日誌我一直都認為這是文檔中最有趣的部分。開發日誌相當於編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程式時突然萌發的靈感,或對代碼的一些微小的修改,或對程式結構的一些微小變動等,還要對上述這些修改變動作些說明。

6.測試分析用於指出程式存在或潛在的缺陷和錯誤,以及程式性能的數字描述。

軟體工程學習心得體會範文 篇3

在本學期的軟體工程課程的學習中,我們學習了十一章的內容。第一章軟體與軟體工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟體的概念、特性,軟體危機的主要表現,軟體工程的概念以及軟體生存期、典型生存期模型等等。第二章軟體工程方法與工具,這一章主要對軟體工程方法進行介紹,包括三種方法:傳統方法、面向對象方法、形式化方法。還引出了工具UML。第三章軟體需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、E-R圖以及狀態圖式本節的重點。第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模組結構以及模組結構的改進。第五章編碼,這一章重點講解了編碼的風格及規範,還告訴我們編碼規範說帶來的好處,並告誡我們將來一點要形成好的編碼風格。第六章軟體測試方法,本章講解了軟體測試相關的概念及重要性,軟體測試與開發各個階段的關係;還介紹了白盒測試技術以及黑河測試技術。第七章統一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關係及建模時用到的各種圖進行了介紹。第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態模型和動態模型。第九章軟體體系結構與設計模式,本章對軟體體系結構的基本概念、典型風格等進行了講解。第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。第十一章軟體維護,本章主要介紹軟體維護的任務、軟體維護活動以及軟體維護方法進行了介紹。

要學習軟體工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟體工程,就必須知道軟體工程的目標、過程和原則:軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模組以及相關層次的說明、每一模組的接口定義。詳細設計產生程式設計師可用的模組說明,包括每一模組中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程式代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。

軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。

我們學習了詳細設計的方法,其原則是過程描述是否易於理解、複審和維護,進而過程描述能夠自然地轉換成代碼,並保證詳細設計與代碼完全一致。包括程式流程圖、N-S圖、PAD圖、HIPO圖

程式流程圖:程式流程圖又稱之為程式框圖,它是軟體開發者最熟悉的一種算法表達工具。它獨立於任何一種程式設計語言,比較直觀和清晰地描述過程的控制流程,易於學習掌握。在流程圖中只能使用下述的五種基本控制結構:順序型;選擇型;while型循環;until型循環;多情況型選擇。

N-S圖:一種符合結構化程式設計原則的圖形描述工具,稱為盒圖,又稱為N-S圖。在N-S圖中,為了表示五種基本控制結構,規定了五種圖形構件。順序型;選擇型;WHILE重複型;UNTIL重複型;多分支選擇型。

PAD圖:它是用結構化程式設計思想表現程式邏輯結構的圖形工具。PAD也設定了五種基本控制結構的圖示,並允許遞歸使用。

HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國IBM公司在軟體設計中使用的主要表達工具。

HC圖既是層次圖,用於表示軟體的分層結構。HC圖中的每一個模組,均可用一張IPO圖來描述。IPO圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據檔案框,這種圖形的優點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯繫。

還有測試方法:按照測試過程是否在實際套用環境中來分,有靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。

靜態分析技術:不執行被測軟體,可對需求分析說明書、軟體設計說明書、源程式做結構檢查、流程分析、符號執行來找出軟體錯誤。

動態測試技術:當把程式作為一個函式,輸入的全體稱為函式的定義域,輸出的全體稱為函式的值域,函式則描述了輸入的定義域與輸出值域的關係。

還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今後的學習中一定會慢慢的完善的。

軟體工程對於初學者來說,知識基礎較薄弱,對一些套用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟體工程,不是僅僅把幾本專業書籍細緻地看幾遍,然後上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什麼都學,肯定是什麼都學不透的,要集中精力打攻堅戰,學習軟體工程首先要明白自己的學習目標究竟是什麼,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展;在學習語言時,要看看與C語言的聯繫,多思多想,把從各個科目學到的知識通匯貫通。

在軟體工程的學習中,我了解到了軟體並非是一些代碼這么簡單,在開發軟體的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而後期的管理和維護更是占了60%到80%之多。一個完整的項目規劃須包括,軟體的定義,可行性分析報告,項目開發計畫,軟體需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計畫,測試分析報告,開發進度報告,項目開發總結報告,軟體維護手冊,軟體問題報告,軟體修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟體工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟體,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反覆才能達成,所以代碼只是開發軟體這個浩大的工程的一個小小的過程。

而編碼的學習中,我更了解到形成自己獨特的規範的編碼風格是非常重要的事。因為這影響到了軟體後期繁重的維護,大家都要閱讀你的程式,如果你寫的程式毫無規範可言,那么別人怎么能讀懂你的程式?讀不懂程式,維護又從何談起呢?所以,我們在今後的學習中,一定要注意這方面的培養,在寫程式的過程中,要逐步的在規範的基礎上形成屬於自己的風格,即方便自己的修改,也方便日後他人的閱讀。

在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟體擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程式設計和問題求解更符合人們日常自然的思維習慣,適合大型、複雜及互動性比較強的系統。形式化方法則是一中基於形式化數學變換的軟體開發方法,它可將系統的規格說明轉換為可執行的程式。

在今後的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,並以此為基礎將其擴散開來,套用於今後的實踐。不斷鍛鍊自己,向一名合格的程式設計師邁進。

軟體工程學習心得體會範文 篇4

在這次軟體工程課程中,我學到了很多東西,第一次深刻的體會到了什麼叫做用工程化的思想來編寫軟體,以前自己也寫過一些小型軟體,沒有做過大型的項目,直到這次課堂我擔任組長並組織組員共同完成“個人圖書管理系統”這個項目,第一次和別人合作,才發現運用工程化的思想來做是如此的有必要。

從這裡,我才真正的意識到實施一個軟體工程並不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模組,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,在我以前的認識中,似乎整個軟體就是編碼,除此無它,還好有老師的指導,不然真的會出現老師所說的,撞得頭破血流之後才想起來用軟體工程的思想來完成這個工作。

剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關緊要,甚至是多於的,其實,換做在以前,我也會這么認為。可是,我現在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟體有用有市場,能被別人接受和認可,在進行過程中不會出現崩潰性的問題,這些工作缺一不可。

還有就是接下來的一些設計模組,此模組與軟體編碼涉及比較緊密,主要是解決一些參數傳遞和接口通訊的問題,此模組對我的觸動遠沒有上兩個模組對我的影響大,因此再次也不做過多的介紹。

在整個活動的完成過程中,作為組長,我收穫很多,我發現,要是組裡有個人不怎么想做事情時,他對於整個組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以後我的組織里要是出現這樣的人,我絕不會給他繼續留下來的機會,我會在第一時間將他清除出去。還有就是,作為組長,你要做的最重要的事情,不是發揮自己的聰明才智,而是創造出一個平台,讓別人去發揮,你所要做得,出了保證這個平台的完整性和公平性外,還有就是協調好各組員之間的關係。

軟體工程學習心得體會範文 篇5

時間飛逝,不知不覺間《軟體工程》的學習已經過了大半了。在這將近半學期的學習中,雖然我不能說我將《軟體工程》學習的有多么的好,但是通過學習,我還是受益良多。

在以前,我一直對軟體存在一些偏見或則是誤解,認為軟體就是程式,軟體的開發就是編寫程式,只要編完了程式,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程式了。一個人,只要會編程,就能寫軟體,就是程式設計師;一個公司,只要招聘一些程式設計師,就能開發好的軟體產品。只要有幾個有經驗的程式設計師,再找些兼職的大學生,就能組成一個軟體公司。

但是通過了《軟體工程》這門課的學習,使我認識到了我以前的錯誤。軟體其實不僅僅是程式,軟體開發其實也不僅僅是編寫程式,軟體是思想在硬體上的載體和體現,處理的是邏輯和信息。唯有對軟體和軟體的開發過程,有充分的認識,才能更好的開發出,過程受控、質量受控的軟體產品。

而且在以前,我一直以為軟體的開發其實是一件很輕鬆快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現在我才發現,我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創造性活動。因為編程不僅能夠滿足我們內心深處進行創造的渴望,而且還能愉悅我們內在的情感。

而且通過學習《軟體工程》,我還學到了很多其他的東西。比如通過學習《軟體工程》,特別是老師每次用實際的軟體現場的講解,為我提供了一個儘早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質和能力,如何激發自己的積極性等。而且通過學習《軟體工程》,還讓我認識和培養了我的團隊協作能力,特別是對於我們這些在校的學生來說,這種學習更是能讓我在以後工作中少走很多的彎路。

所以,通過《軟體工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學習到了這些,是我獲益良多。

軟體工程學習心得體會範文 篇6

這次軟體工程實訓是從20xx.12.26號開始的,截至20xx.12.31號。實訓內容是用java相關知識(主要是jsp)做一個物流配送系統。下面談談對這次實訓的看法。

因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心裡都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰鬥了。呵呵,26號,實訓開始了,我們的老師是來自中軟國際公司的程式設計師,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟體的也沒什麼兩樣。老師介紹了自己之後,就直接切入正題了,分析了下我們各個組的系統,即將用到的知識,然後就總體把覺得需要補充的知識(jsp和資料庫連線等這幾塊)給我們實際操作了下,因為當時看到用jsp,還講的那么認真,當時我就後悔了,平時要是多聽點,現在老師這么認真的給我們講,這是一個多么難得的機會啊。後悔也沒用啊,開始還勉強能理解一點,後來就直接暈了。然後再給大家介紹了一些即將用到的工具,比如rationalRose,SVN,MyEclipse等等。接下來的幾天就不再細講了。下面談談通過這次實訓的心得體會吧。

通過這次實訓,讓我了解到工程開發的過程,可行性分析——>需求分析——>概要設計——>詳細設計——>代碼編寫——>測試——>驗收。從技術方面上,我開始jsp基礎基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認識。其實實訓開始前,我還以為做個系統沒什麼大不了,可是當真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細設計,在代碼編寫時,一樣寸步難行。通過這個實訓,也讓我了解到,團隊協作是多么的重要。一個人的精力是多么的有限。進一步理解到,企業為什麼如此重視團隊協作。同時借用老師的話就是團隊協作固然重要,但是是建立在個人素質的基礎上,假設你個人素質不行,將會影響到整個團隊,就別提對團隊作更多貢獻了。**老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹記老師的教導。

還有一個收穫是從一個同學(小胖)那裡得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什麼了,不過他倒是很重視這個問題吧。然後他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術,會不會做這個東西,態度要正確才好,就算你不會做,你也應該認真的對待,將來 出身到社會,就不是說像你現在,不會做就不做,跑去玩遊戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術知識為0,但我也還是在認真的跟著他們一起做,不會做,就多問,畢竟現在我們是學生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓我確實是認真對待了,六天的實訓,除了晚上加班外,還花了2個通宵來完成不同階段的任務,完成與否也不重要了,我至少我做了,這點,是這次我應該對自己的一個肯定。

這次實訓的心得基本上就是這些了,最後特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進行了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續努力,這點我並不會覺得老師知識儲備不夠,我想應該是這個問題的突發吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認真,很負責。還要感謝就是syz2小組的傾力支持,輔導。