2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程管理系統(tǒng)</b></p><p>  摘 要:本文為適應(yīng)高校分校管理體制下校區(qū)教學(xué)管理信息化的需要,采用Visual Basic數(shù)據(jù)庫(kù)技術(shù),開(kāi)發(fā)了一套簡(jiǎn)單靈活、方便通用的學(xué)生課程管理系統(tǒng)。本文主要介紹的是該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  關(guān)鍵詞:課程管理系統(tǒng);數(shù)據(jù)庫(kù)</p><p>  Abstract

2、: In order to meet management at the University campus under the system of teaching management information needs, using Visual Basic database technology, developed a simple and flexible to facilitate a common course mana

3、gement system students. This paper describes the system is the Design and Implementation. Key words: course management system, database</p><p><b>  目錄</b></p><p><b>  第一章 緒論3

4、</b></p><p>  第二章 Visual Basic 6.0 簡(jiǎn)介4</p><p>  第三章系統(tǒng)需求分析6</p><p>  3. 1需求獲取方法6</p><p>  3. 2業(yè)務(wù)需求的描述7</p><p>  3. 2. 1總體業(yè)務(wù)流程7</p><p&g

5、t;  3.2.2業(yè)務(wù)描述7</p><p>  3. 3需求分析9</p><p>  3. 3. 1系統(tǒng)需求獲取9</p><p>  3. 3. 2系統(tǒng)分析模型14</p><p>  第四章系統(tǒng)設(shè)計(jì)17</p><p>  4. 1系統(tǒng)功能框架17</p><p>  4.1

6、.1功能框架總述17</p><p>  4. 2設(shè)計(jì)類(lèi)建模19</p><p>  4. 3數(shù)據(jù)庫(kù)建模21</p><p>  4. 3. 1數(shù)據(jù)庫(kù)建模步驟21</p><p>  4.3.2成績(jī)報(bào)表的視圖設(shè)計(jì)23</p><p>  第五章系統(tǒng)實(shí)現(xiàn)27</p><p>  5.

7、1課程管理系統(tǒng)的實(shí)現(xiàn)27</p><p>  5. 2培養(yǎng)方案管理的實(shí)現(xiàn)28</p><p>  5. 3 XML配置部署文件的實(shí)現(xiàn)30</p><p>  5. 4成績(jī)表的實(shí)現(xiàn)34</p><p>  5. 5內(nèi)容管理掛接問(wèn)題36</p><p>  5. 5. 1課程表實(shí)現(xiàn)方式36</p>

8、<p>  5. 5. 2 SVG實(shí)現(xiàn)方式36</p><p><b>  參考文獻(xiàn)39</b></p><p><b>  致 謝40</b></p><p><b>  第一章 緒論</b></p><p>  學(xué)生課程管理系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它

9、的內(nèi)容對(duì)于管理者和學(xué)生來(lái)說(shuō)都至關(guān)重要,所以學(xué)生課程管理系統(tǒng)應(yīng)該能夠?yàn)楣芾碚咛峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠?lái)人們使用傳統(tǒng)人工的方式管理學(xué)生課程,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)

10、越重要的作用。</p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)人事勞資信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。如今隨著學(xué)生的擴(kuò)招各個(gè)高校都有好幾個(gè)校區(qū),如果沒(méi)有相應(yīng)的管理系統(tǒng)互相銜接,仍然停留在傳統(tǒng)的紙質(zhì)和手工管理方式上,則必將成為

11、高校發(fā)展的瓶頸、制約管理效能的提高。針對(duì)這一情況,我們結(jié)合學(xué)校教學(xué)管理實(shí)際,利用Viusal Basic數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā)了一套簡(jiǎn)單靈活的學(xué)生課程管理系統(tǒng)。</p><p>  第二章 Visual Basic 6.0 簡(jiǎn)介</p><p>  20世紀(jì)60年代初,美國(guó)Dartmouth學(xué)院的兩位學(xué)者G.Keneny和Thomos E.Kurty發(fā)明了一種稱(chēng)為“BASIC”的語(yǔ)言,它的誕生稱(chēng)得

12、上是計(jì)算機(jī)語(yǔ)言發(fā)展史上的一件大事,對(duì)計(jì)算機(jī)的推廣應(yīng)用起到了重要的作用。</p><p>  自從Basic語(yǔ)言問(wèn)世以來(lái),“Basic”已經(jīng)成為了編程入門(mén)者學(xué)習(xí)語(yǔ)言的代名詞。Basic語(yǔ)言以其易學(xué)易用的特點(diǎn)風(fēng)靡全球。然而自從微軟公司推出了劃時(shí)代的 Visual Basic,Basic又從一門(mén)“玩具語(yǔ)言”一躍而成為功能強(qiáng)大的應(yīng)用軟件開(kāi)發(fā)語(yǔ)言。它功能強(qiáng)大,語(yǔ)法簡(jiǎn)單,執(zhí)行代碼效率高。據(jù)統(tǒng)計(jì),開(kāi)發(fā)同樣的應(yīng)用軟件,采用 VB

13、開(kāi)發(fā)要比用 VC++的效率提高 70%。因此,VB已經(jīng)成為每一個(gè)編程工作者學(xué)習(xí)時(shí)的首選語(yǔ)言[14]。</p><p>  1991年,微軟推出了Visual Basic1.0版。這在當(dāng)時(shí)引起了很大的轟動(dòng)。接著于1992年微軟推出Visual BasicB2.0,1993年推出Visual Basic3.0,1995年推出Visual Basic4.0,1997年推出Visual Basic5.0,1998年推出V

14、isual Basic6.0。并且從Visual Basic3.0開(kāi)始,微軟將ACCESS的數(shù)據(jù)庫(kù)驅(qū)動(dòng)集成到了Visual Basic中,這使得Visual Basic的數(shù)據(jù)庫(kù)編程能力大大提高。從Visual Basic4.0開(kāi)始,Visual Basic也引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。而且,Visual Basic還引入了“控件”的概念,使得大量已經(jīng)編好的Visual Basic程序可以被我們直接拿來(lái)使用,如今,Visual Basi

15、c已經(jīng)有了6.0版。Visual Basic已逐漸成為簡(jiǎn)單易學(xué)、功能強(qiáng)大的編程工具[15]。它不但在一般程序設(shè)計(jì)方面比傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言具有明顯的優(yōu)勢(shì),而且可作為多媒體創(chuàng)作工具,支持程序跳轉(zhuǎn),具有脫機(jī)播放動(dòng)畫(huà)的能力,并采用了動(dòng)畫(huà)過(guò)渡技術(shù)等。它的軟件費(fèi)用支出低,易學(xué)習(xí)</p><p>  Visual Basic 6.0作為Visual Studio 6.0的一員發(fā)布,證明微軟正在改變Visual Basic的產(chǎn)品

16、定位,他想讓Visual Basic成為企業(yè)級(jí)快速開(kāi)發(fā)的利器。Visual Basic 6.0在數(shù)據(jù)訪問(wèn)方面有了很大的改進(jìn),新的ADO組件讓對(duì)大量數(shù)據(jù)快速訪問(wèn)成為可能。數(shù)據(jù)環(huán)境和新的報(bào)表功能也讓數(shù)據(jù)開(kāi)發(fā)有了全新的體驗(yàn)。Visual Basic 借助COM/COM+強(qiáng)大的功能,可以開(kāi)發(fā)具有N層結(jié)構(gòu)的分布式應(yīng)用程序。同時(shí),Visual Basic還可以在IIS上開(kāi)發(fā)性能超群的Web應(yīng)用程序。Visual Basic 6.0在語(yǔ)言方面和IDE

17、方面的改進(jìn)都不大,但是許多新增的組件成為Visual Basic開(kāi)發(fā)人員手中的利器,如File System Object等[16]。新的字符串函數(shù)Split和Replace等也給Visual Basic的程序員帶來(lái)很大方便。</p><p>  總之Visual Basic 6.0已經(jīng)是非常成熟穩(wěn)定的開(kāi)發(fā)系統(tǒng),能讓企業(yè)快速建立多層的系統(tǒng)以及Web應(yīng)用程序,成為當(dāng)前Windows上最流行的Visual Basic

18、版本。</p><p><b>  第三章系統(tǒng)需求分析</b></p><p>  本章對(duì)系統(tǒng)采用需求的獲取方法進(jìn)行描述,分析了系統(tǒng)各個(gè)模塊的功能性需求,針對(duì)系統(tǒng)中的需求描述和分析的問(wèn)題,采用面向?qū)ο蟮乃枷牒蚒ML中的用例模型和分析模型對(duì)系統(tǒng)需求進(jìn)行分析描述,并且得出系統(tǒng)中各部分的用例模型。</p><p>  3. 1需求獲取方法</p

19、><p>  需求階段包括需求獲取和需求分析兩個(gè)主要的過(guò)程。需求獲取的主要任務(wù)在于明晰用戶的業(yè)務(wù)流程,獲取用戶需求。與學(xué)院及培養(yǎng)辦人員組成項(xiàng)目組,共同負(fù)責(zé)需求的設(shè)計(jì),系統(tǒng)采用下面需求獲取方法。</p><p>  圖3-1業(yè)務(wù)需求獲取方法</p><p>  業(yè)務(wù)流程的確定,鑒于項(xiàng)目組作為系統(tǒng)得開(kāi)發(fā)者和使用者的雙重角色,熟悉需要開(kāi)發(fā)的系統(tǒng)的主要業(yè)務(wù)流程。通過(guò)與業(yè)務(wù)人員的

