淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第1頁
淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第2頁
淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)

摘要:包含在計(jì)算機(jī)模塊內(nèi)的信息對(duì)于無需這些信.g-的其他模塊是不可存取的,即將不需要的信息都隱藏起來,只允許其他模塊知道其本身所需的信息。這樣可以使問題求解簡單化,從而達(dá)到好理解、好實(shí)現(xiàn)、好驗(yàn)證、好重用的目標(biāo)。它可以從整體上保證計(jì)算機(jī)軟件的質(zhì)量,降低計(jì)算機(jī)軟件的開發(fā)和維護(hù)成本。關(guān)鍵詞:隱蔽原則;抽象原則;關(guān)系;對(duì)象;黑盒有關(guān)計(jì)算機(jī)軟件工程的隱蔽原則一般是這樣描述的:包含在模塊內(nèi)的信息對(duì)于無需這些信息的其他模塊是不可存取的,即將不需要的信息都隱藏起來,只允許其他模塊知道其本身所需的信息。如果說最簡單的就是最好的,那么計(jì)算機(jī)信息隱蔽性最強(qiáng)的就是最簡單的。從方法學(xué)的總結(jié)到推廣,從軟件設(shè)計(jì)到軟件實(shí)現(xiàn),從手工開發(fā)到工具輔助,信息隱蔽原則無時(shí)無處不發(fā)揮著極有效的指導(dǎo)作用。l計(jì)算機(jī)隱蔽原則與其他原則的統(tǒng)一1.1方法學(xué)都基于軟件工程基本原則基本原則是行為所依據(jù)的法則和規(guī)范。無論什么方法學(xué)從知識(shí)工程角度來說,都是運(yùn)用軟件工程方法學(xué)基本原則的規(guī)則、策略及工具的集合。其中抽象原則是最重要的,它給出軟件工程問題求解全過程的最基本原則,其他原則是對(duì)抽象原則的補(bǔ)充。指導(dǎo)如何抽象的基本原則大體上可以分為體系規(guī)范原則和模塊規(guī)范原則兩類。前者是規(guī)范整體解題思路及解得驗(yàn)證,包括形式化原則、分割原則、層次原則、概念完整性原則、完備性原則;后者則是與子問題有關(guān)的原則,包括隱蔽原則、局部化原則、邏輯獨(dú)立性原則。面向?qū)ο蟮摹瓣P(guān)系”抽象較多受前者規(guī)范,“對(duì)象”抽象較多受后者規(guī)范。1.2基本原則間的相互關(guān)聯(lián)雖然可以做“體系規(guī)范”和“模塊規(guī)范”的大體分類,但基本原則之間并不是無關(guān)的,而是整體與局部間的相互制約,形成一個(gè)統(tǒng)一體。要求將信息最大限度地隱蔽在計(jì)算機(jī)模塊內(nèi)的隱蔽原則,使模塊內(nèi)部信息封裝化、模塊的外部形象黑盒化,與外部的關(guān)系最少,所以使?jié)M足體系抽象原則的抽象過程和驗(yàn)證工作簡單化,同時(shí)也很容易滿足模塊規(guī)范的其他原則,如局部化原則和邏輯獨(dú)立性原則。例如將具有多重關(guān)聯(lián)的多個(gè)數(shù)據(jù)庫表的條件組合查詢,由一個(gè)駐在服務(wù)器端的存儲(chǔ)過程來統(tǒng)一完成??蛻舳擞脩艨梢栽谕粋€(gè)窗口上對(duì)數(shù)十項(xiàng)多層交叉的查詢條件任意選擇組合,將選定條件送給相應(yīng)存儲(chǔ)過程。從外部來看,存儲(chǔ)過程的任務(wù)極為單純,即根據(jù)指定條件找出所有符合條件的記錄,將結(jié)果寫到一個(gè)有共享結(jié)構(gòu)的工作表中,然后把查詢正常與否的消息通報(bào)給客戶端的調(diào)用程序。該程序接到正常查詢結(jié)束消息后,到指定暫時(shí)存放查詢結(jié)果的工作表中,按一定格式取出結(jié)果并報(bào)告給用戶。我認(rèn)為,這是一個(gè)全面符合軟件工程基本原則的設(shè)計(jì)典范,而其關(guān)鍵技術(shù)是信息隱蔽設(shè)計(jì)。首先是遵循隱蔽原則將具有復(fù)雜關(guān)系結(jié)構(gòu)的多個(gè)數(shù)據(jù)庫表的操作和庫表結(jié)構(gòu)封裝在一起,實(shí)現(xiàn)了完全的信息隱蔽。由于高度信息隱蔽的實(shí)現(xiàn)使這一組相關(guān)庫表的所有多層交叉組合結(jié)構(gòu)有可能在一個(gè)對(duì)象中完成,高度滿足了局部化原則。由于它的功能單純、明確,數(shù)據(jù)庫表間接口通過對(duì)相應(yīng)存儲(chǔ)過程傳遞參數(shù)來完成,屬于內(nèi)聚性最強(qiáng)的功能內(nèi)聚和耦合性最弱的數(shù)據(jù)耦合,因而具有很好的邏輯獨(dú)立性。不難想象,幾十項(xiàng)查詢條件的組合,查詢結(jié)果顯示方式達(dá)三四十種是很正常的。由于在局部化、功能獨(dú)立化原則下應(yīng)用對(duì)象只是抽象成一個(gè)超類窗口對(duì)象,在信息隱蔽設(shè)計(jì)支持下,這三四十種結(jié)果顯示功能可以全部相互獨(dú)立地掛在查詢父窗口下,自然地滿足了分割原則、層次原則、概念完整性原則等體系規(guī)范原則。2信息隱蔽性設(shè)計(jì)的目的和優(yōu)越性2.1目的探討信息隱蔽性設(shè)計(jì)的目的是:分析將信息隱蔽起來有什么好處,以便使問題求解簡單化。2.1.1好理解一般的復(fù)雜問題有兩個(gè)特征,一是解題要參照的接口太多、太復(fù)雜,二是解題的方法太復(fù)雜。那么要想使之簡化,無非是從問題接口和問題解法上人手。將復(fù)雜的接口信息與復(fù)雜算法隱蔽起來,剩下的自然是簡單的。換句話說就是實(shí)現(xiàn)對(duì)象的外部數(shù)據(jù)結(jié)構(gòu)與算法的封裝。需要知道的東西越少越好理解。在軟件工程中,理解是最繁重的工作之一。開發(fā)過程中從分析人員對(duì)用戶需求的理解,到設(shè)計(jì)人員對(duì)需求規(guī)格的理解,直至編程人員對(duì)軟件設(shè)計(jì)的理解,是一個(gè)理解傳遞的過程。每一級(jí)開發(fā)人員的目的都應(yīng)是將經(jīng)過自己加工后的、更簡單的抽象結(jié)果更抽象、更好理解。因此好的設(shè)計(jì)人員就是經(jīng)其加工后傳給下級(jí)開發(fā)人員的設(shè)計(jì)最容易理解,即給出的問題定義越簡單、接口越少越好。2.1.2好實(shí)現(xiàn)有時(shí)好理解卻不好實(shí)現(xiàn),即實(shí)現(xiàn)算法復(fù)雜。但是,如果把復(fù)雜算法做成一個(gè)封裝的模塊對(duì)象,使實(shí)現(xiàn)者只需知道模塊的作用和使用方法就可以得到所期待的輸出結(jié)果,而無須知道模塊內(nèi)部的具體實(shí)現(xiàn),因此實(shí)現(xiàn)的問題就可以得到簡化。2.1.3好驗(yàn)證復(fù)雜問題也不好驗(yàn)證。有些設(shè)計(jì)看起來好理解,也不難實(shí)現(xiàn),但驗(yàn)證起來卻很難。例如如果設(shè)計(jì)了相當(dāng)多的功能熱鍵用戶接口。對(duì)于輸入數(shù)據(jù)窗口和數(shù)據(jù)項(xiàng)較多的應(yīng)用程序,測試起來十分困難。多個(gè)功能熱鍵、多種激活方式、多個(gè)輸入數(shù)據(jù)窗口和數(shù)據(jù)項(xiàng)之間前后控制跳轉(zhuǎn),這些都是黑盒測試的出發(fā)點(diǎn),而每個(gè)控制節(jié)點(diǎn)都以2以上的指數(shù)方式遞增著測試用例數(shù)目。即使一般復(fù)雜的應(yīng)用,其測試用例也超過200類。由于采用了這種多控制、多轉(zhuǎn)移的復(fù)雜輸入方式設(shè)計(jì),算法復(fù)雜是不可避免的。簡化的辦法還是信息隱蔽性設(shè)計(jì),將每個(gè)熱鍵的多種激活方式觸發(fā)的內(nèi)部處理都寫成公共對(duì)象且封裝起來,供各應(yīng)用程序繼承調(diào)用。顯然這種隱蔽技術(shù)直接簡化了理解和實(shí)現(xiàn)。由于公共父類對(duì)象已經(jīng)做過全面集中測試,下層程序繼承后的有關(guān)測試絕大部分可以“免檢”,所以間接簡化了驗(yàn)證,達(dá)到“好驗(yàn)證”的目的。2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論