MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計(jì)-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國(guó)
我們通過(guò)擁抱變化創(chuàng)造
360°的品牌價(jià)值__
簡(jiǎn)體
簡(jiǎn)體中文 English

尚品簽約辰欣藥業(yè)股份有限公司官網(wǎng)建設(shè)

類型:尚品動(dòng)態(tài) 了解更多

程序設(shè)計(jì)方法

來(lái)源:尚品中國(guó)| 類型:網(wǎng)站百科| 時(shí)間:2014-07-10
網(wǎng)站制作的一個(gè)程序就像一部電影,編得好與不好相差很大,一部好電影可以讓人看了還想看.而一部差的電影很少會(huì)被人看完。好的程序不但能解決間題,而且還有容易被看懂、運(yùn)行效率高、容易修改等特點(diǎn)。那么.如何才能編寫一個(gè)好的程序?這是程序員在進(jìn)行程序編碼之前必須考慮的問(wèn)題,就是需要選取合適的程序設(shè)計(jì)方法.
 
程序設(shè)計(jì)

 隨著計(jì)算機(jī)硬件技術(shù)的不斷發(fā)展,程序設(shè)計(jì)方法也隨之不斷發(fā)展。最早的程序設(shè)計(jì)方法稱為個(gè)體化方法,每個(gè)程序員都按照自己的習(xí)慣和風(fēng)格來(lái)編寫程序,其結(jié)果是程序很難維護(hù)。特別是規(guī)模較大的程序.個(gè)體化方法導(dǎo)致程序的壽命縮短。成本提高,不能滿足需要.經(jīng)過(guò)計(jì)算機(jī)工作者的努力.程序設(shè)計(jì)方法持續(xù)改進(jìn),在過(guò)去的幾十年中,程序設(shè)計(jì)方法主要經(jīng)歷了兩次革命性的飛躍:結(jié)構(gòu)化方法和面向?qū)ο蠓椒?相對(duì)應(yīng)地產(chǎn)生了面向過(guò)程程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)。下面介紹結(jié)構(gòu)化方法(Structured Method)和面向?qū)ο蠓椒?Object-OrientedMethod).

曾被稱譽(yù)為“程序設(shè)計(jì)方法的革命”的結(jié)構(gòu)化程序設(shè)計(jì).使程序設(shè)計(jì)從主要依賴于程序員個(gè)人的自由活動(dòng)變成為有章可循的一門科學(xué)。它的主要貢獻(xiàn),是推動(dòng)了程序設(shè)計(jì)風(fēng)格從“追求技巧與效率”到“清晰第一、效率第二”的轉(zhuǎn)變。從而提高了程序的易讀性和可靠性。1976年.瑞士的沃斯((Nikiaus Wirth)教授在其經(jīng)典名著《算法十?dāng)?shù)據(jù)結(jié)構(gòu)二程序,的序言中指出:“程序就是在數(shù)據(jù)的某些特定表示形式和結(jié)構(gòu)的纂礎(chǔ)上.對(duì)于抽象算法的具體描述。”、“不了解施加于數(shù)據(jù)上的算法,就無(wú)法決定如何構(gòu)成數(shù)據(jù);反之,算法的結(jié)構(gòu)和選撣,卻常常在很大程度上依翰于作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。簡(jiǎn)而言之。程序的構(gòu)成與數(shù)據(jù)結(jié)構(gòu)是兩個(gè)不可分割地聯(lián)系在一起的問(wèn)題.”

沃斯的論述.精辟地概括了算法與數(shù)據(jù)結(jié)構(gòu)在當(dāng)時(shí)程序設(shè)計(jì)中的地位與相互關(guān)系.“算法+數(shù)據(jù)結(jié)構(gòu)二程序”.影響和指導(dǎo)了一代又一代的程序員。從早期的程序設(shè)計(jì)語(yǔ)言Fortran,Cobol,ADA,Pascal到現(xiàn)代的C語(yǔ)言,全是面向過(guò)程的,都有一個(gè)特點(diǎn):當(dāng)對(duì)軟件進(jìn)行分析或設(shè)計(jì)時(shí).開(kāi)發(fā)人員總是遵循“程序二數(shù)據(jù)結(jié)構(gòu)十算法”的思路.把程序理解為由一組被動(dòng)的數(shù)據(jù)和一組能動(dòng)的過(guò)程所構(gòu)成,這樣的程序設(shè)計(jì)方法就稱為面向過(guò)程的程序設(shè)計(jì)方法。

結(jié)構(gòu)化程序設(shè)計(jì)的普及促進(jìn)了軟件生產(chǎn)的工業(yè)化,也緩解了當(dāng)時(shí)的軟件危機(jī)。然而它的面向過(guò)程的程序設(shè)計(jì)思路,不適合日益復(fù)雜應(yīng)用系統(tǒng)。實(shí)踐表明用結(jié)構(gòu)化技術(shù)處理5000行以下代碼的軟件的確是十分有效的,但面對(duì)當(dāng)今的大規(guī)模軟件產(chǎn)品的復(fù)雜性。卻仍舊無(wú)能為力??墒窃诳陀^事物中,實(shí)體的內(nèi)部“狀態(tài)態(tài),’(可用數(shù)據(jù)表示)和“運(yùn)動(dòng)”(加于數(shù)據(jù)的操作)卻是結(jié)合在一起的.這就使采用傳統(tǒng)范型開(kāi)發(fā)的軟件模型(稱為“解空間” Solutiondomain)被人為地偏離客觀實(shí)體本身的模型(稱為“間題空間”,Problem domain).于是,面向?qū)ο蟮姆椒ň蛻?yīng)運(yùn)而生了。

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,數(shù)據(jù)及其操作被封裝在一個(gè)個(gè)稱為“對(duì)象”(Object)的統(tǒng)一體中,對(duì)象之間則通過(guò)“消息”(Message)相互聯(lián)系,‘對(duì)象+消息”的機(jī)制取代了“數(shù)據(jù)結(jié)構(gòu)+算法”的思路,因而較好地實(shí)現(xiàn)了一解空間”與“問(wèn)題空間,的一致性,為解決軟件危機(jī)帶來(lái)了新的希望,從結(jié)構(gòu)化程序設(shè)計(jì)到面向?qū)ο蟮某绦蛟O(shè)計(jì),是程序設(shè)汁方法的又一次飛躍,在軟件開(kāi)發(fā)和維護(hù)中正日益顯露其優(yōu)越性。