20、交流協(xié)商確定業(yè)務(wù)基本流程。業(yè)務(wù)字段的獲取,由于系統(tǒng)需要考慮與學(xué)校已有的信息系統(tǒng)的數(shù)據(jù)兼容問(wèn)題,針對(duì)系統(tǒng)中的業(yè)務(wù)字段主要從己有的系統(tǒng)中的字段獲取。另外,從學(xué)校所具備的特點(diǎn)來(lái)看需要得到的主要是各種類(lèi)型的上報(bào)表格,所以也可以由己有的各種業(yè)務(wù)表格中獲取業(yè)務(wù)字段。業(yè)務(wù)需求確認(rèn),獲取以上業(yè)務(wù)信息后對(duì)需求進(jìn)行描述,然后與學(xué)校業(yè)務(wù)人員進(jìn)行交流并且確認(rèn)。業(yè)務(wù)需求的挖掘,鑒于開(kāi)發(fā)人員的特殊性,作為兩重角色的項(xiàng)目組可以從系統(tǒng)中發(fā)掘出業(yè)務(wù)人員不曾關(guān)注的需求。及

21、時(shí)溝通是指開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中遇到的業(yè)務(wù)問(wèn)題以及發(fā)掘出的新需求及時(shí)與學(xué)校業(yè)務(wù)人員溝通;同時(shí),由于學(xué)校業(yè)務(wù)流程的更新性,在開(kāi)發(fā)周期中業(yè)務(wù)流程發(fā)生變化也需要與開(kāi)發(fā)人員及時(shí)溝通。</p><p>  3. 2業(yè)務(wù)需求的描述</p><p>  3. 2. 1總體業(yè)務(wù)流程</p><p>  課程管理系統(tǒng)是針對(duì)培養(yǎng)過(guò)程中,從培養(yǎng)方案的制定,到學(xué)生教學(xué)計(jì)劃安排再到學(xué)生選課和學(xué)

22、生成績(jī)管理等一系列連貫性的教學(xué)活動(dòng)的管理。由系統(tǒng)的業(yè)務(wù)描述可以發(fā)現(xiàn),整個(gè)系統(tǒng)的業(yè)務(wù)是依據(jù)培養(yǎng)過(guò)程為主線,實(shí)現(xiàn)了整個(gè)系統(tǒng)的可跟蹤性和可維護(hù)性;通過(guò)各個(gè)單獨(dú)的模塊可以完成對(duì)某一業(yè)務(wù)需求的管理,另外系統(tǒng)各個(gè)模塊間又是可依賴的,比如說(shuō)成績(jī)的錄入需要學(xué)生選課的結(jié)果、學(xué)生選課又與各個(gè)班級(jí)的排課結(jié)果密切相關(guān)。</p><p>  培養(yǎng)過(guò)程中各業(yè)務(wù)之間的流程如圖3-2;首先,由各個(gè)學(xué)院確定本學(xué)院各個(gè)專(zhuān)業(yè)的培養(yǎng)方案;然后,在具體每

23、個(gè)學(xué)期的培養(yǎng)過(guò)程中由學(xué)院確定該學(xué)期需要上的課程以及課程安排;學(xué)生依據(jù)教學(xué)計(jì)劃和本人的培養(yǎng)計(jì)劃選定自己需要上的課程;最后,本學(xué)期末通過(guò)考試由教師或者秘書(shū)錄入學(xué)生成績(jī);通過(guò)學(xué)生各個(gè)學(xué)期直到畢業(yè)的各門(mén)課程成績(jī)最終生成軟件工程的培養(yǎng)計(jì)劃;另外通過(guò)學(xué)院教學(xué)計(jì)劃的安排結(jié)果可以計(jì)算出教師個(gè)人的工作量。</p><p><b>  3.2.2業(yè)務(wù)描述</b></p><p>  系統(tǒng)

24、的目的在于通過(guò)系統(tǒng)對(duì)培養(yǎng)過(guò)程中課程管理形成一個(gè)統(tǒng)一的管理,通過(guò)系統(tǒng)提高課程管理的效率,并可以很方便的提取各個(gè)學(xué)期各學(xué)院的課程基本情況如新申請(qǐng)的課程的統(tǒng)計(jì)、學(xué)生課程的安排情況、教師各個(gè)學(xué)期工作量的計(jì)算情況、學(xué)生每個(gè)學(xué)期的選課情況以及學(xué)生各個(gè)學(xué)期和最終教學(xué)成績(jī)、各個(gè)學(xué)院的培養(yǎng)方案等。</p><p>  通過(guò)對(duì)系統(tǒng)的分析得到系統(tǒng)業(yè)務(wù)需求主要包括課程基本維護(hù)、新課程申請(qǐng)、選課管理、排課管理以及培養(yǎng)方案和成績(jī)的管理,其主

25、要的描述如下。</p><p>  1、課程基本維護(hù),主要是由學(xué)院秘書(shū)和院管理人員對(duì)課程進(jìn)行維護(hù),包括添加、刪除、修改、查詢課程。院管理少、員可以維護(hù)整個(gè)學(xué)校的課程,學(xué)院秘書(shū)維護(hù)各自學(xué)院的課程。</p><p>  2、新課程申請(qǐng),每年各個(gè)學(xué)院都會(huì)增加很多新的課程,而增加的課程院不能夠很好的掌握和控制;該部分功能就是更好的掌握新課程的增加情況。教師網(wǎng)上提交開(kāi)設(shè)新課程申請(qǐng),經(jīng)過(guò)院系和學(xué)校審核

26、后轉(zhuǎn)為正式課程。教師、院系、學(xué)??煞謩e查看本人、本院、本校的歷史申請(qǐng)記錄和申請(qǐng)結(jié)果。業(yè)務(wù)流程如圖3-3所示,每個(gè)學(xué)期開(kāi)始首先由各個(gè)學(xué)院的教師填寫(xiě)</p><p><b>  圖3-3新課程申請(qǐng)</b></p><p>  3、培養(yǎng)方案管理,由各院系向?qū)W校提交本院各專(zhuān)業(yè)的培養(yǎng)方案。主要包括課程要求和學(xué)分、以及對(duì)學(xué)生培養(yǎng)情況的要求,學(xué)校進(jìn)行統(tǒng)一管理。并且能按照專(zhuān)業(yè)和學(xué)科一

27、級(jí)代碼對(duì)培養(yǎng)方案進(jìn)行查詢,學(xué)生可以通過(guò)界面查看各個(gè)專(zhuān)業(yè)的培養(yǎng)方案。</p><p>  4、選課管理,各院系秘書(shū)設(shè)置選課的起止期限,學(xué)生根據(jù)學(xué)校教學(xué)任務(wù)的安排在網(wǎng)上選課,系統(tǒng)自動(dòng)統(tǒng)計(jì)選課結(jié)果供秘書(shū)進(jìn)行綜合查詢和打印,如每門(mén)課有多少人選,學(xué)生都選了哪些課等。</p><p>  5、成績(jī)管理,系統(tǒng)根據(jù)選課結(jié)果初始化成績(jī)單,由各院系秘書(shū)和任課教師網(wǎng)上在線錄入學(xué)生成績(jī),秘書(shū)對(duì)成績(jī)進(jìn)行統(tǒng)計(jì)和排名,

28、學(xué)生可查詢自己的成績(jī);秘書(shū)和學(xué)生可以選擇打印學(xué)生的個(gè)人成績(jī)表。</p><p>  6、課程內(nèi)容管理,課程內(nèi)容管理主要包括課程靜態(tài)模板的制定和動(dòng)態(tài)交互部分,靜態(tài)部分包括課程簡(jiǎn)介、教學(xué)資源、教師師資等內(nèi)容,動(dòng)態(tài)交互部分包括網(wǎng)上答疑和作業(yè)管理兩部分。另外,還包括與系統(tǒng)其它部分的無(wú)縫鏈接,為學(xué)生的學(xué)習(xí)和瀏覽提供方便。</p><p><b>  3. 3需求分析</b>&l

29、t;/p><p>  應(yīng)用軟件系統(tǒng),就其本質(zhì)來(lái)說(shuō),是使用計(jì)算機(jī)對(duì)現(xiàn)實(shí)世界進(jìn)行的數(shù)字化模擬。應(yīng)用軟件的制造過(guò)程,按照UML的方法,就是建立這一系列模型的過(guò)程。系統(tǒng)需求階段主要包括需求獲取和需求分析兩個(gè)重要階段。需求獲取主要就是獲取用戶的業(yè)務(wù)需求,而需求分析就是將業(yè)務(wù)需求轉(zhuǎn)化為軟件需求的過(guò)程。在面向?qū)ο蟮能浖こ谭椒ㄖ?,用例模型是系統(tǒng)需求獲取的有效手段,它定義系統(tǒng)用來(lái)做什么; 需求分析是從開(kāi)發(fā)者的角度來(lái)描述問(wèn)題,其建模過(guò)

30、程包括靜態(tài)模型和動(dòng)態(tài)模型建立。下面通過(guò)成績(jī)管理系統(tǒng)建模的實(shí)例對(duì)需求獲取和需求分析階段的需求方法進(jìn)行描述。</p><p>  3. 3. 1系統(tǒng)需求獲取</p><p>  在成績(jī)管理系統(tǒng)中,通過(guò)用例模型獲取系統(tǒng)的需求。用例模型由“角色”(Actor)和“用例”(UseCase)組成。在構(gòu)建一個(gè)用例的時(shí)候,通常要做的第一件事情是識(shí)別角色,或者說(shuō),參與者。然后識(shí)別系統(tǒng)為參與者提供的服務(wù),或者

