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