查文庫>心得體會> 軟體工程實驗心得體會範文

軟體工程實驗心得體會

軟體工程實驗心得體會範文

  我們從一些事情上得到感悟後,通常就可以寫一篇心得體會將其記下來,這樣就可以透過不斷總結,豐富我們的思想。應該怎麼寫才合適呢?以下是小編幫大家整理的軟體工程實驗心得體會範文,僅供參考,大家一起來看看吧。

  軟體工程實驗心得體會1

  早在我選擇民政職業技術學院就讀軟體開發與專案管理這門專業的時候,我一直認為軟體開發無非是努力的敲程式碼,從敲程式碼的過程中去體會各行程式碼的意思和用處,在沒學軟體工程時我一直都是努力的敲程式碼去學習軟體開發這門專業。在大一的時候我敲程式碼的激情很好,但是到大二的時候就出現問題了,我根本就不喜歡敲程式碼了,看見程式碼就頭疼。所以感覺厭惡這門專業,對學習也不感興趣了。而且,還有一件更頭疼的事是在寫一個簡單的程式時竟然老是出錯,難一點的,複雜一點的程式竟然無從下手。但是去看程式的參考答案時都看得懂,又感覺很容易。學了軟體工程以後,我就感覺我以前的學習方法是錯誤的。以前我只注重於程式碼,而不注重理論知識以及程式設計的思路,程式的架構。以至於在些程式時沒有寫程式的思路,不能形成程式的架構。只想到看腦袋裡是否有與此類似的程式碼。越想程式越亂,最後腦袋裡一片空白。不知道程式從哪個方面下手了。

  軟體工程這門課程是做軟體開發的人必學的課程,透過學這門課程,程式設計師就會注重軟體開發的理論知識,以及做專案開發的思路。學了這門課程後你寫程式就不會去盲目的去套用程式碼,而是理清此程式的架構以及思路。程式該從什麼時候開始,什麼時候結束。在中間需要新增什麼樣的功能,以完善該軟體。其實學軟體工程並不難,而且很容易。軟體工程與日常生活聯絡起來的話,就是在一天中你該先做什麼,後做什麼。理解了先做什麼,後做什麼了以後寫程式就不是那麼難了,再複雜的程式也可以分成幾大塊。你理清程式的思路後就可以一步步的解決其中的難題,最終實現軟體的功能。如果沒學軟體工程不知道理清程式的思路的話,做一個大的專案開發,那麼多的程式碼,沒有一個很好的結構,最終只會導致程式混亂,錯誤百出,知道程式碼再多也會素手無策的。

  總而言之,作為一個程式設計師學習軟體工程這門課程是至關必要的,如果沒學習軟體工程,你就不會做專案開發,也不可能開發出一個完善的軟體出來。

  軟體工程實驗心得體會2

  曾經看過一本書叫《道法自然》,內容略記得一二,但我最欣賞的是它的書名。軟體設計沒什麼太神秘有東西,只要用心體會,其實一切都很自然。軟體的設計之“道”,也不在於設計有多麼的華麗、精巧,而在於其樸實、自然,最終達到“以無招勝有招”,進入一個全新的境界。

  一、軟體設計理論的層次

  以我的拙見,軟體設計領域中的各種概念,可以分為以下幾個層次來進行理解:

  1、軟體設計的'目的:重用性、擴充套件性。

  這是最高的層次,是應對軟體危機的需要。

  2、設計原則:低耦合、高聚合。

  各種軟體設計的原則,如依賴倒置原則、單一職則原則、面向介面等,以及各種設計模式,其根本的目的其實只是為了降低耦合這麼簡單。因為只有低耦合才能更好的適應變化,更好的重用和擴充套件。

  3、實現方法:運用設計模式封裝變化、降低耦合。

  設計模式只是用來“封裝變化、降低耦合”的工具而已。它是面向物件設計時代的產物,其本質就是充分運用面向物件的三個特性,即:封裝、繼承和多型,進行靈活的組合運用。

  二、關於耦合

  1、耦合的粒度

  耦合無論如何也是不可避免的。當我們實現介面、繼承父類的時候,就會不可避免的產生耦合。耦合是有不同粒度的,我們解耦到什麼粒度為止,我認為應以模組的重用粒度為準。儘量解除重用模組或物件之間的耦合。而重用模組之內的耦合,應屬於聚合的範疇,所以不要盲目的去解耦,否則就陷入了誤區。

  2、解耦的原理

  怎樣才能解耦呢,或者說為什麼各種設計模式能達到解耦的目的呢?我覺得有以下幾個思路:

  (1)將具體的東西抽象處理

  (2)將分散的東西集中處理

  而面向物件中的介面、繼承正為我們提供了這樣的一種機制。透過訪問介面或基類或抽象類,而不是具體的實現類,從而與具體的實現類達到了解耦的目的。我們還可以設計一些控制類,像潤滑劑一樣,協調各實現類之間的訪問,也可以達到耦的目的。

  事實上,各種設計模式的基本思想也就是這樣。建立型模式是為了解除建立物件時產生的耦合,實際上是解除對類稱名的依賴,而結構型和行為型是為了解除物件屬性或方法的直接呼叫。不管什麼設計模式,都是將對具體實現類的訪問提升為對介面、基類或用於協調的控制類的訪問。

  三、關於介面

  這一節更具體,談一談介面,因為使用介面是軟體設計的重要手段,但已經不屬於“道”了。

  1、介面與繼承

  介面描述的是物件某一個方面行為特徵。使用介面與使用繼承關係各有優缺點,使用子類繼承可以繼承父類的功能,體現了重用的精神。而接品更加靈活,因為它解除了子類與父類之間的高度耦合,它體現在靈活擴充套件的精神。

  2、介面與純虛類

  理論上介面可以由純虛基類實現類似的功能,那為什麼還我們不去掉介面的概念,而直接使用虛類呢?

  介面存在的理由就是它更加靈活,關係簡單,易於理解。比如一個類可以實現十幾個甚至幾十個介面,但一般開發工具只支援單繼承(由於多繼承太容易導致混亂和衝突),如果要繼承十幾層,系統結構想必會無法理解了,我以為這是介面存在的最重要的原因。

  如果介面和虛類繼承結合使用,可以產生強大的威力,這也是許多設計模式的“殺手鐧”。

  以上算是總結一下自己的心得。肯定有不少片面之處,請各位指教。