面向?qū)ο蟮乃枷胱畛跗鹪从?0世紀(jì)60年代中期的仿真程序設(shè)計(jì)語(yǔ)言Simula 67。 20世紀(jì)紀(jì)80年代初出現(xiàn)的Smalltalk語(yǔ)言和90年代推出的C++,Java語(yǔ)言及其程序設(shè)計(jì)環(huán)境先后成為面向?qū)ο蠹夹g(shù)發(fā)展的重要里程碑。從80年代末開(kāi)始,面向?qū)ο蟮某绦蛟O(shè)計(jì)和面向?qū)ο蟮男枨蠓治龆嫉玫娇焖侔l(fā)展,特別是90年代中期,lBooch, Rumbaugh和Jacoson共同提出了統(tǒng)一建模ig言(Unified Modeling Language, CML),把眾多面向?qū)ο蠓椒ňC合成一種標(biāo)準(zhǔn),使面向?qū)ο蟮姆椒ǔ蔀橹髁鞯某绦蛟O(shè)計(jì)方法。

 (1)對(duì)象((Object),對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是它的屬性和相關(guān)操作的統(tǒng)一封裝體。屬性表示對(duì)象的性質(zhì),屬性值規(guī)定了對(duì)象所有可能的狀態(tài)。對(duì)象的操作是指該對(duì)象可以展現(xiàn)的外部服務(wù)。例如。若將卡車視為對(duì)象。則它具有位置、速度、顏色、容量等屬性。對(duì)于該對(duì)象可施行啟動(dòng)、停車、加速、維修等操作,這些操作將或多或少地改變卡車的屬性值。

(2)類(Class)。類用于表示某些對(duì)象的共同特征(屬性和操作),對(duì)象是類的實(shí)例。例如,汽車類可包含位置、速度、顏色等屬性,以及啟動(dòng)、停車、加速等操作??ㄜ囀瞧囶惖囊粋€(gè)實(shí)例。

(3)繼承(Inheritance)類之間可以存在繼承關(guān)系,它是現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬,可用來(lái)表示類之間的內(nèi)在聯(lián)系以及對(duì)屬性和操作的共享。子類可以沿用父類(被繼承類)的某些特征,同時(shí)子類也可以具有自己獨(dú)有的屬性和操作,對(duì)于一個(gè)類的修改能自動(dòng)反映到它的所有子類中。例如,飛行器、汽車和輪船都是交通工具類的子類,它們都可以繼承交通工具類的某些屬性和操作。除繼承關(guān)系外,現(xiàn)實(shí)世界中還大量存在著“部分和整體”關(guān)系。例如,飛機(jī)可由發(fā)動(dòng)機(jī)、機(jī)身、機(jī)械控制系統(tǒng)、電子控制系統(tǒng)等構(gòu)成。這種關(guān)系在面向?qū)ο蠓椒▽W(xué)中可表示為類之間的聚集(Aggregation)關(guān)系。在聚集關(guān)系下,“部分”類的對(duì)象“整體”類對(duì)象的一個(gè)組成部分。

(4)消息(Message)。消息傳遞是對(duì)象與其外部世界相互關(guān)聯(lián)的唯一途徑。對(duì)象可以向其他對(duì)象發(fā)送消息以請(qǐng)求服務(wù),也可以響應(yīng)其他對(duì)象傳來(lái)的消息,完成自身固有的某些操作,從而服務(wù)于其他對(duì)象.例如。直升飛機(jī)可以響應(yīng)輪船的海難急救信號(hào),起飛,加速,飛赴出事地點(diǎn)并實(shí)施救援作業(yè)。 對(duì)象的操作主要是用來(lái)響應(yīng)外來(lái)消息并為其他對(duì)象提供服務(wù)的,所以它們也被稱作“外部服務(wù)”。Coad和Yourdon認(rèn)為。采用上述4種概念進(jìn)行開(kāi)發(fā)的軟件系統(tǒng)可以認(rèn)為是面向?qū)ο蟮?。為此,他們把面向?qū)ο蠓椒w結(jié)為一個(gè)簡(jiǎn)單的公式,即面向時(shí)象二對(duì)象+分類(Classification) +繼承+消息通信(Communication withmessages)。
來(lái)源聲明:本文章系尚品中國(guó)編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來(lái)自尚品中國(guó)。以上內(nèi)容部分(包含圖片、文字)來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。
TAG標(biāo)簽:

推薦新聞

更多行業(yè)
如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶滿意度,該怎么辦?

預(yù)約專業(yè)咨詢顧問(wèn)溝通!

*尚品專業(yè)顧問(wèn)將盡快與您聯(lián)系

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

現(xiàn)在就與專業(yè)咨詢顧問(wèn)溝通!

  • 全國(guó)服務(wù)熱線

    400-700-4979

  • 北京服務(wù)熱線

    010-60259772

信息保護(hù)中請(qǐng)放心填寫
在線咨詢

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com