畢業(yè)生論文管理系統(tǒng)(論文范文,JSP,JAVA,畢業(yè)設(shè)計(jì))_第1頁
畢業(yè)生論文管理系統(tǒng)(論文范文,JSP,JAVA,畢業(yè)設(shè)計(jì))_第2頁
畢業(yè)生論文管理系統(tǒng)(論文范文,JSP,JAVA,畢業(yè)設(shè)計(jì))_第3頁
畢業(yè)生論文管理系統(tǒng)(論文范文,JSP,JAVA,畢業(yè)設(shè)計(jì))_第4頁
畢業(yè)生論文管理系統(tǒng)(論文范文,JSP,JAVA,畢業(yè)設(shè)計(jì))_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 191 第5章 大學(xué)生論文管理系統(tǒng)大學(xué)生論文管理系統(tǒng)大學(xué)教育已經(jīng)普及,大學(xué)生的數(shù)量也不斷擴(kuò)大,隨之而來的是學(xué)生論文數(shù)量的不斷增多。如果按照手工作業(yè)來進(jìn)行論文庫的管理工作,不僅工作量大,而且容易出錯(cuò),更不方便大家查閱。因此,需要為大學(xué)生開發(fā)一套論文管理系統(tǒng)。大學(xué)生論文管理系統(tǒng)是學(xué)校等機(jī)構(gòu)在自己的局域網(wǎng)上搭建的b/s結(jié)構(gòu)辦公平臺(tái),用戶打開瀏覽器即可方便快捷地使用該系統(tǒng),進(jìn)行論文的發(fā)布、管理和查閱工作。本章根據(jù)大學(xué)中的實(shí)際需求,介紹一個(gè)完整的學(xué)生論文管理系統(tǒng)從設(shè)計(jì)到實(shí)現(xiàn)的方法。本章采用mysql作為后臺(tái)數(shù)據(jù)庫,采用標(biāo)準(zhǔn)mvc三層架構(gòu)(jsp-javabean-servlet)開發(fā)模式。通過這種設(shè)計(jì)

2、模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn),這些組件可以進(jìn)行交互和重用。5.1 概 述本章討論的案例是有實(shí)際論文管理需求的學(xué)校進(jìn)行論文管理的系統(tǒng)。系統(tǒng)的用戶信息和權(quán)限由系統(tǒng)管理員進(jìn)行維護(hù),有身份的用戶登錄系統(tǒng)進(jìn)行論文、科技專著、學(xué)術(shù)報(bào)告的發(fā)布與管理工作,其他用戶都可以進(jìn)行論文的查閱。要實(shí)現(xiàn)的功能包括兩個(gè)方面,一方面是管理員的管理功能,包括學(xué)院維護(hù)、系所維護(hù)、人員維護(hù)和角色權(quán)限維護(hù),這一部分是系統(tǒng)管理的基礎(chǔ),至關(guān)重要;另一方面是論文管理功能,包括發(fā)布論文和進(jìn)行論文管理、發(fā)布科技專著和進(jìn)行科技專著管理、發(fā)布學(xué)術(shù)報(bào)告和進(jìn)行學(xué)術(shù)報(bào)告管理,這一部分是該系統(tǒng)真正的使用目的所在。下面首先來預(yù)覽一下

3、本系統(tǒng)的主界面,如圖5-1所示。如前面所述,要實(shí)現(xiàn)本系統(tǒng),就要實(shí)現(xiàn)系統(tǒng)管理和論文管理兩方面的功能。圖5-1中為整個(gè)系統(tǒng)的工作界面。系統(tǒng)初始化了一個(gè)系統(tǒng)管理員用戶,用戶名為admin,密碼為admin,管理員登錄該系統(tǒng)后,首先進(jìn)行系統(tǒng)基礎(chǔ)數(shù)據(jù)的管理,主要是學(xué)院、系所、用戶、權(quán)限的初始化工作,初始化后的用戶可以登錄系統(tǒng)進(jìn)行論文的管理功能工作。圖5-1 大學(xué)生論文管理系統(tǒng)主界面5.2 需 求 分 析開發(fā)大學(xué)生論文管理系統(tǒng)的第一步是進(jìn)行需求分析。需求分析的好壞直接決定著系統(tǒng)能否真正滿足用戶的需要。可以將需求分析分為兩個(gè)過程:一是理解需求,二是分析需求。5.2.1 理解需求下面是一份典型的大學(xué)生論文管理

4、系統(tǒng)的文本需求說明。(1) 根據(jù)權(quán)限大小分為系統(tǒng)維護(hù)管理員、普通大學(xué)生管理員,它們的權(quán)限如下。 系統(tǒng)維護(hù)管理員:為本平臺(tái)的日常網(wǎng)絡(luò)維護(hù)管理,可以對(duì)系統(tǒng)進(jìn)行修改,排除故障。 普通大學(xué)生管理員:可以發(fā)布論文、專著和學(xué)術(shù)報(bào)告,進(jìn)行已發(fā)布文章的管理工作。 所有用戶:可以進(jìn)行論文的查詢。(2) 使用人員的機(jī)構(gòu)級(jí)別設(shè)置學(xué)院為一級(jí)機(jī)構(gòu),系所為二級(jí)機(jī)構(gòu)??梢杂卸鄠€(gè)學(xué)院,每一個(gè)學(xué)院下有多個(gè)系所。(3) 系統(tǒng)中的學(xué)生用戶可以發(fā)布的文章類型有科技論文、科技專著、學(xué)術(shù)報(bào)告。(4) 發(fā)布論文的學(xué)生可以修改和刪除已經(jīng)發(fā)布的論文、科技專著和學(xué)術(shù)報(bào)告。(5) 所有用戶都可以查閱已有的數(shù)據(jù)。(6) 系統(tǒng)客戶端運(yùn)行在window