31、說(shuō),參與者的行為,也就是用例。最后確定角色和用例之間的關(guān)系。確定有效用例的關(guān)鍵是,檢查用例是否包含了一個(gè)完整的功能。用例不能定的過(guò)細(xì),不能把一個(gè)完整的功能的一個(gè)部分作為一個(gè)用例,也不能在一個(gè)用例中包含過(guò)多的功育旨。</p><p><b>  1、用例建模</b></p><p>  用例模型由用例圖和用例描述兩部分組成。用例圖描述系統(tǒng)中的角色和參與者提供的服務(wù);用例

32、描述是從軟件系統(tǒng)角度對(duì)用例工作流程和工作參與者進(jìn)行的一段規(guī)范的文字性描述。為了保證在用例建模過(guò)程中描述的一致性,在課程管理系統(tǒng)中采用RUP推薦的描述用例的完整結(jié)構(gòu)。用例模型是在業(yè)務(wù)流程和描述的基礎(chǔ)上建立的,主要包括軟件系統(tǒng)實(shí)現(xiàn)的部分,對(duì)業(yè)務(wù)功能需求進(jìn)行了描述。用例描述模板如表3-1所示;</p><p><b>  表3-1用例模板</b></p><p>  在用例

33、描述中,用例名稱(chēng)用來(lái)書(shū)寫(xiě)用例的名稱(chēng),使用形象的詞語(yǔ)對(duì)用例進(jìn)行概括描述,一般采用動(dòng)賓結(jié)構(gòu)的詞組來(lái)為用例取名如添加成績(jī):用例參與者說(shuō)明了系統(tǒng)發(fā)出請(qǐng)求人;用例的前置條件聲明了用例啟動(dòng)之前的系統(tǒng)必須滿足的條件,該條件由系統(tǒng)負(fù)責(zé)實(shí)施,并要求確保為真;用例的后置條件表示一個(gè)條件列表,如果其中包含條件,則這些條件將在用例成功完成以后得到滿足;用例基本事件流是指參與者在用例中所遵循的主邏輯路徑。因?yàn)樗枋隽烁黜?xiàng)工作都正常進(jìn)行時(shí)用例的工作方式,通常稱(chēng)其為

34、適當(dāng)路徑(happy path)或主路徑(mainpath);用例擴(kuò)展事件流是用例中很少使用的邏輯路徑,包括在變更工作方式、出現(xiàn)異?;虬l(fā)生錯(cuò)誤的情況下所遵循的路徑;修改記錄是指當(dāng)系統(tǒng)業(yè)務(wù)需求發(fā)生改變時(shí),相應(yīng)的用例也要進(jìn)行修改;修改記錄用來(lái)記錄修改的內(nèi)容。</p><p>  圖3-4成績(jī)管理用例圖</p><p>  如圖3-4,系統(tǒng)成績(jī)管理部分的用例圖,成績(jī)管理中主要包括秘書(shū)(教務(wù)員)、

35、教師、學(xué)生三種角色;主要用例有學(xué)生成績(jī)查詢、管理員錄入、修改成績(jī)、秘書(shū)初始化成績(jī)?cè)O(shè)置、成績(jī)匯總以及教師錄入成績(jī)等。</p><p>  系統(tǒng)中的用例圖及其用例描述是對(duì)系統(tǒng)中包括的主要功能進(jìn)行描述,但是在整個(gè)功能運(yùn)行的流程上不能夠很好的顯示和描述,對(duì)于跨角色的業(yè)務(wù)細(xì)節(jié)也不能夠清晰的描述。在課程管理系統(tǒng)需求的分析過(guò)程中,引入了UML中的活動(dòng)圖對(duì)需求進(jìn)行分析和描述。</p><p>  圖3-5

36、為成績(jī)錄入設(shè)置流程的活動(dòng)圖。各院系秘書(shū)登陸系統(tǒng)后進(jìn)入成績(jī)初始化設(shè)置界面,選擇具體的學(xué)年學(xué)期和班級(jí),系統(tǒng)顯示該班級(jí)本學(xué)年學(xué)期的所有課程;秘書(shū)可依據(jù)實(shí)際情況選擇對(duì)某一門(mén)課程或全部課程進(jìn)行初始化操作;同時(shí)選擇郵件提醒功能,提醒相應(yīng)課程的教師進(jìn)行成績(jī)錄入操作,系統(tǒng)返回郵件提醒結(jié)果。</p><p>  圖3-5成績(jī)?cè)O(shè)置活動(dòng)圖</p><p>  2、系統(tǒng)中主要的用例模型</p>&l

37、t;p>  由需求分析方法可以得出系統(tǒng)中各主要部分的用例模型,主要包括選課管理、培養(yǎng)方案管理以及課程維護(hù)管理等。其描述分析如下。</p><p>  圖3-6為選課管理的用例圖,主要包括了學(xué)生和秘書(shū)兩個(gè)角色;其主要用例有學(xué)生選擇課程、查看選課結(jié)果,秘書(shū)設(shè)置選課時(shí)間、查詢選課結(jié)果等。</p><p>  圖3-6選課管理用例圖</p><p>  圖3-7為培養(yǎng)

38、方案管理的用例圖,主要包括學(xué)院秘書(shū)和院管理人員以及學(xué)生等三種角色。主要用例包括學(xué)院管理添加專(zhuān)業(yè)培養(yǎng)方案、修改和刪除專(zhuān)業(yè)培養(yǎng)方案;學(xué)校院管理人員審核各個(gè)專(zhuān)業(yè)的培養(yǎng)方案;學(xué)生通過(guò)專(zhuān)業(yè)或者是一級(jí)學(xué)科查詢培養(yǎng)方案。</p><p>  圖3-7培養(yǎng)方案用例圖</p><p>  其中,主要用例學(xué)院秘書(shū)添加培養(yǎng)方案的用例描述如表3-3。</p><p>  表3-3添加培養(yǎng)方

39、案用例描述</p><p>  圖3-8描述了系統(tǒng)中關(guān)于新課程申請(qǐng)審核、課程基本維護(hù)的主要用例。主要包括教師填寫(xiě)、修改課程申請(qǐng),查看個(gè)人課程審核結(jié)果;學(xué)院秘書(shū)查看教師審核,并且填寫(xiě)學(xué)院審核意見(jiàn)、維護(hù)課程;學(xué)校院管理人員填寫(xiě)各個(gè)學(xué)院教師申請(qǐng)的審核意見(jiàn)、為審核通過(guò)的課程賦予課程號(hào)、維護(hù)各個(gè)學(xué)院課程等用例。</p><p>  圖3-8課程維護(hù)管理用例圖</p><p>

40、  3. 3. 2系統(tǒng)分析模型</p><p>  在系統(tǒng)分析過(guò)程中,所關(guān)注的仍然是問(wèn)題。但同用例模型不同的是,用例模型是從最終用戶的角度來(lái)看待問(wèn)題,而分析模型是從開(kāi)發(fā)者的角度來(lái)描述問(wèn)題。用例模型的主要工作是描述現(xiàn)實(shí)世界的業(yè)務(wù)流程,而很少涉及系統(tǒng)的概念。分析,則是從系統(tǒng)的角度來(lái)來(lái)看待軟件應(yīng)該為用戶提供的服務(wù)。</p><p><b>  1、靜態(tài)模型的建立</b>&l

41、t;/p><p>  分析建模通常是識(shí)別對(duì)象和提取類(lèi)的過(guò)程??紤]著名的htvc模式需要識(shí)別實(shí)體、控制和邊界三種對(duì)象。按照MVC模式來(lái)為識(shí)別對(duì)象做指導(dǎo),是非常好的做法。對(duì)象識(shí)別的結(jié)果,就是需要的靜態(tài)模型。首先識(shí)別出實(shí)體對(duì)象,這些對(duì)象通常是比較明顯的,例如系統(tǒng)中的角色,系統(tǒng)需要處理的資料等;有些實(shí)體對(duì)象需要分析后得到,例如,在本系統(tǒng)中,為了記錄學(xué)生成績(jī)等的信息,需要一個(gè)對(duì)象來(lái)專(zhuān)門(mén)記錄這一信息。然后識(shí)別為了完成系統(tǒng)業(yè)務(wù)邏輯

42、而需要的業(yè)務(wù)邏輯對(duì)象,以及同用戶進(jìn)行交互的界面類(lèi),在MVC模式中,他們分別對(duì)應(yīng)于控制類(lèi)(Control)和邊界類(lèi)(View)。在分析階段,這些對(duì)象通常都按照比較自然的方式來(lái)組織,例如,為了完成一個(gè)業(yè)務(wù)功能,通常需要一個(gè)控制類(lèi)和一個(gè)邊界類(lèi),控制類(lèi)執(zhí)行業(yè)務(wù)邏輯,邊界類(lèi)同客戶進(jìn)行交互。當(dāng)然,這不是絕對(duì)的,在進(jìn)行進(jìn)一步深入的分析后,這些類(lèi)可能會(huì)被分解和合并,同時(shí)需要對(duì)用例進(jìn)行逐個(gè)分析。.下面以系統(tǒng)中初始化設(shè)置成績(jī)用例為例進(jìn)行分析。</p&

