国产精品久久777777网站,男生天堂精品2020在线,国产精品久久久久一级毛片,体育老师在单杠C了我一节课视频

軟件開發(fā)的流程及方法探究

2018-06-04 09:50:33


  隨著計算機應(yīng)用的日益普及和深入,人們對軟件的需求量急劇增加,但此時計算機軟件的開發(fā)技術(shù)卻遠(yuǎn)遠(yuǎn)沒有跟上硬件技術(shù)的發(fā)展,使得軟件開發(fā)的成本逐年劇增,更為嚴(yán)重的是,軟件的質(zhì)量沒有可靠的保證。軟件開發(fā)的速度與計算機普及的速度不相適應(yīng),軟件開發(fā)技術(shù)已經(jīng)成為影響計算機系統(tǒng)發(fā)展的“瓶頸”。早期所形成的計算機軟件開發(fā)的錯誤方式,嚴(yán)重阻礙了計算機軟件的發(fā)展,導(dǎo)致了20世紀(jì)60年代軟件危機的發(fā)生。20世紀(jì)60年代后期,西方的計算機科學(xué)家開始認(rèn)真研究解決軟件危機的方法,提出借鑒工程界嚴(yán)密完整的工程設(shè)計思想來指導(dǎo)軟件的開發(fā)與維護,并取得了可喜的成果。軟件工程首次出現(xiàn)在1968年由NATO組織的一次計算機學(xué)術(shù)會議上,其目的是倡導(dǎo)工程的原理、原則和方法進(jìn)行軟件開發(fā)。因此,一門新的學(xué)科一軟件工程學(xué)(Software Engineering)誕生了。軟件工程學(xué)是一門介于軟件科學(xué)、系統(tǒng)工程和工程管理學(xué)之間的邊緣性學(xué)科。隨著軟件的發(fā)展和商品化,軟件工程學(xué)的研究范圍越來越廣,是軟件開發(fā)過程的理論指導(dǎo)。主要包括可行性分析、項目計劃與質(zhì)量管理、需求分析、總體設(shè)計、詳細(xì)設(shè)計、程序設(shè)計、軟件測試、系統(tǒng)實施、軟件維護和文檔規(guī)范等內(nèi)容。軟件開發(fā)流程就是遵循著軟件工程的理論基礎(chǔ)來進(jìn)行的。

  

  1 國內(nèi)外軟件工程理論應(yīng)用現(xiàn)狀

  

  國外的軟件工程理論的應(yīng)用相對比較成熟,其中表現(xiàn)最為突出的是印度。印度作為亞洲最大的軟件外包大國之一,其軟件工程的思想在軟件開發(fā)流程中的應(yīng)用是比較好的。整個軟件開發(fā)過程已經(jīng)完全成為一個流程化的過程。其軟件開發(fā)行業(yè)30%以上的編程人員的流動性對軟件開發(fā)工程不會造成什么影響,可見他們的編程規(guī)范及流程規(guī)劃的水平。從以下特點之中可以找到其軟件開發(fā)行業(yè)發(fā)展如此成熟的答案。(1)流程重于項目:(2)軟件質(zhì)量管理獨立于研發(fā)部門,專門檢查研發(fā)部門的開發(fā)流程是不是按照既定流程走,如果軟件質(zhì)量管理人員覺得流程不對,會直接上報高層,項目肯定就此停止;(3)所有的東西(包括草稿)都有文檔,詳細(xì)文檔要求達(dá)到只有這個文檔就可以編碼的程度,一般寫文檔時間占60%,編碼時間極少;(4)有各種詳細(xì)的同行評審,包括項目組內(nèi),項目組件以及與客戶之間的溝通,而中國相對于印度而言差距很大,這種差距不在于研發(fā)技術(shù)是否先進(jìn),而是在于軟件工程的思想重視與運用水平的差距。從開發(fā)團隊上來看,中國的開發(fā)團隊人員過少,僅僅是“作坊式”的開發(fā)方式,軟件的生產(chǎn)速度、產(chǎn)量和品質(zhì)上都與印度等國家差距日漸變大。因此,從根本上重視軟件工程的開發(fā)思想,嚴(yán)格執(zhí)行軟件開發(fā)的規(guī)范流程,將是改變我國當(dāng)前軟件開發(fā)現(xiàn)狀的有效途徑。

  

  2 軟件系統(tǒng)開發(fā)流程分析

  

  典型的軟件過程有Waterfall Model(瀑布模式)、Iter-ative&Incremental Model(反復(fù)漸進(jìn)模式)Spiral Mod-el(螺旋模式),無論采用哪種模型方式,軟件開發(fā)過程最起碼要包括支持軟件整個生命期的活動;镜纳嬷芷诎ㄜ浖媱、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼及單元測試、綜合測試、移交及軟件維護。

  由此可以看出,需求分析階段是軟件開發(fā)流程的第一步,是軟件開發(fā)最首要的工作,直接影響到軟件設(shè)計和開發(fā)的一切流程。如果需求分析工作不到位,將會導(dǎo)致與用戶要求存在偏差的嚴(yán)重后果。國內(nèi)軟件企業(yè)對需求分析工作的重視程度普遍低于流程中的設(shè)計和開發(fā)。國內(nèi)大部分企業(yè)特別是小軟件企業(yè)將70%的時間花在軟件設(shè)計開發(fā)上,需求分析過程只占整個流程中的15%。相比之下,國外開發(fā)企業(yè)是40%的時間進(jìn)行需求分析,比設(shè)計開發(fā)時間還多10%。需求分析階段要根據(jù)軟件開發(fā)需求特點確定采用何種軟件工程方法進(jìn)行設(shè)計。目前比較典型的方法有結(jié)構(gòu)化的方法、面向?qū)ο蟮姆椒、基于?gòu)件的方法、基于A-gent的方法、基于凈室技術(shù)以及基于敏捷技術(shù)的方法等。由于后三種方法相對是針對某些特殊用途而產(chǎn)生的,適用性上有很大的局限性,有待進(jìn)一步完善,因此,僅對主要的三種方法在操作單位、方法特性等方面進(jìn)行了比較。

  從表中可以看出,基于組件和面向?qū)ο蟮姆椒ǜm合于當(dāng)前復(fù)雜的開發(fā)應(yīng)用,成為當(dāng)前的主流方法。需求分析階段還包括可行性研究,需求確認(rèn)和需求復(fù)合等工作。對于設(shè)計階段而言,包括總體設(shè)計、概要設(shè)計、詳細(xì)設(shè)計,同時形成相應(yīng)的文檔。然后進(jìn)行編碼的實現(xiàn),綜合全面的測試,包括單元測試、系統(tǒng)間測試、系統(tǒng)整體測試、性能測試、極限測試以及上線的運行測試等,最后進(jìn)行文檔、培訓(xùn)和維護的工作。中間某些環(huán)節(jié)會根據(jù)實際的用戶需求的改變進(jìn)行反饋,修改和完善。

  

  3 結(jié)束語

  

  綜上所述,軟件工程技術(shù)和方法在不斷發(fā)展.為了設(shè)計出大規(guī)模、復(fù)雜度高的軟件,必須有更高水準(zhǔn)的結(jié)構(gòu)設(shè)計技術(shù)。目前越來越受到軟件工程研究者關(guān)注的是把對象群作為角色、將各種角色進(jìn)行拼裝組合的技術(shù)。不管是已經(jīng)出現(xiàn)的技術(shù),還是行將推出的方法,十全十美的軟件開發(fā)方法是難以尋覓的,真正實用的技術(shù)或方法往往是多種開發(fā)方法的結(jié)合。