5、s平臺(tái)下,服務(wù)器端可以運(yùn)行在windows平臺(tái)或者unix平臺(tái)下,系統(tǒng)還應(yīng)該有一個(gè)較好的圖形用戶界面。,計(jì)算機(jī)范文網(wǎng) ,(7) 系統(tǒng)應(yīng)該有很好的可擴(kuò)展性。5.2.2 需求分析分析需求是數(shù)據(jù)庫信息管理系統(tǒng)開發(fā)的第一步,也是最重要的一步。理解需求是在問題及其最終解決方案之間架設(shè)橋梁的第一步。開發(fā)者只有和客戶充分理解了需求之后才能開始設(shè)計(jì)系統(tǒng),否則,對(duì)需求定義的任何改進(jìn),設(shè)計(jì)上都必須大量的返工。本章將要介紹的大學(xué)生論文管理系統(tǒng)是根據(jù)大學(xué)生的實(shí)際工作需求進(jìn)行設(shè)計(jì)開發(fā)的。系統(tǒng)使用的流程是先由管理員進(jìn)行系統(tǒng)數(shù)據(jù)的初始化,然后由學(xué)生登錄系統(tǒng)進(jìn)行論文發(fā)布和管理工作,這些登記在庫的論文將作為以后查詢的主要對(duì)象。

6、因?yàn)槠蓿@里只列出比較關(guān)鍵的部分。由以上的分析可以得知,大學(xué)生論文管理系統(tǒng)的角色可以劃分為兩類。(1) 系統(tǒng)管理員:負(fù)責(zé)管理學(xué)院、系所、大學(xué)生用戶和角色權(quán)限。(2) 大學(xué)生用戶:發(fā)布、管理論文數(shù)據(jù)庫。這兩類用戶分別擁有自己的操作功能。每一個(gè)操作模塊都要實(shí)現(xiàn)自身的功能,并且在整個(gè)的操作流程中負(fù)責(zé)承上啟下。下面根據(jù)這兩方面的需求,來分別描述各個(gè)模塊要實(shí)現(xiàn)的功能。(1) 管理員登錄:系統(tǒng)初始化好一個(gè)系統(tǒng)管理員用戶,管理員能夠通過該入口進(jìn)入系統(tǒng)主界面進(jìn)行管理操作。(2) 管理員管理學(xué)院:實(shí)現(xiàn)對(duì)添加新學(xué)院、修改、刪除等功能。學(xué)院的信息包括學(xué)院名稱、負(fù)責(zé)人、電話、學(xué)院編號(hào)。(3) 管理員管理系所:實(shí)

7、現(xiàn)對(duì)添加新系所、修改、刪除等功能。系所的信息包括系所名稱、所屬學(xué)院、負(fù)責(zé)人、電話、系所編號(hào)。(4) 管理員管理學(xué)生用戶:實(shí)現(xiàn)添加新人、查看、修改、刪除和查詢?nèi)藛T信息等功能。學(xué)生信息包括的字段有工號(hào)(登錄用戶名)、登錄密碼、姓名、性別、民族、籍貫、出生日期、身份證號(hào)、職稱、辦公電話、手機(jī)、家庭電話、email、備注、所在學(xué)院、所在科室、角色。(5) 管理員管理角色權(quán)限:實(shí)現(xiàn)新增、修改和刪除角色等功能。系統(tǒng)初始化有“系統(tǒng)維護(hù)管理員”的角色,該角色為系統(tǒng)管理員所有,可以進(jìn)行所有的操作。每一個(gè)角色對(duì)應(yīng)的操作權(quán)限是操作模塊的名稱。(6) 學(xué)生登錄:大學(xué)生用戶按照管理員分配的用戶名和密碼登錄系統(tǒng),其所擁有

8、的權(quán)限為系統(tǒng)管理員為其分配的權(quán)限集合。(7) 學(xué)生進(jìn)行論文管理:可以發(fā)布、管理論文。包括的字段有編號(hào)、學(xué)院、作者、刊物名稱、論文名稱、收錄情況、影響力、影響因子、引用次數(shù)、第幾作者、備注。(8) 學(xué)生進(jìn)行科技專著管理:可以發(fā)布、管理科技專著。包括的字段有編號(hào)、學(xué)院、作者、字?jǐn)?shù)(萬字)、備注。(9) 學(xué)生進(jìn)行學(xué)術(shù)報(bào)告管理:可以發(fā)布、管理學(xué)術(shù)報(bào)告。包括的字段有編號(hào)、學(xué)院/學(xué)校、報(bào)告人、職務(wù)、報(bào)告人單位、報(bào)告名稱、聽眾對(duì)象、人數(shù)、備注。大學(xué)生論文管理管理系統(tǒng)首先是系統(tǒng)維護(hù)所用到的數(shù)據(jù),如學(xué)院、系所、人員以及進(jìn)行權(quán)限控制的權(quán)限,接下來是根據(jù)各個(gè)模塊的需要對(duì)其進(jìn)行設(shè)計(jì)。本系統(tǒng)在設(shè)計(jì)過程中,盡量考慮到各個(gè)

9、模塊中相似之處,減少表格數(shù)量,提高表格的關(guān)聯(lián)程度,以及減少數(shù)據(jù)庫中數(shù)據(jù)的冗余。系統(tǒng)設(shè)置內(nèi)容包括學(xué)院維護(hù)、系所維護(hù)、人員維護(hù)和角色權(quán)限維護(hù)。以上這些部分的內(nèi)容和設(shè)置項(xiàng),各個(gè)部分之間的關(guān)系比較明顯,即人員屬于系所、系所屬于學(xué)院的所屬關(guān)系,如圖5-2所示,所以在設(shè)計(jì)數(shù)據(jù)表的時(shí)候增加外鍵進(jìn)行關(guān)聯(lián)即可。因?yàn)檎撐墓芾?、科技專著、學(xué)術(shù)報(bào)告3個(gè)模塊主要涉及的功能是信息的發(fā)布和維護(hù),而這些模塊的操作對(duì)象是系統(tǒng)的學(xué)生用戶。這些學(xué)生用戶是系統(tǒng)管理員建立的,并且必須被分配了這些模塊的操作權(quán)限后才可以進(jìn)行論文的發(fā)布和管理工作。圖5-3描述了學(xué)生用戶從分配到使用的流程。 圖5-2 學(xué)院-系所-人員關(guān)系 圖5-3 學(xué)生使用