43、gt;<p>  在這個(gè)用例中首先可以識(shí)別出一些直接的對(duì)象,包括秘書(shū)(Teacher),課程(Subject);分析會(huì)發(fā)現(xiàn)需要實(shí)體類(lèi)StudentMark和實(shí)體類(lèi)Mail,分別用來(lái)處理選課信息和郵件提醒;完成了實(shí)體對(duì)象的識(shí)別。同時(shí)需要一個(gè)控制類(lèi)和一個(gè)界面類(lèi)(工nit工nterface)來(lái)接受用戶的交互操作以及需要一個(gè)業(yè)務(wù)邏輯類(lèi)(MarkManger)完成對(duì)數(shù)據(jù)庫(kù)操作。最后完成系統(tǒng)模型的建立。根據(jù)以上描述得出初始化用例的靜態(tài)

44、模型圖。</p><p><b>  圖3-9靜態(tài)模型</b></p><p>  在分析模型中還要識(shí)別出類(lèi)的一些屬性和方法。為了避免過(guò)早的陷入細(xì)節(jié)當(dāng)中,并且適應(yīng)將來(lái)在設(shè)計(jì)類(lèi)時(shí)的變化,在分析模型中,一般只是識(shí)別一些主要的屬性和方法。例如,Teacher類(lèi)只需要Id和password,對(duì)于Subject類(lèi)只需要課程Id和課程名稱(chēng)Name等。</p><

45、;p><b>  2、動(dòng)態(tài)模型的建立</b></p><p>  在面向?qū)ο蟮南到y(tǒng)中,業(yè)務(wù)流程表現(xiàn)為對(duì)象之間的交互,利用分析得到的對(duì)象可以描述他們是怎樣進(jìn)行交互和協(xié)作的。在UML中可以使用順序圖、活動(dòng)圖或者狀態(tài)圖來(lái)建模這些靜態(tài)過(guò)程。在圖3-10成績(jī)?cè)O(shè)置的順序圖中,用成績(jī)?cè)O(shè)置的順序圖來(lái)說(shuō)明需求分析的動(dòng)態(tài)模型的建立。矩形框表示一個(gè)基本類(lèi),在矩形框內(nèi)標(biāo)有類(lèi)的名稱(chēng)。垂直虛線稱(chēng)為類(lèi)的生命線,代表

46、在各個(gè)類(lèi)之間的交互作用中概念的生命期。在生命線上的窄矩形條被稱(chēng)作激活,表示該對(duì)象正在執(zhí)行某個(gè)操作。激活矩形的長(zhǎng)度表示計(jì)劃的持續(xù)時(shí)間,頂部表示動(dòng)作的開(kāi)始,底部表示動(dòng)作的結(jié)束。</p><p>  圖3-10成績(jī)?cè)O(shè)置順序圖</p><p>  圖中清楚顯示了成績(jī)?cè)O(shè)置用例中各個(gè)靜態(tài)模型之間進(jìn)行消息傳遞的順序。成績(jī)管理員選擇需要初始化的班級(jí)和學(xué)期,提交初始化請(qǐng)求到控制類(lèi),控制類(lèi)獲取某門(mén)課程選課結(jié)果

47、后,傳遞選課結(jié)果到成績(jī)邏輯類(lèi)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作完成初始化過(guò)程并且返回成功信息。</p><p><b>  第四章系統(tǒng)設(shè)計(jì)</b></p><p>  本章對(duì)系統(tǒng)的功能框架以及各個(gè)功能模塊之間的關(guān)系進(jìn)行描述;使用面向?qū)ο蟮乃枷雽?duì)系統(tǒng)的設(shè)計(jì)方法進(jìn)行分析,設(shè)計(jì)了系統(tǒng)中的相關(guān)類(lèi)和數(shù)據(jù)庫(kù)模型;著重分析了成績(jī)單打印功能中的數(shù)據(jù)庫(kù)視圖設(shè)計(jì)以及培養(yǎng)方案的數(shù)據(jù)庫(kù)設(shè)計(jì),排課管理的相關(guān)設(shè)計(jì)

48、將在第6章中給出詳細(xì)描述,本章不再祥述。</p><p>  4. 1系統(tǒng)功能框架</p><p>  在設(shè)計(jì)系統(tǒng)的功能架構(gòu)時(shí),按照軟件工程中子系統(tǒng)劃分的思想,盡量實(shí)現(xiàn)各個(gè)子系統(tǒng)之間的獨(dú)立性以及減少系統(tǒng)間的依賴性。子系統(tǒng)的劃分采用了功能劃分的方法,其具體描述如下。</p><p>  4.1.1功能框架總述</p><p>  課程管理系統(tǒng)是

49、整個(gè)學(xué)院信息化系統(tǒng)的一部分,同時(shí)包括基本資料維護(hù)、權(quán)限管理系統(tǒng)和新聞系統(tǒng)等輔助功能模塊。其基本信息庫(kù)功能模塊如圖4-l;</p><p><b>  圖4-1基本信息庫(kù)</b></p><p>  基本信息庫(kù)主要包括學(xué)?;举Y源及教學(xué)單位信息等功能模塊。其中,院系管理是指學(xué)校各個(gè)院、系、所的添加、刪除等基本維護(hù);班級(jí)管理是指某個(gè)系所轄下的班級(jí)的管理維護(hù);學(xué)期管理是指學(xué)

50、生各個(gè)學(xué)年學(xué)期的基本維護(hù)。數(shù)據(jù)字典管理是指,對(duì)于系統(tǒng)中經(jīng)常使用但平時(shí)數(shù)據(jù)變化不頻繁的一類(lèi)數(shù)據(jù),作為數(shù)據(jù)字,典的一個(gè)數(shù)據(jù)項(xiàng)進(jìn)行存儲(chǔ),并且可以對(duì)該數(shù)據(jù)項(xiàng)進(jìn)行維護(hù);這樣即滿足了數(shù)據(jù)的動(dòng)態(tài)變化又減少了系統(tǒng)維護(hù)量。</p><p>  為了實(shí)現(xiàn)系統(tǒng)的網(wǎng)絡(luò)粼數(shù)據(jù)安全問(wèn)題,系統(tǒng)中采用基于角色的訪問(wèn)控制(RBAC)思想,實(shí)現(xiàn)了系統(tǒng)的權(quán)限管理系統(tǒng)。在基于角色訪問(wèn)控制(role-based;access control, RBAC

51、)中,權(quán)限和角色相關(guān),用戶被當(dāng)作相應(yīng)角色的成員而獲得角色的權(quán)限,簡(jiǎn)化了權(quán)限的管理。角色針對(duì)組織中的各種功能創(chuàng)建,用戶依據(jù)責(zé)任和資歷被指派角色,并且可以容易地完成角色的轉(zhuǎn)換。用戶對(duì)信息的訪問(wèn)在指派角色的基礎(chǔ)上被管制.RBAC的策略基于角色,可以使用映射組織結(jié)構(gòu)的方式來(lái)闡述安全策略。基于角色的訪問(wèn)控制允許管理員根據(jù)組織結(jié)構(gòu)來(lái)指定訪問(wèn)控制 , RBAC通過(guò)創(chuàng)建稱(chēng)為角色( role )的新對(duì)象來(lái)達(dá)到此目的??梢詾橛脩舴峙蓤?zhí)行某種工作職能的角色,

52、然而與組不同的是,角色將授權(quán)權(quán)限定義在資源的某些局部上。在RBAC模型中,管理員使用角色來(lái)管理和分派權(quán)限。</p><p>  圖4-2課程管理系統(tǒng)功能框架</p><p>  如圖4-2,課程管理系統(tǒng)主要描述了從學(xué)生入學(xué)到離校期間培養(yǎng)過(guò)程中的課程管理。按照培養(yǎng)過(guò)程,系統(tǒng)主要分為培養(yǎng)方案管理、新課程申請(qǐng)管理、課程基術(shù)維護(hù)、課程內(nèi)容管理、排課管理、選課管理和成績(jī)管理等功能模塊。</p&

53、gt;<p>  課程基本維護(hù)模塊作為各個(gè)功能模塊的基礎(chǔ),包括各個(gè)學(xué)院課程的基本維護(hù)。新課程申請(qǐng)模塊包括教師提交新課程申請(qǐng)、學(xué)院審核、學(xué)院審核以及跟蹤新課程申請(qǐng)情況等功能、培養(yǎng)方案模塊包括學(xué)院秘書(shū)提交培養(yǎng)方案、學(xué)院審核發(fā)布培養(yǎng)方案以及對(duì)培養(yǎng)方案查詢等功能。排課管理模塊包括教學(xué)任務(wù)設(shè)置、教師申請(qǐng)、管理員交互式排課以及課程表查詢等功能。選課管理模塊主要包括管理員時(shí)間設(shè)置、學(xué)生網(wǎng)上選課、選課查詢等功能。成績(jī)管理模塊包括成績(jī)表的初

54、始化、學(xué)生成績(jī)錄入、學(xué)生成績(jī)補(bǔ)錄、學(xué)生成績(jī)查詢以及學(xué)生成績(jī)和培養(yǎng)計(jì)劃報(bào)表等功能。課程內(nèi)容管理主要包括課程內(nèi)容模板設(shè)計(jì)、交流平臺(tái)的建立、內(nèi)容管理的掛接等功能。</p><p>  2、功能模塊間的流程</p><p>  由系統(tǒng)的業(yè)務(wù)描述可以發(fā)現(xiàn),整個(gè)系統(tǒng)的業(yè)務(wù)以培養(yǎng)過(guò)程為主線,包括了培養(yǎng)過(guò)程中課程管理各環(huán)節(jié)。通過(guò)各單獨(dú)的模塊可以完成對(duì)某一環(huán)節(jié)的管理,另外系統(tǒng)各個(gè)模塊間又是可依賴的,比如成績(jī)

