1、隨著軟件業(yè)新技術(shù)新思想的發(fā)展,軟件重構(gòu)發(fā)生的越來越普遍。而重構(gòu)數(shù)據(jù)庫重構(gòu)是軟件重構(gòu)經(jīng)常發(fā)生的所在。絕大多數(shù)的商用軟件都與它們的背后的數(shù)據(jù)庫緊密耦合在一起,這也是databaseschema難以修改的原因之一,另外,數(shù)據(jù)遷移也往往容易造成數(shù)據(jù)庫重構(gòu)。 本文主要介紹了作者在工程實踐中,所參與項目的數(shù)據(jù)庫重構(gòu)的設(shè)計與實現(xiàn)。先詳細(xì)論述了當(dāng)前的重構(gòu)與數(shù)據(jù)庫重構(gòu)的理論,并對相關(guān)數(shù)據(jù)庫重構(gòu)做了相關(guān)的研究綜述。緊接著,以一個金融管理系統(tǒng)軟件PE
2、的數(shù)據(jù)庫重構(gòu)為例,通過對項目背景、體系結(jié)構(gòu)、數(shù)據(jù)庫現(xiàn)狀介紹、重構(gòu)原因分析、風(fēng)險分析等,使讀者對現(xiàn)有系統(tǒng)有了進(jìn)一步的了解。然后,通過對原有PE數(shù)據(jù)庫與代碼的分析,選擇合適的重構(gòu)策略與方案,并加以設(shè)計、實現(xiàn)、驗證,并成功的進(jìn)行了實施與后期改進(jìn)。另外,文中還著重論述了項目過程中所遇到的困難,以及解決辦法。項目的成功完成,改進(jìn)了該軟件原有的數(shù)據(jù)庫的不合理之處,實現(xiàn)了多個數(shù)據(jù)庫實例的整合,從而改進(jìn)現(xiàn)有代碼以及提高數(shù)據(jù)庫性能,為最終減少多個數(shù)據(jù)庫系
3、統(tǒng)維護(hù)的代價,并為今后的下一個階段的開展以及客戶業(yè)務(wù)拓寬打下堅實的基礎(chǔ)。 本文,為年代久遠(yuǎn)的大型商業(yè)軟件的數(shù)據(jù)庫重構(gòu)提出了一種完整、合理的實現(xiàn)技術(shù),給出了一個具體的的示范與實例,是對數(shù)據(jù)庫重構(gòu)的一次探索。這個項目的成功,從理論上證明了對復(fù)雜的,大型的,缺乏資料的數(shù)據(jù)庫重構(gòu)的可行性,從實際工作的角度給出了具體的設(shè)計與實現(xiàn)方案。本人在該項目開始時候就已經(jīng)加入,主要參與了設(shè)計、開發(fā)、驗證工作,同時也對測試以及后期解決死鎖,提高數(shù)據(jù)庫性