首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

軟考:數(shù)據(jù)庫(kù)設(shè)計(jì)中的方法

引言

    過(guò)去幾年中,我們將敏捷方法應(yīng)用于數(shù)據(jù)庫(kù)設(shè)計(jì),總結(jié)出一些技巧,使得當(dāng)應(yīng)用程序發(fā)展時(shí),數(shù)據(jù)庫(kù)也能夠進(jìn)化,這是敏捷方法的一個(gè)重要屬性。我們的方法是通過(guò)持續(xù)集成以及自動(dòng)重構(gòu),通過(guò)數(shù)據(jù)庫(kù)管理人員(DBA)和應(yīng)用開發(fā)人員的緊密合作來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。這些技巧在應(yīng)用開發(fā)的各個(gè)時(shí)期都有效。

1 敏捷方法學(xué)

    近年來(lái),出現(xiàn)了一種新的軟件開發(fā)方法學(xué)——敏捷方法學(xué)。這給數(shù)據(jù)庫(kù)設(shè)計(jì)提出了一些新的、巨大的需求。這些需求的一個(gè)中心就是進(jìn)化設(shè)計(jì)。在一個(gè)敏捷項(xiàng)目中,需要假定我們并不能事先確定系統(tǒng)的需求,因此在項(xiàng)目的初期有一個(gè)詳細(xì)設(shè)計(jì)階段的想法是不現(xiàn)實(shí)的。系統(tǒng)的設(shè)計(jì)必須隨著軟件的變化而進(jìn)化。敏捷方法,尤其是極限編程(XP),通過(guò)一些實(shí)踐使這種進(jìn)化設(shè)計(jì)成為可能。在數(shù)據(jù)庫(kù)設(shè)計(jì)采用敏捷方法,反復(fù)迭代。

    許多人會(huì)懷疑敏捷方法能否用于有大型數(shù)據(jù)庫(kù)組件的系統(tǒng),但我們的確使用了許多敏捷和XP技巧,用于解決基于大型數(shù)據(jù)庫(kù)的項(xiàng)目中的進(jìn)化與迭代問(wèn)題。

4 變化法則

    如同任何實(shí)踐一樣,這些原則必須根據(jù)你特殊的環(huán)境變化。沒有一成不變的項(xiàng)目,我們必須要應(yīng)對(duì)變化。

4.1 保持多個(gè)數(shù)據(jù)庫(kù)在一個(gè)系統(tǒng)中

    簡(jiǎn)單項(xiàng)目也許只需要一個(gè)主數(shù)據(jù)庫(kù)。但是復(fù)雜項(xiàng)目需要有多個(gè)數(shù)據(jù)庫(kù),即數(shù)據(jù)庫(kù)系。如果在投入生產(chǎn)之前數(shù)據(jù)庫(kù)必須分支,那么我們可以創(chuàng)建新的數(shù)據(jù)庫(kù)系。數(shù)據(jù)庫(kù)系類似于代碼的分支,需要不同測(cè)試數(shù)據(jù)集來(lái)進(jìn)行測(cè)試。

    當(dāng)開發(fā)人員從主數(shù)據(jù)庫(kù)中獲取了一份拷貝,必須注冊(cè)他們?cè)谛薷哪膫(gè)數(shù)據(jù)庫(kù)系。當(dāng)DBA更新主數(shù)據(jù)庫(kù)某個(gè)數(shù)據(jù)庫(kù)系時(shí),同時(shí)更新了所有注冊(cè)這個(gè)數(shù)據(jù)庫(kù)系的開發(fā)人員的數(shù)據(jù)庫(kù)。

4.2 不需要專職的DBA

    所有這些聽上去好像需要大量的工作,但它并不需要大量的人力資源。在最大的項(xiàng)目中,我們有30個(gè)開發(fā)人員,項(xiàng)目組規(guī)模100人(包括質(zhì)量評(píng)價(jià)、分析人員和管理人員),我們大概有100多個(gè)不同系列的產(chǎn)品分布在各工作站上。但所有這些工作只需要一個(gè)專職DBA,只有兩個(gè)編程人員業(yè)余幫忙。

    在小項(xiàng)目中甚至不需要專職DBA。當(dāng)我們將這些技巧用于更小的項(xiàng)目--12人左右的小項(xiàng)目時(shí),發(fā)現(xiàn)該項(xiàng)目不需要一個(gè)專職的DBA,與此相反,我們依靠?jī)蓚(gè)對(duì)數(shù)據(jù)庫(kù)感興趣的開發(fā)人員業(yè)余處理DBA任務(wù)。

    這是自動(dòng)化的功勞,如果對(duì)每項(xiàng)任務(wù)進(jìn)行自動(dòng)化處理,就可以用更少的人來(lái)完成更多的工作。