55、錄入需要學(xué)生選課的結(jié)果、學(xué)生選課又需要各個(gè)班級(jí)的開(kāi)課結(jié)果作為前提。這樣,為了保持各個(gè)模塊間的低禍合性,系統(tǒng)每一模塊又增加了秘書(shū)手工維護(hù)功能,而在學(xué)生成績(jī)單生成過(guò)程中增加了學(xué)生手動(dòng)選擇需要打印成績(jī)的功能。</p><p>  各功能模塊之間的流程關(guān)系如圖4-3。秘書(shū)維護(hù)本學(xué)院的所有課程,當(dāng)有教師申請(qǐng)新的課程的時(shí)候進(jìn)行審核,通過(guò)后添加到學(xué)院課程中去。學(xué)院依照實(shí)際情況指定本學(xué)院各個(gè)專(zhuān)業(yè)的培養(yǎng)方案,其中包括課程信息。每個(gè)

56、學(xué)期開(kāi)學(xué)前,秘書(shū)按照教學(xué)計(jì)劃進(jìn)行排課,然后學(xué)生依照培養(yǎng)方案選定課程,選課后通過(guò)成績(jī)管理最終生成學(xué)生在校期間的成績(jī)單。</p><p><b>  圖4-3模塊流程圖</b></p><p><b>  4. 2設(shè)計(jì)類(lèi)建模</b></p><p>  在系統(tǒng)的設(shè)計(jì)階段,按照面向?qū)ο蟮姆椒▽?duì)系統(tǒng)詳細(xì)描述并且提供具體可行的解決方

57、案。設(shè)計(jì)同分析所使用的工具一樣,也需要建立靜態(tài)和動(dòng)態(tài)的模型,并且使用類(lèi)圖、順序圖、協(xié)作圖、活動(dòng)圖、狀態(tài)圖等來(lái)表示。設(shè)計(jì)類(lèi)圖是對(duì)靜態(tài)模型的進(jìn)一步細(xì)化的過(guò)程,在課程管理系統(tǒng)中是指在Struts框架Mvc模式的指導(dǎo)下對(duì)類(lèi)進(jìn)行細(xì)化并且按照struts框架的結(jié)構(gòu)來(lái)分解和描述整個(gè)靜態(tài)模型。</p><p>  從靜態(tài)模型得到設(shè)計(jì)類(lèi)圖的過(guò)程就是設(shè)計(jì)類(lèi)建模的過(guò)程,主要流程包括依據(jù)MVC模式把靜態(tài)模型的類(lèi)進(jìn)行分離,然后再根據(jù)系統(tǒng)中

58、需要的方法和屬性給各個(gè)類(lèi)添加屬性和方法,最終為各個(gè)類(lèi)之間添加依賴和關(guān)聯(lián)關(guān)系。</p><p>  在MVC設(shè)計(jì)模式中,有一個(gè)宗旨就是不能將功能性的代碼和顯示性的代碼混合在一起,否則再更改頁(yè)面或者擴(kuò)展新功能時(shí)會(huì)增加修改難度。首先,系統(tǒng)中需要把表現(xiàn)的細(xì)分為視圖(View)、控制器(Controller)和業(yè)務(wù)對(duì)象模型(BusinessObject Model)。按照MVC設(shè)計(jì)模式把InterFace類(lèi)定義為視圖層,把

59、初始化類(lèi)Initial細(xì)分為控制器和業(yè)務(wù)對(duì)象模型。按照Struts框架的各部分結(jié)構(gòu),視圖類(lèi)就是JsP頁(yè)面并且通過(guò)ActionForm類(lèi)InitialForm與Action之間交換數(shù)據(jù)。Initial初始化類(lèi)定義為控制器InitialAction和MarkManager。然后,需要為每個(gè)靜態(tài)模型中的屬性添加到實(shí)體類(lèi)中,為每個(gè)類(lèi)添加方法。在實(shí)體類(lèi)中除了創(chuàng)建方法和屬性的存取方法,其余實(shí)體相關(guān)的添加、刪除以及查詢方法我們把它封裝在系統(tǒng)管理類(lèi)中也

60、就是MarkManager中。最后,在各個(gè)類(lèi)之間添加關(guān)聯(lián)和依賴關(guān)系。最終的初始化成績(jī)?cè)O(shè)計(jì)類(lèi)模型如圖4-40</p><p><b>  圖4-4</b></p><p>  各個(gè)類(lèi)之間的關(guān)系為由View配置文件struts-config.xml初始化成績(jī)的設(shè)計(jì)類(lèi)模型層的JsP頁(yè)面發(fā)送請(qǐng)求,通過(guò)服務(wù)器和Struts找到控制器類(lèi)InitialAction。然后,調(diào)用Mar

61、kManager中的業(yè)務(wù)邏輯方法InitialMethod最后得到結(jié)果。通過(guò)系統(tǒng)的用例建模和用例分析以及設(shè)計(jì)類(lèi)過(guò)程,最終形成系統(tǒng)的核心業(yè)務(wù)邏輯類(lèi)圖。如圖4-6}系統(tǒng)中的核心邏輯處理集中在SubjectManager, ElectManager, MarkManager,CultivateMana}er中。</p><p><b>  4. 3數(shù)據(jù)庫(kù)建模</b></p><

62、p>  4. 3. 1數(shù)據(jù)庫(kù)建模步驟</p><p>  數(shù)據(jù)庫(kù)建模主要包括兩個(gè)過(guò)程:第一步是在細(xì)化類(lèi)圖中尋找需要持久化的類(lèi),第二步將需要持久化的類(lèi)的邏輯模型進(jìn)行整合轉(zhuǎn)化為物理‘模型并完成數(shù)據(jù)庫(kù)建模。在系統(tǒng)開(kāi)發(fā)過(guò)程中,通過(guò)分析各部分功能模塊并且從中獲取需要的持久化類(lèi),然后采用PowerDesigner工具把系統(tǒng)的邏輯模型轉(zhuǎn)化為數(shù)據(jù)庫(kù)物理模型并完成整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p>

63、;<b>  1、需要持久化的類(lèi)</b></p><p>  在系統(tǒng)開(kāi)發(fā)過(guò)程中主要把課程管理相關(guān)模塊中的持久化類(lèi)抽取出來(lái)。在成績(jī)初始化過(guò)程中持久化類(lèi)主要包括成績(jī)類(lèi)Mark、課程類(lèi)Subjecl:、選課類(lèi)Elective 。通過(guò)相同的方法,抽取系統(tǒng)中其余模塊的持久化類(lèi),主要包括培養(yǎng)類(lèi)、成績(jī)類(lèi)、課程類(lèi)、選課類(lèi)、新課程申請(qǐng)類(lèi)等。</p><p>  2、建立的數(shù)據(jù)庫(kù)模型&l

64、t;/p><p>  依據(jù)抽取出來(lái)的持久化類(lèi)對(duì)數(shù)據(jù)庫(kù)進(jìn)行建模,需要對(duì)持久化的類(lèi)進(jìn)行持久化。建立模型的過(guò)程就是將邏輯模型轉(zhuǎn)化成物理模型并最終完成數(shù)據(jù)庫(kù)建模的過(guò)程。持久化是指把暫時(shí)性的對(duì)象永久保留下來(lái)并把對(duì)象轉(zhuǎn)換成一定格式的數(shù)據(jù),存放到磁盤(pán)或其他媒介。正如一般的持久數(shù)據(jù)一樣,持久對(duì)象由數(shù)據(jù)庫(kù)管理系統(tǒng)負(fù)責(zé)管理。一般采用“映射法”將對(duì)象存到關(guān)系數(shù)據(jù)庫(kù)。普遍原則是一個(gè)類(lèi)映射為一個(gè)表格,表格的列或字段對(duì)應(yīng)類(lèi)的屬性,而行記錄則對(duì)應(yīng)

65、類(lèi)的實(shí)例。系統(tǒng)開(kāi)發(fā)過(guò)程中,選擇PowerDesigner數(shù)據(jù)庫(kù)建模工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行建模;最終生成的課程相關(guān)的主要的數(shù)據(jù)庫(kù)模型如圖4-7 。</p><p>  圖4-6數(shù)據(jù)庫(kù)物理模型圖</p><p>  表4-1是對(duì)數(shù)據(jù)庫(kù)主要表格及其具體內(nèi)容的說(shuō)明。系統(tǒng)中主要包括課程主表、學(xué)生成績(jī)表、選課表、排課相關(guān)表格以及培養(yǎng)方案相關(guān)的培養(yǎng)方案和培養(yǎng)方案課程表。</p><p>

66、;  表4-1課程相關(guān)表格及說(shuō)明</p><p>  除了課程相關(guān)的主要表外,系統(tǒng)還牽涉到系所、班級(jí)、學(xué)年學(xué)期、學(xué)生、教師、教室場(chǎng)所、權(quán)限維護(hù)等相關(guān)基本信息的數(shù)據(jù)庫(kù)設(shè)計(jì),本文對(duì)其他的表的細(xì)節(jié)不再詳述。</p><p>  4.3.2成績(jī)報(bào)表的視圖設(shè)計(jì)</p><p>  學(xué)生成績(jī)相關(guān)的信息主要存儲(chǔ)在成績(jī)表中。在設(shè)計(jì)數(shù)據(jù)庫(kù)表格的時(shí)候,為了保持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)的3NF范式,與

