蔣 帥 姚亞楠 段福玉 魏 然
(1.西京學(xué)院,陜西 西安 710000;2.呂梁學(xué)院,山西 呂梁 033000;3.中國(guó)礦業(yè)大學(xué)徐海學(xué)院,江蘇 徐州 221000;4.中北大學(xué)信息商務(wù)學(xué)院,山西 晉中 030600)
想要成功地開發(fā)出一個(gè)管理信息系統(tǒng),需要用到非常多的軟件,而面向?qū)ο蟪潭仍O(shè)計(jì)和面向過程程序設(shè)計(jì)都能夠完成管理信息系統(tǒng)的設(shè)計(jì)。雖然二者都能夠獨(dú)立完成,但二者在設(shè)計(jì)過程中卻存在本質(zhì)上的區(qū)別。二者均屬于非常成熟和典型的開發(fā)方法。本文對(duì)于二者的區(qū)別進(jìn)行了深入探討。
對(duì)象的含義是指具體的某一個(gè)事物,即在現(xiàn)實(shí)生活中能夠看得見摸得著的事物。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象所指的是計(jì)算機(jī)系統(tǒng)中的某一個(gè)成分。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象包含兩個(gè)含義,其中一個(gè)是數(shù)據(jù),另外一個(gè)是動(dòng)作。對(duì)象則是數(shù)據(jù)和動(dòng)作的結(jié)合體。對(duì)象不僅能夠進(jìn)行操作,同時(shí)還能夠及時(shí)記錄下操作結(jié)果。
方法是指對(duì)象能夠進(jìn)行的操作,方法同時(shí)還有另外一個(gè)名稱,叫做函數(shù)。方法是類中的定義函數(shù),其具體的作用就是對(duì)對(duì)象進(jìn)行描述操作。
繼承簡(jiǎn)單地說就是一種層次模型,這種層次模型能夠被重用。層次結(jié)構(gòu)的上層具有通用性,但是下層結(jié)構(gòu)則具有特殊性。在繼承的過程中類則可以從最頂層的部分繼承一些方法和變量。類除了可以繼承以外同時(shí)還能夠進(jìn)行修改或者添加。通過這樣的方式能夠有效提高工作效率。在這里舉一個(gè)例子,當(dāng)類X繼承了類Y后,此時(shí)的類X則是一個(gè)派生類,而類Y屬于一個(gè)基類。
面向過程程序設(shè)計(jì)最為基礎(chǔ)的就是程序的設(shè)計(jì)思想,在整個(gè)設(shè)計(jì)過程中反復(fù)強(qiáng)調(diào)程序結(jié)構(gòu)的規(guī)范化,因?yàn)橹挥谐绦蚪Y(jié)構(gòu)的規(guī)范化才能夠順利開展后續(xù)的設(shè)計(jì)內(nèi)容。面向過程程序所強(qiáng)調(diào)的結(jié)構(gòu)規(guī)范化是:順序、選擇、循環(huán)三個(gè)結(jié)構(gòu),這三個(gè)結(jié)構(gòu)為最基礎(chǔ)性的結(jié)構(gòu)。
面向過程程序設(shè)計(jì)是以算法為核心,并且將整個(gè)數(shù)據(jù)的處理過程都單獨(dú)進(jìn)行處理。將數(shù)據(jù)和代碼進(jìn)行分離,能夠有效地解決計(jì)算機(jī)觀點(diǎn)性的問題。計(jì)算機(jī)在解決問題的過程中是分步驟進(jìn)行處理,因此想要計(jì)算機(jī)進(jìn)行某種功能操作,就必須告訴計(jì)算機(jī)具體的操作步驟。這樣才能夠保證計(jì)算機(jī)進(jìn)行高效地運(yùn)作。由此可見,面向過程程序設(shè)計(jì)本質(zhì)就是按照計(jì)算機(jī)的要求,然后圍繞預(yù)先設(shè)計(jì)好的算法進(jìn)行程序設(shè)計(jì)。
面向過程程序設(shè)計(jì)可以看做一個(gè)金字塔的模式,整個(gè)設(shè)計(jì)過程是自上而下進(jìn)行設(shè)計(jì),并且逐步解決問題。設(shè)計(jì)過程是將每個(gè)功能都具體劃分為各個(gè)模塊,然后通過參數(shù)傳遞的方式實(shí)現(xiàn)每個(gè)模塊上的功能。如果要進(jìn)一步理解模塊的話,可以具體理解為函數(shù)、過程、子程序以及宏等等。
面向?qū)ο蟪绦蛟O(shè)計(jì)與面向過程程序設(shè)計(jì)最為主要的區(qū)別就是,面對(duì)對(duì)象程序設(shè)計(jì)是盡可能地在模擬人類的思維。通過這樣的方式能夠讓開發(fā)的軟件更加符合人類的認(rèn)知,人們使用起來也能夠更加順手。并且通過應(yīng)用軟件能夠切實(shí)地解決現(xiàn)實(shí)生活中的問題。面向?qū)ο蟪绦蛟O(shè)計(jì)使得描述問題的問題空間和問題的解決方法空間組合在一起,并且盡可能地保持一致。能夠?qū)⒖陀^世界中的抽象問題轉(zhuǎn)化為具體的問題對(duì)象。面對(duì)過程程序設(shè)計(jì)的核心是算法,而面向?qū)ο蟪绦蛟O(shè)計(jì)的核心是對(duì)象。這樣的方法是由一些列的對(duì)象構(gòu)成。類在現(xiàn)實(shí)世界是抽象的,是一種靜態(tài)的數(shù)據(jù),而對(duì)象則能夠?qū)㈩惥唧w化。每個(gè)對(duì)象之間能夠互相傳遞信息,并且模擬現(xiàn)實(shí)世界中不同實(shí)體之間的關(guān)系,從而將問題進(jìn)行不斷細(xì)化。對(duì)于面向?qū)ο蟪绦蛟O(shè)計(jì)來說,對(duì)象是最為主要的一個(gè)模塊。
面向過程程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)有著本質(zhì)性的區(qū)別,二者各有各的好處,都能夠獨(dú)立開發(fā)出軟件。在具體的應(yīng)用過程中可以根據(jù)實(shí)際情況進(jìn)行選擇。面向?qū)ο蟪绦蛟O(shè)計(jì)能夠讓抽閑的問題變得具體,因此在解決問題的過程中能夠更加方便和快捷。面向?qū)ο蟪绦蛟O(shè)計(jì)主要采用的方式是不斷模擬人類的思維模式。用對(duì)象的分解取代面向過程方法學(xué)中的功能分解。