国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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年代,面向過程的程序設計方法(也稱結構化方法)出現(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)的結構和邏輯[2]。

2面向過程、面向?qū)ο?、泛型的比較

面向過程程序設計以模塊為中心,采用自頂向下、逐步求精的開發(fā)方法,將軟件系統(tǒng)分解為若干可獨立的子模塊,這些模塊形成樹狀結構,表現(xiàn)了各個模塊相互調(diào)用的關系;每一個模塊內(nèi)部均由順序、選擇和循環(huán)三種基本結構組成。各個模塊完成后組合起來,成為一個最終的軟件系統(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)結構和邏輯的過程。泛型設計的目標是將算法從對象的行為中分離出來,做到算法的設計與數(shù)據(jù)結構無關,從而實現(xiàn)軟件的復用。它通過將數(shù)據(jù)結構與算法之間的強禍合關系削弱為弱禍合關系,來實現(xiàn)軟件的復用。它有三個重要概念:概念、模型、強化[2],概念是與具體數(shù)據(jù)類型無關的一組定義,支持數(shù)據(jù)類型的操作。模型是當某數(shù)據(jù)類型使用此概念時,稱為此概念的一個模型。如果某個概念擁有了其他一個或概念的所有功能,稱為這個概念是其他一個或多個概念的強化。泛型注重軟件的高度抽象和通用性,因而實現(xiàn)很復雜。它適用于很復雜問題,特別是需要高度抽象和通用性的問題。

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

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

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

3結束語

軟件工程為研究和克服“軟件危機”而出現(xiàn),在軟件工程領域的程序設計方法方面,先后出現(xiàn)了三種程序設計方法,面向過程的程序設計、面向?qū)ο蟮某绦蛟O計和泛型程序設計。本文對三類方法——面向過程程序設計方法、面向?qū)ο蟪绦蛟O計方法、泛型程序設計方法,進行了深入分析和比較。三種方法各有其特點,如果能將三種方法的優(yōu)點結合,將會更好地解決軟件開發(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
嘉荫县| 额敏县| 桐城市| 鸡东县| 芦山县| 新化县| 河北区| 郴州市| 汉中市| 克东县| 上犹县| 宁强县| 庆阳市| 泾源县| 东乡| 桐庐县| 肥西县| 普陀区| 宝清县| 临江市| 浮山县| 嘉峪关市| 凯里市| 遂平县| 高密市| 滦南县| 大英县| 麻阳| 宜黄县| 三河市| 南召县| 临潭县| 沾化县| 北碚区| 涞水县| 临朐县| 女性| 交城县| 锦州市| 客服| 沅江市|