![淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/5f28314eb402ad216bf350b9b483e256/5f28314eb402ad216bf350b9b483e2561.gif)
![淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/5f28314eb402ad216bf350b9b483e256/5f28314eb402ad216bf350b9b483e2562.gif)
![淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/5f28314eb402ad216bf350b9b483e256/5f28314eb402ad216bf350b9b483e2563.gif)
![淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/5f28314eb402ad216bf350b9b483e256/5f28314eb402ad216bf350b9b483e2564.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、淺談?dòng)?jì)算機(jī)信息隱蔽性設(shè)計(jì)摘要:包含在計(jì)算機(jī)模塊內(nèi)的信息對(duì)于無(wú)需這些信g-的其他模塊是不可存取的,即將不需要的信息都隱藏起來(lái),只允許其他模塊知道其本身所需的信息。這樣可以使問(wèn)題求解簡(jiǎn)單化,從而到達(dá)好理解、好實(shí)現(xiàn)、好驗(yàn)證、好重用的目的。它可以從整體上保證計(jì)算機(jī)軟件的質(zhì)量,降低計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)本錢。關(guān)鍵詞:隱蔽原那么;抽象原那么;關(guān)系;對(duì)象;黑盒有關(guān)計(jì)算機(jī)軟件工程的隱蔽原那么一般是這樣描繪的:包含在模塊內(nèi)的信息對(duì)于無(wú)需這些信息的其他模塊是不可存取的,即將不需要的信息都隱藏起來(lái),只允許其他模塊知道其本身所需的信息。假設(shè)說(shuō)最簡(jiǎn)單的就是最好的,那么計(jì)算機(jī)信息隱蔽性最強(qiáng)的就是最簡(jiǎn)單的。從方法學(xué)的總結(jié)到
2、推廣,從軟件設(shè)計(jì)到軟件實(shí)現(xiàn),從手工開(kāi)發(fā)到工具輔助,信息隱蔽原那么無(wú)時(shí)無(wú)處不發(fā)揮著極有效的指導(dǎo)作用。l計(jì)算機(jī)隱蔽原那么與其他原那么的統(tǒng)一11方法學(xué)都基于軟件工程根本原那么根本原那么是行為所根據(jù)的法那么和標(biāo)準(zhǔn)。無(wú)論什么方法學(xué)從知識(shí)工程角度來(lái)說(shuō),都是運(yùn)用軟件工程方法學(xué)根本原那么的規(guī)那么、策略及工具的集合。其中抽象原那么是最重要的,它給出軟件工程問(wèn)題求解全過(guò)程的最根本原那么,其他原那么是對(duì)抽象原那么的補(bǔ)充。指導(dǎo)如何抽象的根本原那么大體上可以分為體系標(biāo)準(zhǔn)原那么和模塊標(biāo)準(zhǔn)原那么兩類。前者是標(biāo)準(zhǔn)整體解題思路及解得驗(yàn)證,包括形式化原那么、分割原那么、層次原那么、概念完好性原那么、完備性原那么;后者那么是與子問(wèn)
3、題有關(guān)的原那么,包括隱蔽原那么、局部化原那么、邏輯獨(dú)立性原那么。面向?qū)ο蟮摹瓣P(guān)系抽象較多受前者標(biāo)準(zhǔn),“對(duì)象抽象較多受后者標(biāo)準(zhǔn)。12根本原那么間的互相關(guān)聯(lián)雖然可以做“體系標(biāo)準(zhǔn)和“模塊標(biāo)準(zhǔn)的大體分類,但根本原那么之間并不是無(wú)關(guān)的,而是整體與局部間的互相制約,形成一個(gè)統(tǒng)一體。要求將信息最大限度地隱蔽在計(jì)算機(jī)模塊內(nèi)的隱蔽原那么,使模塊內(nèi)部信息封裝化、模塊的外部形象黑盒化,與外部的關(guān)系最少,所以使?jié)M足體系抽象原那么的抽象過(guò)程和驗(yàn)證工作簡(jiǎn)單化,同時(shí)也很容易滿足模塊標(biāo)準(zhǔn)的其他原那么,如局部化原那么和邏輯獨(dú)立性原那么。例如將具有多重關(guān)聯(lián)的多個(gè)數(shù)據(jù)庫(kù)表的條件組合查詢,由一個(gè)駐在效勞器端的存儲(chǔ)過(guò)程來(lái)統(tǒng)一完成??蛻?/p>
4、端用戶可以在同一個(gè)窗口上對(duì)數(shù)十項(xiàng)多層穿插的查詢條件任意選擇組合,將選定條件送給相應(yīng)存儲(chǔ)過(guò)程。從外部來(lái)看,存儲(chǔ)過(guò)程的任務(wù)極為單純,即根據(jù)指定條件找出所有符合條件的記錄,將結(jié)果寫到一個(gè)有共享構(gòu)造的工作表中,然后把查詢正常與否的消息通報(bào)給客戶端的調(diào)用程序。該程序接到正常查詢完畢消息后,到指定暫時(shí)存放查詢結(jié)果的工作表中,按一定格式取出結(jié)果并報(bào)告給用戶。我認(rèn)為,這是一個(gè)全面符合軟件工程根本原那么的設(shè)計(jì)典范,而其關(guān)鍵技術(shù)是信息隱蔽設(shè)計(jì)。首先是遵循隱蔽原那么將具有復(fù)雜關(guān)系構(gòu)造的多個(gè)數(shù)據(jù)庫(kù)表的操作和庫(kù)表構(gòu)造封裝在一起,實(shí)現(xiàn)了完全的信息隱蔽。由于高度信息隱蔽的實(shí)現(xiàn)使這一組相關(guān)庫(kù)表的所有多層穿插組合構(gòu)造有可能在一
5、個(gè)對(duì)象中完成,高度滿足了局部化原那么。由于它的功能單純、明確,數(shù)據(jù)庫(kù)表間接口通過(guò)對(duì)相應(yīng)存儲(chǔ)過(guò)程傳遞參數(shù)來(lái)完成,屬于內(nèi)聚性最強(qiáng)的功能內(nèi)聚和耦合性最弱的數(shù)據(jù)耦合,因此具有很好的邏輯獨(dú)立性。不難想象,幾十項(xiàng)查詢條件的組合,查詢結(jié)果顯示方式達(dá)三四十種是很正常的。由于在局部化、功能獨(dú)立化原那么下應(yīng)用對(duì)象只是抽象成一個(gè)超類窗口對(duì)象,在信息隱蔽設(shè)計(jì)支持下,這三四十種結(jié)果顯示功能可以全部互相獨(dú)立地掛在查詢父窗口下,自然地滿足了分割原那么、層次原那么、概念完好性原那么等體系標(biāo)準(zhǔn)原那么。2信息隱蔽性設(shè)計(jì)的目的和優(yōu)越性21目的討論信息隱蔽性設(shè)計(jì)的目的是:分析將信息隱蔽起來(lái)有什么好處,以便使問(wèn)題求解簡(jiǎn)單化。211好理
6、解一般的復(fù)雜問(wèn)題有兩個(gè)特征,一是解題要參照的接口太多、太復(fù)雜,二是解題的方法太復(fù)雜。那么要想使之簡(jiǎn)化,無(wú)非是從問(wèn)題接口和問(wèn)題解法上人手。將復(fù)雜的接口信息與復(fù)雜算法隱蔽起來(lái),剩下的自然是簡(jiǎn)單的。換句話說(shuō)就是實(shí)現(xiàn)對(duì)象的外部數(shù)據(jù)構(gòu)造與算法的封裝。需要知道的東西越少越好理解。在軟件工程中,理解是最繁重的工作之一。開(kāi)發(fā)過(guò)程中從分析人員對(duì)用戶需求的理解,到設(shè)計(jì)人員對(duì)需求規(guī)格的理解,直至編程人員對(duì)軟件設(shè)計(jì)的理解,是一個(gè)理解傳遞的過(guò)程。每一級(jí)開(kāi)發(fā)人員的目的都應(yīng)是將經(jīng)過(guò)自己加工后的、更簡(jiǎn)單的抽象結(jié)果更抽象、更好理解。因此好的設(shè)計(jì)人員就是經(jīng)其加工后傳給下級(jí)開(kāi)發(fā)人員的設(shè)計(jì)最容易理解,即給出的問(wèn)題定義越簡(jiǎn)單、接口越少
7、越好。212好實(shí)現(xiàn)有時(shí)好理解卻不好實(shí)現(xiàn),即實(shí)現(xiàn)算法復(fù)雜。但是,假設(shè)把復(fù)雜算法做成一個(gè)封裝的模塊對(duì)象,使實(shí)現(xiàn)者只需知道模塊的作用和使用方法就可以得到所期待的輸出結(jié)果,而無(wú)須知道模塊內(nèi)部的詳細(xì)實(shí)現(xiàn),因此實(shí)現(xiàn)的問(wèn)題就可以得到簡(jiǎn)化。213好驗(yàn)證復(fù)雜問(wèn)題也不好驗(yàn)證。有些設(shè)計(jì)看起來(lái)好理解,也不難實(shí)現(xiàn),但驗(yàn)證起來(lái)卻很難。例如假設(shè)設(shè)計(jì)了相當(dāng)多的功能熱鍵用戶接口。對(duì)于輸入數(shù)據(jù)窗口和數(shù)據(jù)項(xiàng)較多的應(yīng)用程序,測(cè)試起來(lái)非常困難。多個(gè)功能熱鍵、多種激活方式、多個(gè)輸入數(shù)據(jù)窗口和數(shù)據(jù)項(xiàng)之間前后控制跳轉(zhuǎn),這些都是黑盒測(cè)試的出發(fā)點(diǎn),而每個(gè)控制節(jié)點(diǎn)都以2以上的指數(shù)方式遞增著測(cè)試用例數(shù)目。即使一般復(fù)雜的應(yīng)用,其測(cè)試用例也超過(guò)200類
8、。由于采用了這種多控制、多轉(zhuǎn)移的復(fù)雜輸入方式設(shè)計(jì),算法復(fù)雜是不可防止的。簡(jiǎn)化的方法還是信息隱蔽性設(shè)計(jì),將每個(gè)熱鍵的多種激活方式觸發(fā)的內(nèi)部處理都寫成公共對(duì)象且封裝起來(lái),供各應(yīng)用程序繼承調(diào)用。顯然這種隱蔽技術(shù)直接簡(jiǎn)化了理解和實(shí)現(xiàn)。由于公共父類對(duì)象已經(jīng)做過(guò)全面集中測(cè)試,下層程序繼承后的有關(guān)測(cè)試絕大局部可以“免檢,所以間接簡(jiǎn)化了驗(yàn)證,到達(dá)“好驗(yàn)證的目的。214好重用好驗(yàn)證的設(shè)計(jì)方法是把算法復(fù)雜的對(duì)象泛化為超類對(duì)象,進(jìn)展集中實(shí)現(xiàn)和集中測(cè)試,使多個(gè)下層子類共享父類的實(shí)現(xiàn)和測(cè)試,所以它也是一種重用方案。好重用往往是好理解、好實(shí)現(xiàn)、好驗(yàn)證的必然結(jié)果。不過(guò)它是從更高層次上審視信息隱蔽性的目的。轉(zhuǎn)貼于論文聯(lián)盟.l
9、l.22優(yōu)越性由于信息隱蔽性設(shè)計(jì)重用性高,因此可以大大降低開(kāi)發(fā)和維護(hù)本錢。詳細(xì)可以從兩方面來(lái)看其優(yōu)越性。1)由于將復(fù)雜內(nèi)容都隱蔽到公共超類之中,可以集中優(yōu)勢(shì)兵力對(duì)公共超類對(duì)象統(tǒng)一進(jìn)展設(shè)計(jì)攻關(guān)、設(shè)計(jì)優(yōu)化和代碼優(yōu)化及測(cè)試和修改,所以不僅利于保證設(shè)計(jì)和實(shí)現(xiàn)的正確性,而且利于進(jìn)步可維護(hù)性、保證數(shù)據(jù)平安性??傊?,有利于從整體上保證軟件的根本質(zhì)量,降低維護(hù)本錢。2)由于簡(jiǎn)化了編程難度,防止了重復(fù)勞動(dòng),降低了對(duì)程序員技術(shù)經(jīng)歷程度的要求,減少了設(shè)計(jì)說(shuō)明和理解交流及編輯的工作量,因此利于減少開(kāi)發(fā)本錢。倘假設(shè)前述的軟件設(shè)計(jì)不是采用信息隱蔽性設(shè)計(jì),倘假設(shè)我們只有對(duì)復(fù)雜的庫(kù)表構(gòu)造了如指掌之后才能進(jìn)展多層穿插組合查詢程
10、序的實(shí)現(xiàn),這不僅將需要許多時(shí)間理解庫(kù)表構(gòu)造,還需要構(gòu)筑同樣的數(shù)據(jù)庫(kù),錄入能表達(dá)復(fù)雜數(shù)據(jù)關(guān)系的各種測(cè)試數(shù)據(jù)。由于數(shù)據(jù)關(guān)系映射著應(yīng)用對(duì)象的關(guān)系,為此我們還必須理解滿足各種組合查詢的數(shù)據(jù)與應(yīng)用業(yè)務(wù)處理間的對(duì)應(yīng)關(guān)系,因?yàn)樯杂欣斫馄?,取出的用于統(tǒng)計(jì)的數(shù)據(jù)就會(huì)全面失去意義。所以信息隱蔽性設(shè)計(jì)對(duì)于大型軟件開(kāi)發(fā),特別是分式的異地開(kāi)發(fā),是不可或缺的。實(shí)際上,前述軟件設(shè)計(jì)提供給我們的是與復(fù)雜數(shù)據(jù)庫(kù)構(gòu)造封裝在一起的組合查詢存儲(chǔ)過(guò)程,只是一個(gè)樁程序。在我們開(kāi)發(fā)客戶端組合查詢程序時(shí),它完全是個(gè)黑盒子,甚至沒(méi)有放到效勞器端。但是,它使得組合查詢程序只剩下輸入數(shù)據(jù)檢驗(yàn)這一單純功能了。3信息隱蔽性設(shè)計(jì)的根本思路與理論信息隱
11、蔽是個(gè)原那么而不是方法,按此原那么設(shè)計(jì)的系統(tǒng)具有信息隱蔽性,這是設(shè)計(jì)優(yōu)化的一種表現(xiàn)。構(gòu)造化方法和面向?qū)ο蠓椒ǘ甲非笮畔㈦[蔽性,并且各自具有一套抽象與實(shí)現(xiàn)的思路與方法。在此,我們嘗試歸納一下不拘泥于方法學(xué)的有關(guān)設(shè)計(jì)思路與方法。31哪些場(chǎng)合應(yīng)考慮隱蔽性設(shè)計(jì)總的來(lái)說(shuō),但凡可以用信息隱蔽性設(shè)計(jì)、使復(fù)雜問(wèn)題簡(jiǎn)單化的場(chǎng)合,都應(yīng)該采用此設(shè)計(jì)。首先,可以對(duì)共同事件、共同處理采用隱蔽性設(shè)計(jì)。因?yàn)橹貜?fù)是問(wèn)題復(fù)雜化的一個(gè)重要原因。例如“輸入數(shù)據(jù)檢驗(yàn)、“退出事件、“翻開(kāi)事件、“打印處理、“熱鍵的轉(zhuǎn)移控制、“系統(tǒng)信息輸出處理等,甚至對(duì)打印報(bào)表的“制表時(shí)間與頁(yè)號(hào)編輯功能的共同處理。其次,可以對(duì)接口和環(huán)境采用隱蔽性設(shè)計(jì)。因
12、為接口也是問(wèn)題復(fù)雜化的重要原因之一。例如,可將靜態(tài)數(shù)據(jù)庫(kù)表及其查詢操作隱蔽起來(lái),將復(fù)雜關(guān)系表及其存取操作隱蔽起來(lái),甚至可以將所有數(shù)據(jù)庫(kù)都隱蔽起來(lái),使低級(jí)開(kāi)發(fā)人員根本不必意識(shí)數(shù)據(jù)庫(kù)的存在,以及將特殊輸入輸出裝置接口處理隱蔽起來(lái),將與其他系統(tǒng)的接口處理隱蔽起來(lái)等。此外,還可以把復(fù)雜的算法、概念隱蔽起來(lái),也可以把用戶沒(méi)有權(quán)限的功能隱蔽起來(lái),以保證數(shù)據(jù)的平安性。32信息隱蔽的實(shí)現(xiàn)方法我們可以把實(shí)現(xiàn)信息隱蔽的物理范圍稱為隱蔽黑盒。信息隱蔽實(shí)現(xiàn)方法實(shí)際上就是隱蔽黑盒的實(shí)現(xiàn)方法與調(diào)用方法。隱蔽黑盒一般可以用函數(shù)、存儲(chǔ)過(guò)程、超類對(duì)象、語(yǔ)句系列來(lái)實(shí)現(xiàn)。使用隱蔽黑盒時(shí),可以用函數(shù)、存儲(chǔ)過(guò)程調(diào)用、祖先繼承及程序段復(fù)
13、制等相應(yīng)方法來(lái)引用。321效勞器端的隱蔽黑盒設(shè)計(jì)技術(shù)我們使用觸發(fā)器來(lái)實(shí)現(xiàn)對(duì)一些數(shù)據(jù)庫(kù)超類表(如流水號(hào)表)或共同表操作(如表頭信息寫操作)的盒化。觸發(fā)器是通過(guò)將實(shí)現(xiàn)方法與調(diào)用方法封裝在一起,把調(diào)用方法也隱蔽起來(lái),是最徹底的隱蔽黑盒。這除了使復(fù)雜問(wèn)題簡(jiǎn)單化以外,還有利于數(shù)據(jù)庫(kù)的平安。因?yàn)樵賴?yán)密的客戶端操作也無(wú)法完全排除網(wǎng)絡(luò)帶來(lái)的不平安因素的影響。而隨著網(wǎng)絡(luò)支持性價(jià)比的進(jìn)步,把數(shù)據(jù)庫(kù)相關(guān)操作集中在效勞器端,客戶端只負(fù)責(zé)輸入數(shù)據(jù)的正確性檢查和結(jié)果數(shù)據(jù)的處理,這顯然是一種既講效率又能保證數(shù)據(jù)庫(kù)數(shù)據(jù)平安體系構(gòu)造的方法,是“胖效勞器瘦客戶機(jī)開(kāi)展方向的必然取舍。322靜態(tài)表的隱蔽黑盒設(shè)計(jì)從信息隱蔽的角度看程序中別離出去的靜態(tài)表,對(duì)程序來(lái)說(shuō)也是一個(gè)隱蔽黑盒,它實(shí)現(xiàn)了程序中存在變因的控制數(shù)據(jù)或開(kāi)關(guān)數(shù)據(jù)對(duì)程序的隱蔽(隔離)。靜態(tài)表放在效勞器端,便于共享和維護(hù)。同時(shí),我們用邏輯控制靜態(tài)表解決了面向不同應(yīng)用對(duì)象動(dòng)態(tài)組合應(yīng)用功能這個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教學(xué)儀器知識(shí)產(chǎn)權(quán)保護(hù)合同
- 全新轎車購(gòu)買合同范本
- 2025年度金融貸款居間風(fēng)險(xiǎn)控制合同
- 全國(guó)授權(quán)合同范本
- 養(yǎng)鵝合同范例
- 切割支撐合同范本
- 業(yè)主和裝修工長(zhǎng)合同范例
- 2025年度花卉市場(chǎng)渠道建設(shè)與拓展合同
- 自愿租賃房屋意向合同范本
- n 1賠償合同范本
- 2024年事業(yè)單位租車服務(wù)滿意度調(diào)查及改進(jìn)協(xié)議3篇
- 婦產(chǎn)科醫(yī)生個(gè)人年終述職報(bào)告課件
- 2025年全國(guó)低壓電工作業(yè)證理論考試題庫(kù)(含答案)
- JGJ-T188-2009施工現(xiàn)場(chǎng)臨時(shí)建筑物技術(shù)規(guī)范
- 教師資格考試高級(jí)中學(xué)美術(shù)學(xué)科知識(shí)與教學(xué)能力試題與參考答案(2024年)
- 2025年人教版高考生物一輪復(fù)習(xí):綜合PCR的基因工程問(wèn)題
- 鋼筋焊接工藝性試驗(yàn)方案
- 2024年福建省新高考生物試卷真題(含答案解析)
- GB/T 44273-2024水力發(fā)電工程運(yùn)行管理規(guī)范
- 醫(yī)院突發(fā)性事件、護(hù)理重點(diǎn)環(huán)節(jié)、醫(yī)院病區(qū)等應(yīng)急預(yù)案
- 2024年政工職稱考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論