摘 ? 要:在軟件系統(tǒng)分析和設(shè)計(jì)過(guò)程中,圍繞軟件體系結(jié)構(gòu)這一中心,利用類(lèi)圖模型和關(guān)系型數(shù)據(jù)庫(kù)關(guān)系模型之間的映射,可以加速數(shù)據(jù)庫(kù)設(shè)計(jì)。文章結(jié)合某高校智慧校園建設(shè)重點(diǎn)項(xiàng)目“科研管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)”實(shí)例,提出了一種綜合面向?qū)ο蟮臄?shù)據(jù)庫(kù)設(shè)計(jì)方法和UML方法,是以多層軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)設(shè)計(jì)方法。文章重點(diǎn)介紹了在多層軟件體系結(jié)構(gòu)框架內(nèi),類(lèi)、類(lèi)的方法到關(guān)系型數(shù)據(jù)庫(kù)的表、視圖、存儲(chǔ)過(guò)程的映射方法。
關(guān)鍵詞:軟件體系結(jié)構(gòu);關(guān)系型數(shù)據(jù)庫(kù);映射;面向?qū)ο蠓治雠c設(shè)計(jì);智慧校園
中圖分類(lèi)號(hào):TP311.13 文獻(xiàn)標(biāo)志碼:B 文章編號(hào):1673-8454(2020)05-0089-05
數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)邏輯模式和存儲(chǔ)方式,建立數(shù)據(jù)庫(kù),使其能夠滿足各種應(yīng)用對(duì)數(shù)據(jù)的需求[1]。常用的以數(shù)據(jù)為中心的方法把數(shù)據(jù)庫(kù)設(shè)計(jì)分為六個(gè)階段:①需求分析;②概念結(jié)構(gòu)設(shè)計(jì);③邏輯結(jié)構(gòu)設(shè)計(jì);④物理結(jié)構(gòu)設(shè)計(jì);⑤數(shù)據(jù)庫(kù)實(shí)施;⑥數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)[2] 。數(shù)據(jù)庫(kù)設(shè)計(jì)方法的選擇是決定數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量的關(guān)鍵因素。目前,常用的數(shù)據(jù)庫(kù)設(shè)計(jì)的方法有新奧爾良方法、基于E-R模型的方法、3NF方法、面向?qū)ο蠓椒?、UML方法等[3]。這些方法對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)走向規(guī)范化、標(biāo)準(zhǔn)化起到巨大的推動(dòng)作用,但隨著數(shù)據(jù)庫(kù)越來(lái)越龐大、應(yīng)用越來(lái)越復(fù)雜、用戶要求越來(lái)越高,上述的方法暴露出一些局限性[4]。以軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)方法為數(shù)據(jù)庫(kù)設(shè)計(jì)提供了新的思路。該方法綜合了面向?qū)ο髷?shù)據(jù)庫(kù)設(shè)計(jì)方法和UML方法的優(yōu)點(diǎn),在面向?qū)ο蟮南到y(tǒng)分析和系統(tǒng)設(shè)計(jì)階段,突出以軟件體系結(jié)構(gòu)為中心,把類(lèi)分析、類(lèi)設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程結(jié)合起來(lái),快速進(jìn)行高質(zhì)量、規(guī)范化的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)。
一、多層軟件體系結(jié)構(gòu)
軟件體系結(jié)構(gòu)是軟件系統(tǒng)的映射,它定義了軟件系統(tǒng)的不同組成部分、它們之間的關(guān)系和交互、通信機(jī)制、以及如何修改系統(tǒng)組件、如何添加新組件等整體規(guī)則[5]。
依據(jù)層模式理論建立的多層軟件體系結(jié)構(gòu)廣泛應(yīng)用于軟件系統(tǒng)的搭建。在層模式理論指導(dǎo)下,基于微軟ASP.NET MVC框架,可以設(shè)計(jì)出一種通用的多層軟件體系結(jié)構(gòu)。這種多層軟件體系結(jié)構(gòu)劃分為用戶接口層(User Interface Layer,UIL)、業(yè)務(wù)邏輯層(Business Logic Layer, BLL)、數(shù)據(jù)訪問(wèn)層(Data Access Layer,DAL)、實(shí)體域?qū)樱‥ntity Domain Layer, EDL)和數(shù)據(jù)存儲(chǔ)層(Data Storage Layer,DSL),共五層(見(jiàn)圖1)。
這里的用戶接口層UIL主要是指用戶界面;業(yè)務(wù)邏輯層BLL實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證、計(jì)算、業(yè)務(wù)規(guī)則等[6];數(shù)據(jù)訪問(wèn)層主要由數(shù)據(jù)庫(kù)、文件系統(tǒng)等組成,通過(guò)與數(shù)據(jù)庫(kù)交互,數(shù)據(jù)訪問(wèn)層DAL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)對(duì)象(表、視圖、存儲(chǔ)過(guò)程等)的操作;實(shí)體域?qū)覧DL集中了對(duì)同一類(lèi)業(yè)務(wù)實(shí)體或概念的抽象描述系統(tǒng)的實(shí)體類(lèi)[7];數(shù)據(jù)存儲(chǔ)層DSL用來(lái)存儲(chǔ)系統(tǒng)永久性對(duì)象,主要是數(shù)據(jù)庫(kù)和文件系統(tǒng)。這種多層軟件體系結(jié)構(gòu)對(duì)軟件系統(tǒng)進(jìn)行邏輯層次劃分,可以將業(yè)務(wù)邏輯和業(yè)務(wù)實(shí)體分離出來(lái),實(shí)現(xiàn)類(lèi)、組件的重用。
二、以軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)設(shè)計(jì)方法
以軟件體系結(jié)構(gòu)為中心進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),突出了軟件體系結(jié)構(gòu)的核心地位,改變傳統(tǒng)的以數(shù)據(jù)為中心的思想。在軟件體系結(jié)構(gòu)框架內(nèi),把類(lèi)的分析和設(shè)計(jì)與數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)合起來(lái),利用基于UML的面向?qū)ο笙到y(tǒng)分析和設(shè)計(jì)得到的類(lèi)圖模型映射到關(guān)系數(shù)據(jù)庫(kù)關(guān)系模型,把類(lèi)的方法映射到關(guān)系數(shù)據(jù)庫(kù)對(duì)象視圖或存儲(chǔ)過(guò)程。
實(shí)體域?qū)又械念?lèi)到數(shù)據(jù)庫(kù)表的映射。實(shí)體域?qū)又械膶?shí)體類(lèi)映射到數(shù)據(jù)存儲(chǔ)層數(shù)據(jù)庫(kù)基本表。實(shí)體類(lèi)的屬性映射為表的字段(列),而其中實(shí)體類(lèi)的關(guān)鍵屬性映射為數(shù)據(jù)庫(kù)表的主鍵,特殊情況如關(guān)聯(lián)類(lèi)轉(zhuǎn)化來(lái)的實(shí)體類(lèi)由屬性組合映射為數(shù)據(jù)庫(kù)關(guān)聯(lián)表的主鍵,屬性的類(lèi)型映射為數(shù)據(jù)庫(kù)中相應(yīng)數(shù)據(jù)類(lèi)型。數(shù)據(jù)庫(kù)表之間聯(lián)系的設(shè)計(jì)可通過(guò)實(shí)體類(lèi)之間的關(guān)系映射得到[8]。
數(shù)據(jù)訪問(wèn)層類(lèi)的方法到數(shù)據(jù)庫(kù)視圖或存儲(chǔ)過(guò)程的映射。數(shù)據(jù)訪問(wèn)層類(lèi)的方法映射為數(shù)據(jù)庫(kù)視圖或存儲(chǔ)過(guò)程,并通過(guò)嵌入在方法體中的SQL語(yǔ)句在數(shù)據(jù)庫(kù)操作中執(zhí)行這些視圖或存儲(chǔ)過(guò)程。
三、高??蒲泄芾硐到y(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用
山東某高校是一所具有行業(yè)特色的綜合性普通高等院校。應(yīng)智慧校園建設(shè)工作需要,該校急需開(kāi)發(fā)一套服務(wù)于科研管理人員、研究人員和高層領(lǐng)導(dǎo)的可進(jìn)行項(xiàng)目、成果、科研機(jī)構(gòu)和人員、科研考核、科研信息統(tǒng)計(jì)分析、科研資源共享的高質(zhì)量的科研管理應(yīng)用軟件。
高??蒲泄芾硐到y(tǒng)的開(kāi)發(fā)包括Web應(yīng)用開(kāi)發(fā)和數(shù)據(jù)庫(kù)設(shè)計(jì)兩部分。該科研管理軟件總體架構(gòu)采用了.Net框架下基于MVC設(shè)計(jì)模式的多層軟件體系結(jié)構(gòu)。數(shù)據(jù)存儲(chǔ)選擇利用Microsoft SQL Server 2008 企業(yè)版數(shù)據(jù)庫(kù)系統(tǒng)存儲(chǔ)和處理業(yè)務(wù)數(shù)據(jù)加文件系統(tǒng)的混合模式方案。在系統(tǒng)開(kāi)發(fā)過(guò)程中,考慮到開(kāi)發(fā)質(zhì)量和效率,數(shù)據(jù)庫(kù)的設(shè)計(jì)方法采用了前邊介紹的以多層軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)設(shè)計(jì)方法。
1.高??蒲泄芾硐到y(tǒng)實(shí)體類(lèi)圖
分布于實(shí)體域?qū)拥膶?shí)體類(lèi)主要由業(yè)務(wù)實(shí)體類(lèi)以及這些業(yè)務(wù)實(shí)體類(lèi)之間的關(guān)系轉(zhuǎn)化來(lái)的關(guān)聯(lián)類(lèi)組成。實(shí)體域包中的類(lèi)主要來(lái)自系統(tǒng)分析階段識(shí)別的實(shí)體分析類(lèi)及參與者的映射,包括部門(mén)類(lèi)Department、教師(科研人員)類(lèi)Teacher、學(xué)術(shù)會(huì)議類(lèi)AcademicMeeting 、學(xué)術(shù)報(bào)告類(lèi)Lecture、論文類(lèi)Paper、著作類(lèi)Book、專(zhuān)利類(lèi)Patent、成果獲獎(jiǎng)?lì)怉ward、縱向項(xiàng)目類(lèi)VerticalProject、橫向課題HorizontalProject、校級(jí)項(xiàng)目類(lèi)InternalProject、項(xiàng)目審核類(lèi)ProjectAudit、項(xiàng)目中檢類(lèi)ProjectMiddleCheck、項(xiàng)目結(jié)題類(lèi)ProjectComplete、項(xiàng)目費(fèi)用類(lèi)ProjectCost、角色類(lèi)Actor、用戶類(lèi)SRUser等。圖2為高校科研管理系統(tǒng)的主要實(shí)體類(lèi)之間關(guān)系的類(lèi)圖。
2.從類(lèi)圖模型到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)模型的映射
實(shí)體域?qū)覦omain包中的類(lèi)到關(guān)系數(shù)據(jù)庫(kù)表的映射和數(shù)據(jù)訪問(wèn)層包中數(shù)據(jù)訪問(wèn)邏輯類(lèi)的方法到數(shù)據(jù)庫(kù)視圖或存儲(chǔ)過(guò)程的映射是從類(lèi)圖模型到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)模型的映射的主要內(nèi)容。
(1)實(shí)體域?qū)又械念?lèi)到關(guān)系數(shù)據(jù)庫(kù)表的映射
由于對(duì)象模型側(cè)重于使用包含數(shù)據(jù)和行為的對(duì)象來(lái)構(gòu)建應(yīng)用程序,而關(guān)系模型則主要針對(duì)于數(shù)據(jù)的存儲(chǔ)[9],因此根據(jù)實(shí)體類(lèi)的特點(diǎn)和類(lèi)之間的關(guān)系,從實(shí)體類(lèi)到數(shù)據(jù)庫(kù)表的映射分為實(shí)體類(lèi)直接到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表映射、存在繼承關(guān)系的類(lèi)到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表的映射和存在關(guān)聯(lián)關(guān)系的類(lèi)到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表的映射三種情形。
①實(shí)體類(lèi)直接到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表映射。圖3表示實(shí)體域?qū)覦omain包中的成果獲獎(jiǎng)?lì)怉ward類(lèi)模型到成果獲獎(jiǎng)表Award模型映射關(guān)系圖。成果獲獎(jiǎng)?lì)怉ward中的屬性分別映射為成果獲獎(jiǎng)表Award的字段(列),屬性的類(lèi)型映射為數(shù)據(jù)庫(kù)中相應(yīng)的數(shù)據(jù)類(lèi)型;成果獲獎(jiǎng)?lì)?Award的關(guān)鍵屬性即標(biāo)識(shí)符映射為AwardSn映射為成果獲獎(jiǎng)表Award的主鍵AwardSn。實(shí)體域?qū)拥膶W(xué)術(shù)會(huì)議類(lèi)AcademicMeeting、學(xué)術(shù)報(bào)告類(lèi)Lecture、項(xiàng)目審核類(lèi)ProjectAudit、項(xiàng)目中檢類(lèi)ProjectMiddleCheck、項(xiàng)目結(jié)題類(lèi)ProjectComplete、項(xiàng)目費(fèi)用類(lèi)ProjectCost等也直接映射為數(shù)據(jù)庫(kù)的表。
②存在繼承關(guān)系的類(lèi)到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表的映射。項(xiàng)目類(lèi)Project有三個(gè)子類(lèi),分別為縱向項(xiàng)目VerticalProject、橫向項(xiàng)目HorizontalProject和校級(jí)項(xiàng)目InternalProject,如圖4所示繼承關(guān)系類(lèi)圖。這四個(gè)類(lèi)中Project只是作為抽象父類(lèi)存在,因此只需映射它的子類(lèi)到數(shù)據(jù)庫(kù)基本表。存在此類(lèi)繼承關(guān)系的還有作品類(lèi)Works和其子類(lèi)論文類(lèi)Paper、著作類(lèi)Book、專(zhuān)利類(lèi)Patent等,映射方法同項(xiàng)目類(lèi)Project。
③存在關(guān)聯(lián)關(guān)系的類(lèi)到關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表的映射。科研管理員、科研秘書(shū)、教師(科研人員)、校領(lǐng)導(dǎo)用戶類(lèi)、系統(tǒng)管理員等,這些業(yè)務(wù)角色可以抽象為角色類(lèi)Actor和科研管理系統(tǒng)用戶類(lèi)SRUser。角色類(lèi)Actor和科研管理系統(tǒng)用戶類(lèi)SRUser之間存在1對(duì)多的關(guān)聯(lián)關(guān)系,它們分別映射為數(shù)據(jù)庫(kù)表角色表Actor和科研管理系統(tǒng)用戶表SRUser(見(jiàn)圖5)。
存在關(guān)聯(lián)關(guān)系的學(xué)院部門(mén)類(lèi)Department和教師(科研人員)類(lèi)Teacher等,它們轉(zhuǎn)化為科研管理數(shù)據(jù)庫(kù)表學(xué)院部門(mén)表Department和教師(科研人員)表Teacher等。
在完成關(guān)系數(shù)據(jù)庫(kù)表設(shè)計(jì)基礎(chǔ)上,可以得到數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)過(guò)程中的數(shù)據(jù)庫(kù)表關(guān)系圖(見(jiàn)圖6)。
通過(guò)以上過(guò)程得到的關(guān)系型數(shù)據(jù)庫(kù)表模型和表關(guān)系圖,結(jié)合選定的SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng),可以快速創(chuàng)建出數(shù)據(jù)庫(kù)表。如根據(jù)成果獲獎(jiǎng)表Award模型得到的成果獲獎(jiǎng)表Award(見(jiàn)表1)。
(2)數(shù)據(jù)訪問(wèn)層類(lèi)的方法到關(guān)系數(shù)據(jù)庫(kù)視圖或存儲(chǔ)過(guò)程的映射
高??蒲泄芾硐到y(tǒng)的數(shù)據(jù)庫(kù)視圖和存儲(chǔ)過(guò)程由數(shù)據(jù)訪問(wèn)層類(lèi)的方法映射而來(lái)。數(shù)據(jù)訪問(wèn)層中的類(lèi)包括部門(mén)訪問(wèn)類(lèi)DepartmentDA、教師(科研人員)訪問(wèn)TeacherDA、學(xué)術(shù)會(huì)議訪問(wèn)類(lèi)AcademicMeetingDA、報(bào)告訪問(wèn)類(lèi)LectureDA、論文訪問(wèn)類(lèi)PaperDA、著作訪問(wèn)類(lèi)BookDA、專(zhuān)利訪問(wèn)類(lèi)PatentDA、成果獲獎(jiǎng)訪問(wèn)類(lèi)AwardDA、縱向項(xiàng)目訪問(wèn)類(lèi)VerticalProjectDA、橫向課題訪問(wèn)類(lèi)HorizontalProjectDA、橫向課題合同訪問(wèn)類(lèi)HorizontalProjectContractDA、校級(jí)項(xiàng)目訪問(wèn)類(lèi)InternalProjectDA、項(xiàng)目審核訪問(wèn)類(lèi)ProjectAuditDA、項(xiàng)目中檢訪問(wèn)類(lèi)ProjectMiddleCheDA、項(xiàng)目結(jié)題訪問(wèn)類(lèi)ProjectCompleteDA、項(xiàng)目經(jīng)費(fèi)訪問(wèn)類(lèi)ProjectCostDA、角色訪問(wèn)類(lèi)ActorDA、用戶訪問(wèn)類(lèi)SRUserDA等。
①數(shù)據(jù)訪問(wèn)層類(lèi)的方法到關(guān)系數(shù)據(jù)庫(kù)視圖的映射。數(shù)據(jù)訪問(wèn)層的數(shù)據(jù)訪問(wèn)邏輯類(lèi)的方法如果返回值為數(shù)據(jù)集、字符串等數(shù)據(jù)類(lèi)型的結(jié)果,可以映射到數(shù)據(jù)庫(kù)視圖。如數(shù)據(jù)訪問(wèn)層的論文訪問(wèn)類(lèi)PaperDA,它的一個(gè)獲取成果獲獎(jiǎng)列表方法GetPaperList():
public DataSet GetPaperList(string c) {
StringBuilder sb = new StringBuilder();
sb.Append("SELECT ?* ");
sb.Append(" FROM V_Paper ");
if (c.Trim() != ""){ sb.Append(" WHERE " + c);}
return DatabaseAccess.Query(sb.ToString());
}
映射為關(guān)系數(shù)據(jù)庫(kù)的視圖V_Paper:
CREATE VIEW ?V_Paper
AS
SELECT ?* ?FROM ?Paper
根據(jù)系統(tǒng)業(yè)務(wù)邏輯功能,在設(shè)計(jì)數(shù)據(jù)訪問(wèn)層類(lèi)的類(lèi)的方法時(shí),可以映射出關(guān)系數(shù)據(jù)庫(kù)的單個(gè)表或多個(gè)表關(guān)聯(lián)查詢形成的多個(gè)視圖。
②數(shù)據(jù)訪問(wèn)層類(lèi)的方法到關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的映射。數(shù)據(jù)訪問(wèn)層的數(shù)據(jù)訪問(wèn)邏輯類(lèi)的方法如果通過(guò)其執(zhí)行插入記錄、更新記錄、刪除記錄等對(duì)數(shù)據(jù)庫(kù)操作,這些方法可以映射到關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。如數(shù)據(jù)訪問(wèn)層縱向項(xiàng)目數(shù)據(jù)訪問(wèn)類(lèi)VerticalProjectDA的更新?tīng)顟B(tài)的方法UpdateVerticalProjectStatus():
public int UpdateVerticalProjectStatus(VerticalProject vp) {
SqlParameter[] parametersVerticalProject = {
new SqlParameter("@VerticalProjectSn", SqlDbType.Int,4),
new SqlParameter("@VerticalProjectStatus", SqlDbType.Int,4)};
parameters[0].Value = vp. VerticalProjectSn;
parameters[1].Value = vp. VerticalProjectStatus
try{
int ?result = new DatabaseAccess().UpdateProcedure("P_Update_VerticalProject_Status", parametersVerticalProject);}catch (Exception e){ throw new Exception(e.Message); }
return ?result;
}
對(duì)應(yīng)數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程p_upate_VerticalProject_Status:
CREATE PROCEDURE p_update_VerticalProject_Status
(@VerticalProjectSn_1 int,@VerticalProjectStatus_2 tinyInt )
AS
BEGIN
UPDATE VerticalProject SET VerticalProjectStatus=@VerticalProjectStatus_2
WHERE VerticalProjectSn=@ VerticalProjectSn_1
END
四、結(jié)束語(yǔ)
以軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)設(shè)計(jì)方法綜合了面向?qū)ο蟮臄?shù)據(jù)庫(kù)設(shè)計(jì)方法和UML方法,在多層軟件體系結(jié)構(gòu)框架內(nèi),以清晰的邏輯劃分,把位于實(shí)體域?qū)拥膶?shí)體類(lèi)等映射為數(shù)據(jù)存儲(chǔ)層的關(guān)系數(shù)據(jù)庫(kù)表、把數(shù)據(jù)訪問(wèn)層包中數(shù)據(jù)訪問(wèn)邏輯類(lèi)的方法映射為數(shù)據(jù)存儲(chǔ)層的數(shù)關(guān)系據(jù)庫(kù)視圖或存儲(chǔ)過(guò)程進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。以軟件體系結(jié)構(gòu)為中心的數(shù)據(jù)庫(kù)設(shè)計(jì)方法是面向?qū)ο蟮臄?shù)據(jù)庫(kù)設(shè)計(jì)的改進(jìn)。這種方法實(shí)現(xiàn)了面向?qū)ο蟮念?lèi)圖模型到關(guān)系型數(shù)據(jù)庫(kù)關(guān)系模型的映射,保證了設(shè)計(jì)的連續(xù)性和完整性,提高了數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量。相比傳統(tǒng)的以數(shù)據(jù)為中心的設(shè)計(jì)方法進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)需要6個(gè)階段,以軟件體系結(jié)構(gòu)為中心的方法將數(shù)據(jù)庫(kù)設(shè)計(jì)階段融入軟件系統(tǒng)的分析和設(shè)計(jì)過(guò)程,簡(jiǎn)化了數(shù)據(jù)庫(kù)設(shè)計(jì)流程,節(jié)省了開(kāi)發(fā)時(shí)間,有利于提高軟件開(kāi)發(fā)的效率。當(dāng)然,這種數(shù)據(jù)庫(kù)設(shè)計(jì)方法在一定程度上減少了軟件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的內(nèi)聚性,如果業(yè)務(wù)邏輯發(fā)生改變,數(shù)據(jù)庫(kù)系統(tǒng)也需要改變,將增加系統(tǒng)維護(hù)難度,對(duì)軟件設(shè)計(jì)人員提出了更高的技術(shù)要求。
參考文獻(xiàn):
[1]趙相偉,張中喜,王殷行.小型信息系統(tǒng)開(kāi)發(fā)的關(guān)鍵技術(shù)探討[J].山東科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,25(1):67-69.
[2]李運(yùn)華,張吉禮.大型公共建筑運(yùn)行能耗數(shù)據(jù)庫(kù)管理系統(tǒng)初步開(kāi)發(fā)及應(yīng)用[J].建筑科學(xué),2007,23(10):62-66.
[3]王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第5版)[M].北京:高等教育出版社,2018.
[4]陳新安,鮮波,張繼棠.面向?qū)ο蟮姆治觯∣OA)方法在數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2000(5):124-125.
[5]袁曉曦.軟件體系結(jié)構(gòu)UML建模[J].科技傳播,2010(24):230-231.
[6]周實(shí)庫(kù).風(fēng)電用螺栓熱處理工藝設(shè)計(jì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海交通大學(xué),2014.
[7]馮小潔,Rational統(tǒng)一過(guò)程支持的中小型軟件項(xiàng)目開(kāi)發(fā)[J].青島職業(yè)技術(shù)學(xué)院學(xué)報(bào),2017,30(1):77-81.
[8]張莉.數(shù)據(jù)庫(kù)技術(shù)在教務(wù)管理系統(tǒng)中應(yīng)用研究[J].裝備制造技術(shù),2011(7):85-86.
[9]賈曉輝,夏敏捷,趙巧萍等.UML類(lèi)模式在數(shù)據(jù)庫(kù)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(7):77-78.
(編輯:王曉明)