糯米文學吧

位置:首頁 > 範文 > 心得體會

軟件工程課心得體會

軟件工程是一門實踐性很強、交叉性很強的學科,它提供給我們的不僅是一種方法論,更是一種世界觀。

軟件工程課心得體會

在沒有接觸軟件工程這門課時,我一直認為軟件就是程序。能編出解決問題的程序就ok了,從沒有想過,在寫一個程序之前還要構思幾份文檔(可行性分析、需求分析、概要設計)。不過對於那些大型軟件如植物殭屍大戰(至少對於我來説是比較大型的了)怎麼去實現它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類型的殭屍,怎樣編代碼去實現它呢?

第一次上軟件工程的課,裴老師問“軟件是什麼?” 我的第一想法是:這個問題太過愚昧了!誰不知道軟件就是程序呀? “軟件是由計算機程序、數據及文檔組成。”聽到這句話,我心裏先是一驚,慌忙翻了下書“軟件是程序和所有使程序正確運行所需的相關文檔和配置信息。”赫然映入我眼簾。突然間我發現,就算是植物殭屍大戰這樣複雜的遊戲,如果設計者實現分模塊把每一部分如何實現用文檔描敍出來,那這個軟件實現起來不是很容易嗎?

第一次課後我明白了軟件工程是致力於專業化軟件開發的理論、方法和工具的研究。雖然我從國中開始信息奧賽,高中繼續這個愛好,但在大學二年級下學期才接觸在軟件開發中這麼有引導意義的學科,不覺有種相見恨晚的感覺。自然它的方法學三要素:方法、工具、過程,我牢記於心。

短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:

做軟件我們首先考慮的是團隊的實力。

如果別人給你50萬讓你們團隊開發一個軟件,如果他要求你們團隊給這個軟件永久維護,那麼你要去跟他協商付100萬。很多軟件公司倒閉就是因為維護上的問題。至此我才明白維護軟件是軟件生存週期中時間最長的一個階段,它是最花費精力與錢財的一個階段。

如果將來你們碰到了我,你跟我説你是se那麼我會很高興,如果你告訴我你是軟件工程師,我只會“嗯嗯”兩下。

其實在我接觸軟件後,渴望的是當一名軟件工程師。現在才知道學軟件工程專業後,去當一名軟件工程師是最低層的也是最沒“技術”含量的。要做就做系統構架師,當然這需要我們的不懈努力才能達到。系統構架師的職責是設計一個公司的基礎構架,並提供關於怎樣建立和維護系統的指導方針。恍然發現學軟件不僅是學軟件,相關的管理能力也是需要具備的。

當然理論知識是用來指導實踐的,親身體驗才能領悟軟件工程的妙用。課設我們選擇了圖書館管理系統,主要是這個系統我們接觸比較多,對於它的流程還是比較清楚的。雖然如此我們還是花了很大的時間去完成它。記得當時我們定下這個題目是晚上,在討論用什麼語言實現時,大家各自説出自己比較善於的語言。然後均衡了下,定下用java做開發語言。在實現過程中,突然發現java環境連接數據庫和tomcat超級麻煩且數據庫老是連接不上。趁時間還早我們三再次討論,決定用c#做開發語言,主要是c#相對於c++與java來説簡易寫。同時我們定下不管以後遇到什麼困難都要堅持下去的準則。在課設期間我們沒少跑圖書館,查閲各種資料,對比各本書上實現圖書館管理系統的代碼。終於在4月11日把所有課設的所有事情弄好了。當然這只是個概述。

我印象尤深記憶深厚的是最初實現文檔那塊。剛開始,軟件工程這門課還沒學多少,基本的設計理念就很模糊。文檔到底該怎麼寫,很糾結。於是我從網上狂下相關文檔。通過粘貼與複製終於一份內容亂七八糟的需求分析文檔出來了,當然這只是用來借鑑的。後來孟陽分享了十三份關於文檔這方面的模板。我們照着那個樣子在結合團隊項目的相關實例開始了文檔的寫作。我們的文檔總是一個人先寫好,再拿給另一個人改,最後由第三個人評審。大家都覺的'可以了,才過關。測試報告雖然是我一個人完成了,但也經歷了不少時間,當然這時間是按小時算的。首先把大體寫出了,然後修改,再增加信息。大量的截圖以及思考怎樣用例超費腦子,兩天的通宵,徹底把我搞垮了,不過在文檔出爐後,心裏異常開心。

軟件工程課程雖已結束,但我對於軟件工程的學習才剛剛開始,裴老師的課讓我受益匪淺。我體會到項目管理的重要性,隨着軟件規模、複雜度的不斷增加,項目開發中更多的是協作、管理和控制。我學習到很多一般性的方法,例如:需求獲娶模塊化、分治、估算、計劃等等。同時,我也認識到使用計算機解決實際問題的複雜性,在圖靈機模型和馮·諾依曼體系的計算機框架下,人們認識表達的過程(不斷反覆、逐步深化)和計算機的實現過程(順序執行)相差甚遠,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。

向se進軍!至少這是現在的目標。

謝謝裴老師!您的課通俗易懂,舉的例子貼近生活,讓我們易於接受。