- 相關(guān)推薦
數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中面向?qū)ο蠹夹g(shù)的應(yīng)用
摘 要:基于面向?qū)ο蠹夹g(shù)的基本思想和開發(fā)過程,介紹了面向?qū)ο蠹夹g(shù)的實(shí)現(xiàn)方法。結(jié)合具體實(shí)例對(duì)面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)中的應(yīng)用進(jìn)行了詳細(xì)的探討,利用面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)分析和設(shè)計(jì)方法,使用UML工具建立了具體的對(duì)象模型,給出了一種比較通用的數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)模式。使用該模式設(shè)計(jì)的系統(tǒng)重用性好,且易于維護(hù),從而有效提高了數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)質(zhì)量。關(guān)鍵詞:面向?qū)ο蠹夹g(shù) 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 對(duì)象模型
1 面向?qū)ο蟮挠嘘P(guān)基本概念
1.1 對(duì)象(Object)、方法(Method)及消息(Message)
客觀世界的問題都是由客觀世界中的實(shí)體及其相互之間的關(guān)系構(gòu)成的。我們將客觀世界中的實(shí)體抽象為問題空間中的對(duì)象。由于我們需要解決的問題不同,我們面向的對(duì)象也就不同,因此對(duì)象是不固定的。一本書可以是一個(gè)對(duì)象,一家圖書館也可以是一個(gè)對(duì)象。從動(dòng)態(tài)的觀點(diǎn)看,對(duì)象及其操作就是對(duì)象的行為,一個(gè)對(duì)象的通常定義是:對(duì)象是對(duì)一組信息及其上面的操作的描述。
私有數(shù)據(jù)結(jié)構(gòu)和處理,這些處理又稱為操作(Operation)或方法(Method),包括控制和過程。其中私有數(shù)據(jù)表示了對(duì)象的狀態(tài),該狀態(tài)只能由私有操作來改變,每當(dāng)需要改變對(duì)象的狀態(tài)時(shí),只能由其它對(duì)象向該對(duì)象發(fā)送消息。
消息是用來請(qǐng)求對(duì)象執(zhí)行某一操作或回答某些信息的要求,消息統(tǒng)一了數(shù)據(jù)流和控制流,程序的執(zhí)行是靠在對(duì)象間傳遞消息來完成的。表示消息的形式是消息模式。對(duì)同一消息模式的不同消息,同一對(duì)象所作的解釋和處理都相同,但是會(huì)由于對(duì)象狀態(tài)的不同而導(dǎo)致操作結(jié)果不同。一個(gè)消息模式定義對(duì)象的一種處理能力,所有消息模式及相應(yīng)于消息模式的處理能力,定義了對(duì)象的外部特征。
1.2 類(Class)、實(shí)例(Instance)、繼承性(Inheritance)
在客觀世界中,有許多具有相同特征的事物,如:小轎車、大客車、卡車等,可以歸類為機(jī)動(dòng)車。從對(duì)象觀點(diǎn)看,具有共同的屬性、共同的操作性質(zhì)的對(duì)象的集合就是類,而單個(gè)對(duì)象則是對(duì)應(yīng)類的一個(gè)實(shí)例。例如:書是一個(gè)類,而某一本具體的書如《面向?qū)ο蟮姆治觥穭t是該類的一個(gè)實(shí)例,任何一個(gè)對(duì)象都是某一個(gè)類的實(shí)例,并繼承該類定義的私有數(shù)據(jù)和操作。這就是繼承性,一個(gè)類實(shí)質(zhì)上定義的是一種對(duì)象類型。
類構(gòu)成層次結(jié)構(gòu),相對(duì)上層的是超類,相對(duì)下層是子類,子類在繼承超類的私有數(shù)據(jù)結(jié)構(gòu)及操作的同時(shí)可以擁有自有的私有數(shù)據(jù)結(jié)構(gòu)及操作。如果一個(gè)子類只有一個(gè)超類,則稱為單繼承性,這時(shí)該類共享多個(gè)超類的屬性及操作。
類和繼承性是現(xiàn)代軟件工程中的重要概念,軟件的可重用性、程序成分的可重用性是通過繼承類中的屬性和操作而實(shí)現(xiàn)的。許多工業(yè)觀察有相信可重用軟件不是通過建立傳統(tǒng)的過程序(子程序庫(kù)),而是通過建立"類庫(kù)"實(shí)現(xiàn)的。
1.3封裝性(Encapsulation)
對(duì)象的封裝性體現(xiàn)在以下幾個(gè)方面:
對(duì)象具有清楚的邊界:對(duì)象的內(nèi)部軟件(數(shù)據(jù)結(jié)構(gòu)及操作)的范圍,限定在這個(gè)邊界之內(nèi);對(duì)象具有統(tǒng)一的外部接口:對(duì)象的接口(消息模式)描述該對(duì)象與其他對(duì)象間的相互作用;對(duì)象的內(nèi)部實(shí)現(xiàn)是不公開的:對(duì)象的實(shí)現(xiàn)給出了對(duì)象提供的功能細(xì)節(jié),外部對(duì)象是不能訪問這個(gè)功能細(xì)節(jié)的。
信息隱蔽是軟件開發(fā)過程中強(qiáng)調(diào)的一個(gè)重要概念,對(duì)象的封裝性很好地體現(xiàn)了這一概念。這就便利得用面向?qū)ο蠹夹g(shù)所開發(fā)設(shè)計(jì)的軟件的可維護(hù)性大為改善,這也是軟件技術(shù)追求的目標(biāo)之一。 2 面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中的應(yīng)用
面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫(kù)系統(tǒng)中的一個(gè)重要應(yīng)用是面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)的研究,隨著數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域的擴(kuò)大,新的應(yīng)用領(lǐng)域,例如計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助軟件工程、超文本應(yīng)用等提出了模擬復(fù)雜對(duì)象、模擬對(duì)象的復(fù)雜行為等新需求。傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)難以滿足這些需求,應(yīng)用的發(fā)展推動(dòng)了數(shù)據(jù)庫(kù)新技術(shù)的研究,面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)應(yīng)運(yùn)而生。
面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫(kù)系統(tǒng)中的另一個(gè)重要應(yīng)用是面向?qū)ο蟮臄?shù)據(jù)庫(kù)應(yīng)用開發(fā)工具的研究。隨著客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的發(fā)展,以及對(duì)全企業(yè)范圍數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的需求。傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的應(yīng)用開發(fā)人員對(duì)數(shù)據(jù)庫(kù)應(yīng)用開發(fā)工具提出了新的要求,要求它們支持圖形化用戶界面(GUI)開發(fā)、軟件部件重用、開發(fā)組的工作方式、應(yīng)用系統(tǒng)的可伸縮性、可擴(kuò)充性等。與這些要求相呼應(yīng),數(shù)據(jù)庫(kù)廠商和工具開發(fā)商將面向?qū)ο蠹夹g(shù)應(yīng)用到關(guān)系數(shù)據(jù)庫(kù)應(yīng)用開發(fā)工具中,推出了面向?qū)ο蟮臄?shù)據(jù)庫(kù)應(yīng)用開發(fā)工具,并投入市場(chǎng),為在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用開發(fā)中采用面向?qū)ο蠹夹g(shù)提供了有力的支持。
數(shù)據(jù)庫(kù)管理系統(tǒng)的開發(fā)過程包括需求分析和系統(tǒng)設(shè)計(jì)兩個(gè)階段,在完成了需求分析后要進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接關(guān)系到系統(tǒng)后期的開發(fā)。傳統(tǒng)需求分析使用數(shù)據(jù)流圖,而數(shù)據(jù)庫(kù)設(shè)計(jì)使用E-R模型,需求分析者和數(shù)據(jù)庫(kù)設(shè)計(jì)者在運(yùn)用和理解上很難達(dá)成一致。如果在需求分析階段采用面向?qū)ο蟮姆治龇椒ǎ瑪?shù)據(jù)庫(kù)設(shè)計(jì)也采用面向?qū)ο蟮脑O(shè)計(jì)方法,則需求分析階段的對(duì)象模型可以很自然地轉(zhuǎn)化為數(shù)據(jù)庫(kù)的結(jié)構(gòu)。使用支持對(duì)象技術(shù)的統(tǒng)一建模語(yǔ)言(unifiedmodelinglanguage,UML)可以很好的解決數(shù)據(jù)庫(kù)設(shè)計(jì)中的問題,UML語(yǔ)言描述真實(shí)世界中的對(duì)象和它們之間的關(guān)系,支持應(yīng)用的開發(fā)。UML目前已經(jīng)成為面向?qū)ο蠹夹g(shù)中的標(biāo)準(zhǔn)建模語(yǔ)言,包括了3大類共9種不同的、相互聯(lián)系的圖:靜態(tài)圖(用例圖、類圖、對(duì)象圖)、動(dòng)態(tài)圖(活動(dòng)圖、協(xié)作圖、順序圖、狀態(tài)圖)以及結(jié)構(gòu)圖(組件圖、配置圖),分別描述一個(gè)軟件系統(tǒng)的外部功能結(jié)構(gòu)、內(nèi)部靜態(tài)與動(dòng)態(tài)結(jié)構(gòu)以及程序代碼的物理結(jié)構(gòu);椒ㄏ啾,在面向?qū)ο蠓椒ㄖ须m然難以掌握深層的抽象分析,但是由于它在需求分析和系統(tǒng)設(shè)計(jì)階段采用一致的方法能更有效地進(jìn)行系統(tǒng)模塊設(shè)計(jì)并使軟件變得可以重用,因此成為了軟件工程中流行的技術(shù)。
總之,隨著科學(xué)技術(shù)不斷進(jìn)步和經(jīng)濟(jì)不斷發(fā)展,面向?qū)ο蠹夹g(shù)在當(dāng)今軟件開發(fā)中的運(yùn)用越來越廣泛,面向?qū)ο蠹夹g(shù)中使用UML語(yǔ)言對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)具有非常重要的作用。運(yùn)用UML語(yǔ)言能詳細(xì)描述數(shù)據(jù)庫(kù)系統(tǒng)的外部功能結(jié)構(gòu)、內(nèi)部靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)結(jié)構(gòu)以及程序代碼的物理結(jié)構(gòu),采用面向?qū)ο蟮某墒旒夹g(shù)提高了數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的效率和質(zhì)量,提高了數(shù)據(jù)庫(kù)系統(tǒng)軟件開發(fā)的可重用性和可維護(hù)性。
參考文獻(xiàn):
[1]吳際、金茂忠.UML面向?qū)ο蠓治鯷M].北京:北京航空航天大學(xué)出版社,2002.
[2]薩師煊、王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2002.
[3]韓強(qiáng)、陳天滋.UML在關(guān)系型GIS空間數(shù)據(jù)庫(kù)設(shè)計(jì)中的應(yīng)用與研究[J].江蘇大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,23(1):82-86.
[4]吉莉、劉玉生.基于UML設(shè)計(jì)數(shù)據(jù)庫(kù)模型[J].計(jì)算機(jī)與現(xiàn)代化,2001(5):55-58.
[5]朱作付.基于UML與設(shè)計(jì)模式思想的數(shù)據(jù)庫(kù)設(shè)計(jì)與復(fù)用研究[J].華南金融電腦, 2006,(11):91-94.
[6]董傳良、陸嘉恒、董瑋文等.面向?qū)ο髷?shù)據(jù)庫(kù)中的等價(jià)模式演化策略[J].計(jì)算機(jī)工程, 2000,26(9):23-24.
[7]張民強(qiáng).利用數(shù)據(jù)字典實(shí)現(xiàn)面向?qū)ο髷?shù)據(jù)庫(kù)的模式演進(jìn)[J].應(yīng)用科技, 2003,30(10):24-26.
[8]王功明、關(guān)永、趙春江等.面向?qū)ο髷?shù)據(jù)庫(kù)發(fā)展和研究[J].計(jì)算機(jī)應(yīng)用研究,2006,23(3):1-4.
【數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中面向?qū)ο蠹夹g(shù)的應(yīng)用】相關(guān)文章:
信息技術(shù)在美術(shù)教學(xué)中的應(yīng)用05-30
探究我國(guó)工業(yè)設(shè)計(jì)中電氣節(jié)能技術(shù)應(yīng)用現(xiàn)狀分析論文05-24
現(xiàn)代教育技術(shù)在物理教學(xué)中的應(yīng)用論文04-21
廣播電視工程中的接地技術(shù)應(yīng)用論文05-27
GPSRTK技術(shù)在工程測(cè)量中的應(yīng)用研究論文06-05
移動(dòng)網(wǎng)絡(luò)中OTN傳輸技術(shù)的應(yīng)用論文05-27
信息技術(shù)在機(jī)械專業(yè)教學(xué)中的應(yīng)用論文04-29
傳統(tǒng)圖案在高校藝術(shù)設(shè)計(jì)教育中的應(yīng)用08-12