負(fù)責(zé)人信息管理、項(xiàng)目合作單位信息管理、項(xiàng)目經(jīng)濟(jì)效益管理、項(xiàng)目社會(huì)效益管理、項(xiàng)目產(chǎn)出成果管理以及查詢統(tǒng)計(jì)分析功能,科技合作項(xiàng)目負(fù)責(zé)人只能管理查詢自己所主持的科技合作項(xiàng)目信息,管理員一般由科技部門的工作人員來(lái)?yè)?dān)任,他除了具備科技合作項(xiàng)目負(fù)責(zé)人的功能之外,還具備系統(tǒng)用戶管理功能。科技合作項(xiàng)目管理系統(tǒng)用例圖,如圖2所示。
1.3系統(tǒng)靜態(tài)建模———實(shí)體類關(guān)系分析
在面向?qū)ο箝_(kāi)發(fā)方法中,對(duì)象是面向?qū)ο蟮拈_(kāi)發(fā)基礎(chǔ),且對(duì)象是類的實(shí)例,因此在面向?qū)ο箝_(kāi)發(fā)方法的靜態(tài)建模過(guò)程中發(fā)現(xiàn)系統(tǒng)中的對(duì)象類,確定類的屬性、操作以及類與類之間關(guān)是系統(tǒng)開(kāi)發(fā)的核心,并且通過(guò)UML靜態(tài)模型中的類圖來(lái)描述。類圖是由類,相關(guān)建模元素,及其關(guān)系構(gòu)成的圖,用來(lái)描述類之間的靜態(tài)關(guān)系[2]。
在本系統(tǒng)的開(kāi)過(guò)程中,主要根據(jù)系統(tǒng)的需求分析和用例分析,通過(guò)名詞實(shí)體識(shí)別法來(lái)找出系統(tǒng)中的實(shí)體類,實(shí)體類的建立直接影響到數(shù)據(jù)庫(kù)的設(shè)計(jì)工作。根據(jù)科技合作項(xiàng)目管理系統(tǒng)的需求分析和用例分析系統(tǒng)包括的實(shí)體類有:合作項(xiàng)目實(shí)體類,項(xiàng)目經(jīng)濟(jì)效益實(shí)體類,項(xiàng)目社會(huì)效益實(shí)體類,項(xiàng)目產(chǎn)出成果實(shí)體類,項(xiàng)目承擔(dān)單位實(shí)體類,項(xiàng)目合作單位實(shí)體類,項(xiàng)目參與人員實(shí)體類,項(xiàng)目負(fù)責(zé)人實(shí)體類,系統(tǒng)管理員實(shí)體類共八個(gè)實(shí)體類。

如圖3所示,科技合作項(xiàng)目管理系統(tǒng)實(shí)體類關(guān)系圖表示:合作項(xiàng)目負(fù)責(zé)人與系統(tǒng)管理員是一般與特殊的關(guān)系,因此,它們實(shí)體類之間構(gòu)成泛化關(guān)系;項(xiàng)目參與人員可以參與多個(gè)項(xiàng)目,一個(gè)合作項(xiàng)目也可以被多個(gè)項(xiàng)目參與人員參與,因此,他們之間構(gòu)成多對(duì)多的關(guān)系;一個(gè)合作項(xiàng)目可以和多個(gè)單位合作,合作單位也可以參與多個(gè)合作項(xiàng)目,因此,他們之間構(gòu)成多對(duì)多的關(guān)系;一個(gè)合作項(xiàng)目只能由一個(gè)負(fù)責(zé)人負(fù)責(zé),但一個(gè)負(fù)責(zé)人可以負(fù)責(zé)多個(gè)項(xiàng)目,因此,他們之間構(gòu)成一對(duì)多關(guān)系;一個(gè)單位可以承擔(dān)多個(gè)合作項(xiàng)目,但一個(gè)項(xiàng)目只能由一個(gè)單位承單,因此,項(xiàng)目承擔(dān)單位與合作項(xiàng)目構(gòu)成一對(duì)多的關(guān)系;一個(gè)合作項(xiàng)目可以產(chǎn)生多項(xiàng)成果,每項(xiàng)目成果只能對(duì)應(yīng)一個(gè)合作項(xiàng)目,因此,他們之間構(gòu)成一對(duì)多的關(guān)系;一個(gè)合作項(xiàng)目可以產(chǎn)生多項(xiàng)經(jīng)濟(jì)效益,每筆經(jīng)濟(jì)效益只能對(duì)應(yīng)一個(gè)合作項(xiàng)目,因此,他們之間構(gòu)成一對(duì)多的關(guān)系;一個(gè)合作項(xiàng)目可以產(chǎn)生多項(xiàng)社會(huì)效益,每筆社會(huì)效益只能對(duì)應(yīng)一個(gè)合作項(xiàng)目,因此,他們之間構(gòu)成一對(duì)多的關(guān)系。
2 科技合作項(xiàng)目管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
2.1 數(shù)據(jù)設(shè)計(jì)方法
用UML進(jìn)行類圖設(shè)計(jì),能夠提高系統(tǒng)開(kāi)發(fā)效率,可直接將對(duì)象映射到數(shù)據(jù)庫(kù),不用另外建立E-R模型。
進(jìn)行數(shù)據(jù)庫(kù)映射時(shí),首先要要確定哪些類需要持久化存儲(chǔ)到物理數(shù)據(jù)庫(kù),在信息化管理系統(tǒng)中一般實(shí)體類都可以映射為數(shù)據(jù)庫(kù)的表;然后再進(jìn)行類的屬性的分析,可將屬性映射為列;最后根據(jù)類與類之間的關(guān)聯(lián)關(guān)系根據(jù)不同的情況來(lái)建立數(shù)據(jù)表或增加表中的外鍵來(lái)建立表與表之間的關(guān)系。
如果關(guān)聯(lián)關(guān)系為一對(duì)一,每個(gè)實(shí)體類分別映身為一個(gè)數(shù)據(jù)表;如果是一對(duì)多的關(guān)系,同樣每個(gè)實(shí)體類分別映射為一個(gè)數(shù)據(jù)表,但需要將“一”這邊表的主鍵增加到“多”邊的表成為外鍵;對(duì)于多對(duì)多關(guān)系,同樣每個(gè)實(shí)體類分別映射為一個(gè)數(shù)據(jù)表和一個(gè)附加交叉表,在附加交叉表中需要將兩個(gè)類映射的表的主鍵定義成附加交叉表的外鍵[2]。
2.2數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)實(shí)體類以及上述映射方法,下面給出系統(tǒng)主要庫(kù)表的設(shè)計(jì):
(1)合作項(xiàng)目基本信息表:項(xiàng)目編號(hào)、項(xiàng)目名稱