• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      軟件工程中程序設計方法的比較

      2012-04-29 00:44:03陳蓉,陳烽
      電腦知識與技術 2012年2期
      關鍵詞:面向?qū)ο?/a>軟件工程

      陳蓉,陳烽

      摘要:在軟件工程領域方面,先后出現(xiàn)了三類程序設計方法,分別是面向過程程序設計方法、面向?qū)ο蟪绦蛟O計方法、泛型程序設計方法。該文對三類程序設計方法進行了深入分析和比較。

      關鍵詞:面向過程;面向?qū)ο?;泛型;軟件工程;程序設計方法

      中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)02-0333-02

      Comparison of Program Design Method in Software Engineering

      CHEN Rong, CHEN Feng

      (Department of Information Engineering, Tibet University for Nationalities, Xianyang 712082, China)

      Abstract: In the field of software engineering, has appeared three kinds of program design method, they are process-oriented program? ming method, object-oriented programming method and generic programming method. This paper analyzed and compared three kinds of program design methods deeply.

      Key words: process-oriented; object-oriented; generic; software engineering; programming method

      20世紀60年代中期,隨著軟件系統(tǒng)的規(guī)模和復雜程度的不斷增加,軟件可靠性問題也不斷突出,出現(xiàn)了“軟件危機”。1968年,正式提示“軟件工程”一詞,并形成一門新的工程學科[1]。在軟件工程領域,先后出現(xiàn)了三種程序設計方法,分別是面向過程的程序設計、面向?qū)ο蟮某绦蛟O計和泛型程序設計。

      本文對三類方法——面向過程程序設計方法、面向?qū)ο蟪绦蛟O計方法、泛型程序設計方法,進行了深入分析和比較。

      1面向過程、面向?qū)ο?、泛型概?/b>

      20世紀70年代,面向過程的程序設計方法(也稱結(jié)構化方法)出現(xiàn)并在早期的軟件工程領域占用主導地位。面向過程采用是自頂向下、逐步求精、模塊化等設計原則,將軟件系統(tǒng)分解為若干可獨立的子模塊。各個模塊完成后組合起來,成為一個最終的軟件系統(tǒng)。隨著軟件工程的發(fā)展,出現(xiàn)了軟件生產(chǎn)率低、軟件維護困難等難以解決的問題[1]。

      20世紀80年代,面向?qū)ο蟮某绦蛟O計方法應運而生,它解決了面向過程的程序設計方法的缺點,提高了軟件的生產(chǎn)率和方便軟件的維護?,F(xiàn)在已成為目前主流的程序設計方法。面向?qū)ο髮④浖到y(tǒng)分解成一個個的對象,每個對象都是通過對現(xiàn)實世界的分析、理解而得出的。面向?qū)ο蟾咏谌祟愓J知世界的方式,并通過以類和繼承為構造機制將現(xiàn)實世界構建成對應的軟件系統(tǒng)。對于面向?qū)ο笠恍╇y以克服的缺點,如它不能將所有關系都用繼承來實現(xiàn),抽象程度不夠高,通用性不足等問題,提出了泛型程序設計[2-3]。

      近年來,泛型程序設計出現(xiàn)并發(fā)展。泛型的特點是抽象程度很高,將程序?qū)懙帽M可能通用,可適合多種數(shù)據(jù)類型的操作,同時不損失效率。泛型程序設計的過程是發(fā)現(xiàn)類型需求、分析類型需求之間的關系,并運用這種類型需求關系實現(xiàn)軟件系統(tǒng)的結(jié)構和邏輯[2]。

      2面向過程、面向?qū)ο蟆⒎盒偷谋容^

      面向過程程序設計以模塊為中心,采用自頂向下、逐步求精的開發(fā)方法,將軟件系統(tǒng)分解為若干可獨立的子模塊,這些模塊形成樹狀結(jié)構,表現(xiàn)了各個模塊相互調(diào)用的關系;每一個模塊內(nèi)部均由順序、選擇和循環(huán)三種基本結(jié)構組成。各個模塊完成后組合起來,成為一個最終的軟件系統(tǒng)。面向過程注重實現(xiàn)過程的順序,它的抽象層次低,實現(xiàn)簡單。它適合解決簡單問題和小規(guī)模的問題。

      面向?qū)ο蟪绦蛟O計以對象為中心,將軟件系統(tǒng)分解成一個個的對象,把屬性和這組屬性上的專用操作進行封裝放在一起作為一個對象,以類和繼承為構造機制將客觀世界構建成軟件系統(tǒng)。同一個對象間通過消息傳遞來實現(xiàn)服務的請求。和面向過程相比,面向?qū)ο笫褂脤ο蠓纸馊〈藗鹘y(tǒng)的功能分解。面向?qū)ο蟮奶卣魇欠庋b(將數(shù)據(jù)和代碼放到對象里面,從對象外部不能直接訪問或修改數(shù)據(jù)和代碼)、繼承(從父類直接獲得的屬性和操作,可重新定義)、多態(tài)(父對象定義的一個方法,允許子對象以適合自己的方式去實現(xiàn)消息)等。面向?qū)ο笞⒅貙ο蟮姆治龊驮O計,它的抽象層次高,實現(xiàn)復雜。它適用于復雜問題,特別是對象間形成層次關系的問題。

      泛型程序設計以類型需求為中心,將程序?qū)懙帽M可能通用,可適合多種數(shù)據(jù)類型的操作,同時不損失效率。泛型程序設計的過程是發(fā)現(xiàn)類型需求、分析類型需求之間的關系,并運用這種類型需求關系實現(xiàn)軟件系統(tǒng)結(jié)構和邏輯的過程。泛型設計的目標是將算法從對象的行為中分離出來,做到算法的設計與數(shù)據(jù)結(jié)構無關,從而實現(xiàn)軟件的復用。它通過將數(shù)據(jù)結(jié)構與算法之間的強禍合關系削弱為弱禍合關系,來實現(xiàn)軟件的復用。它有三個重要概念:概念、模型、強化[2],概念是與具體數(shù)據(jù)類型無關的一組定義,支持數(shù)據(jù)類型的操作。模型是當某數(shù)據(jù)類型使用此概念時,稱為此概念的一個模型。如果某個概念擁有了其他一個或概念的所有功能,稱為這個概念是其他一個或多個概念的強化。泛型注重軟件的高度抽象和通用性,因而實現(xiàn)很復雜。它適用于很復雜問題,特別是需要高度抽象和通用性的問題。

      同時,三類程序設計方法在安全性和可靠性方面都是安全和可靠的。表1給出三類程序方法的比較。

      表1三類程序設計方法的比較

      通過上面的分析,我們得出,三種方法各有其優(yōu)點。對于簡單的、小規(guī)模的問題域,面向過程的程序設計是最合適的;對于繼承和行為多態(tài)起主要作用的應用域,面向?qū)ο蟮某绦蛟O計是最合適的;而對于那些需要解決一類相似需求的應用域,泛型程序設計是最合適的。

      3結(jié)束語

      軟件工程為研究和克服“軟件危機”而出現(xiàn),在軟件工程領域的程序設計方法方面,先后出現(xiàn)了三種程序設計方法,面向過程的程序設計、面向?qū)ο蟮某绦蛟O計和泛型程序設計。本文對三類方法——面向過程程序設計方法、面向?qū)ο蟪绦蛟O計方法、泛型程序設計方法,進行了深入分析和比較。三種方法各有其特點,如果能將三種方法的優(yōu)點結(jié)合,將會更好地解決軟件開發(fā)領域的實際問題。

      參考文獻:

      [1]李惠明,敖廣武.軟件工程[M].沈陽:東北大學出版社,2010.

      [2]孫斌.面向?qū)ο?、泛型程序設計與類型約束檢查[J].計算機學報,2004(11).

      [3]包得海,劉昉.面向過程、面向?qū)ο笈c泛型程序設計的對比分析[J].電腦與信息技術,2011(3).

      猜你喜歡
      面向?qū)ο?/a>軟件工程
      面向?qū)ο蟮挠嬎銠C網(wǎng)絡設計軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應用
      依托工作室的軟件工程實踐教學研究
      應用瀑布模型的MOOC制作方法
      計算機教育(2016年7期)2016-11-10 08:38:07
      融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
      計算機教育(2016年7期)2016-11-10 08:04:30
      基于工程教育認證的《軟件工程》課程教學質(zhì)量建設研究 
      軟件導刊(2016年9期)2016-11-07 22:31:23
      關于提高軟件工程實踐教學質(zhì)量的幾點思考
      關于如何創(chuàng)新和完善計算機軟件工程管理的探討
      基于面向?qū)ο蟮腛ffice評測系統(tǒng)的分析
      峰叢洼地農(nóng)作物面向?qū)ο笮畔⑻崛∫?guī)則集
      遙感信息(2015年3期)2015-12-13 07:26:54
      阆中市| 子洲县| 连南| 威信县| 万州区| 上饶县| 阳谷县| 大英县| 嫩江县| 绩溪县| 乐东| 邹城市| 枣强县| 中西区| 平武县| 武义县| 靖西县| 溧水县| 苗栗市| 高安市| 澄江县| 崇义县| 景谷| 苍山县| 磴口县| 平果县| 德安县| 岳阳县| 西和县| 建昌县| 新巴尔虎左旗| 陆河县| 萝北县| 樟树市| 永善县| 长海县| 平原县| 镇原县| 湟中县| 黄陵县| 黑龙江省|