10、流程圖5.3 uml系統(tǒng)建模需求分析后,就可以使用rational rose對(duì)系統(tǒng)進(jìn)行uml建模了。下面分別講解大學(xué)生論文管理系統(tǒng)的uml建模過程。5.3.1 系統(tǒng)用例分析在需求分析中列出了大學(xué)生論文管理系統(tǒng)的全部用例,使用rose軟件進(jìn)行uml建模,系統(tǒng)總用例圖如圖5-4所示,而其他用例同理,由于篇幅關(guān)系,這里不再贅述,請(qǐng)讀者參照前面的章節(jié)自行完成。圖5-4 大學(xué)生論文管理系統(tǒng)用例圖該用例圖標(biāo)記了所有的用例,從中可以得知,大學(xué)生論文管理系統(tǒng)的角色可以劃分為兩類。 管理員:管理論文、管理系所、管理學(xué)生用戶、管理角色權(quán)限等。 學(xué)生用戶:進(jìn)行論文管理、科技專著管理、學(xué)術(shù)報(bào)告等。5.3.2 系統(tǒng)域類

11、分析uml建模的第二步就是域類分析。實(shí)際開發(fā)大學(xué)生論文管理系統(tǒng)時(shí),域類分析是建立在用例分析基礎(chǔ)上的。要了解系統(tǒng)要處理的概念,這時(shí)最好將公司的有關(guān)人員組織起來開一個(gè)討論會(huì),了解概念和概念之間的關(guān)系。大學(xué)生論文管理系統(tǒng)中的域類主要包括:數(shù)據(jù)庫連接(database)、字符串處理(dealstring)、參數(shù)配置(configreader)等。可以在域類圖中將上面這些類以及它們之間的關(guān)系表示出來,如圖5-5所示。圖5-5 大學(xué)生論文管理系統(tǒng)域類圖5.3.3 系統(tǒng)活動(dòng)圖活動(dòng)圖(activity diagram)反映系統(tǒng)中從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的流程,強(qiáng)調(diào)對(duì)象間的控制流程,如圖5-6所示,描述了系統(tǒng)學(xué)生

12、管理、論文管理、論文查閱的活動(dòng)執(zhí)行順序?;顒?dòng)圖是一種特殊的狀態(tài)圖,描述需要做的活動(dòng)、執(zhí)行這些活動(dòng)的順序(多為并行的)以及工作流(完成工作所需要的步驟)。它對(duì)于系統(tǒng)的功能建模特別重要,強(qiáng)調(diào)對(duì)象間的控制流程。圖5-6 系統(tǒng)活動(dòng)圖這之后就可以進(jìn)行詳細(xì)設(shè)計(jì)了??紤]到篇幅限制,這里就不再贅述了,讀者可參閱本書光盤中的范例。至此,uml系統(tǒng)建模完成。5.4 系 統(tǒng) 配 置一個(gè)好的大學(xué)生論文管理系統(tǒng)必然有一個(gè)相對(duì)最優(yōu)的系統(tǒng)配置方案。下面討論如何根據(jù)用戶的實(shí)際情況設(shè)計(jì)系統(tǒng)的配置,包括軟件配置、硬件配置和網(wǎng)絡(luò)配置。5.4.1 軟件配置軟件配置主要包括數(shù)據(jù)庫的選擇和操作系統(tǒng)的選擇。大學(xué)生論文管理系統(tǒng)的軟件配置要根

13、據(jù)用戶對(duì)系統(tǒng)的穩(wěn)定性要求、系統(tǒng)的容量以及用戶的維護(hù)水平來確定。(1) 數(shù)據(jù)庫的選擇可以根據(jù)數(shù)據(jù)量的大小選擇不同的數(shù)據(jù)庫,如表5-1所示。表5-1 大學(xué)生論文管理系統(tǒng)數(shù)據(jù)庫的選擇用 戶(人)每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄數(shù)穩(wěn)定性要求維護(hù)水平備選數(shù)據(jù)庫社區(qū)大學(xué)5005000低差access,mysql專業(yè)型大學(xué)500050 000中一般sql server,mysql綜合型大學(xué)50 000200 000較高較好sql server,oracle在本章中選擇mysql數(shù)據(jù)庫。(2) 操作系統(tǒng)的選擇可以根據(jù)用戶量的大小選擇不同的操作系統(tǒng)。當(dāng)然,一般情況下,用戶對(duì)microsoft公司的windows操作系

14、統(tǒng)界面比較熟悉,因此,建議客戶端使用windows 2000或者windows xp操作系統(tǒng)。服務(wù)器端操作系統(tǒng)的選擇如表5-2所示。表5-2 大學(xué)生論文管理系統(tǒng)服務(wù)器端操作系統(tǒng)的選擇用 戶(人)每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄數(shù)穩(wěn)定性要求維護(hù)水平備選操作系統(tǒng)社區(qū)大學(xué)50500中一般windows nt,windows 2000 server,windows xp專業(yè)型大學(xué)5002000較高較好windows nt,windows 2000 server,windows xp,linux,unix綜合型大學(xué)5002000較高較好windows xp,unix在本章中選擇windows xp操作系統(tǒng)作為

