資源描述:
《基于soa的虛擬世界交互平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、2軟件工程相關(guān)理論與關(guān)鍵技術(shù)介紹2.1軟件工程方法學(xué)介紹軟件工程【11是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)與當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。1968年在德國召開的國際會(huì)議上正式提出并使用了“軟件工程”這個(gè)術(shù)語,20世紀(jì)70年代中期提出了軟件生命期的概念,20世紀(jì)80年代以來軟件工程思想得到系統(tǒng)的歸納和整理,提出許多工程化方法,在軟件開發(fā)環(huán)境、軟件標(biāo)準(zhǔn)化以及硬件支持等方面開展了許多研究。1983年提出了軟件工程的七條基本原理,這七條原理是確保軟件
2、產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集合。這七條原理是互相獨(dú)立的,其中任意六條原理的組合都不能代替另一條原理。軟件工程以計(jì)算機(jī)軟件為工程對(duì)象,該工程對(duì)象不同于傳統(tǒng)的機(jī)械工程和建筑工程,有其特有的屬性,例如軟件工程采用的傳統(tǒng)方法是生命周期方法學(xué)。軟件工程強(qiáng)調(diào)使用生命周期方法學(xué)和各種結(jié)構(gòu)分析及結(jié)構(gòu)設(shè)計(jì)技術(shù),它們是在20世紀(jì)70年代為了對(duì)付應(yīng)用軟件日益增長的復(fù)雜程度、漫長的開發(fā)周期以及用戶對(duì)軟件產(chǎn)品經(jīng)常不滿意的狀況而發(fā)展起來的。軟件工程采用的生命周期方法學(xué)就是從時(shí)間角度對(duì)軟件開發(fā)和維護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生命的漫長周期依次劃分為若干個(gè)階段,每個(gè)階段有相對(duì)獨(dú)立的任務(wù)
3、,然后逐步完成每個(gè)階段的任務(wù)。采用生命周期方法學(xué)開發(fā)軟件的時(shí)候,從對(duì)任務(wù)的抽象邏輯分析開始,一個(gè)階段一個(gè)階段地進(jìn)行開發(fā)。前一個(gè)階段任務(wù)的完成是開始進(jìn)行后一個(gè)階段工作的前提和基礎(chǔ),而后一階段任務(wù)的完成通常是使前一階段提出的解法更進(jìn)一步具體化,加進(jìn)了更多的實(shí)現(xiàn)細(xì)節(jié)。每一個(gè)階段的開始和結(jié)束都有嚴(yán)格標(biāo)準(zhǔn),對(duì)于任何兩個(gè)相鄰的階段而言,前一階段的結(jié)束標(biāo)準(zhǔn)就是后一階段的開始標(biāo)準(zhǔn)。在每一個(gè)階段結(jié)束之前都必須進(jìn)行正式嚴(yán)格的技術(shù)審查和管理復(fù)審,從技術(shù)和管理兩方面對(duì)這個(gè)階段的開發(fā)成果進(jìn)行檢查,通過之后這個(gè)階段才算結(jié)束,如果檢查通不過,則必須進(jìn)行必要的返工,并且返工后還要再經(jīng)過審查
4、。審查的一條主要標(biāo)準(zhǔn)就是每個(gè)階段都應(yīng)該交出“最新的”,即和所開發(fā)的軟件完全一致的高質(zhì)量的文檔資料,從而保證在軟件開發(fā)工程結(jié)束時(shí)有一個(gè)完整準(zhǔn)確的軟件配置及文檔交付使用。文檔是通信的工具,它們清楚準(zhǔn)確地說明了到這個(gè)時(shí)候?yàn)橹?,關(guān)于該I藝京交通大學(xué)碩士論文項(xiàng)工程已經(jīng)知道了什么,同時(shí)確立了下一步工作的基礎(chǔ)。此外,文檔也起備忘錄的作用,如果文檔不完整,那么一定是某些工儂忘記做了,在進(jìn)入生命周期的下一階段之前,必須補(bǔ)足這些遺漏的細(xì)節(jié),保證文檔的正確和完整。2.2增量迭代模型介紹OSP系統(tǒng)生命周期模型將采用增量迭代模型。增量迭代模型作為常用的軟件開發(fā)生命周期模型之一,它更加
5、適羯于需求經(jīng)常變更的項(xiàng)曩。增量迭代模型強(qiáng)調(diào)的每次迭代都包含了需求,設(shè)計(jì)和開發(fā),測(cè)試等各個(gè)過程,而且每次迭代完成后都是一個(gè)可以交付的原型。迭代不是并行,在每次迭代過程中仍然要遵循需求->設(shè)計(jì).>開發(fā)的瀑布過程。迭代周期的長度跟項(xiàng)目的周期和規(guī)模有很大的關(guān)系。小型頊蠢可以一周一次迭代,兩對(duì)于大型項(xiàng)蠢則可以24溺一次迭代。如果項(xiàng)罄沒有一個(gè)很好的架構(gòu)師,很難規(guī)劃出每次迭代的內(nèi)容和要到達(dá)的目標(biāo),驗(yàn)證相關(guān)的交付和產(chǎn)出。因此迭代模型雖然能夠很好的滿足與用戶的交付,需求的變化,但確是一個(gè)很難真正用好的模型。就對(duì)風(fēng)險(xiǎn)的消除上,增量和迭代模型都能夠很好的控制前期的風(fēng)險(xiǎn)并解決。迭代
6、模型更多的是可以從總體方面去系統(tǒng)地思考問題,可以很快給出相對(duì)完善的框架或原型,后期的每次迭代都是針對(duì)上次迭代的逐步精化。業(yè)界比較標(biāo)準(zhǔn)的增量模型往往要求在軟件需求規(guī)格說明書全部出來盾,后續(xù)的設(shè)計(jì)開發(fā)再進(jìn)行增量。同時(shí)每個(gè)增量也可以是獨(dú)立發(fā)布的小版本。由于系統(tǒng)的總體設(shè)計(jì)往往對(duì)一個(gè)系統(tǒng)的架構(gòu)和可擴(kuò)展性有重大的影響,因此我們推薦的增量最好是在架構(gòu)設(shè)計(jì)完成后再開始進(jìn)行增量,這樣可以更磐的傈證系統(tǒng)的德壯性幫可擴(kuò)展性。一次增量模型將包含以下步驟:1.需求分析需求分析是為了了解用戶的要求和系統(tǒng)的需求,系統(tǒng)必須做什么,系統(tǒng)必須具備哪些功能。在需求分析階段確定的系統(tǒng)邏輯模型,是以
7、后設(shè)計(jì)和實(shí)現(xiàn)目標(biāo)系統(tǒng)的基礎(chǔ),因此必須準(zhǔn)確完整地體現(xiàn)用戶的要求。用戶了解所面對(duì)的問題,知道必須徽詩么,健是逶常不能完整準(zhǔn)確地表達(dá)出要求,更不知道怎樣利用計(jì)算機(jī)解決問題,軟件開發(fā)人員知道怎樣用軟件實(shí)現(xiàn)人們的要求,但是對(duì)特定用戶的具體要求并不完全清楚。在需求分析階段必須和用戶密切配會(huì),充分交流信息,以得滋經(jīng)過用戶確認(rèn)的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典、系統(tǒng)原型和簡(jiǎn)要艉算法表示系統(tǒng)的邏輯模型。2.總體設(shè)計(jì)2軟件工程楣關(guān)瑾論與關(guān)鍵技術(shù)分紹這個(gè)階段必須的任務(wù)是如何解決問題。從開發(fā)規(guī)模和開發(fā)成本上考慮,有三群可能的方案:①低成本的解決方案,系統(tǒng)只能完成最必要的工作。
8、②中等成本的解決方案,系統(tǒng)不僅能夠很好地完成預(yù)定的任