5 輔助工具

    數(shù)據(jù)庫(kù)進(jìn)化需要大量的重復(fù)性工作,我們可以開發(fā)一些簡(jiǎn)單工具來(lái)幫助我們解決大量的重復(fù)性工作。

    自動(dòng)化的最有價(jià)值的地方就是有一個(gè)通用數(shù)據(jù)庫(kù)任務(wù)簡(jiǎn)單代碼集。自動(dòng)化的任務(wù)包括:

(1) 用戶資料與現(xiàn)在管理員的資料一致

(2) 創(chuàng)建新用戶

(3) 復(fù)制數(shù)據(jù)庫(kù)計(jì)劃并協(xié)同修改

(4) 移動(dòng)并合成數(shù)據(jù)庫(kù)

(5) 刪除用戶

(6) 導(dǎo)出用戶,這樣項(xiàng)目組成員可以分發(fā)離線數(shù)據(jù)庫(kù)備份。

(7) 導(dǎo)入用戶,這樣項(xiàng)目組成員可以擁有數(shù)據(jù)庫(kù)備份,導(dǎo)入數(shù)據(jù)庫(kù),創(chuàng)建新計(jì)劃。

(8) 導(dǎo)出基線,將主數(shù)據(jù)庫(kù)進(jìn)行備份,這是導(dǎo)出用戶的一個(gè)特例。

(9) 創(chuàng)建不同計(jì)劃的報(bào)告,以便比較。

(10) 將計(jì)劃與主計(jì)劃作比較,這樣開發(fā)人員就可以將他們本地拷貝與主數(shù)據(jù)庫(kù)作比較

(11) 列出所有的用戶

    分析人員和質(zhì)量評(píng)價(jià)人員常常會(huì)去看測(cè)試數(shù)據(jù),并且需要改變他們,因此我們用VBA語(yǔ)句開發(fā)一個(gè)Excel應(yīng)用程序,從數(shù)據(jù)庫(kù)里面提取數(shù)據(jù)到Excel文件中,允許用戶修改這個(gè)文件,修改后又返回到數(shù)據(jù)庫(kù)中去。當(dāng)然,也可以使用其他工具來(lái)瀏覽和編輯數(shù)據(jù)庫(kù)的內(nèi)容,但是我們使用excel,因?yàn)楹芏嗳耸煜に?

    項(xiàng)目組的所有成員應(yīng)該很容易獲取數(shù)據(jù)庫(kù)設(shè)計(jì)的詳細(xì)內(nèi)容,從而發(fā)現(xiàn)什么表格可以獲得,以及如何使用這些表格。我們建立了基于HTML的工具,使用servlets來(lái)查詢數(shù)據(jù)庫(kù)元數(shù)據(jù)。因此開發(fā)人員在添加字段之前,可以先通過(guò)搜索表和字段的元數(shù)據(jù)來(lái)看一看數(shù)據(jù)庫(kù)中有沒有這個(gè)字段。我們使用Erwin建模,將數(shù)據(jù)從Erwin提取到我們的元數(shù)據(jù)表中。

6 結(jié)束語(yǔ)

    當(dāng)然,這并不是敏捷方法在數(shù)據(jù)庫(kù)設(shè)計(jì)中的全部應(yīng)用,也不是數(shù)據(jù)庫(kù)進(jìn)化設(shè)計(jì)的全部,還有集成數(shù)據(jù)庫(kù)和24*7小時(shí)實(shí)施以及其他一些沒有解決的問(wèn)題,數(shù)據(jù)庫(kù)進(jìn)化設(shè)計(jì)還需要進(jìn)行進(jìn)一步的研究工作。

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。