15、服務(wù)器端操作系統(tǒng)。5.4.2 硬件配置硬件配置主要包括客戶端硬件的選擇和服務(wù)器端硬件的選擇。大學(xué)生論文管理系統(tǒng)的硬件配置要根據(jù)用戶對(duì)系統(tǒng)的穩(wěn)定性要求、系統(tǒng)的容量、系統(tǒng)的吞吐量,以及用戶的維護(hù)水平來確定。這里只給出參考配置的范圍,具體的配置需要根據(jù)用戶的需求精確計(jì)算。(1) 客戶端硬件的選擇根據(jù)穩(wěn)定性要求選擇不同的客戶端硬件,客戶端硬件的選擇如表5-3所示。表5-3 大學(xué)生論文管理系統(tǒng)客戶端硬件的選擇用 戶穩(wěn)定性要求備選客戶端學(xué)生客戶端中pentium /256mb/20gb(2) 服務(wù)器端硬件的選擇根據(jù)數(shù)據(jù)量和吞吐量的大小選擇不同的服務(wù)器硬件,服務(wù)器端硬件的選擇如表5-4所示。表5-4 大學(xué)生

16、論文管理系統(tǒng)服務(wù)器端硬件的選擇用 戶(人)每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄數(shù)穩(wěn)定性要求維護(hù)水平備選服務(wù)器社區(qū)大學(xué)50500中一般xeon雙cpu/1gb/raid5 372gb專業(yè)型大學(xué)50500中一般xeon雙cpu/1gb/raid5 372gb綜合型大學(xué)5002000較高較好小型計(jì)算機(jī)/雙機(jī)熱備或者xeon 4 cpu/4gb/raid5 672gb5.4.3 網(wǎng)絡(luò)配置大學(xué)生論文管理系統(tǒng)的網(wǎng)絡(luò)配置一般有如下幾種類型。(1) 單機(jī)模式:即服務(wù)器和客戶端在一臺(tái)計(jì)算機(jī)上。(2) 百兆模式:計(jì)算機(jī)網(wǎng)絡(luò)的速度為百兆,如圖5-7所示。圖5-7 大學(xué)生論文管理系統(tǒng)網(wǎng)絡(luò)百兆配置(3) 千兆模式:計(jì)算機(jī)網(wǎng)絡(luò)的速

17、度為千兆。實(shí)際上,沒有必要給每個(gè)節(jié)點(diǎn)都配備千兆網(wǎng)絡(luò)接口,只需要給服務(wù)器端配備千兆接口即可,如圖5-8所示。圖5-8 大學(xué)生論文管理系統(tǒng)網(wǎng)絡(luò)千兆配置可以根據(jù)用戶情況選擇不同的網(wǎng)絡(luò)配置,如表5-5所示。表5-5 大學(xué)生論文管理系統(tǒng)網(wǎng)絡(luò)配置的選擇用 戶(人)每秒數(shù)據(jù)庫并發(fā)數(shù)據(jù)訪問記錄數(shù)穩(wěn)定性要求維護(hù)水平備選網(wǎng)絡(luò)方案社區(qū)大學(xué)50500中一般百兆模式專業(yè)型大學(xué)5002000較高較好百兆模式綜合型大學(xué)2000以上高好千兆模式5.5 數(shù)據(jù)庫分析數(shù)據(jù)庫分析是整個(gè)大學(xué)生論文管理系統(tǒng)開發(fā)過程中一個(gè)重要環(huán)節(jié),它具體可分為兩個(gè)部分:一是概念模型的分析,即e-r圖的分析;二是邏輯模型的分析,即表與字段的分析。本節(jié)將使用

18、powerdesigner完成e-r圖的分析和數(shù)據(jù)庫建模。5.5.1 系統(tǒng)e-r圖根據(jù)uml系統(tǒng)模型,可以確定系統(tǒng)中的各種實(shí)體以及它們之間的關(guān)系。本系統(tǒng)根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體包括:學(xué)生用戶數(shù)據(jù)實(shí)體(kjc_people)、學(xué)院數(shù)據(jù)實(shí)體(kjc_college)、系所數(shù)據(jù)實(shí)體(kjc_department)、角色數(shù)據(jù)實(shí)體(kjc_role)、權(quán)限數(shù)據(jù)實(shí)體(kjc_right)、論文字典數(shù)據(jù)實(shí)體(kjc_code)、論文數(shù)據(jù)實(shí)體(kjc_paper)、科技專著數(shù)據(jù)實(shí)體(kjc_bookstatistic)、學(xué)術(shù)報(bào)告數(shù)據(jù)實(shí)體(kjc_report)等。通過對(duì)實(shí)體聯(lián)系的分析,在本系統(tǒng)中使用powe

19、rdesigner設(shè)計(jì)e-r模型。powerdesigner的概念數(shù)據(jù)模型(cdm)把現(xiàn)實(shí)的信息簡(jiǎn)化為實(shí)體與實(shí)體之間的聯(lián)系,它與dbms無關(guān)。cdm的建立是一個(gè)比較復(fù)雜的過程,實(shí)體關(guān)系圖的分析結(jié)果也非常復(fù)雜,一般情況下使用自底向上的方法,首先對(duì)局部視圖進(jìn)行分析設(shè)計(jì),然后再實(shí)現(xiàn)視圖集成。這里不再對(duì)局部視圖進(jìn)行設(shè)計(jì),直接給出視圖集成后的e-r圖,如圖5-9所示。在進(jìn)行詳細(xì)的實(shí)體關(guān)系圖設(shè)計(jì)時(shí),使用用戶信息進(jìn)行系統(tǒng)用戶基本信息的管理以及登錄系統(tǒng)時(shí)用戶名、密碼和權(quán)限的設(shè)定;在設(shè)計(jì)時(shí),論文管理、科技專著、學(xué)術(shù)報(bào)告3個(gè)模塊主要涉及的功能是信息的發(fā)布和維護(hù),而這些模塊的操作對(duì)象是系統(tǒng)的學(xué)生用戶,所以可以通過相

