亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        談程序設(shè)計思想的變遷

        2009-05-12 02:34:46張傳智
        科教導刊 2009年31期

        張傳智

        摘要本文在介紹程序設(shè)計發(fā)展歷程的基礎(chǔ)上,分別對面向計算機、面向過程和面向?qū)ο?個階段的程序設(shè)計思想進行了分析、比較,最后總結(jié)得出程序設(shè)計思想變遷所帶來的啟示。

        關(guān)鍵詞程序設(shè)計思想 面向計算機 面向過程

        中圖分類號:TP31文獻標識碼:A

        上個世紀中葉,隨著第一臺電子計算機的問世,人類開始致力于計算機方面的研究。經(jīng)過短短50多年的迅猛發(fā)展,其體積越來越小,功能越來越強,應用領(lǐng)域也越來越廣泛,可以說,計算機已經(jīng)成為當今世界人類進行信息處理的一種不可或缺的工具。

        我們知道,計算機是一種借助程序來控制操作過程的電子設(shè)備。因此,計算機的發(fā)展和程序的開發(fā)息息相關(guān),而程序開發(fā)的優(yōu)劣又受到了不同時期程序設(shè)計思想發(fā)展的制約。

        1 程序設(shè)計思想的發(fā)展歷程

        長期以來,程序設(shè)計思想一直隨著人類認識的進步而發(fā)生著改變。最初,由于受到計算機硬件的局限,程序設(shè)計人員在進行編程時,往往會為節(jié)省一個存儲字節(jié)而煞費苦心。后來,由于計算機存儲能力的提高,人們逐步開始關(guān)注程序的清晰框架結(jié)構(gòu)。1969年,有學者提出了結(jié)構(gòu)化程序設(shè)計思想,其著眼點是“面向過程”,強調(diào) “算法設(shè)計”,編寫出來的程序在可調(diào)試性、可讀性及可維護性等方面都比早期的程序設(shè)計方法有了很大的改進。1970年,第一個結(jié)構(gòu)化程序設(shè)計語言--Pascal語言出現(xiàn),標志著結(jié)構(gòu)化程序設(shè)計(也稱為面向過程的程序設(shè)計)時期的真正開始。

        到了70年代末期,由于C++,JAVA等眾多面向?qū)ο蟮某绦蛟O(shè)計語言的出現(xiàn),以及結(jié)構(gòu)化程序設(shè)計方法逐步暴露出來的一系列弊端,隨之形成了一種全新的程序設(shè)計思想——面向?qū)ο?此時的程序設(shè)計更加接近人類的自然邏輯,并開始大量運用抽象的概念進行編程。時至今日,面向?qū)ο蟮某绦蛟O(shè)計技術(shù)日益成熟,已被越來越多的程序開發(fā)人員所接受。

        2 面向計算機的程序設(shè)計思想介紹

        在出現(xiàn)結(jié)構(gòu)化程序設(shè)計思想之前,由于程序設(shè)計人員編程時需要過多的考慮機器的性能,故將這一時期統(tǒng)稱為面向計算機的程序設(shè)計。起初,程序設(shè)計完全手工化,采用的語言也僅僅是機器語言,這類語言可以直接被計算機識別,但對人類來說卻是難以掌握。設(shè)計人員關(guān)注的重心是使程序盡可能地被計算機接受并按指令正確地執(zhí)行,至于計算機的程序能否讓人理解并不重要。軟件開發(fā)工作只能由極少數(shù)的軟件工程師完成,這無疑造成了軟件開發(fā)的難度大,周期長,功能簡單,界面不友好等缺陷。隨后出現(xiàn)的匯編語言,雖然將機器指令映射為一些能讀懂的助記符,如ADD、SUB等,在一定程度上縮小了程序語言與人類的自然語言之間的鴻溝,但與人類的思想仍然相差甚遠。同時,由于匯編語言的抽象層次太低,此時的程序設(shè)計仍需注重計算機的硬件系統(tǒng),程序員編程時不得不考慮大量的機器細節(jié)。

        簡而言之,面向計算機的程序設(shè)計的基本思想就是:注重機器、逐一執(zhí)行。

        3 面向過程和面向?qū)ο蟪绦蛟O(shè)計思想的比較

        3.1 設(shè)計方法的比較

        面向過程在解決問題時采用功能分解方法,即將一個系統(tǒng)看作一些功能塊的組合,這些功能塊可以被進一步分解,直到參與設(shè)計和編程的人員可以理解的步驟和過程為止。

        面向?qū)ο蟛捎脼閿?shù)據(jù)和代碼建立分塊的內(nèi)存區(qū)域,從而實現(xiàn)對程序模塊化的方法。

        3.2 特點的比較

        面向過程是一種追求結(jié)構(gòu)良好的程序設(shè)計方法,其設(shè)計開發(fā)的程序特點是:(1)具有單入口,單出口的性質(zhì);(2)不包含不會停止執(zhí)行的語句,即執(zhí)行時間是有限的: (3)沒有無用語句,即程序中所有語句都有被執(zhí)行的機會。

        面向?qū)ο蟮闹饕攸c是:借助類的封裝以及模塊化技術(shù),有效地控制了程序的復雜性;提高程序的重用性及其可維護性;同時,抽象化概念的引入大大擴展了計算機系統(tǒng)的描述和處理范圍,更加符合人們習慣的思維方法,便于分解大型的復雜多變的問題。

        3.3 局限性比較

        面向過程的局限性主要表現(xiàn)以下三個方面:

        (1)程序的可重用性差,不能直接繼承和引用巳經(jīng)編好的應用程序的某些部分,程序設(shè)計人員每進行一項新系統(tǒng)的開發(fā),幾乎都要從零開始,并且要針對具體問題做大量重復而繁瑣的工作。(2)由于程序的數(shù)據(jù)與有關(guān)操作相分離,致使程序的修改和維護較為復雜。(3)數(shù)據(jù)處理范圍較小,無法準確描述文本、圖形、圖像、影像、聲音等多種數(shù)據(jù)類型,從而難以適應大型軟件的設(shè)計。

        面向?qū)ο蟮木窒扌灾饕憩F(xiàn)在兩個方面:

        (1)由于程序設(shè)計者的設(shè)計思想和方法、策略大多分布于眾多不連續(xù)的程序段中,嚴重影響了維護人員對于程序的理解。(2)繼承機制的廣泛使用,大大增加了程序依賴性分析的難度。

        3.4 基本思想的比較

        面向過程采用的是自頂向下設(shè)計過程庫,逐步加以細化程序設(shè)計思想。

        面向?qū)ο蟮幕驹O(shè)計思想則是自底向上設(shè)計庫類,并把組件的實現(xiàn)和接口分開。

        3.5 可擴展性比較

        面向過程技術(shù)設(shè)計開發(fā)的程序一旦功能變化,就會危及整個系統(tǒng),擴展性差。

        面向?qū)ο蟮某绦蚩梢酝ㄟ^修改或增加操作進行功能的重建,而基本對象結(jié)構(gòu)不變,擴展性好。

        3.6 控制程序方式的比較

        面向過程是通過設(shè)計程序以調(diào)用或返回程序。

        面向?qū)ο髣t通過“事件驅(qū)動”來激活和運行程序。

        3.7 處理問題時的出發(fā)點比較

        面向過程處理問題時強調(diào)將過程抽象化和模塊化,以過程為中心構(gòu)造或處理客觀世界問題的。

        面向?qū)ο筇幚韱栴}時強調(diào)把問題域的要領(lǐng)直接映射到對象及對象之間的接口上,是用符合人們通常的思維方式來處理客觀世界的問題。

        3.8 學習者的接受程度的比較

        面向過程的程序設(shè)計知識內(nèi)容相對少,對于初學者而言易于掌握。

        面向?qū)ο蟮某绦蛟O(shè)計知識內(nèi)容廣,概念多,很多知識又比較抽象,初學者難于理解。

        3.9 編程語言的比較

        面向過程的程序設(shè)計語言主要發(fā)展于70年代之前,如:C、BASIC、FORTRAN等。

        面向?qū)ο蟮某绦蛟O(shè)計語言主要形成于70年代以后,如:C++、VB、JAVA等。

        3.10 常用概念或術(shù)語的比較

        面向過程多借助過程、函數(shù)、數(shù)據(jù)等概念描述程序設(shè)計。

        面向?qū)ο蟛捎脤ο蟆㈩?、消息、繼承等術(shù)語描述程序設(shè)計。

        3.11 要素的對應關(guān)系比較

        面向過程以算法為中心,由算法完成對數(shù)據(jù)的操作,

        面向?qū)ο蠹夹g(shù)是以屬性為中心,以消息和方法機制完成對對象的操作,對象作為數(shù)據(jù),而不是作為過程被描述。

        3.12 程序執(zhí)行機制的比較

        面向過程采用單線程體系結(jié)構(gòu),每個進程都有一段專用內(nèi)存區(qū)域 ,程序在某一時刻只執(zhí)行一條語句。

        面向?qū)ο蠹夹g(shù)多采用多線程體系結(jié)構(gòu),允許線程間共享相同的內(nèi)存單元,并利用這些共享單元來實現(xiàn)數(shù)據(jù)交換,實時通信及必要的同步操作,在程序執(zhí)行過程 中為每個線程部分分配代碼,讓其分別動態(tài)執(zhí)行。多線程的實現(xiàn),可以有效地改善與用戶的交互,使系統(tǒng)得以同時處理多個請求。

        4 軟件設(shè)計思想變遷帶來的啟示

        由于軟件設(shè)計思想的變遷,程序開發(fā)理念也在不斷得以發(fā)展、進化,面向?qū)ο蠹夹g(shù)對數(shù)據(jù)和算法的封裝,以及繼承多態(tài)機制可實現(xiàn)世界的任何對象,使原本在面向過程中難以實現(xiàn)的問題變得既規(guī)范又容易,特別為大型軟件團體多人同時開發(fā)提供了條件。由于具有更好的可靠性、實用性、可修改性、可維護性、可重用性及易讀易管理等優(yōu)點,面向?qū)ο蠹夹g(shù)已經(jīng)發(fā)展成為當今軟件開發(fā)主流。但同時我們也應該記住,面向?qū)ο蟠嬖谠S多不足,如何在實際應用中彌補這些不足,值得每個程序設(shè)計人員進行深入研究。我們希望計算機編程思路盡可能地與人類的思維靠近,計算機的編程能夠為更多的人所掌握和利用。

        參考文獻

        [1]柳青.計算機應用基礎(chǔ)[M].北京:高等教育出版社.2008.

        [2]丁益民.程序設(shè)計方法發(fā)展的幾個階段.武漢工程職韭技術(shù)學院學報,2001.6.

        [3]張嵐.淺談面向?qū)ο蟮某绦蛟O(shè)計.內(nèi)蒙古科技與經(jīng)濟,2009.3.

        [4]喻梅.結(jié)構(gòu)化程序設(shè)計方法與面向?qū)ο蟪绦蛟O(shè)計方法之比較.科技信息,2009.14.

        美女张开腿黄网站免费| 亚洲精品无人区一区二区三区| 日本黄色特级一区二区三区| 国产91清纯白嫩初高中在线观看 | 精品日产卡一卡二卡国色天香 | 国产免费人成视频在线观看播放播| 亚洲精品久久国产精品| 激情偷乱人成视频在线观看| 国内精品人妻无码久久久影院94| 亚洲国产精品成人av| 日韩av一区二区网址| 久久久久亚洲精品中文字幕| 热久久亚洲| 亚洲av一二三四又爽又色又色| 开心五月天第四色婷婷| 日韩国产成人无码av毛片蜜柚| 91精品国产丝袜在线拍| 蜜臀av一区二区三区精品 | 亚洲欧美v国产蜜芽tv| 日本精品一级二区三级| 欧美变态另类刺激| 五十路熟久久网| 日韩最新av一区二区| 91色老久久偷偷精品蜜臀懂色 | 大陆成人精品自拍视频在线观看| 国产乱子轮xxx农村| 品色堂永远的免费论坛| 午夜视频免费观看一区二区| av中国av一区二区三区av| 久久国产精品99精品国产| 色婷婷综合激情| 午夜亚洲精品一区二区| 欧美激欧美啪啪片| 亚洲综合久久成人a片| 一区二区三区不卡免费av| 在线播放亚洲丝袜美腿| 久精品国产欧美亚洲色aⅴ大片| 亚洲中文字幕无码久久2018| 蜜桃视频一区视频二区| 疯狂做受xxxx高潮视频免费| 国产98在线 | 免费|