- 相關(guān)推薦
關(guān)于軟件工程的學(xué)習(xí)方法的論文
篇一:軟件工程專業(yè)學(xué)習(xí)方法
study methods of Software engineering 蔡娟(出生于1983年)、女、江蘇省揚(yáng)州市、廣州科技職業(yè)技術(shù)學(xué)院及助教、碩士、軟件開發(fā)
摘要:軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。本文就學(xué)習(xí)方法討論了軟件工程這一專業(yè)。
關(guān)鍵詞:軟件工程、代碼、實踐
嚴(yán)格地說,軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。本文主要按學(xué)期劃分討論基于理論學(xué)習(xí)和研究的實踐學(xué)習(xí)。
第一學(xué)期
通過閱讀大量的C代碼,了解計算機(jī)程序設(shè)計方法和一般規(guī)則,為以后學(xué)習(xí)打下堅實的基礎(chǔ)。在計算機(jī)文化基礎(chǔ)部分,可以考慮學(xué)習(xí)網(wǎng)頁設(shè)計(最好是從HTML和JS開始),C代碼可以找些開源項目的代碼片段閱讀。本學(xué)期除了課堂要求,最少要完成500行以上的代碼量。
第二學(xué)期
本學(xué)期的專業(yè)課程不多,建議將大量的時間投入在數(shù)據(jù)結(jié)構(gòu)和算法上。C++要閱讀和書寫大量的代碼。計算機(jī)組成原理是單片機(jī)和嵌入式方向的基礎(chǔ),要將各功能電路部分完全看懂和活用,如果有機(jī)會做課程設(shè)計,一定要認(rèn)真思考。數(shù)據(jù)結(jié)構(gòu)是這個學(xué)期的重點內(nèi)容,其核心是各種數(shù)據(jù)結(jié)構(gòu)的特性,在算法初步,要認(rèn)真對待排序和查找的內(nèi)容,最好多做練習(xí)。另外,完全照搬和硬套某些算法或者莫名其妙的使用某種數(shù)據(jù)結(jié)構(gòu)來設(shè)計程序,是非常不理智,這樣做使得對問題的認(rèn)識過程出現(xiàn)錯誤,而且易將問題復(fù)雜化。
第三學(xué)期
這學(xué)期的課程,可以說是軟件工程專業(yè)最為重要的了,在java部分,已經(jīng)可以開始思考面向?qū)ο蠛驮O(shè)計模式的問題了。操作系統(tǒng)可以說是計算機(jī)科學(xué)與工程實踐之集大成者,其中大量的運(yùn)用了數(shù)據(jù)結(jié)構(gòu)、計算機(jī)組成原理等課程中學(xué)習(xí)的設(shè)計方法,包含了計算機(jī)工程實踐方面遇到問題時的解決方案,且本身就是代碼閱讀的最好素材。能夠深入理解了計算機(jī)操作系統(tǒng)理論與實踐。
回顧軟件工程專業(yè)的課程,總體來說,課程體系中設(shè)置了5類課程:
1 理論系列課程
2 系統(tǒng)系列課程
3 開發(fā)工具系列課程
4 管理系列課程
5 軟件工程系列課程
理論類課程主要包含高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計、離散數(shù)學(xué)等等。系統(tǒng)類課程主要包含操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等等課程,是專業(yè)課程的重要組成部分。這類課程作為開發(fā)工具課程的必要支撐。開發(fā)工具課程是需要基礎(chǔ)的,不是說學(xué)習(xí)了某種編程語言的文法就完全可以使用該語言工作了,同樣用C,層次不同,效果也不同。這樣說來,類似數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)這種課程就可以歸于此類。硬件相關(guān)課程。軟件工程的課程體系中,淡化了硬件相關(guān)課程,課程數(shù)量和深度對比計算機(jī)科學(xué)專業(yè)有一定的縮減。這是增加實習(xí)時間和增加軟件工程和管理課程的必然結(jié)果。那么面對著這些硬件相關(guān)的課程,應(yīng)該盡量以軟件工程師的角度來看待軟硬結(jié)合的問題,發(fā)揮我們的優(yōu)勢,而不是和有自動化、計算機(jī)背景的硬件工程師來比拼硬件功夫。其實,這個問題上,學(xué)計算機(jī)的位置最尷尬,位于軟件工程和自動化中間。開發(fā)工具系列課程主要包含各種編程語言和開發(fā)環(huán)境課程,C、C++、java、j2ee等。其學(xué)習(xí)方法主要有兩個流派:先博后精:首先廣泛地學(xué)習(xí)各種編程語言和開發(fā)工具,在學(xué)習(xí)的過程中做到舉一反三,基本上掌握了主流工具以后,再根據(jù)自己的興趣和未來工作的要求,選擇1~2門編程語言來深入學(xué)習(xí);先精后博:基本是上個方法的逆序。就是首先把1~2門語言完全精通,然后再開闊視野。總之,不管采用哪一種方法,在學(xué)習(xí)的過程中,一定要多讀多寫,以案例(最好是實際工程)為導(dǎo)向,體會開發(fā)的異同。另外,代碼風(fēng)格絕對是個大問題。根據(jù)軟件學(xué)院的課程設(shè)置特點,我推薦使用第一種方法讀寫練,要規(guī)范。管理系列課程主要包含軟件項目管理、軟件過程管理等課程。學(xué)習(xí)的方法與管理學(xué)專業(yè)的學(xué)生相比較有著很大的區(qū)別。
首先,軟件工程專業(yè)研究的管理學(xué)知識,不是艱深的理論,也不是全面系統(tǒng)的研究,而是實用的管理技術(shù)。僅僅通過課程的學(xué)習(xí),完全不可能掌握管理藝術(shù)的精髓。這個東西涵蓋的范圍太廣泛了,與個人的性格、交際能力、語言習(xí)慣甚至飲食習(xí)慣都有關(guān)系。還是需要經(jīng)驗。管理藝術(shù),是在實踐中逐漸完善的。書本固然重要,可是實踐更重要。只看書本,是做不好管理工作的。即便是看了《管理的N條金科玉律》這樣的書,也要因地制宜、根據(jù)實際情況來做,而不能夠生搬硬套的。 總之,這類課程的學(xué)習(xí)過程中,占主導(dǎo)地位的是實踐,每一次團(tuán)隊項目開發(fā)甚至課程設(shè)計都是一次難得的機(jī)會,要好好把握。軟件工程系列課程,包含軟件工程、軟件體系結(jié)構(gòu)等等。學(xué)習(xí)這類課程,首先要理解課程的意義、內(nèi)涵和外延。實際上,這些課程就是給大家介紹了一套經(jīng)驗上證明了優(yōu)秀的、成體系的、工程化的方法論。工程和科學(xué)實驗不同,往往不都是理想狀態(tài)的。所以,工程中也沒有什么應(yīng)該是一成不變的,改變通的要學(xué)會變通。
最后,軟件是由人來完成的,所有由人做的工作都不會是完美無缺的。軟件開發(fā)是個很復(fù)雜的過程,期間很容易產(chǎn)生錯誤。無論是軟件從業(yè)人員、專家和學(xué)者做了多大的努力,軟件錯誤仍然存在。因而大家也得到了一種共識:軟件中殘存著錯誤,這是軟件的一種屬性,是無法改變的。所以通常說引入軟件測試學(xué)科是很重要的。軟件測試的目的就是為了發(fā)現(xiàn)盡可能多的缺陷,并期望通過改錯來把缺陷消滅,以提高軟件的質(zhì)量。測試雖然也與開發(fā)過程緊密相關(guān),但關(guān)心的不是過程的活動,而是對過程的產(chǎn)物以及開發(fā)出的軟件進(jìn)行剖析。測試人員要“執(zhí)行”軟件,對過程中的產(chǎn)物——開發(fā)文檔和源代碼進(jìn)行走查,運(yùn)行軟件,以找出問題,報告質(zhì)量。測試人員必須假設(shè)軟件存在潛在的問題,測試中所做的操作是為了找出更多的問題,而不僅僅是為了驗證每一件事是正確的。
篇二:軟件工程的學(xué)習(xí)方法與發(fā)展前景
摘要:軟件工程作為一門指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科,對于我們用系統(tǒng)的、規(guī)范的、可度量的途徑去開發(fā)運(yùn)行和維護(hù)軟件有著十分重要的意義,因此軟件工程有著良好的發(fā)展前景。在學(xué)習(xí)軟件工程的過程中,我們應(yīng)當(dāng)理論和實踐并重,在實戰(zhàn)中把課本上的知識轉(zhuǎn)變?yōu)榧夹g(shù)和經(jīng)驗。
關(guān)鍵詞:本質(zhì)特性、理論實踐、發(fā)展前景
1、軟件工程的概念
軟件工程是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計算機(jī)軟件的一門新興學(xué)科,它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,從而經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。軟件工程的這種采用工程的思想來開發(fā)和維護(hù)軟件有效地解決了軟件危機(jī),開發(fā)出滿足人們需求的各種軟件。
2、軟件工程的學(xué)習(xí)
在學(xué)習(xí)軟件工程的過程中,我們首先應(yīng)該了解軟件工程的幾個本質(zhì)特性。
1、軟件工程著重關(guān)注于大型程序的構(gòu)造。
2、軟件工程的核心課題是控制軟件開發(fā)過程中的復(fù)雜性。在軟件開發(fā)過程中,我們可以把問題分解,使得分解出的每個部分都是可理解的,而且各個部分之間保持簡單的通信關(guān)系,這種方法并不能降低問題的整體復(fù)雜性,但是卻可以使它變成可以管理的。
3、由于軟件的經(jīng)常變化,在開發(fā)的過程中必須考慮軟件將來可能發(fā)生的變化。
4、注意軟件開發(fā)的效率。
5、和諧地合作是開發(fā)軟件的關(guān)鍵,為了有效的合作必須明確地規(guī)定每個人的責(zé)任和相互通信的方法。
6、軟件必須有效的支持它的用戶,如果用戶對軟件系統(tǒng)不滿意可以棄用該系統(tǒng)或者立即提出新的需求,因此僅僅用正確的方法構(gòu)造系統(tǒng)還不夠,還必須構(gòu)造出正確的系統(tǒng)。在了解了軟件工程的本質(zhì)特性后,我們也更加明確了自己的學(xué)習(xí)目標(biāo)。從軟件工程課程的體系結(jié)構(gòu)來看,軟件工程設(shè)置了5門學(xué)科:理論系列課程、系統(tǒng)系列課程、開發(fā)工具系列課程、管理系列課程、軟件工程系列課程。
在我們學(xué)習(xí)理論課程(高數(shù)、離散數(shù)學(xué)、線性代數(shù)等)的時候,或許會感覺比較枯燥、抽象,但這些課程是我們以后學(xué)習(xí)的基礎(chǔ),在我們學(xué)習(xí)其他課程或解決一些實際問題時,這些理論課程的價值就會得到充分地體現(xiàn),在應(yīng)用這些理論課程的知識時,我們也會覺得這些知識其實并不枯燥,而在實際的應(yīng)用過程中,我們對知識的理解也會進(jìn)一步加深。
開發(fā)工具課程也是十分重要的,而且不是說學(xué)習(xí)了某種編程語言的文法就完全可以使用該語言工作了,同樣用C語言編寫程序,層次不同,效果也不同。這樣說來,類似數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)這種課程就可以歸于此類。開發(fā)工具系列課程主要包含各種編程語言和開發(fā)環(huán)境課程,C、C 、Java、J'2ee等。其學(xué)習(xí)方法主要有兩個流派:先博后精:首先廣泛地學(xué)習(xí)各種編程語言和開發(fā)工具,在學(xué)習(xí)的過程中做到舉一反三,基本上掌握了主流工具以后,再根據(jù)自己的興趣和未來工作的要求,選擇1—2門編程語言來深入學(xué)習(xí);先精后博:基本是上個方法的逆序。就是首先把1—2門語言完全精通,然后再開闊視野?傊,不管采用哪一種方法,在學(xué)習(xí)的過程中,一定要多讀多寫,以案例(最好是實際工程)為導(dǎo)向,體會開發(fā)的異同。另外,代碼風(fēng)格絕對是個大問題。根據(jù)軟件學(xué)院的課程設(shè)置特點,我推薦使用第一種方法讀寫練,要規(guī)范。這些課程的學(xué)習(xí)與實際操作是密不可分的,也只有在實際操作中我們能發(fā)現(xiàn)自己學(xué)習(xí)的不足之處,進(jìn)而提高自己的能力。
管理系列課程主要包含軟件項目管理、軟件過程管理等課程。學(xué)習(xí)的方法與管理學(xué)專業(yè)的學(xué)生相比較有著很大的區(qū)別。首先,軟件工程專業(yè)研究的管理學(xué)知識,不是艱深的理論,也不是全面系統(tǒng)的研究,而是實用的管理技術(shù)。僅僅通過課程的學(xué)習(xí),完全不町能掌握管理藝術(shù)的精髓。這個東西涵蓋的范同太廣泛了,與個人的性格、交際能力、語言習(xí)慣甚至飲食習(xí)慣都有關(guān)系。總之,這類課程的學(xué)習(xí)過程中,占主導(dǎo)地位的是實踐,每一次團(tuán)隊項目開發(fā)甚至課程設(shè)計都是一次難得的機(jī)會,要好好把握。軟件工程系列課程,包含軟件工程、軟件體系結(jié)構(gòu)等等。學(xué)習(xí)這類課程,首先要理解課程的意義、內(nèi)涵和外延。實際上,這些課程就是給大家介紹了一套經(jīng)驗上證明了優(yōu)秀的、成體系的、工程化的方法論。工程和科學(xué)實驗不同,往往不都是理想狀態(tài)的。所以程中也沒有什么應(yīng)該是一成不變的,改變通的要學(xué)會變通。
我們可以發(fā)現(xiàn)軟件工程的課程體系中,淡化了硬件相關(guān)課程,課程數(shù)量和深度對比計算機(jī)科學(xué)專業(yè)有一定的縮減。這是增加實習(xí)時間和增加軟件工程和管理課程的必然結(jié)果,我們在這兩方面應(yīng)該更加認(rèn)真學(xué)習(xí)以體現(xiàn)我們的優(yōu)勢。
3、軟件工程的發(fā)展前景
在當(dāng)前這個科技高度發(fā)達(dá)并以較快速度保持進(jìn)步的時代,計算機(jī)在各行各業(yè)中的應(yīng)用起到了至關(guān)重要的作用,在人們處理大量信息的時候,計算機(jī)是人們的首要選擇。一些部門如通信建設(shè)、醫(yī)療、教育、交通、旅游、財政、郵電及個人運(yùn)用計算機(jī)中的軟件來處理各種各樣的計算問題,大大加快了人們處理實際問題的效率。由于人們對各種處理不同問題的軟件的大量需求,軟件工程作為一種能規(guī)范地、有效地、大規(guī)模地制造軟件的方式自然有很好的發(fā)展前景與發(fā)展空間。目前受限于軟件工程的相關(guān)理論并不十分成熟,人們在制造軟件的過程中僅有一部分應(yīng)用到軟件工程的相關(guān)知識,因此軟件工程的發(fā)展空間必將逐步變得更為寬廣,軟件工程也將進(jìn)一步為人類文明與科技的發(fā)展做出貢獻(xiàn)。
4、個人體會與總結(jié)
軟件工程作為一種用工程的思想來規(guī)范地有效地開發(fā)和維護(hù)軟件的方式,有著無窮的活力與廣泛的發(fā)展空間,這門學(xué)科需要我們學(xué)好多門基礎(chǔ)課程,打好基礎(chǔ),并在實踐中不斷學(xué)習(xí)、不斷提高自己,勤于思考,勇于創(chuàng)新,為軟件工程的發(fā)展作出自己的貢獻(xiàn)。
參考文獻(xiàn)與網(wǎng)站:
軟件工程--百度百科
軟件工程發(fā)展前景--百度文庫
Shari Lawrence Pfleeger, Joanne M.Atlee 著,楊衛(wèi)東 譯 《軟件工程》(第三版) 人民郵電出版社2007
張海藩.《軟件工程導(dǎo)論》(第五版).清華大學(xué)出版社,2008
篇三:軟件工程學(xué)習(xí)方法解析
摘要
1968年在聯(lián)邦德國召開的NATO會議上,首次提出“軟件工程”的概念,提出了在軟件生產(chǎn)中采用工程話的方法,采用一系列科學(xué)的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。軟件才逐漸發(fā)展起來.軟件工程是研究以工程化的理論、方法和技術(shù)為指導(dǎo)開發(fā)較大規(guī)模軟件系統(tǒng)的學(xué)科,其主要由可行性分析,需求分析、設(shè)計、編碼、測試、維護(hù)6部分組成。在計算機(jī)軟件領(lǐng)域中占有中心地位。在我們現(xiàn)在這個信息時代,軟件已經(jīng)應(yīng)用與各個方面,它不僅帶來了經(jīng)濟(jì)的發(fā)展,也大大提高了人們生活的質(zhì)量。
Summary In the federal republic of Germany in 1968 at the NATO meeting, the first put forward the concept of "software engineering, and puts forward the
software used in the production of engineering words method, the series of scientific and modern methods to develop the software technology。Software it gradually developed software engineering is the study. In engineering theory, the method and technology for developing large-scale software system, and the main subject of feasibility analysis, requirement analysis, design, code, test, maintenance and parts. In computer software field have the central status. We are now in the age of information, the software has been used with each aspect, it not only brings the development of economy, also greatly improve the quality of human life.
關(guān)鍵字:軟件產(chǎn)品、項目、階段
信息社會的高科技,商品經(jīng)濟(jì)化的高效益,使計算機(jī)的應(yīng)用普及到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。信息時代的到來,計算機(jī)早已潛入人類的生活,與我們息息相關(guān)。隨著信息的發(fā)展,軟件也越來越重要【1】。在這個處處以信息作戰(zhàn)的時代,軟件應(yīng)用于多個方面。如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,軟件在各個行業(yè)流行起來,起到了不可代替的作用,如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。
這學(xué)期我們專業(yè)也學(xué)了軟件工程,讓我體會了軟件工程在要開發(fā)項目的重要性。我覺得軟件工程,是以團(tuán)隊來完成的,以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是由6個重要階段組成:可行性分析、需求分析、設(shè)計、編碼、測試、維護(hù)。
可行性研究
關(guān)于分析項目開發(fā)技術(shù)的文檔,開發(fā)任何一個基于計算機(jī)的系統(tǒng)都會受到時間和資源的限制。因此,開發(fā)方在接受客戶的項目之前,必須根據(jù)客戶可能提供的時間和資源等條件進(jìn)行可行性研究?尚行匝芯孔罡镜娜蝿(wù)是對以后的行動方針提起建議,如果問題沒有可行性的解決方案,應(yīng)建議停止這個項目的開發(fā),以避免資源,人力和金錢的浪費(fèi).如果問題值得解,則推薦一個好的解決方案,并制定一個初期的項目計劃【2】。
需求分析
這個階段主要是解決“做什么”的問題,對要開發(fā)的軟件的各方面進(jìn)行準(zhǔn)確的定義。需求分析處于軟件開發(fā)過程的開始階段,但它對整個軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的.為了開發(fā)出令用戶滿意的軟件產(chǎn)品,就必須準(zhǔn)確知道用戶的需求,確定用戶所需軟件產(chǎn)品的功能【3】,對軟件需求分析的準(zhǔn)確是軟件產(chǎn)品獲得成功的前提,如果需求分析沒有全面考慮,設(shè)計和編碼做得再好,也不能滿足用戶的需求只會令用戶失望,不但這樣,還會給開發(fā)者帶來麻煩,浪費(fèi)時間,金錢,造成不必要的麻煩,需求分析的任務(wù)包括確定軟件系統(tǒng)的功能需求、性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說明書、軟件系統(tǒng)的驗收 測試準(zhǔn)則和初步的用戶手冊。
設(shè)計階段
概要設(shè)計
在軟件需求分析階段,明白了軟件”做什么”,就進(jìn)入設(shè)計階段,這個階段要把軟件”做什么”的邏輯模型轉(zhuǎn)換為”做什么”的物理模型 ,即將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件系統(tǒng)結(jié)構(gòu).
詳細(xì)設(shè)計
進(jìn)行概要設(shè)計后,需要對軟件產(chǎn)品的進(jìn)一步細(xì)化。如:法設(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫的設(shè)計。詳細(xì)設(shè)計是程序設(shè)計的藍(lán)圖,程序員可以根據(jù)藍(lán)圖編寫程序內(nèi)部的細(xì)節(jié),包括算法、數(shù)據(jù)結(jié)構(gòu)以及各程序之間的接口,并對其設(shè)計單元測試計劃。 編碼階段用戶需要的軟件功能設(shè)計好后,接下來做的就是需要編譯一個軟件來具體的將用戶的需求都實現(xiàn),編譯就需要使用相關(guān)語言來編寫代碼。編碼的主要任務(wù)是根據(jù)詳細(xì)設(shè)計規(guī)格說明,用某種選定的程序設(shè)計語言把詳細(xì)設(shè)計的結(jié)果轉(zhuǎn)化為機(jī)器可運(yùn)行的源程序模塊【4】,這是一個編程和調(diào)試程序的過程。
測試階段
在軟件開發(fā)工程中,特別是在開發(fā)大型的軟件系統(tǒng)中,面對的問題是極其多樣、復(fù)雜的。因此,在軟件生命周期的每個階段都不可避免地會產(chǎn)生錯誤。應(yīng)該在每個階段結(jié)束之前進(jìn)行嚴(yán)格的檢查,盡可能的發(fā)現(xiàn)并糾正錯誤【5】。所以測試要介入每個階段,測試也分許多種,如可分為:單元測試,編碼階段的子模的測試;組裝測試:設(shè)計階段的鏈接組裝測試;確認(rèn)測試,對分析階段的功能測試;系統(tǒng)測試,系統(tǒng)與實際的匹配測試,根據(jù)不同的情況,選擇符合的測試。 維護(hù)階段不要以為把軟件交給用戶就完工了,還有一個重要的階段,就是維護(hù),維護(hù)在軟件的生命周期中占用了最多的時間,維護(hù)不僅是要維護(hù)軟件的正確性,還要對其進(jìn)行修改,增加新的功能等。在維護(hù)時,以需求分析報告為依據(jù)【6】。當(dāng)用戶提出需要修改原需求分析報告內(nèi)容的時候,以界面設(shè)計說明書為依據(jù)。當(dāng)用戶提出的要求需要修改界面設(shè)計說明書時,如對界面上的輸入項,輸出項的修改,頁面風(fēng)格的修改。具體的性能如下:
校正性:診斷、改正陷藏錯誤
適應(yīng)性:適應(yīng)軟件環(huán)境的修改
完善性:增加新的功能、性能
預(yù)防性:提高軟件的可維護(hù)性
以上就是這學(xué)期我們所學(xué)的各個階段,以前,以為軟件工程只是一個比較文科的內(nèi)容,在學(xué)習(xí)后,明白了它不止這樣,每個階段都是技術(shù)含量的活,軟件工程在開發(fā)成功軟件的重要性。雖然只學(xué)了一學(xué)期,但對于我們軟件專業(yè)而言,其重要性不壓與編碼,如果以后從事這方面的工作,就會經(jīng)常打交道了。
參考文獻(xiàn)
。1)《軟件工程PPT》
。2)www.baidu.com
(3)《軟件設(shè)計精要與模式》——張逸 著
(4 )《計算機(jī)與現(xiàn)代化》-----胡建華 楊軍 2006 第8期 - 維普資訊網(wǎng)
。5)《軟件能力成熟模型》----何新貴 清華大學(xué)出版社
篇四:軟件工程專業(yè)學(xué)習(xí)方法
摘 要:軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。討論了軟件工程這一專業(yè)的學(xué)習(xí)法。
關(guān)鍵詞:軟件工程;學(xué)習(xí)方法;計算機(jī)教學(xué)
0 引言
嚴(yán)格地說,軟件工程是應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。本文主要按學(xué)期劃分討論基于理論學(xué)習(xí)和研究的實踐學(xué)習(xí)。
1第一學(xué)習(xí)階段
通過閱讀大量的C代碼,了解計算機(jī)程序設(shè)計方法和一般規(guī)則,為以后學(xué)習(xí)打下堅實的基礎(chǔ)。在計算機(jī)文化基礎(chǔ)部分,可以考慮學(xué)習(xí)網(wǎng)頁設(shè)計(最好是從HTML和JS開始),C代碼可以找些開源項目的代碼片段閱讀。本學(xué)期除了課堂要求,最少要完成500行以上的代碼量。
2第二學(xué)習(xí)階段
本學(xué)期的專業(yè)課程不多,建議將大量的時間投入在數(shù)據(jù)結(jié)構(gòu)和算法上。C++和嵌入式方向的基礎(chǔ),要將各功能電路部分完全看懂和活用,如果有機(jī)會做課程設(shè)計,一定要認(rèn)真思考。數(shù)據(jù)結(jié)構(gòu)是這個學(xué)期的重點內(nèi)容,其核心是各種數(shù)據(jù)結(jié)構(gòu)的特性,在算法初步,要認(rèn)真對待排序和查找的內(nèi)容,最好多做練習(xí)。另外,完全照搬和硬套某些算法或者莫名其妙地使用某種數(shù)據(jù)結(jié)構(gòu)來設(shè)計程序,是非常不理智的,這樣做使得對問題的認(rèn)識過程出現(xiàn)錯誤,而且易將問題復(fù)雜化。
3第三學(xué)習(xí)階段
這學(xué)期的課程,可以說是軟件工程專業(yè)最為重要的了,在java部分,已經(jīng)可以開始思考面向?qū)ο蠛驮O(shè)計模式的問題了。操作系統(tǒng)可以說是計算機(jī)科學(xué)與工程實踐之集大成者,其中大量地運(yùn)用了數(shù)據(jù)結(jié)構(gòu)、計算機(jī)組成原理等課程中學(xué)習(xí)的設(shè)計方法,包含了計算機(jī)工程實踐方面遇到問題時的解決方案,且本身就是代碼閱讀的最好素材。能夠深入理解了計算機(jī)操作系統(tǒng)理論與實踐。
回顧軟件工程專業(yè)的課程,總體來說,課程體系中設(shè)置了5類課程:①理論系列課程;②系統(tǒng)系列課程;③開發(fā)工具系列課程;④管理系列課程;⑤軟件工程系列課程。理論類課程主要包含高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計、離散數(shù)學(xué)等等。系統(tǒng)類課程主要包含操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等等課程,是專業(yè)課程的重要組成部分。這類課程作為開發(fā)工具課程的必要支撐。開發(fā)工具課程是需要基礎(chǔ)的,不是說學(xué)習(xí)了某種編程語言的文法就完全可以使用該語言工作了,同樣用C,層次不同,效果也不同。這樣說來,類似數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)這種課程就可以歸于此類。
4 學(xué)習(xí)要點
軟件工程的課程體系中,淡化了硬件相關(guān)課程,課程數(shù)量和深度對比計算機(jī)科學(xué)專業(yè)有一定的縮減。這是增加實習(xí)時間和增加軟件工程和管理課程的必然結(jié)果。那么面對著這些硬件相關(guān)的課程,應(yīng)該盡量以軟件工程師的角度來看待軟硬結(jié)合的問題,發(fā)揮我們的優(yōu)勢,而不是和有自動化、計算機(jī)背景的硬件工程師來比拼硬件功夫。其實,這個問題上,學(xué)計算機(jī)的位置最尷尬,位于軟件工程和自動化中間。開發(fā)工具系列課程主要包含各種編程語言和開發(fā)環(huán)境課程,C、C++、Java、J2ee等。其學(xué)習(xí)方法主要有兩個流派:先博后精:首先廣泛地學(xué)習(xí)各種編程語言和開發(fā)工具,在學(xué)習(xí)的過程中做到舉一反三,基本上掌握了主流工具以后,再根據(jù)自己的興趣和未來工作的要求,選擇1-2門編程語言來深入學(xué)習(xí);先精后博:基本是上個方法的逆序。就是首先把1-2門語言完全精通,然后再開闊視野。總之,不管采用哪一種方法,在學(xué)習(xí)的過程中,一定要多讀多寫,以案例(最好是實際工程)為導(dǎo)向,體會開發(fā)的異同。另外,代碼風(fēng)格絕對是個大問題。根據(jù)軟件學(xué)院的課程設(shè)置特點,我推薦使用第一種方法讀寫練,要規(guī)范。管理系列課程主要包含軟件項目管理、軟件過程管理等課程。學(xué)習(xí)的方法與管理學(xué)專業(yè)的學(xué)生相比較有著很大的區(qū)別。首先,軟件工程專業(yè)研究的管理學(xué)知識,不是艱深的理論,也不是全面系統(tǒng)的研究,而是實用的管理技術(shù)。僅僅通過課程的學(xué)習(xí),完全不可能掌握管理藝術(shù)的精髓。這個東西涵蓋的范圍太廣泛了,與個人的性格、交際能力、語言習(xí)慣甚至飲食習(xí)慣都有關(guān)系?傊@類課程的學(xué)習(xí)過程中,占主導(dǎo)地位的是實踐,每一次團(tuán)隊項目開發(fā)甚至課程設(shè)計都是一次難得的機(jī)會,要好好把握。軟件工程系列課程,包含軟件工程、軟件體系結(jié)構(gòu)等等。學(xué)習(xí)這類課程,首先要理解課程的意義、內(nèi)涵和外延。實際上,這些課程就是給大家介紹了一套經(jīng)驗上證明了優(yōu)秀的、成體系的、工程化的方法論。工程和科學(xué)實驗不同,往往不都是理想狀態(tài)的。所以,工程中也沒有什么應(yīng)該是一成不變的,改變通的要學(xué)會變通。
5結(jié)束語
軟件是由人來完成的,所有由人做的工作都不會是完美無缺的。軟件開發(fā)是個很復(fù)雜的過程,期間很容易產(chǎn)生錯誤。無論是軟件從業(yè)人員、專家和學(xué)者做了多大的努力,軟件錯誤仍然存在。因而大家也得到了一種共識:軟件中殘存著錯誤,這是軟件的一種屬性,是無法改變的。所以通常說引入軟件測試學(xué)科是很重要的。軟件測試的目的就是為了發(fā)現(xiàn)盡可能多的缺陷,并期望通過改錯來把缺陷消滅,以提高軟件的質(zhì)量。測試雖然也與開發(fā)過程緊密相關(guān),但關(guān)心的不是過程的活動,而是對過程的產(chǎn)物以及開發(fā)出的軟件進(jìn)行剖析。測試人員要“執(zhí)行”軟件,對過程中的產(chǎn)物——開發(fā)文檔和源代碼進(jìn)行走查,運(yùn)行軟件,以找出問題,報告質(zhì)量。測試人員必須假設(shè)軟件存在潛在的問題,測試中所做的操作是為了找出更多的問題,而不僅僅是為了驗證每一件事是正確的。
【軟件工程的學(xué)習(xí)方法的論文】相關(guān)文章:
軟件工程學(xué)習(xí)方法11-11
軟件工程編程論文03-23
軟件工程論文的提綱10-05
軟件工程論文開題報告03-27
軟件工程論文的開題報告11-15
軟件工程碩士的論文03-15
軟件工程課程改革探討的論文03-19
軟件工程課程的改革思考論文03-19
工程教育軟件工程的論文12-04
本科軟件工程碩士論文03-15