20、似性,來減小系統(tǒng)開發(fā)難度;在這里通過學(xué)生用戶使用系統(tǒng)進(jìn)行發(fā)布的過程來記錄系統(tǒng)動(dòng)態(tài)操作的過程。其實(shí),以上e-r圖只是大學(xué)生論文管理系統(tǒng)最基本元素的實(shí)體關(guān)系圖,讀者可以在此基礎(chǔ)上根據(jù)用戶的不同需要進(jìn)行擴(kuò)展。圖5-9 大學(xué)生論文管理系統(tǒng)實(shí)體關(guān)系圖5.5.2 表與字段分析表與字段分析是建立在如圖5-9所示的大學(xué)生論文管理系統(tǒng)e-r圖的基礎(chǔ)上,可以通過該e-r圖確定系統(tǒng)中所有的表及其字段。表與字段分析后就可以使用powerdesigner建立數(shù)據(jù)庫模型了。powerdesigner提供了工具產(chǎn)生表和字段并建立數(shù)據(jù)庫模型,所以可以根據(jù)上面的e-r圖直接生成數(shù)據(jù)庫模型。對(duì)于復(fù)雜數(shù)據(jù)庫,使用powerdesi

21、gner可以有效減輕工作量并提高設(shè)計(jì)質(zhì)量。建立的數(shù)據(jù)庫模型如圖5-10所示。圖5-10 大學(xué)生論文管理系統(tǒng)的數(shù)據(jù)庫模型5.6 數(shù)據(jù)庫設(shè)計(jì)在大學(xué)生論文管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,首先要?jiǎng)?chuàng)建系統(tǒng)數(shù)據(jù)庫,然后在數(shù)據(jù)庫中創(chuàng)建需要的表和字段。5.6.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)管理員進(jìn)行基礎(chǔ)信息的管理包括學(xué)院、系所、學(xué)生、角色管理,因此要包括4個(gè)數(shù)據(jù)實(shí)體。根據(jù)前面的分析可知,這4個(gè)實(shí)體要描述的信息分別如下。 學(xué)院數(shù)據(jù)實(shí)體:學(xué)院名稱、負(fù)責(zé)人、電話、學(xué)院編號(hào)。 系所數(shù)據(jù)實(shí)體:系所名稱、所屬學(xué)院、負(fù)責(zé)人、電話、系所編號(hào)。 學(xué)生數(shù)據(jù)實(shí)體:工號(hào)(登錄用戶名)、登錄密碼、姓名、性別、民族、籍貫、出生日期、身份證號(hào)、職稱、辦公電話

22、、手機(jī)、家庭電話、e-mail、備注、所在學(xué)院、所在科室、角色。 角色數(shù)據(jù)實(shí)體:角色編號(hào)、權(quán)限集合名稱。由于權(quán)限對(duì)應(yīng)的是操作模塊按鈕的名稱,在程序初始化時(shí),這些數(shù)據(jù)都應(yīng)該具有了,因此應(yīng)用有如下的數(shù)據(jù)實(shí)體。 權(quán)限數(shù)據(jù)實(shí)體:權(quán)限編號(hào)、操作權(quán)限名稱。以上的5個(gè)實(shí)體都是基本的數(shù)據(jù)實(shí)體。大學(xué)生論文管理系統(tǒng)的目的是進(jìn)行論文管理,因此要包括如下的幾個(gè)數(shù)據(jù)實(shí)體。 論文數(shù)據(jù)實(shí)體:編號(hào)、學(xué)院、作者、刊物名稱、論文名稱、收錄情況、影響力、影響因子、引用次數(shù)、第幾作者、備注。 論文字典數(shù)據(jù)實(shí)體:論文字典的類型、編號(hào)、名稱。 科技專著數(shù)據(jù)實(shí)體:編號(hào)、學(xué)院、作者、字?jǐn)?shù)(萬字)、備注。 學(xué)術(shù)報(bào)告數(shù)據(jù)實(shí)體:編號(hào)、學(xué)院/學(xué)校、

23、報(bào)告人、職務(wù)、報(bào)告人單位、報(bào)告名稱、聽眾對(duì)象、人數(shù)、備注。5.6.2 創(chuàng)建數(shù)據(jù)表在這個(gè)數(shù)據(jù)庫管理系統(tǒng)中要建立9張數(shù)據(jù)表。 學(xué)院數(shù)據(jù)表(kjc_college):用于存放學(xué)院數(shù)據(jù)。 系所數(shù)據(jù)表(kjc_department):用于存放系所數(shù)據(jù)。 學(xué)生數(shù)據(jù)表(kjc_people):用于存放學(xué)生數(shù)據(jù)。 角色數(shù)據(jù)表(kjc_role):用于存放角色數(shù)據(jù)。 權(quán)限數(shù)據(jù)表(kjc_right):用于存放權(quán)限數(shù)據(jù)。 論文數(shù)據(jù)表(kjc2_paper):用于存放論文數(shù)據(jù)。 論文字典數(shù)據(jù)表(kjc2_code):用于存放論文字典數(shù)據(jù)。 科技專著數(shù)據(jù)表(kjc2_bookstatistic):用于存放科技專著數(shù)據(jù)

24、。 學(xué)術(shù)報(bào)告數(shù)據(jù)表(kjc2_report):用于存放學(xué)術(shù)報(bào)告數(shù)據(jù)。這9張數(shù)據(jù)表的字段說明如表5-65-14所示。表5-6 學(xué)院數(shù)據(jù)表(kjc_college)編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一編號(hào)2namevarchar2(50)學(xué)院名稱3telvarchar2(15)辦公電話4manvarchar2(10)負(fù)責(zé)人表5-7 系所數(shù)據(jù)表(kjc_department) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一編號(hào)2namevarchar2(50)系所名稱3telvarchar2(15)辦公電話4manvarchar2(10)負(fù)責(zé)人5coll

