摘 要:面向?qū)ο笤O(shè)計是計算機領(lǐng)域設(shè)計的新秀,同以往的設(shè)計方法相比有著很多的優(yōu)勢。本論文就面向?qū)ο笤O(shè)計技術(shù)的主要思想和開發(fā)過程中的主要階段以及需要注意的問題作了簡要的介紹,介紹了面向?qū)ο蠹夹g(shù)的實現(xiàn)方法。以具體的事例為研究對象,對其進行深入的分析探討并由此提出了一種常用的數(shù)據(jù)開發(fā)模式。這種提出來的數(shù)據(jù)開發(fā)模式有著便于多次重復(fù)利用以及隨時維修的優(yōu)勢,這樣就很大程度的提高了數(shù)據(jù)庫系統(tǒng)的開發(fā)效率和開發(fā)質(zhì)量。
關(guān)鍵詞:面向?qū)ο蠹夹g(shù);數(shù)據(jù)庫系統(tǒng);開發(fā)效率;設(shè)計
中圖分類號:TP311.13
1 面向?qū)ο髷?shù)據(jù)庫的概念
所謂面向?qū)ο髷?shù)據(jù)庫其實就是某些具有相同屬性的類的一個集合。面向?qū)ο髷?shù)據(jù)庫采用層次的模型結(jié)構(gòu),不同的類可以形成不同的類層次。當(dāng)然,同一個數(shù)據(jù)庫可能同時存在多個類層次。類是一種擁有集成性的特殊集合,一個類能夠繼承某些類,比如超類的全部屬性、方法以及消息。面向?qū)ο笫窃诿鎸π碌膶嶋H問題所提出來的,傳統(tǒng)的設(shè)計方法是建立在面向記錄上的,而面向?qū)ο髷?shù)據(jù)庫系統(tǒng)則是在面向?qū)ο蟮?、?fù)雜結(jié)構(gòu)的基礎(chǔ)上進行的,是一個邏輯上的整體。面向?qū)ο髷?shù)據(jù)庫設(shè)計方法能采用自然的方法,同時結(jié)合數(shù)據(jù)抽象機制在結(jié)構(gòu)和行為上對復(fù)雜對象建立模型,這樣做的好處是可以大幅度的提高對程序的管理效率,從而極大地降低系統(tǒng)使用中的復(fù)雜性。
2 面向?qū)ο筌浖_發(fā)過程
同傳統(tǒng)的數(shù)據(jù)庫開發(fā)相比,面向?qū)ο筌浖_發(fā)有著其獨特的優(yōu)勢與特點。面向?qū)ο蠼?jīng)常采用任務(wù)分配完成發(fā),也就是以模塊為處理單元,只要保證每個單位的功能得到徹底的實現(xiàn),然后通過一定的協(xié)議完成模塊的耦合,當(dāng)然我們要求模塊間的耦合程度越低越好,這樣能更好軟件開發(fā)。采用這樣的分塊方式用多的有點,給我們解決軟件設(shè)計問題帶了新的活力,但與此同時也存在著一定的缺陷和問題。整體性的缺乏就是其典型的缺陷。但是面向?qū)ο蟮能浖_發(fā)方法則不會,由于它是采用類、類的集合、對象實例作為基本單位的,盡管也是追求低耦合度,但是由于采用了類這一關(guān)聯(lián)體使得程序員在開發(fā)軟件時只要能夠恰當(dāng)?shù)奶幚磉@一關(guān)聯(lián),就一定可以很好的實現(xiàn)軟件開發(fā)。當(dāng)然假若這種關(guān)系沒有得到很好的處理,就有可能出現(xiàn)整體性崩潰的后果。
3 面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫設(shè)計過程中的應(yīng)用
當(dāng)今世界,以面向?qū)ο蠹夹g(shù)為軟件開發(fā)方法應(yīng)用以及遍及很多行業(yè)、企業(yè)。人們之所以更加青睞面向?qū)ο蠹夹g(shù)是因為其固有的優(yōu)勢,它能夠清楚的指導(dǎo)軟件開發(fā)者,為開發(fā)者提供開發(fā)說明、設(shè)計要求,這樣不僅使得開發(fā)變得簡潔也大大簡化了軟件的維護更新。傳統(tǒng)需求分析使用數(shù)據(jù)流圖,而數(shù)據(jù)庫設(shè)計使用E-R模型,這既使得在軟件開發(fā)過程中,需求分析者和數(shù)據(jù)庫設(shè)計者存在著一定的信息交流障礙,很難達成一致的理解。但是若果采用的是面向?qū)ο蟮男枨蠓治龇?,?shù)據(jù)庫設(shè)計采用面向?qū)ο蟮姆椒?,那么需求分析階段的對象模型就能夠輕松地轉(zhuǎn)化為數(shù)據(jù)庫的結(jié)構(gòu),而不會出現(xiàn)上述的信息理解問題。面向?qū)ο蠓椒ㄍc結(jié)構(gòu)化方法相比,雖然也會出現(xiàn)一定的開發(fā)困難,比如不能掌握深層次的抽象分析。但是由于面向?qū)ο蟮念愄幚恚徽撌欠治鲞€是系統(tǒng)設(shè)計都采用了相同的方法,這樣就使得開發(fā)中有著共同連接點,繼而保證了系統(tǒng)模塊化重用成為可能,這也就是這一種方法廣為流行的中重要原因。
為了更好地說明面向?qū)ο蠹夹g(shù)的開發(fā)過程,從而突出其優(yōu)點,我們僅以湖北省某縣的一所中學(xué)的成績系統(tǒng)來說明。一個學(xué)校的成績管理系統(tǒng)包好這很多的內(nèi)容,具體為學(xué)生的姓名、學(xué)生的課程成績、相關(guān)課程任課教師、課程表等,這些相關(guān)的信息都是作為一個類存在的。當(dāng)然,由于成績信息需要保證實時的更新,因此在具體的過程中還涉及到信息的交互變更等。
圖1是學(xué)生成績管理系統(tǒng)的類圖,由于每一個學(xué)生都一定屬于某一個班級中,每一門課程必須屬于某一個課表中,也即是說學(xué)生與班級之間、課程與課表之間的關(guān)系是一種包含的關(guān)系,是部分和整體的關(guān)系,這樣的關(guān)系就構(gòu)成了軟件開發(fā)過程中的聚合關(guān)聯(lián)。然而學(xué)生與課表的關(guān)系迥然不同,因為它們是一種多對多復(fù)雜的關(guān)系,這樣的關(guān)系在面向?qū)ο蠹夹g(shù)中提出了解決辦法就是通過共同關(guān)節(jié)點(成績)來實現(xiàn)的。下面的UML狀態(tài)圖清楚的表達出了面向?qū)ο蠹夹g(shù)中各個類之間的相互關(guān)系。
圖1 學(xué)生成績管理類圖
4 結(jié)束語
隨著社會的進步,社會對計算機系統(tǒng)設(shè)計也提出來許多新的要求。而面向?qū)ο蠹夹g(shù)就是餓、特定環(huán)境、特定時代下的產(chǎn)物,面向?qū)ο蠹夹g(shù)在當(dāng)今的軟件開發(fā)中正起著越來越重要的作用,甚至可以說面向?qū)ο髷?shù)據(jù)庫系統(tǒng)設(shè)計改變了我們的整個軟件開發(fā)領(lǐng)域。面向?qū)ο蠹夹g(shù)中使用UML語言對于數(shù)據(jù)庫系統(tǒng)的設(shè)計具有非常重要的作用。UML語言的運用能夠詳盡的對數(shù)據(jù)庫的外部功結(jié)構(gòu)、內(nèi)部的靜態(tài)結(jié)構(gòu)、動態(tài)消息等進行描述,這樣有效的提高了軟件開發(fā)的速率和質(zhì)量,使軟件更加便于維護,便于移植,從而提高軟件的適應(yīng)性。
參考文獻:
[1]劉江楓.面向?qū)ο髷?shù)據(jù)庫技術(shù)及其前景分析[J].化學(xué)工程與裝備,2011.
[2]汪琛,胡浩民.面向?qū)ο髷?shù)據(jù)庫技術(shù)的發(fā)展與前景[J].電腦報,2010.
[4]來羽,張華杰.面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的特點分析[J].河南科技,2012.
[3]杜文靜.面向?qū)ο髷?shù)據(jù)庫的探討[J].電腦報,2011.
作者簡介:楊右森(1986.05-),男,廣東汕頭人,輔導(dǎo)員,助教,學(xué)士學(xué)位,研究方向:計算機科學(xué)與技術(shù)。
作者單位:廣東水利電力職業(yè)技術(shù)學(xué)院,廣州 510635