軟件工程實(shí)驗(yàn)心得體會(huì)范文
我們從一些事情上得到感悟后,通常就可以寫一篇心得體會(huì)將其記下來(lái),這樣就可以通過(guò)不斷總結(jié),豐富我們的思想。應(yīng)該怎么寫才合適呢?以下是小編幫大家整理的軟件工程實(shí)驗(yàn)心得體會(huì)范文,僅供參考,大家一起來(lái)看看吧。
軟件工程實(shí)驗(yàn)心得體會(huì)1
早在我選擇民政職業(yè)技術(shù)學(xué)院就讀軟件開(kāi)發(fā)與項(xiàng)目管理這門專業(yè)的時(shí)候,我一直認(rèn)為軟件開(kāi)發(fā)無(wú)非是努力的敲代碼,從敲代碼的過(guò)程中去體會(huì)各行代碼的意思和用處,在沒(méi)學(xué)軟件工程時(shí)我一直都是努力的敲代碼去學(xué)習(xí)軟件開(kāi)發(fā)這門專業(yè)。在大一的時(shí)候我敲代碼的激情很好,但是到大二的時(shí)候就出現(xiàn)問(wèn)題了,我根本就不喜歡敲代碼了,看見(jiàn)代碼就頭疼。所以感覺(jué)厭惡這門專業(yè),對(duì)學(xué)習(xí)也不感興趣了。而且,還有一件更頭疼的事是在寫一個(gè)簡(jiǎn)單的程序時(shí)竟然老是出錯(cuò),難一點(diǎn)的,復(fù)雜一點(diǎn)的程序竟然無(wú)從下手。但是去看程序的參考答案時(shí)都看得懂,又感覺(jué)很容易。學(xué)了軟件工程以后,我就感覺(jué)我以前的學(xué)習(xí)方法是錯(cuò)誤的。以前我只注重于代碼,而不注重理論知識(shí)以及編程的思路,程序的架構(gòu)。以至于在些程序時(shí)沒(méi)有寫程序的思路,不能形成程序的架構(gòu)。只想到看腦袋里是否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個(gè)方面下手了。
軟件工程這門課程是做軟件開(kāi)發(fā)的人必學(xué)的課程,通過(guò)學(xué)這門課程,程序員就會(huì)注重軟件開(kāi)發(fā)的理論知識(shí),以及做項(xiàng)目開(kāi)發(fā)的思路。學(xué)了這門課程后你寫程序就不會(huì)去盲目的去套用代碼,而是理清此程序的架構(gòu)以及思路。程序該從什么時(shí)候開(kāi)始,什么時(shí)候結(jié)束。在中間需要添加什么樣的功能,以完善該軟件。其實(shí)學(xué)軟件工程并不難,而且很容易。軟件工程與日常生活聯(lián)系起來(lái)的話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再?gòu)?fù)雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實(shí)現(xiàn)軟件的功能。如果沒(méi)學(xué)軟件工程不知道理清程序的思路的話,做一個(gè)大的項(xiàng)目開(kāi)發(fā),那么多的代碼,沒(méi)有一個(gè)很好的結(jié)構(gòu),最終只會(huì)導(dǎo)致程序混亂,錯(cuò)誤百出,知道代碼再多也會(huì)素手無(wú)策的。
總而言之,作為一個(gè)程序員學(xué)習(xí)軟件工程這門課程是至關(guān)必要的,如果沒(méi)學(xué)習(xí)軟件工程,你就不會(huì)做項(xiàng)目開(kāi)發(fā),也不可能開(kāi)發(fā)出一個(gè)完善的軟件出來(lái)。
軟件工程實(shí)驗(yàn)心得體會(huì)2
曾經(jīng)看過(guò)一本書叫《道法自然》,內(nèi)容略記得一二,但我最欣賞的是它的書名。軟件設(shè)計(jì)沒(méi)什么太神秘有東西,只要用心體會(huì),其實(shí)一切都很自然。軟件的設(shè)計(jì)之“道”,也不在于設(shè)計(jì)有多么的華麗、精巧,而在于其樸實(shí)、自然,最終達(dá)到“以無(wú)招勝有招”,進(jìn)入一個(gè)全新的境界。
一、軟件設(shè)計(jì)理論的層次
以我的拙見(jiàn),軟件設(shè)計(jì)領(lǐng)域中的各種概念,可以分為以下幾個(gè)層次來(lái)進(jìn)行理解:
1、軟件設(shè)計(jì)的'目的:重用性、擴(kuò)展性。
這是最高的層次,是應(yīng)對(duì)軟件危機(jī)的需要。
2、設(shè)計(jì)原則:低耦合、高聚合。
各種軟件設(shè)計(jì)的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設(shè)計(jì)模式,其根本的目的其實(shí)只是為了降低耦合這么簡(jiǎn)單。因?yàn)橹挥械婉詈喜拍芨玫倪m應(yīng)變化,更好的重用和擴(kuò)展。
3、實(shí)現(xiàn)方法:運(yùn)用設(shè)計(jì)模式封裝變化、降低耦合。
設(shè)計(jì)模式只是用來(lái)“封裝變化、降低耦合”的工具而已。它是面向?qū)ο笤O(shè)計(jì)時(shí)代的產(chǎn)物,其本質(zhì)就是充分運(yùn)用面向?qū)ο蟮娜齻(gè)特性,即:封裝、繼承和多態(tài),進(jìn)行靈活的組合運(yùn)用。
二、關(guān)于耦合
1、耦合的粒度
耦合無(wú)論如何也是不可避免的。當(dāng)我們實(shí)現(xiàn)接口、繼承父類的時(shí)候,就會(huì)不可避免的產(chǎn)生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認(rèn)為應(yīng)以模塊的重用粒度為準(zhǔn)。盡量解除重用模塊或?qū)ο笾g的耦合。而重用模塊之內(nèi)的耦合,應(yīng)屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說(shuō)為什么各種設(shè)計(jì)模式能達(dá)到解耦的目的呢?我覺(jué)得有以下幾個(gè)思路:
(1)將具體的東西抽象處理
。2)將分散的東西集中處理
而面向?qū)ο笾械慕涌、繼承正為我們提供了這樣的一種機(jī)制。通過(guò)訪問(wèn)接口或基類或抽象類,而不是具體的實(shí)現(xiàn)類,從而與具體的實(shí)現(xiàn)類達(dá)到了解耦的目的。我們還可以設(shè)計(jì)一些控制類,像潤(rùn)滑劑一樣,協(xié)調(diào)各實(shí)現(xiàn)類之間的訪問(wèn),也可以達(dá)到耦的目的。
事實(shí)上,各種設(shè)計(jì)模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對(duì)象時(shí)產(chǎn)生的耦合,實(shí)際上是解除對(duì)類稱名的依賴,而結(jié)構(gòu)型和行為型是為了解除對(duì)象屬性或方法的直接調(diào)用。不管什么設(shè)計(jì)模式,都是將對(duì)具體實(shí)現(xiàn)類的訪問(wèn)提升為對(duì)接口、基類或用于協(xié)調(diào)的控制類的訪問(wèn)。
三、關(guān)于接口
這一節(jié)更具體,談一談接口,因?yàn)槭褂媒涌谑擒浖O(shè)計(jì)的重要手段,但已經(jīng)不屬于“道”了。
1、接口與繼承
接口描述的是對(duì)象某一個(gè)方面行為特征。使用接口與使用繼承關(guān)系各有優(yōu)缺點(diǎn),使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因?yàn)樗獬俗宇惻c父類之間的高度耦合,它體現(xiàn)在靈活擴(kuò)展的精神。
2、接口與純虛類
理論上接口可以由純虛基類實(shí)現(xiàn)類似的功能,那為什么還我們不去掉接口的概念,而直接使用虛類呢?
接口存在的理由就是它更加靈活,關(guān)系簡(jiǎn)單,易于理解。比如一個(gè)類可以實(shí)現(xiàn)十幾個(gè)甚至幾十個(gè)接口,但一般開(kāi)發(fā)工具只支持單繼承(由于多繼承太容易導(dǎo)致混亂和沖突),如果要繼承十幾層,系統(tǒng)結(jié)構(gòu)想必會(huì)無(wú)法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結(jié)合使用,可以產(chǎn)生強(qiáng)大的威力,這也是許多設(shè)計(jì)模式的“殺手锏”。
以上算是總結(jié)一下自己的心得?隙ㄓ胁簧倨嬷,請(qǐng)各位指教。
【軟件工程實(shí)驗(yàn)心得體會(huì)范文】相關(guān)文章:
做實(shí)驗(yàn)心得體會(huì)優(yōu)秀范文03-23
軟件工程師簡(jiǎn)歷范文09-01
實(shí)訓(xùn)實(shí)驗(yàn)心得體會(huì)03-26
實(shí)驗(yàn)心得體會(huì)(15篇)03-23
軟件工程論文畢業(yè)開(kāi)題報(bào)告范文08-06
軟件工程師工作簡(jiǎn)歷范文11-21