25、egeint(10)所屬學(xué)院表5-8 學(xué)生數(shù)據(jù)表(kjc_people) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(20)惟一編號(hào)2workidvarchar2(20)工號(hào),登錄用戶名3passwordvarchar2(20)登錄密碼4namevarchar2(20)姓名5sexvarchar2(2)性別6nationvarchar2(50)民族7addrvarchar2(100)籍貫8birthdate出生日期9certidvarchar2(18)身份證號(hào)10postvarchar2(50)職稱11officetelvarchar2(15)辦公電話12mobilevarchar2

26、(15)手機(jī)13hometelvarchar2(15)家庭電話14e-mailvarchar2(100)電子郵件15descsvarchar2(200)備注16collegeidint(10)所在學(xué)院(續(xù)表) 編 號(hào)字 段 名 稱字 段 類 型說 明17departmentidint(10)所在科室18roleidint(10)角色表5-9 角色數(shù)據(jù)表(kjc_role) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一編號(hào)2namevarchar2(50)權(quán)限名稱表5-10 權(quán)限數(shù)據(jù)表(kjc_right) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一編號(hào)

27、2namevarchar2(50)角色名稱3telvarchar2(100)權(quán)限集合表5-11 論文數(shù)據(jù)表(kjc2_paper)編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一字段2bhvarchar2(20)編號(hào)3xyvarchar2(50)學(xué)院4zzvarchar2(20)作者5kwmcvarchar2(50)刊物名稱6lwmcvarchar2(100)論文名稱7slqkint(10)收錄情況8slqk_namevarchar(100)收錄情況9yxlvarchar2(10)影響力10yxyzvarchar2(5)影響因子11yycsint(5)引用次數(shù)12djzzint

28、(5)第幾作者13bzvarcahr2(200)備注表5-12 論文字典數(shù)據(jù)表(kjc2_code) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)數(shù)據(jù)表的惟一字段2codeidvarchar2(20)查詢字典的惟一字段3typevarchar2(20)字典類別4namevarchar2(20)字典描述5valuevarchar2(20)字典值列表表5-13 科技專著數(shù)據(jù)表(kjc2_bookstatistic) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一字段2bhvarchar2(20)編號(hào)3xyvarchar2(50)學(xué)院4zzvarchar2(20)作

29、者5cbsvarchar2(50)出版社名稱6zsvarchar2(5)字?jǐn)?shù)(萬字)7bzvarchar2(200)備注表5-14 學(xué)術(shù)報(bào)告數(shù)據(jù)表(kjc2_report) 編 號(hào)字 段 名 稱字 段 類 型說 明1idint(10)惟一字段2bhvarchar2(20)編號(hào)3xyvarchar2(50)學(xué)院/學(xué)校4bgrvarchar2(20)報(bào)告人5zwvarchar2(20)職務(wù)6bgrdwvarchar2(20)報(bào)告人單位7bgmcvarchar2(20)報(bào)告名稱8tzdxvarchar2(20)聽眾對(duì)象9rsvarchar2(10)人數(shù)10bzvarchar2(200)備注5.6.3

30、 快速創(chuàng)建數(shù)據(jù)庫為了快速正確搭建系統(tǒng),讀者可以使用光盤中提供的本案例的數(shù)據(jù)文件來建立數(shù)據(jù)庫。在建立數(shù)據(jù)庫之前,應(yīng)正確安裝完成mysql的數(shù)據(jù)庫軟件,并啟動(dòng)mysql數(shù)據(jù)庫服務(wù)。安裝步驟為:解壓縮本案例的程序壓縮文件,找到database目錄,將article目錄復(fù)制到%mysql_home%;data目錄下,重新啟動(dòng)mysql服務(wù)。此時(shí)數(shù)據(jù)庫就可以供程序使用了。數(shù)據(jù)庫名為article,默認(rèn)存在一個(gè)用戶root,密碼為空。5.7 系 統(tǒng) 準(zhǔn) 備接下來要進(jìn)行代碼編寫了,在進(jìn)行編寫之前,需要搭建系統(tǒng)的環(huán)境。最基礎(chǔ)的就是從目錄的建立開始,建立系統(tǒng)的基礎(chǔ)應(yīng)用模塊和站點(diǎn)配置環(huán)境,并進(jìn)行數(shù)據(jù)庫的正常連接。

31、5.7.1 目錄結(jié)構(gòu)在進(jìn)行程序設(shè)計(jì)和開發(fā)之前要設(shè)計(jì)系統(tǒng)的目錄結(jié)構(gòu),一般這個(gè)結(jié)構(gòu)對(duì)任何的b/s系統(tǒng)都是通用的。本系統(tǒng)的目錄結(jié)構(gòu)如圖5-11所示。圖5-11 目錄結(jié)構(gòu)在該目錄結(jié)構(gòu)中,article代表本站點(diǎn)的根目錄,它包含4個(gè)子目錄:database用于存放數(shù)據(jù)庫備份文件,doc用于存放系統(tǒng)的文檔,web用于存放系統(tǒng)的jsp等的源文件,web-inf用于存放系統(tǒng)所使用的類包。其中web和web-inf是主要開發(fā)的目錄。web包含5個(gè)主要的子目錄:kjc2_edit用于存放論文等的發(fā)布代碼,kjc2_manage用于存放論文等的管理代碼,main用于存放系統(tǒng)主框架程序代碼,org用于存放管理員進(jìn)行學(xué)

