軟件工程課心得體會(huì)
軟件工程是一門(mén)實(shí)踐性很強(qiáng)、交叉性很強(qiáng)的學(xué)科,它提供給我們的不僅是一種方法論,更是一種世界觀。
在沒(méi)有接觸軟件工程這門(mén)課時(shí),我一直認(rèn)為軟件就是程序。能編出解決問(wèn)題的程序就ok了,從沒(méi)有想過(guò),在寫(xiě)一個(gè)程序之前還要構(gòu)思幾份文檔(可行性分析、需求分析、概要設(shè)計(jì))。不過(guò)對(duì)于那些大型軟件如植物僵尸大戰(zhàn)(至少對(duì)于我來(lái)說(shuō)是比較大型的了)怎么去實(shí)現(xiàn)它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類(lèi)型的僵尸,怎樣編代碼去實(shí)現(xiàn)它呢?
第一次上軟件工程的課,裴老師問(wèn)“軟件是什么?” 我的第一想法是:這個(gè)問(wèn)題太過(guò)愚昧了!誰(shuí)不知道軟件就是程序呀? “軟件是由計(jì)算機(jī)程序、數(shù)據(jù)及文檔組成!甭(tīng)到這句話,我心里先是一驚,慌忙翻了下書(shū)“軟件是程序和所有使程序正確運(yùn)行所需的相關(guān)文檔和配置信息!焙杖挥橙胛已酆。突然間我發(fā)現(xiàn),就算是植物僵尸大戰(zhàn)這樣復(fù)雜的游戲,如果設(shè)計(jì)者實(shí)現(xiàn)分模塊把每一部分如何實(shí)現(xiàn)用文檔描敘出來(lái),那這個(gè)軟件實(shí)現(xiàn)起來(lái)不是很容易嗎?
第一次課后我明白了軟件工程是致力于專(zhuān)業(yè)化軟件開(kāi)發(fā)的理論、方法和工具的研究。雖然我從初中開(kāi)始信息奧賽,高中繼續(xù)這個(gè)愛(ài)好,但在大學(xué)二年級(jí)下學(xué)期才接觸在軟件開(kāi)發(fā)中這么有引導(dǎo)意義的學(xué)科,不覺(jué)有種相見(jiàn)恨晚的感覺(jué)。自然它的方法學(xué)三要素:方法、工具、過(guò)程,我牢記于心。
短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:
做軟件我們首先考慮的是團(tuán)隊(duì)的實(shí)力。
如果別人給你50萬(wàn)讓你們團(tuán)隊(duì)開(kāi)發(fā)一個(gè)軟件,如果他要求你們團(tuán)隊(duì)給這個(gè)軟件永久維護(hù),那么你要去跟他協(xié)商付100萬(wàn)。很多軟件公司倒閉就是因?yàn)榫S護(hù)上的問(wèn)題。至此我才明白維護(hù)軟件是軟件生存周期中時(shí)間最長(zhǎng)的一個(gè)階段,它是最花費(fèi)精力與錢(qián)財(cái)?shù)囊粋(gè)階段。
如果將來(lái)你們碰到了我,你跟我說(shuō)你是se那么我會(huì)很高興,如果你告訴我你是軟件工程師,我只會(huì)“嗯嗯”兩下。
其實(shí)在我接觸軟件后,渴望的是當(dāng)一名軟件工程師,F(xiàn)在才知道學(xué)軟件工程專(zhuān)業(yè)后,去當(dāng)一名軟件工程師是最低層的也是最沒(méi)“技術(shù)”含量的。要做就做系統(tǒng)構(gòu)架師,當(dāng)然這需要我們的`不懈努力才能達(dá)到。系統(tǒng)構(gòu)架師的職責(zé)是設(shè)計(jì)一個(gè)公司的基礎(chǔ)構(gòu)架,并提供關(guān)于怎樣建立和維護(hù)系統(tǒng)的指導(dǎo)方針。恍然發(fā)現(xiàn)學(xué)軟件不僅是學(xué)軟件,相關(guān)的管理能力也是需要具備的。
當(dāng)然理論知識(shí)是用來(lái)指導(dǎo)實(shí)踐的,親身體驗(yàn)才能領(lǐng)悟軟件工程的妙用。課設(shè)我們選擇了圖書(shū)館管理系統(tǒng),主要是這個(gè)系統(tǒng)我們接觸比較多,對(duì)于它的流程還是比較清楚的。雖然如此我們還是花了很大的時(shí)間去完成它。記得當(dāng)時(shí)我們定下這個(gè)題目是晚上,在討論用什么語(yǔ)言實(shí)現(xiàn)時(shí),大家各自說(shuō)出自己比較善于的語(yǔ)言。然后均衡了下,定下用java做開(kāi)發(fā)語(yǔ)言。在實(shí)現(xiàn)過(guò)程中,突然發(fā)現(xiàn)java環(huán)境連接數(shù)據(jù)庫(kù)和tomcat超級(jí)麻煩且數(shù)據(jù)庫(kù)老是連接不上。趁時(shí)間還早我們?nèi)俅斡懻,決定用c#做開(kāi)發(fā)語(yǔ)言,主要是c#相對(duì)于c++與java來(lái)說(shuō)簡(jiǎn)易寫(xiě)。同時(shí)我們定下不管以后遇到什么困難都要堅(jiān)持下去的準(zhǔn)則。在課設(shè)期間我們沒(méi)少跑圖書(shū)館,查閱各種資料,對(duì)比各本書(shū)上實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)的代碼。終于在4月11日把所有課設(shè)的所有事情弄好了。當(dāng)然這只是個(gè)概述。
我印象尤深記憶深厚的是最初實(shí)現(xiàn)文檔那塊。剛開(kāi)始,軟件工程這門(mén)課還沒(méi)學(xué)多少,基本的設(shè)計(jì)理念就很模糊。文檔到底該怎么寫(xiě),很糾結(jié)。于是我從網(wǎng)上狂下相關(guān)文檔。通過(guò)粘貼與復(fù)制終于一份內(nèi)容亂七八糟的需求分析文檔出來(lái)了,當(dāng)然這只是用來(lái)借鑒的。后來(lái)孟陽(yáng)分享了十三份關(guān)于文檔這方面的模板。我們照著那個(gè)樣子在結(jié)合團(tuán)隊(duì)項(xiàng)目的相關(guān)實(shí)例開(kāi)始了文檔的寫(xiě)作。我們的文檔總是一個(gè)人先寫(xiě)好,再拿給另一個(gè)人改,最后由第三個(gè)人評(píng)審。大家都覺(jué)的可以了,才過(guò)關(guān)。測(cè)試報(bào)告雖然是我一個(gè)人完成了,但也經(jīng)歷了不少時(shí)間,當(dāng)然這時(shí)間是按小時(shí)算的。首先把大體寫(xiě)出了,然后修改,再增加信息。大量的截圖以及思考怎樣用例超費(fèi)腦子,兩天的通宵,徹底把我搞垮了,不過(guò)在文檔出爐后,心里異常開(kāi)心。
軟件工程課程雖已結(jié)束,但我對(duì)于軟件工程的學(xué)習(xí)才剛剛開(kāi)始,裴老師的課讓我受益匪淺。我體會(huì)到項(xiàng)目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項(xiàng)目開(kāi)發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習(xí)到很多一般性的方法,例如:需求獲娶模塊化、分治、估算、計(jì)劃等等。同時(shí),我也認(rèn)識(shí)到使用計(jì)算機(jī)解決實(shí)際問(wèn)題的復(fù)雜性,在圖靈機(jī)模型和馮·諾依曼體系的計(jì)算機(jī)框架下,人們認(rèn)識(shí)表達(dá)的過(guò)程(不斷反復(fù)、逐步深化)和計(jì)算機(jī)的實(shí)現(xiàn)過(guò)程(順序執(zhí)行)相差甚遠(yuǎn),軟件工程方法要提供給程序員們一種更加有效的對(duì)客觀世界問(wèn)題域進(jìn)行形式化的過(guò)程方法。
向se進(jìn)軍!至少這是現(xiàn)在的目標(biāo)。
謝謝裴老師!您的課通俗易懂,舉的例子貼近生活,讓我們易于接受。
【軟件工程課心得體會(huì)】相關(guān)文章:
軟件工程心得體會(huì)09-30
軟件工程的實(shí)習(xí)心得體會(huì)01-29
公司軟件工程實(shí)驗(yàn)心得體會(huì)08-17
軟件工程實(shí)訓(xùn)心得體會(huì)09-30
軟件工程專(zhuān)業(yè)實(shí)習(xí)心得體會(huì)范文08-25
軟件工程實(shí)訓(xùn)心得體會(huì)范文07-14
觀課議課的心得體會(huì)02-26
觀課議課心得體會(huì)04-25