67、其余表格相關(guān)的字段主要以外鍵關(guān)聯(lián)。在成績(jī)報(bào)表打印的時(shí)候,需要顯示相關(guān)實(shí)體的具體信息。由于成績(jī)表中需要關(guān)聯(lián)的字段過(guò)多,如果利用數(shù)據(jù)庫(kù)的聯(lián)合查詢勢(shì)必增加系統(tǒng)的復(fù)雜性和不可讀性。所以在設(shè)計(jì)成績(jī)單報(bào)表的數(shù)據(jù)庫(kù)時(shí),引入了相關(guān)的兩個(gè)視圖。</p><p>  成績(jī)報(bào)表中具體的字段包括學(xué)生基本信息和學(xué)生成績(jī)信息等。學(xué)生基本信息如學(xué)號(hào)、姓名、性別、入學(xué)時(shí)間、學(xué)生專(zhuān)業(yè)、導(dǎo)師信息以及研究方向;學(xué)生的成績(jī)基本信息包括課程名稱(chēng)、學(xué)分、備

68、注、學(xué)生已修總學(xué)分、實(shí)踐學(xué)分等。通過(guò)分析,在系統(tǒng)中設(shè)計(jì)了學(xué)生信息視圖MarkSheetBaseInfoView和學(xué)生成績(jī)視圖BASE_ CJXX_VIEWo</p><p>  如表4-2所示,視圖BASE_ CJXX_V工EW主要關(guān)聯(lián)以下九個(gè)表格和視圖,其中以成績(jī)表為主表然后從其余各個(gè)表格中獲取課程名稱(chēng)、課程學(xué)分、課程類(lèi)別、考核方式、指導(dǎo)教師等信息。</p><p>  表4-2成績(jī)信息

69、視圖說(shuō)明</p><p>  如表4-3所示,視圖MarkSheetBaseInfoView是學(xué)生成績(jī)單需要的學(xué)生基本信息視圖,主要包括五個(gè)表格。其中以學(xué)生基本信息為主表,從學(xué)生教師表中獲取學(xué)生的指導(dǎo)教師信息,從其余表中獲取學(xué)生所屬專(zhuān)業(yè)等信息。</p><p>  表4-3學(xué)生成績(jī)單基本信息視圖說(shuō)明</p><p>  4.3.3培養(yǎng)方案數(shù)據(jù)庫(kù)設(shè)計(jì)</p>

70、;<p>  培養(yǎng)方案管理包括網(wǎng)上提交培養(yǎng)方案、網(wǎng)上審核方案以及網(wǎng)上查詢、查看培養(yǎng)方案。培養(yǎng)方案主要包括三種類(lèi)型,而且不同的類(lèi)型其培養(yǎng)方案又包括不同的內(nèi)容項(xiàng)。另外,培養(yǎng)方案中又包括具體的培養(yǎng)方案課程和文獻(xiàn)要求信息。</p><p>  通過(guò)系統(tǒng)數(shù)據(jù)庫(kù)建模過(guò)程對(duì)培養(yǎng)方案的數(shù)據(jù)庫(kù)進(jìn)行分析建模。該部分的數(shù)據(jù)庫(kù)表格包括培養(yǎng)方案表、培養(yǎng)方案審核表以及培養(yǎng)方案課程表,其中培養(yǎng)方案表為系統(tǒng)主表,培養(yǎng)方案課程表為輔

71、表??紤]到培養(yǎng)方案課程表中包括課程的一些基本信息,培養(yǎng)方案課程表中由培養(yǎng)方案ID和課程ID作為聯(lián)合主鍵;培養(yǎng)方案審核表中存儲(chǔ)培養(yǎng)方案的審核信息和審核跟蹤情況。</p><p>  培養(yǎng)方案表中包括了三種類(lèi)型培養(yǎng)方案所包括的所有內(nèi)容,通過(guò)方案類(lèi)別進(jìn)行區(qū)分。表格中主要的字段如學(xué)位論文、參考文獻(xiàn)等由于字段過(guò)長(zhǎng),在數(shù)據(jù)庫(kù)中采用了大數(shù)據(jù)字段Text進(jìn)行存儲(chǔ)。如表4-4所示,</p><p><

72、b>  表4-4培養(yǎng)方案表</b></p><p>  由培養(yǎng)方案表可以發(fā)現(xiàn),培養(yǎng)方案包括院系、專(zhuān)業(yè)以及類(lèi)型三個(gè)與其它表信息相關(guān)的信息,為了方便對(duì)培養(yǎng)方案的讀取以及處理學(xué)生專(zhuān)業(yè)、院系、學(xué)生類(lèi)型相關(guān)信息設(shè)計(jì)了culti_ xszy_view視圖。如表4-5,列出了視圖所關(guān)聯(lián)的所有表格,主要包括培養(yǎng)方案以及專(zhuān)業(yè)、院系信息。從視圖中可以獲取已經(jīng)提交的所有培養(yǎng)方案的所屬專(zhuān)業(yè)、院系以及學(xué)生類(lèi)型信息,從而簡(jiǎn)

73、化了培養(yǎng)方案顯示部分的數(shù)據(jù)庫(kù)處理。</p><p>  表4-5培養(yǎng)專(zhuān)業(yè)視圖表說(shuō)明</p><p>  由于基于周模板的交互排課的設(shè)計(jì)比較復(fù)雜,與之相關(guān)的類(lèi)和數(shù)據(jù)庫(kù)的設(shè)計(jì)這里不再給出,排課管理的設(shè)計(jì)與實(shí)現(xiàn)將在第6章中給出詳細(xì)描述。</p><p><b>  第五章系統(tǒng)實(shí)現(xiàn)</b></p><p>  本章闡述了培養(yǎng)方案

74、管理系統(tǒng)的實(shí)現(xiàn)并且對(duì)系統(tǒng)實(shí)現(xiàn)中的主要問(wèn)題進(jìn)行了分析并且提出了解決方案。實(shí)現(xiàn)過(guò)程中的主要問(wèn)題包括XML配置文件問(wèn)題、成績(jī)報(bào)表的實(shí)現(xiàn)以及課程內(nèi)容管理的人性化掛接問(wèn)題。</p><p>  5. 1課程管理系統(tǒng)的實(shí)現(xiàn)</p><p>  課程管理系統(tǒng)是為了滿足校、院兩級(jí)建制的業(yè)務(wù)需要而設(shè)計(jì)和實(shí)現(xiàn)的。課程管理中的培養(yǎng)方案和新課程申請(qǐng)子系統(tǒng)是依據(jù)學(xué)院的業(yè)務(wù)需求進(jìn)行開(kāi)發(fā)的;其余子系統(tǒng)包括課程維護(hù)、選課

75、管理、排課管理以及成績(jī)管理是依據(jù)軟件學(xué)院的實(shí)際情況進(jìn)行開(kāi)發(fā)的。后者作為學(xué)院綜合系統(tǒng)中的一部分與學(xué)院其它部分整合在一起,采用了學(xué)院系統(tǒng)的統(tǒng)一登陸和管理;前者是面向全校培養(yǎng)管理的系統(tǒng),采用了獨(dú)立的界面設(shè)計(jì)風(fēng)格以及獨(dú)立的登陸界面。</p><p><b>  1.系統(tǒng)軟硬件環(huán)境</b></p><p>  課程管理系統(tǒng)目前已經(jīng)在學(xué)院部署使用。系統(tǒng)部署機(jī)器操作系統(tǒng)采用Wind

76、ows操作系統(tǒng),Web服務(wù)器采用開(kāi)源的Tomcat服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器采用SqlServer2000。數(shù)據(jù)庫(kù)連接采用了Tomcat服務(wù)器自帶的數(shù)據(jù)庫(kù)連接池。</p><p><b>  2、系統(tǒng)實(shí)現(xiàn)功能</b></p><p>  課程管理系統(tǒng)實(shí)現(xiàn)了課程維護(hù)、新課程申請(qǐng)、選課管理、排課管理、成績(jī)管理、培養(yǎng)方案管理功能。課程維護(hù)功能包括課程的增加、刪除、修改和院系課程查

77、詢;新課程申請(qǐng)功能包括教師申請(qǐng)、學(xué)院審核、院審核;選課管理包括時(shí)間設(shè)置、學(xué)生網(wǎng)上選課、管理員選課查詢;排課管理包括教學(xué)任務(wù)設(shè)置、交互式排課、各種課表的生成查詢、教師工作量計(jì)算;成績(jī)管理包括成績(jī)初始化、成績(jī)錄入、成績(jī)查詢、成績(jī)表打印、培養(yǎng)計(jì)劃打印;培養(yǎng)方案管理包括培養(yǎng)方案維護(hù)、培養(yǎng)方案審核、培養(yǎng)方案發(fā)布等功能。</p><p>  軟件學(xué)院課程管理登陸入口為軟件學(xué)院主頁(yè),系統(tǒng)中的各類(lèi)用戶包括學(xué)生、教師等都可以從頁(yè)面

78、登陸。系統(tǒng)資源的分配采用了基于資源角色的權(quán)限管理系統(tǒng),不同角色的用戶登錄后看到不同的資源。在系統(tǒng)中,課程管理員是作為秘書(shū)角色分配的權(quán)限,除了課程維護(hù)、選課管理以及成績(jī)管理的權(quán)限外還包括教務(wù)通知發(fā)布、論文工作管理等權(quán)限。課程管理員的界面如圖5-1所示。</p><p><b>  略</b></p><p>  圖5-1學(xué)院課程管理界面</p><p