32、院等的維護(hù)的代碼,uer用于存放用戶管理代碼,其他的目錄為圖片等文件的目錄。web-inf包含兩個(gè)子目錄:classes用于存放類文件,lib用于存放類包文件,同時(shí)該目錄下還包括站點(diǎn)的配置文件web.xml。這個(gè)目錄結(jié)構(gòu)是通用的目錄結(jié)構(gòu),讀者可以根據(jù)需要進(jìn)行相應(yīng)的修改。5.7.2 通用模塊本系統(tǒng)采用數(shù)據(jù)庫連接池進(jìn)行數(shù)據(jù)庫的統(tǒng)一管理,同時(shí)在數(shù)據(jù)庫操作上進(jìn)行了封裝,方便程序開發(fā)時(shí)與數(shù)據(jù)庫的交互,接下來詳細(xì)看一下這兩個(gè)方面。(1) 數(shù)據(jù)庫連接池在實(shí)現(xiàn)某一個(gè)功能時(shí),首先要連接數(shù)據(jù)庫。如果在每一次需要進(jìn)行數(shù)據(jù)庫操作前都來加載驅(qū)動(dòng)、創(chuàng)建連接,那么在連接的入口參數(shù)處理上將是十分零散,不好管理和維護(hù)。一旦系統(tǒng)

33、移植,數(shù)據(jù)庫參數(shù)改變,將需要重新修改所有的連接代碼,重新編譯,這項(xiàng)工作復(fù)雜,是不必要的,也是可以省去的??梢圆捎胐bconnectionmanager類來創(chuàng)建連接池,創(chuàng)建代碼如下:private void createpools()string poolname = configuration.connectionpoolname;string url = configuration.db_url;if(url = null)logger.log(沒有為連接池 + poolname + 指定url);return ;string user = configuration.db_username

34、;string password = configuration.db_password;string maxconn = configuration.db_maxconnnum;int max;trymax = integer.valueof(maxconn).intvalue();catch(numberformatexception e)logger.log(錯(cuò)誤的最大連接數(shù)限制: + maxconn + .連接池: + poolname);max = 0;dbconnectionpool pool =new dbconnectionpool(poolname, url, user, p

35、assword, max);pools.put(poolname, pool);logger.log(成功創(chuàng)建連接池 + poolname);在此類中,有4個(gè)參數(shù):即數(shù)據(jù)庫的驅(qū)動(dòng)、連接地址、用戶名和密碼,這4個(gè)參數(shù)存儲(chǔ)在web-infconf.xml文件中。這樣,在數(shù)據(jù)庫移植或系統(tǒng)環(huán)境改變時(shí),只須修改這個(gè)配置文件就可以了,十分方便。文件confi.xml的配置參數(shù)如下所示:jdbc:mysql:/localhost:3306/article org.gjt.mm.mysql.driver root500分別表示的參數(shù)為連接的地址、驅(qū)動(dòng)名、數(shù)據(jù)庫用戶名、密碼、連接池?cái)?shù)量。如果讀者創(chuàng)建的數(shù)據(jù)庫參數(shù)

36、與這里不同,直接修改此文件即可。(2) 數(shù)據(jù)庫封裝數(shù)據(jù)庫已經(jīng)進(jìn)行連接,那么根據(jù)第1章的學(xué)習(xí)知道,在每一次需要進(jìn)行數(shù)據(jù)庫的某種操作時(shí),只須調(diào)用對(duì)應(yīng)的jdbc的函數(shù)就可以了。但是,在實(shí)際的開發(fā)中發(fā)現(xiàn),直接使用jdbc函數(shù)將使代碼的編寫工作十分浪費(fèi)。為了提高編寫代碼的效率,可以封裝database。該類封裝了基本的操作函數(shù)。如下代碼表示執(zhí)行查詢語句的函數(shù):public resultset querysql(string sql)resultset rs = null;trypstm = conn.preparestatement(sql);rs = pstm.executequery();catch

37、(sqlexception sqle)return rs;如下的代碼封裝了執(zhí)行更新sql語句的函數(shù):public int executesql(string sql)trypstm = conn.preparestatement(sql);pstm.executeupdate();mit();catch(sqlexception sqle)return 0;該類封裝了數(shù)據(jù)庫操作的基本函數(shù),用于作為javabean的父類,便于統(tǒng)一管理。該類的一個(gè)重要作用是從連接池里取得一個(gè)連接,在使用結(jié)束時(shí)關(guān)閉連接。統(tǒng)一處理了這些額外的工作和異常的拋出,使設(shè)計(jì)者能夠放心編寫javabean。5.7.3 配置站點(diǎn)

38、與數(shù)據(jù)庫連接在講解代碼實(shí)現(xiàn)之前,先按照如下步驟搭建好站點(diǎn)的環(huán)境,以便直觀學(xué)習(xí)。(1) 安裝jdk1.4.0下載jdk1.4.0版本安裝程序,連續(xù)單擊“下一步”按鈕,安裝過程中均采用默認(rèn)選擇,直至安裝結(jié)束。安裝結(jié)束后,在桌面“我的電腦”圖標(biāo)上右擊,在彈出的快捷菜單中選擇“屬性”命令,彈出“系統(tǒng)特性”對(duì)話框,在“高級(jí)”選項(xiàng)卡中單擊“環(huán)境變量”按鈕,在彈出的對(duì)話框中新建環(huán)境變量java_home,值為c:j2sdk1.4.0。(2) 安裝tomcat 4.1.24連續(xù)單擊“下一步”按鈕,直至安裝結(jié)束,在選擇安裝路徑時(shí)推薦安裝在根目錄,例如c:tomcat 4.1。 設(shè)置環(huán)境變量:在“我的電腦”屬性中

39、設(shè)置環(huán)境變量為tomcat_home= c:tomcat 4.1。 建立站點(diǎn):修改c:tomcat 4.1confserver.xml,在上一行添加如下代碼來建立站點(diǎn)。此步驟應(yīng)該對(duì)應(yīng)程序安裝的目錄。 部署源程序:解壓縮復(fù)制目錄article,例如d:,解壓后的目錄應(yīng)該滿足d: article web-inf。(3) 訪問系統(tǒng)啟動(dòng)mysql,tomcat,輸入地址http:/localhost:port/article/即可訪問,用戶admin,密碼初始化為admin。至此,軟件環(huán)境安裝完成。5.8 界面設(shè)計(jì)及代碼實(shí)現(xiàn)從上面系統(tǒng)的設(shè)計(jì)可知,本系統(tǒng)的界面共分為如下兩大部分。(1) 管理員管理模塊,

