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