79、>  5. 2培養(yǎng)方案管理的實(shí)現(xiàn)</p><p>  培養(yǎng)方案管理作為系統(tǒng)中的重要部分,主要是由系統(tǒng)中的課程維護(hù)、新課程申請(qǐng)以及培養(yǎng)方案的網(wǎng)上提交等各部分組合而成。系統(tǒng)中主要的功能為培養(yǎng)方案的網(wǎng)上提交、審核以及網(wǎng)上展示等功能。</p><p><b>  1、系統(tǒng)的界面設(shè)計(jì)</b></p><p>  由于該部分是面向全校管理的系統(tǒng),因此

80、設(shè)計(jì)了獨(dú)立的用戶界面風(fēng)格以符合院風(fēng)格。如圖5-1,為培養(yǎng)管理系統(tǒng)的主界面。</p><p><b>  略</b></p><p>  圖5-2培養(yǎng)管理主界面</p><p><b>  2、培養(yǎng)方案的提交</b></p><p>  院系管理員主要包括基本信息和課程信息的添加。系統(tǒng)依據(jù)管理員的身份

81、確定管理員所屬院系并且在系統(tǒng)界面下列不同學(xué)生類(lèi)型所對(duì)應(yīng)的專(zhuān)業(yè);然后由管理員選擇專(zhuān)業(yè)和學(xué)生類(lèi)型并添加相應(yīng)的培養(yǎng)方案以及培養(yǎng)方案對(duì)應(yīng)的課程。院系添加并且提交后,由院對(duì)培養(yǎng)方案進(jìn)行審核、修改,通過(guò)后在網(wǎng)上發(fā)布。</p><p><b>  3、培養(yǎng)方案的展示</b></p><p>  培養(yǎng)方案提交審核通過(guò)后,需要通過(guò)網(wǎng)頁(yè)的形式展示給學(xué)生和教師。學(xué)生可以依據(jù)本專(zhuān)業(yè)的培養(yǎng)方案

82、制定個(gè)人的培養(yǎng)計(jì)劃。為了能夠?yàn)閷W(xué)生提供便捷的瀏覽方式,系統(tǒng)把學(xué)校培養(yǎng)方案按照院系及專(zhuān)業(yè)劃分顯示。如圖5-2所示,系統(tǒng)從設(shè)計(jì)的視圖culti_ xszy view中讀取數(shù)據(jù),在頁(yè)面上按照院系和專(zhuān)業(yè)進(jìn)行顯示。用戶進(jìn)入該頁(yè)面后只需要點(diǎn)擊相應(yīng)的專(zhuān)業(yè)名就可以查看該專(zhuān)業(yè)的培養(yǎng)方案。</p><p><b>  略</b></p><p>  圖5-3查看培養(yǎng)方案</p>

83、;<p>  如圖5-3所示,某專(zhuān)業(yè)某學(xué)生類(lèi)型的培養(yǎng)方案主要包括培養(yǎng)目標(biāo)、研究方向以及學(xué)習(xí)年限等內(nèi)容。另外,培養(yǎng)方案還包括具體課程要求和文獻(xiàn)要求頁(yè)面,由于兩者的顯示相對(duì)獨(dú)立所以在附頁(yè)中進(jìn)行顯示。課程要求部分主要把課程分為選修課、必修課以及補(bǔ)修課,系統(tǒng)從培養(yǎng)方案課程要求表中讀取某一培養(yǎng)方案的課程要求并且在課程要求頁(yè)面上顯示。</p><p><b>  略</b></p&g

84、t;<p><b>  圖5-4培養(yǎng)方案圖</b></p><p>  由第四章的數(shù)據(jù)庫(kù)設(shè)計(jì)可知,系統(tǒng)培養(yǎng)方案中的重要字段需要從數(shù)據(jù)庫(kù)中讀取并且在WEB頁(yè)面上顯示。數(shù)據(jù)庫(kù)字段中存儲(chǔ)的字符串中的回車(chē)、換行、空格等與WEB頁(yè)面的字符不一致。如果對(duì)字符串不進(jìn)行處理直接顯示將會(huì)導(dǎo)致字符串不顯示空格,也不進(jìn)行換行。在系統(tǒng)中我們引入了DataFormat類(lèi)中的格式轉(zhuǎn)換方法toHtml來(lái)實(shí)現(xiàn)

85、兩種字符之間的轉(zhuǎn)化。具體實(shí)現(xiàn)代碼如下:</p><p>  public static String toHtml(String s)</p><p><b>  {</b></p><p>  if (s是null) return s;</p><p>  調(diào)用strReplace,s中的””用”&nbsp;”

86、代替;</p><p>  調(diào)用strReplace,s中的”\n”用”<br>”代替:</p><p>  調(diào)用strReplace,s中的”\”用”&quot;”代替:</p><p><b>  return s:</b></p><p>  public static String strRe

87、place(String sBody,String sFrom,String sTo)</p><p>  int i, j, k, 1;</p><p>  if(sBody是null或者sBody是空串)</p><p><b>  return“”;</b></p><p><b>  i=0:</

88、b></p><p>  j=sFrom的長(zhǎng)度:</p><p><b>  k=sTo的長(zhǎng)度;</b></p><p>  創(chuàng)建StringBuffer的實(shí)例buf,大小是sBody的長(zhǎng)度:</p><p>  定義布爾值bFirst初始化為true;</p><p><b> 

89、 1=i;</b></p><p>  while(sBody中有與sFrom匹配的字符子串)</p><p><b>  {</b></p><p>  i=從第i個(gè)字符開(kāi)始,找到sBody中與sForm匹配的字符串第一個(gè)字符的位置;</p><p>  取出sBody中從1到i的字符子串,加到buf中;&

90、lt;/p><p>  在buf中加入需要替換的字符串sTo;</p><p><b>  i+=J</b></p><p><b>  1=i:</b></p><p>  return buf轉(zhuǎn)為的字符串類(lèi)型;</p><p>  5. 3 XML配置部署文件的實(shí)現(xiàn)</

91、p><p>  在系統(tǒng)中有很多系統(tǒng)的配置和部署參數(shù)需要不時(shí)的修改,比如說(shuō)選課系統(tǒng)中的選課時(shí)間設(shè)置參數(shù)、發(fā)送郵件的信箱地址參數(shù)等都需要進(jìn)行設(shè)置而不能在系統(tǒng)中定死。在系統(tǒng)中,以上的配置文件主要使用XML進(jìn)行存儲(chǔ)。 XML稱(chēng)為可擴(kuò)充標(biāo)記語(yǔ)一言,是類(lèi)似于HTML定義文檔標(biāo)記語(yǔ)言的一個(gè)框架。XML以結(jié)構(gòu)嚴(yán)謹(jǐn)著稱(chēng),因此用來(lái)保存數(shù)據(jù)是非常合適的,這樣在數(shù)據(jù)庫(kù)之外,又多了一個(gè)持久化保存數(shù)據(jù)的方式。</p><p&

92、gt;<b>  1, XML的選擇</b></p><p>  系統(tǒng)中提到的配置和部署文件在這之前主要使用properties文件來(lái)保存。該類(lèi)配置文件使用方法簡(jiǎn)單直接,但是只適合配置文件簡(jiǎn)單的情況。在配置文件復(fù)雜的情況下就不適合了。相對(duì)而言,用XML文檔存儲(chǔ)監(jiān)控信息,具有下面的這些優(yōu)點(diǎn):</p><p>  1)具有良好的可讀性</p><p&g

93、t;  XML文檔的結(jié)構(gòu)決定了用這種格式存儲(chǔ)監(jiān)控信息,具有良好的可讀性。用</p><p>  XML格式存儲(chǔ)監(jiān)控信息,結(jié)構(gòu)清晰,含義明確,易于理解。</p><p><b>  2)易于信息的解析</b></p><p>  現(xiàn)在己經(jīng)有了成熟的XML文檔的解析工具,如SAX, DOM, JDOM等。利用這些工具,能夠很方便的對(duì)XML文檔形式的

94、配置信息進(jìn)行解析并且獲得相應(yīng)的結(jié)構(gòu)和含義,對(duì)于復(fù)雜的信息解析比較容易。</p><p>  2, XML的配置文件</p><p>  依據(jù)系統(tǒng)的需要,把系統(tǒng)中不同模塊的配置和部署參數(shù)存在XML文件中,然后放在web應(yīng)用系統(tǒng)目錄下面進(jìn)行存儲(chǔ),系統(tǒng)的設(shè)置文件設(shè)計(jì)如下。</p><p>  </moduleList></p><p>

95、  XML配置文件中各部分配置信息依照樹(shù)型結(jié)構(gòu)存儲(chǔ)。在以上配置文件中,<moduleList>表示總的模塊列表,<subject>代表系統(tǒng)中的課程管理模塊,下一級(jí)目錄代表系統(tǒng)中的某個(gè)功能,再下一級(jí)表示該功能下的某一個(gè)屬性。通過(guò)以上XML文件存儲(chǔ)系統(tǒng)中的配置參數(shù),使得系統(tǒng)的配置文件簡(jiǎn)單明了。</p><p>  3, XML的操作實(shí)現(xiàn)</p><p>  通過(guò)以上XM