40、用于管理員進(jìn)行系統(tǒng)初始化和系統(tǒng)管理,它包括如下幾個(gè)部分。 學(xué)院管理:包括列表頁面、新增頁面、修改頁面。 系所管理:包括列表頁面、新增頁面、修改頁面。 人員管理:包括列表頁面、新增頁面、修改頁面。 角色管理:包括列表頁面、新增頁面、修改頁面。(2) 學(xué)生論文管理模塊,用于大學(xué)生進(jìn)行論文、科技專著、學(xué)術(shù)報(bào)告發(fā)布和管理,包括如下幾個(gè)部分。 論文管理:包括列表頁面、新增頁面、修改頁面。 科技專著管理:包括列表頁面、新增頁面、修改頁面。 學(xué)術(shù)報(bào)告管理:包括列表頁面、新增頁面、修改頁面。根據(jù)這些整體關(guān)系的設(shè)計(jì),下面對(duì)每一個(gè)部分給出主要界面的設(shè)計(jì)及其設(shè)計(jì)思路。5.8.1 登錄模塊設(shè)計(jì)和實(shí)現(xiàn)用戶要進(jìn)行論文管理

41、,就要擁有自己的登錄入口,這是任何一個(gè)系統(tǒng)管理功能保密性的需要。根據(jù)數(shù)據(jù)庫部分的設(shè)計(jì)知道,用戶信息存放在數(shù)據(jù)表kjc_people中,初始化填入了一個(gè)系統(tǒng)管理員用戶記錄,用戶為admin,密碼為admin。在用戶登錄界面中,也包括用戶名和密碼的輸入文本框,還要包括提交登錄的按鈕。登錄界面如圖5-12所示。圖5-12 登錄界面設(shè)計(jì)此界面除了用戶管理員登錄以外,還可以用于學(xué)生登錄,凡是管理員新增的用戶都可以通過它來進(jìn)入系統(tǒng)。在登錄界面上需要提供工作證號(hào)和密碼的輸入文本框作為身份驗(yàn)證的依據(jù)。登錄界面的jsp程序都可以在所附光盤的webmain目錄下找到。上面登錄窗口的jsp代碼可以查看所附光盤代碼文

42、件teacherwebmainlogin.jsp。下面是其中的部分程序段。學(xué)生辦公管理系統(tǒng) 工作證號(hào): 密碼: 上面程序段中表示表單提交之后,根據(jù)文件teacherweb-infweb.xml中的配置被映射,下面就是相關(guān)的程序段。 servletctl base.servletctl.servlet debug 2 servletctl *.cgi 程序段中“*.cgi”表示先把servlet的類文件base.servletctl.servlet映射為名字servletctl,然后把cgi為后綴的路徑都自動(dòng)轉(zhuǎn)向servletctl進(jìn)行監(jiān)聽處理,即當(dāng)servletctl監(jiān)視到后綴為cgi的提交數(shù)

43、據(jù)時(shí),會(huì)根據(jù)teacherweb-infservlet-config.xml中的配置來進(jìn)行處理,這也是基于標(biāo)準(zhǔn)mvc架構(gòu)的開發(fā)模式控制的關(guān)鍵。5.8.2 學(xué)院配置模塊設(shè)計(jì)與實(shí)現(xiàn)管理員登錄系統(tǒng)后,首先要做的工作就是系統(tǒng)基礎(chǔ)數(shù)據(jù)的初始化。根據(jù)前面的邏輯設(shè)計(jì)可知,學(xué)院是人員存在的機(jī)構(gòu),因此應(yīng)該首先進(jìn)行學(xué)院的管理。單擊學(xué)院配置按鈕,進(jìn)入學(xué)院列表頁面。該頁面顯示的信息是學(xué)院的編號(hào)和學(xué)院名稱。此頁面提供添加、修改和刪除的鏈接,是學(xué)院管理的總頁面。頁面設(shè)計(jì)的結(jié)果如圖5-13所示。圖5-13 學(xué)院配置主界面設(shè)計(jì)在新增頁面中,需要填寫學(xué)院名稱、學(xué)院代號(hào)、聯(lián)系電話和負(fù)責(zé)人。其中學(xué)院代號(hào)是表示學(xué)院的惟一編號(hào),在顯示界面中進(jìn)行排序顯示。界面設(shè)計(jì)的結(jié)果如圖5-14所示。圖5-14 新增學(xué)院界面設(shè)計(jì)單擊學(xué)院配置界面中的“修改”按鈕時(shí),跳轉(zhuǎn)的頁面與此界面相似,因此不再介紹。在新增或修改學(xué)院信息的界面中,需要選擇負(fù)責(zé)人。單擊“選人”按鈕打開如圖5-15所示的選擇人員的界面。因?yàn)楸鞠到y(tǒng)中的人員結(jié)構(gòu)為學(xué)院-系所制,因此機(jī)構(gòu)的選擇采用了屬性結(jié)構(gòu)的方式,當(dāng)單擊某一個(gè)學(xué)院或系所時(shí),提取該機(jī)構(gòu)的人員列表。通過單擊事件進(jìn)行人員選擇。圖5-15 選擇人員界面設(shè)計(jì)學(xué)院維護(hù)的jsp頁面代碼在附光盤的weborgcollege目錄下。當(dāng)單擊“學(xué)院維護(hù)”按鈕時(shí),間接調(diào)用,因?yàn)樗{(diào)用路徑帶后綴cgi,所以與登錄系統(tǒng)的用戶名密碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論