- C程序設(shè)計語言
- 魏東平 朱連章 于廣斌編著
- 1396字
- 2018-12-29 14:37:29
1.1.3 程序設(shè)計方法
程序設(shè)計技術(shù)的發(fā)展,是一個逐步提高的過程,是一個與實際應(yīng)用需要互相制約和促進(jìn)的螺旋式的發(fā)展進(jìn)程。程序設(shè)計技術(shù)的不斷進(jìn)步,導(dǎo)致了計算機應(yīng)用水平的飛躍;反之,計算機應(yīng)用領(lǐng)域的擴展、軟件規(guī)模和復(fù)雜度的提高又促進(jìn)了程序設(shè)計技術(shù)的升級。在這個過程中,主要出現(xiàn)了結(jié)構(gòu)化程序設(shè)計(SP,Structured Programming)方法和面向?qū)ο蟪绦蛟O(shè)計(OOP,Object-Oriented Programming)方法。
1.結(jié)構(gòu)化程序設(shè)計
高級語言的開發(fā)和使用,使計算機的應(yīng)用進(jìn)入了一個新時期。20世紀(jì)60年代出現(xiàn)的“軟件危機”和關(guān)于“goto語句應(yīng)從高級語言中去掉”的討論,促使人們重視對程序設(shè)計方法學(xué)的研究。隨著一些規(guī)模大、復(fù)雜度高、使用周期長,以及投入人力、物力較多的大型程序設(shè)計任務(wù)的提出,程序設(shè)計的目標(biāo)把可靠性、可維護(hù)性的要求放在了比高效率更重要的位置上,并促使人們研究程序設(shè)計的方法和風(fēng)格,最終形成了結(jié)構(gòu)化程序設(shè)計的基本思想。
結(jié)構(gòu)化程序設(shè)計是一種設(shè)計程序的技術(shù),主要采用自頂向下、逐步求精的設(shè)計方法和單入口、單出口的控制結(jié)構(gòu)。自頂向下、逐步求精的設(shè)計方法符合人們解決復(fù)雜問題的普遍規(guī)則,可以提高軟件開發(fā)的成功率。由此開發(fā)出的程序具有清晰的層次結(jié)構(gòu),易于閱讀理解和修改調(diào)試擴充。結(jié)構(gòu)化程序設(shè)計只包括順序、選擇和循環(huán)3種基本控制結(jié)構(gòu),并建議程序員不用或少用goto語句。
2.面向?qū)ο蟪绦蛟O(shè)計
結(jié)構(gòu)化程序設(shè)計對于確定的問題來說,無疑是一種很好的方法,但對于千變?nèi)f化的世界,特別是當(dāng)今信息化的世界,一個成為產(chǎn)品的程序很難適應(yīng)形勢的變化,因為在程序的設(shè)計階段問題是確定的,其數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模型也可以確定,所以設(shè)計出的程序使用、操作沒有問題,但當(dāng)表示問題的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,程序就可能會出現(xiàn)問題,而維護(hù)起來也相當(dāng)困難。原因就是當(dāng)初的設(shè)計是面向數(shù)據(jù)進(jìn)行自頂向下設(shè)計的,要修改就需要全部修改。本來客觀世界就是由許許多多、各種各樣的對象組成的,每個對象都有各自的內(nèi)部狀態(tài)(屬性)和運動規(guī)律(行為方式),不同對象的相互作用和聯(lián)系構(gòu)成了各種各樣不同的系統(tǒng),構(gòu)成了我們所面對的客觀世界。如果按照客觀世界對象的特點進(jìn)行程序設(shè)計,就會適應(yīng)形勢的發(fā)展,這就是自20世紀(jì)80年代開始流行,現(xiàn)已廣泛應(yīng)用的面向?qū)ο蟮某绦蛟O(shè)計方法。
面向?qū)ο蟮某绦蛟O(shè)計方法吸取了結(jié)構(gòu)化程序設(shè)計的基本思想和主要優(yōu)點,將數(shù)據(jù)與對數(shù)據(jù)的操作放在一起作為一個相互依存、不可分割的整體來處理,這個整體稱為對象。對象的內(nèi)部狀態(tài)(屬性)用數(shù)據(jù)表示,運動規(guī)律用所謂的方法(也稱成員函數(shù))表示。對象是一個整體,所以我們說把數(shù)據(jù)隱藏在這個整體中了。對象之間的相互作用通過所謂的消息與對象的對外接口(成員函數(shù)的調(diào)用形式)實現(xiàn)。這個系統(tǒng)通過不斷地向?qū)ο蟀l(fā)送消息而使對象從初始狀態(tài)到達(dá)終止?fàn)顟B(tài),從而實現(xiàn)了問題的求解。
如果問題的數(shù)據(jù)結(jié)構(gòu)發(fā)生了變化,只要描述問題的對象的對外接口不變,所有涉及這些數(shù)據(jù)結(jié)構(gòu)的地方都不需要修改,而只需修改對象中的方法就行了。
對象是各種各樣的,但總有相似性。例如,一匹白馬和一匹黑馬是兩個對象,但它們都具有馬的特性,只是顏色有差異而已。將對象進(jìn)行抽象、劃分便得到了類。類描述了屬于該類型的所有對象的性質(zhì),包括外部特征和內(nèi)部實現(xiàn),實際上是抽象數(shù)據(jù)類型的具體實現(xiàn)。反之,對象是類的具體實例。
20世紀(jì)90年代的程序設(shè)計方式,由于有了面向?qū)ο蟪绦蛟O(shè)計技術(shù)的支持,發(fā)生了質(zhì)的變化,未來的軟件開發(fā)將向著可重用部件的組裝方式發(fā)展,而可重用部件的存在形式就是類及其派生系統(tǒng)。
- 電容探測原理及應(yīng)用
- 廣東國際服務(wù)外包案例
- 計算機基礎(chǔ)實用教程
- 大學(xué)英語綜合技能分級教程 四級(第3版)
- 2020年全國碩士研究生招生考試312心理學(xué)專業(yè)基礎(chǔ)綜合考試輔導(dǎo)教材
- CMOS模擬與混合信號集成電路設(shè)計:創(chuàng)新與實戰(zhàn)
- 2019年四川省選聘高校畢業(yè)生到村任職考試《行政職業(yè)能力測驗》考點精講及典型題(含歷年真題)詳解
- 人工智能:知識圖譜前沿技術(shù)
- 系統(tǒng)工程:原理與實務(wù)
- 汽車構(gòu)造(第3版)
- 形神之間:創(chuàng)意服裝設(shè)計
- 計算機在材料科學(xué)與工程中的應(yīng)用
- 電視制作技術(shù)
- 管理學(xué)基礎(chǔ):理論與實務(wù)
- 新一代計算機體系結(jié)構(gòu)