96、L文件對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),使復(fù)雜的配置問(wèn)題得以解決。分析讀取XML數(shù)據(jù)有很多工具,如DOM和SAX。這兩種是標(biāo)準(zhǔn)的XML分析器,可以使用任何語(yǔ)言來(lái)實(shí)現(xiàn)。DOM分析XML數(shù)據(jù)時(shí),是將整個(gè)文檔一下子讀入內(nèi)存,如果文檔很大,性能就發(fā)生影響;而SAX則是動(dòng)態(tài)的對(duì)每一行進(jìn)行分析,無(wú)需全部讀入,因此在解析大文檔時(shí)速度比較快。但是,這兩種分析方法都是圍繞XML樹(shù)形結(jié)構(gòu)展開(kāi)的。在編制這兩種分析器時(shí),會(huì)涉及到大量的XML概念的API,需要一定的基礎(chǔ)知識(shí),使用

97、起來(lái)有一定難度。</p><p>  系統(tǒng)采用了JDOM對(duì)XML文件進(jìn)行解析,JDOM封裝了DOM/SAX的具體使用技術(shù),在分析速度方面比DOM要快但比SAX要慢。但在配置文件分析上,分析速度不是重要的,因此可以使用lazy initialization。它類(lèi)似于緩存機(jī)制,在第一次讀取后就保存到內(nèi)存,以后每次直接從內(nèi)存讀取。在系統(tǒng)中,其解析工作主要是由XMLOperation類(lèi)來(lái)完成的。從下面代碼中可以發(fā)現(xiàn),通過(guò)

98、以上方法對(duì)XML文件讀寫(xiě)非常方便。首先通過(guò)loadProperties()方法轉(zhuǎn)入XML文件,然后使用properties.getProperty(name)就可以獲得name的配置值。通過(guò)properties. setProperty(name, value)一句就可以將name和其值value保存到XML文件中,非常類(lèi)似與HashTable的讀取和存入。</p><p>  XMLProperties是JDO

99、M的一個(gè)屬性文件輔助包,它主要是對(duì)屬性名進(jìn)行分解和合成。如上面配置文件中的數(shù)據(jù)項(xiàng)planScore的值是28,在系統(tǒng)中使用properties. getProperty( "mark. planScore")得到數(shù)據(jù)項(xiàng)的值。注意到,這里的key的組合是mark.planScore,這種特定寫(xiě)法是XMLProperties可以支持的。在對(duì)XML文件保存細(xì)節(jié)中,由XMLProperties將這種屬性名稱(chēng)寫(xiě)法具體轉(zhuǎn)化成XM

100、L文檔操作。具體內(nèi)部代碼如下,代碼首先從緩存中獲取XML文件,然后把mark.planScore轉(zhuǎn)化為String數(shù)組,并且通過(guò)propName數(shù)組循環(huán)、遍歷樹(shù)形結(jié)構(gòu)層次,尋找出對(duì)應(yīng)屬性。</p><p>  5. 4成績(jī)表的實(shí)現(xiàn)</p><p>  通過(guò)上一節(jié)成績(jī)單視圖的數(shù)據(jù)庫(kù)建模,系統(tǒng)可以獲取成績(jī)單需要的基本數(shù)據(jù)。系統(tǒng)的結(jié)構(gòu)是基于MVC設(shè)計(jì)模式,主要分為數(shù)據(jù)展示的View層、邏輯控制的

101、Controller控制器和后臺(tái)邏輯數(shù)據(jù)獲取的Model層。通過(guò)NfVC設(shè)計(jì)模式的實(shí)現(xiàn),當(dāng)成績(jī)表單的樣式發(fā)生變化而系統(tǒng)需要顯示的數(shù)據(jù)不發(fā)生變化時(shí),系統(tǒng)只需要改變系統(tǒng)的前臺(tái)顯示也就是View層,減少了系統(tǒng)的維護(hù)量。在系統(tǒng)中,數(shù)據(jù)報(bào)表的顯示和生成采用了開(kāi)源的iReport和jasperreport結(jié)合的B/S報(bào)表設(shè)計(jì)工具。后臺(tái)數(shù)據(jù)的獲取是由具體的Action調(diào)用業(yè)務(wù)邏輯類(lèi)并且對(duì)成績(jī)單的兩個(gè)邏輯視圖進(jìn)行操作獲取。</p><

102、;p><b>  3、業(yè)務(wù)邏輯的處理</b></p><p>  成績(jī)報(bào)表主要內(nèi)容包括學(xué)生基本信息部分、學(xué)生成績(jī)列表部分、學(xué)生學(xué)分情況和畢業(yè)年級(jí)等部分。學(xué)生基本信息的獲取主要通過(guò)查詢視圖MarkSheetBaseInfoView獲得:學(xué)生成績(jī)列表部分的獲取主要是通過(guò)查詢學(xué)生成績(jī)基本信息視圖BASS_ CJXX一IEW獲得;學(xué)生的總學(xué)分也通過(guò)Sql語(yǔ)句查詢視圖BASE_ CJXX_ VI

103、EW獲取;畢業(yè)年級(jí)以及總學(xué)分、畢業(yè)實(shí)踐學(xué)分等信息主要存放在以上提到的XML配置文件中,系統(tǒng)通過(guò)JDOM解析XML文件獲取。</p><p><b>  4、報(bào)表生成的實(shí)現(xiàn)</b></p><p>  數(shù)據(jù)報(bào)表的生成系統(tǒng)中使用了開(kāi)源項(xiàng)目jasperreport以及jasperreport的報(bào)表設(shè)計(jì)器iReport完成。通過(guò)以上工具可以很快完成成績(jī)報(bào)表的設(shè)計(jì)工作,并且能夠

104、達(dá)到以上成績(jī)單報(bào)表的表現(xiàn)效果。</p><p><b>  1>報(bào)表生成原理</b></p><p>  系統(tǒng)中采用的報(bào)表生成系統(tǒng)主要包括jasperreport和iReport。其中,jasperreport作為Web報(bào)表服務(wù)器引擎用來(lái)在Web服務(wù)器端解析報(bào)表內(nèi)容。該引擎通過(guò)接受、解析應(yīng)用系統(tǒng)傳遞來(lái)的控制參數(shù)來(lái)挖掘并分析處理數(shù)據(jù)源數(shù)據(jù),從而形成完整的Web報(bào)表

105、包傳遞給瀏覽端。iReport作為jasperreport的報(bào)表設(shè)計(jì)器,通過(guò)可視化界面對(duì)Web報(bào)表主體進(jìn)行設(shè)計(jì),包括Web報(bào)表版面的設(shè)計(jì)、數(shù)據(jù)源定義、數(shù)據(jù)重組(過(guò)濾、計(jì)算等)的函數(shù)設(shè)計(jì)、Web報(bào)表被引用參數(shù)的定義等。通過(guò)報(bào)表設(shè)計(jì)器iReport生成基于服務(wù)器引擎指定規(guī)則的.jasper文件,它實(shí)際上是一個(gè)特殊形式的XML;文件。Jasperreport作為Web報(bào)表服務(wù)器引擎,通過(guò)接受應(yīng)用程序傳遞的參數(shù)并且解析jasper文件,然后進(jìn)行

106、相應(yīng)處理后生成報(bào)表。</p><p><b>  2>報(bào)表生成步驟</b></p><p>  報(bào)表的生成步驟包括報(bào)表模板的生成和應(yīng)用程序的編寫(xiě)。報(bào)表模板的生成是通過(guò)可視化工具iReport對(duì)報(bào)表的頁(yè)面布局、數(shù)據(jù)源和顯示數(shù)據(jù)項(xiàng)進(jìn)行定義描述,然后運(yùn)行后生成.jasper的模板文件。應(yīng)用程序的編寫(xiě),在系統(tǒng)中主要是編寫(xiě)成績(jī)單生成的」sp文件。成績(jī)表數(shù)據(jù)通過(guò)業(yè)務(wù)邏輯控制

107、器。reatMarkSheetAction類(lèi)調(diào)用后臺(tái)業(yè)務(wù)數(shù)據(jù)獲取方法取到數(shù)據(jù),然后將數(shù)據(jù)存儲(chǔ)到基本類(lèi)StudentMark中。然后傳到createSheet.jsp中,jsp頁(yè)面把jasper文件需要的基本參數(shù)傳到resultCard.jasper模板后通過(guò)jasperreport報(bào)表服務(wù)器引擎解析處理后生成報(bào)表。如圖5-4為最終生成的報(bào)表格式。</p><p><b>  略</b><

108、;/p><p>  圖5-5學(xué)生成績(jī)報(bào)表圖</p><p><b>  3>報(bào)表的部署</b></p><p>  通過(guò)上面的分析可知報(bào)表的部署主要包括服務(wù)器引擎和生成的*. j asper文件在Web服務(wù)器端的部署。服務(wù)器引擎的部署十分簡(jiǎn)單,只需要把相應(yīng)得.jar文件放置到系統(tǒng)所在應(yīng)用的\\WEB-INF\lib文件夾下面然后把*.jasp

109、er文件放置到相應(yīng)Web應(yīng)用的reports文件夾下。</p><p>  3、可選擇式打印的實(shí)現(xiàn)</p><p>  由數(shù)據(jù)庫(kù)系統(tǒng)中的視圖獲得的數(shù)據(jù)包括了學(xué)生所有課程的成績(jī)。如果不進(jìn)行進(jìn)一步處理,那么生成的個(gè)人成績(jī)單就包括了所有課程的成績(jī)??墒擒浖W(xué)院的實(shí)際情況是學(xué)生可以在個(gè)人成績(jī)中選擇達(dá)到要求學(xué)分的成績(jī),然后組成個(gè)人成績(jī)單,必修課成績(jī)除外。為了解決以上問(wèn)題,系統(tǒng)中提供了可選擇性打印的功

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論