精品久久影院_91popr国产在线观看_高清国语自产拍免费视频国产_大尺度视频网站久久久久久久久,亚洲六月丁香缴情久久丫,国产91久久,一级做a爰片久久毛片下载

軟件開發的流程及方法探究

2018-06-04 09:50:33


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

  

  1 國內外軟件工程理論應用現狀

  

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

  

  2 軟件系統開發流程分析

  

  典型的軟件過程有Waterfall Model(瀑布模式)Iter-ative&Incremental Model(反復漸進模式)Spiral Mod-el(螺旋模式),無論采用哪種模型方式,軟件開發過程最起碼要包括支持軟件整個生命期的活動。基本的生存周期包括軟件計劃、需求分析、總體設計、詳細設計、編碼及單元測試、綜合測試、移交及軟件維護。

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

  從表中可以看出,基于組件和面向對象的方法更適合于當前復雜的開發應用,成為當前的主流方法。需求分析階段還包括可行性研究,需求確認和需求復合等工作。對于設計階段而言,包括總體設計、概要設計、詳細設計,同時形成相應的文檔。然后進行編碼的實現,綜合全面的測試,包括單元測試、系統間測試、系統整體測試、性能測試、極限測試以及上線的運行測試等,最后進行文檔、培訓和維護的工作。中間某些環節會根據實際的用戶需求的改變進行反饋,修改和完善。

  

  3 結束語

  

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

主站蜘蛛池模板: 五峰| 黎川县| 余干县| 南木林县| 晴隆县| 革吉县| 宝坻区| 安庆市| 名山县| 吉木萨尔县| 庆城县| 西城区| 三都| 顺义区| 达孜县| 华池县| 恩施市| 洛扎县| 佛教| 湾仔区| 阳春市| 金湖县| 如皋市| 江源县| 财经| 措勤县| 繁昌县| 闽侯县| 长岭县| 冕宁县| 铁岭市| 精河县| 朝阳县| 汉阴县| 宁都县| 新蔡县| 玉溪市| 镇原县| 灵武市| 泸溪县| 秭归县|