基于bs的自動排課系統(tǒng)畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著社會的發(fā)展,在現(xiàn)在的社會,信息的各種操作都需要通過計算機軟件來完成。當(dāng)今,素質(zhì)化教育也在校園內(nèi)不斷地得到深化。自動排課模式也在許多的學(xué)校內(nèi)開始遍布了,而傳統(tǒng)的教學(xué)模式漸漸被取代了。自動化排課系統(tǒng),可以滿足學(xué)校教務(wù)處對于排課管理的需求,減少教務(wù)人員工作量的同時降低排課中的并發(fā)和錯選等問題。學(xué)生通過網(wǎng)頁可以隨時隨地進行選

2、課,節(jié)約了大量統(tǒng)計時間;教務(wù)人員通過設(shè)置排課規(guī)則快速的完成課程的安排,易于調(diào)整修改;教師可以快速方便的安排課程信息。該系統(tǒng)采用數(shù)據(jù)集中管理、統(tǒng)計分布式管理。</p><p>  自動排課系統(tǒng)的系統(tǒng)設(shè)計是基于JSP技術(shù)的,它具有靈活的一體化發(fā)展戰(zhàn)略,圓滿完成了整個系統(tǒng)的全面設(shè)計。自動排課系統(tǒng),采用一個簡單的界面,操作方便,靈活,實用,有效的簡化了自動排課管理系統(tǒng)的過程,大大提高了自動排課系統(tǒng)的效率,使之更加系統(tǒng)化體

3、系化、標(biāo)準(zhǔn)化、自動化,具有優(yōu)良的可用性、可靠性和安全性。該系統(tǒng)采用標(biāo)準(zhǔn)的MVC三層架構(gòu),包括表示層、控制層和業(yè)務(wù)層三個部分,降低了系統(tǒng)開發(fā)的復(fù)雜性。這個項目具體是運用了JSP,提高系統(tǒng)的運行性和安全性,并且方便了后期的維護和操作。系統(tǒng)主要實現(xiàn)了教師列表、班級列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表等功能模塊,具有良好的實用性。</p><p>  關(guān)鍵詞:自動排課;B/S 模式;MVC;JSP&l

4、t;/p><p><b>  Abstract</b></p><p>  With the development of society, in the information society, information acquisition, processing, communication and decision-making needs of high-qua

5、lity computer software. Today, the quality of education are constantly deepened campus. Smart Scheduling model is also in many schools throughout the beginning, while the traditional teaching model was gradually replaced

6、. Intelligent Scheduling System, arranging to meet the needs of the school management for Academic Affairs, reducing the workload o</p><p>  Senate elective system design management system is based on JSP te

7、chnology, it has a flexible integrated development strategy, the successful completion of a comprehensive design of the entire system. Academic course management system that uses a simple interface, easy to operate, flex

8、ible, practical and effective management system simplifies the Senate elective process, greatly improving the efficiency of educational administration course management system to make it more systematic system, sta</p

9、><p>  Key words : Academic Course management; B / S mode; MVC; JSP</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p>

10、<p><b>  1 緒論1</b></p><p>  1.1 課題研究背景及意義1</p><p>  1.2 課題研究現(xiàn)狀1</p><p>  1.3 本課題主要工作2</p><p>  2 系統(tǒng)相關(guān)技術(shù)3</p><p>  2.1 J2EE技術(shù)3</p

11、><p>  2.2 MVC模式3</p><p>  2.3 B/S結(jié)構(gòu)3</p><p>  2.4 數(shù)據(jù)庫技術(shù)3</p><p>  2.5 本章小結(jié)3</p><p>  3 系統(tǒng)需求分析4</p><p>  3.1 系統(tǒng)總體目標(biāo)4</p><p>

12、  3.2 系統(tǒng)可行性分析4</p><p>  3.2.1 操作可行性分析4</p><p>  3.2.2 技術(shù)可行性分析4</p><p>  3.3 系統(tǒng)功能需求分析5</p><p>  3.4 系統(tǒng)非功能需求分析5</p><p>  3.5 系統(tǒng)開發(fā)環(huán)境與開發(fā)工具6</p>&l

13、t;p>  4 系統(tǒng)設(shè)計與實現(xiàn)7</p><p>  4.1 系統(tǒng)設(shè)計目標(biāo)和原則7</p><p>  4.2 系統(tǒng)架構(gòu)設(shè)計7</p><p>  4.3 數(shù)據(jù)庫設(shè)計9</p><p>  4.3.1 數(shù)據(jù)庫的選定9</p><p>  4.3.2 數(shù)據(jù)庫概念模型設(shè)計9</p><

14、p>  4.3.3 數(shù)據(jù)庫邏輯設(shè)計12</p><p>  5 系統(tǒng)詳細設(shè)計與實現(xiàn)15</p><p>  5.1 數(shù)據(jù)庫連接實現(xiàn)15</p><p>  5.2 系統(tǒng)登錄實現(xiàn)16</p><p>  5.3 系統(tǒng)功能模塊實現(xiàn)17</p><p>  5.3.1 管理員功能模塊的實現(xiàn)17</p&

15、gt;<p>  5.3.2 學(xué)生功能模塊的實現(xiàn)22</p><p>  5.3.3 教師功能模塊的實現(xiàn)23</p><p><b>  6 系統(tǒng)測試25</b></p><p>  6.1 軟件測試25</p><p>  6.2 功能檢測25</p><p>  6.3

16、 系統(tǒng)配置要求25</p><p>  6.4 測試內(nèi)容25</p><p>  6.5 測試結(jié)果29</p><p>  6.6 本章小結(jié)29</p><p><b>  結(jié) 論30</b></p><p>  參 考 文 獻31</p><p><

17、;b>  致 謝32</b></p><p><b>  1 緒論</b></p><p><b>  課題研究背景及意義</b></p><p>  20世紀(jì)末,計算機的誕生與發(fā)展將人類帶入到一個全新的領(lǐng)域中,如今已經(jīng)成為解決很多工程問題的必要途徑。早在60年代,人們就開始研究如何使用計算機來解

18、決排課問題,減少人工排課的勞動量并減少排課錯誤?,F(xiàn)在是21世紀(jì),全球范圍內(nèi)的互聯(lián)網(wǎng)技術(shù)都有了極大的進步,這讓許多人不會收到時間和空間上的各種限制了。利用Web技術(shù)來解決生活中遇到的各種問題成為趨勢。</p><p>  排課系統(tǒng)是時間表問題(TimeTable Problems,TTP)的一個分支。這是個NP完全問題,由于P/NP問題還未解決,只能不斷的摸索近似算法來得出近似的最優(yōu)解。這個問題涉及到多種因素,是一

19、個多重條件下的組合優(yōu)化問題。由于涉及的參數(shù)多以及內(nèi)部關(guān)系復(fù)雜等原因,傳統(tǒng)人工排課的出錯率一直很高。隨著我國科研的發(fā)展,高等院校的專業(yè)和課程都在快速增長,極大程度上增加了排課系統(tǒng)的難度。同時隨著人本教育思想的普及,鼓勵學(xué)生自主選課也在國內(nèi)推廣開來,使得現(xiàn)代排課問題在收集數(shù)據(jù)和準(zhǔn)確排課上變得更加復(fù)雜。</p><p>  基于WEB的自動化排課系統(tǒng),可以滿足學(xué)校教務(wù)處關(guān)于排課工作的需求,減少教務(wù)職員工作量的同時降低排

20、課中的并發(fā)和錯選等問題。學(xué)生通過網(wǎng)頁可以隨時隨地進行選課和查詢自己的課程信息,節(jié)約了大量統(tǒng)計時間;教務(wù)人員通過設(shè)置排課規(guī)則快速的完成課程的安排,易于調(diào)整修改;教師可以快速方便的查看自己的課程的上課情況。該系統(tǒng)采用數(shù)據(jù)集中管理、統(tǒng)計分布式管理。</p><p>  1.2 課題研究現(xiàn)狀</p><p>  排課這個難題的探索開始于20世紀(jì)60年代。1963年,Csima, J.和 Gotli

21、eb C. C.出了編排課表的數(shù)學(xué)模型,但僅限于基本的數(shù)學(xué)建模,并沒有開發(fā)出可使用的軟件。之后人們開始使用圖形著色算法來模型解決這個問題??墒怯眠@方法所花費的時間越來越大,所以,有許多的算法來探索這個問題。</p><p>  在70年代,Barham和Westwood開始試圖使用啟發(fā)式搜索的方法。到了80年代,Mulvey使用網(wǎng)絡(luò)流方法來解決排課問題,同時Werra和Hertz使用了禁忌搜索的方法來解決這個問題

22、。90年代,由于大量的算法被發(fā)現(xiàn),這個問題的研究得到了進一步的發(fā)展。另一方面,Downsland和Dige et al通過模擬退火的方法來解決。同時,Dige et al在一所大學(xué)的案例中展現(xiàn)出使用基于約束推理的方法。在這個時期中關(guān)于排課研究的活躍歸功于在1995年舉辦的第一屆國際自動化排課實踐與理論大會(PATAT)。同樣在這個時期,遺傳算法也開始被使用在排課問題中。進入21世紀(jì),這項研究在繼續(xù)發(fā)展?;诩s束的程序設(shè)計、混合啟發(fā)算法(

23、hyper heuristic)。</p><p>  1.3 本課題主要工作</p><p>  在本文中,基于開發(fā)面向?qū)ο筌浖倪^程中,對系統(tǒng)的需求分析以及具體實施過程都進行了較為完善的介紹,在本文中本人的具體工作如下:</p><p> ?。?)對系統(tǒng)進行需求分析。對自動排課系統(tǒng)的需求進行分析以了解系統(tǒng)的基本特征和想要實現(xiàn)目標(biāo),并且對系統(tǒng)用戶的特性進行分析,并

24、分析業(yè)務(wù)流程以及梳理系統(tǒng)非功能性需求和功能需求。</p><p> ?。?)選擇適當(dāng)?shù)募夹g(shù)解決方案。搭建一個系統(tǒng)開發(fā)平臺,并對系統(tǒng)實施所涉及到的關(guān)鍵技術(shù)進行研究。根據(jù)實際、開放以及開源的原則,設(shè)計出既能夠保證需求,而且開放源代碼的以及可擴展的架構(gòu)體系。</p><p>  (3)系統(tǒng)的設(shè)計和實施。該系統(tǒng)的設(shè)計原則基于MVC的設(shè)計思想,使得系統(tǒng)中,邏輯和數(shù)據(jù)存儲在一個單獨的狀態(tài)下。業(yè)務(wù)流程和

25、系統(tǒng)的用戶角色進行了詳細的研究,以及系統(tǒng)的機制設(shè)計和系統(tǒng)的具體實現(xiàn)進行了詳細的介紹。</p><p> ?。?)測試系統(tǒng)。在節(jié)中,對系統(tǒng)的測試過程進行了具體的介紹。</p><p><b>  2 系統(tǒng)相關(guān)技術(shù)</b></p><p>  2.1 J2EE技術(shù)</p><p>  J2EE 技術(shù),即Java 2平臺企業(yè)版

26、(Java 2 Platform Enterprise Edition),是一種B/S模式的體系結(jié)構(gòu)。</p><p>  J2EE技術(shù)一般分為四個等級,其中Web表現(xiàn)層和業(yè)務(wù)邏輯層,兩層是J2EE的核心層次。J2EE優(yōu)勢:1.跨平臺性。2.穩(wěn)定性。3.開發(fā)效率高。4.具有可伸縮性。</p><p><b>  2.2 MVC模式</b></p><

27、;p>  MVC模式(三層架構(gòu)模式)(Model-View-Controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為Model(模型)、View(視圖)和Controller(控制器)三個基本部分。</p><p><b>  2.3 B/S結(jié)構(gòu)</b></p><p>  基于B/S架構(gòu)軟件的安裝,編輯,維修的需要在服務(wù)器端解決。B/S架構(gòu)也提供了

28、一個均質(zhì)機,網(wǎng)上異構(gòu)網(wǎng)絡(luò),異構(gòu)應(yīng)用服務(wù)的聯(lián)機,統(tǒng)一的開放服務(wù)最現(xiàn)實的基礎(chǔ)。</p><p>  B/S系統(tǒng)包括:表示邏輯層,控制邏輯層,數(shù)據(jù)展現(xiàn)層,三層是相對獨立又相互關(guān)聯(lián)。</p><p><b>  2.4 數(shù)據(jù)庫技術(shù)</b></p><p>  在軟件項目中,通過使用數(shù)據(jù)庫進行數(shù)據(jù)處理,可以保證數(shù)據(jù)的獨立性,一致性和安全性,系統(tǒng)提供對數(shù)據(jù)

29、的訪問效率,并為程序員減少應(yīng)用程序的開發(fā)時間。不同的數(shù)據(jù)庫有各自的優(yōu)缺點,此處不做具體介紹。</p><p>  使用MySQL不僅在開發(fā)程序的時候有利于開發(fā),而且在后期維護擴展的時候又簡潔。所以,MySQL可以很好的勝任這個自動排課系統(tǒng)的數(shù)據(jù)庫。</p><p><b>  2.5 本章小結(jié)</b></p><p>  本章主要是介紹一下自動

30、排課系統(tǒng)用到的一些技術(shù),針對系統(tǒng)中使用到的技術(shù)做了一下簡單的介紹。</p><p>  3 系統(tǒng)需求分析</p><p>  3.1 系統(tǒng)總體目標(biāo)</p><p><b>  (1)數(shù)據(jù)共享</b></p><p>  推進自動排課管理系統(tǒng)的數(shù)據(jù)校驗和數(shù)據(jù)共享規(guī)范化和制度化建設(shè),對自動排課管理系統(tǒng)數(shù)據(jù)查詢的精度和效率

31、進行提升。</p><p> ?。?)實現(xiàn)了自動排課系統(tǒng)業(yè)務(wù)的各種功能</p><p>  系統(tǒng)主要實現(xiàn)了教師列表、班級列表、學(xué)生列表、教室列表、課程列表、排課列表、管理員列表等功能模塊,具有良好的實用性。</p><p> ?。?)實行現(xiàn)代化的管理手段</p><p>  該系統(tǒng)應(yīng)具有界面清楚,操作簡便;不同系統(tǒng)的角色有著不一樣的操作權(quán)限。

32、該自動排課系統(tǒng)應(yīng)該是基于web的系統(tǒng),只需要有一臺能夠聯(lián)網(wǎng)的設(shè)備就可以實現(xiàn)對網(wǎng)站的管理。</p><p>  3.2 系統(tǒng)可行性分析</p><p>  3.2.1 操作可行性分析</p><p>  系統(tǒng)的登錄界面簡單和友好,采用常見的界面窗口的登錄界面,而網(wǎng)站的開發(fā)則采用的是較為常用的JSP技術(shù)。這些策使得用戶不需要很長的時間就能夠快速熟悉系統(tǒng),并掌握系統(tǒng)的操作

33、方法。此外,為了方便系統(tǒng)管理維護人員,用戶登錄系統(tǒng)后會給出了一些提示,讓這個自動排課系統(tǒng)能被更多的人簡單方便的運用起來。</p><p>  3.2.2 技術(shù)可行性分析</p><p><b>  硬件可行性分析</b></p><p>  系統(tǒng)的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能夠輕松的實現(xiàn),只是需要確保系統(tǒng)的正常工作即

34、可,以及擁有較高的效率。如果有特別低的硬件,它可以導(dǎo)致系統(tǒng)的低性能以及效率低,從而導(dǎo)致整個網(wǎng)站的運行不順暢。以目前普遍的個人計算機的配置而言,這是十分容易實現(xiàn)的。所以,本系統(tǒng)的研發(fā)在硬件的問題上是可行的。</p><p><b>  軟件可行性分析</b></p><p>  Java語言提供的動態(tài)模型相似的理由的共同機制,設(shè)計更集中。另外,在使用Java語言可以很容

35、易實現(xiàn)模塊化和存儲信息。此外,代碼復(fù)用,也可以很好的體現(xiàn)。因此,考慮到系統(tǒng)的實際情況,選擇JAVA作為本系統(tǒng)開發(fā)語言的時候。通過上述分析,該系統(tǒng)的設(shè)計實現(xiàn)在軟件方面是可行的。</p><p>  因此,我們進行了三個方面的可行性研究,可以看出,該系統(tǒng)的開發(fā)是沒有問題的。</p><p>  3.3 系統(tǒng)功能需求分析</p><p>  系統(tǒng)主要包括管理員、學(xué)生和教師

36、三個角色,不一樣的角色擁有著不一樣的權(quán)限。</p><p>  (1)管理員:管理員具有的權(quán)限主要實現(xiàn)了教師列表、班級列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表等功能模塊的管理;</p><p> ?。?)學(xué)生:學(xué)生進入系統(tǒng)后主要實現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊;</p><p> ?。?)教師:教師登錄系統(tǒng)具有的權(quán)限是對我的課表、我的

37、課程等功能模塊的查看。</p><p>  其中學(xué)生和教師都不能對自己事先錄入好的資料進行更改,只具有查看的權(quán)限。學(xué)生和老師的信息只能通過管理員的權(quán)限進行增添操作和修改操作,只有管理員有足夠的權(quán)限,目的是為了管理員能更加簡單有效地管理整個排課系統(tǒng)并且讓系統(tǒng)運行更加良好。該自動排課系統(tǒng)新添加的一個功能模塊是學(xué)生進入系統(tǒng)后多了一個選課功能模塊,學(xué)生可以選擇自己班級沒有上的自己有感興趣的課程,這一選課過程只能在排課結(jié)束

38、之后才能進行操作。學(xué)生和教師共同都具有的功能就是對自己課表的查詢和對特定時間的空教室的查詢。</p><p>  3.4 系統(tǒng)非功能需求分析</p><p><b> ?。?)可靠性需求</b></p><p>  可用性:一般用戶按照網(wǎng)站提小便可完成日常操作,界面設(shè)計合理,使用方便。</p><p>  平均故障間隔時

39、間(MTBF):6個月,支持7*24小時的服務(wù)。</p><p>  平均修復(fù)時間(MTTR):這個系統(tǒng)遇到問題停止運作的時間應(yīng)該控制在1小時之內(nèi)。</p><p><b> ?。?)完整性需求</b></p><p>  要求各種數(shù)據(jù)的完整性,規(guī)定的數(shù)據(jù)信息的記錄內(nèi)容不能為空,各種數(shù)據(jù)間聯(lián)系應(yīng)保持正確,同一個數(shù)據(jù)在不同記錄中所保持的一致性。&

40、lt;/p><p><b> ?。?)性能需求</b></p><p>  頁面響應(yīng)時問應(yīng)該控制在一定的時間范圍內(nèi);系統(tǒng)支持在同一個時間段內(nèi)一起在線操作的用戶至少要有500名。</p><p><b> ?。?)精度需求</b></p><p>  系統(tǒng)的部分功能對數(shù)據(jù)的精確度有所要求,對于系統(tǒng)的浮點型

41、數(shù)據(jù),其數(shù)據(jù)信息的精確成都至少應(yīng)該要達到小數(shù)點后面2位數(shù)。</p><p><b>  (5)易用性需求</b></p><p>  系統(tǒng)的使用人用來學(xué)習(xí)系統(tǒng)的操作時間不能太長;界面設(shè)計應(yīng)為友好、簡單、清晰的可視化操作界面;目有相應(yīng)的操作提示與幫助。</p><p><b> ?。?)安全性需求</b></p>

42、<p>  系統(tǒng)要設(shè)置用戶的合法性,既給每個用戶分配不同的帳號,并且要求用戶為帳號設(shè)置符合要求的密碼。而且,系統(tǒng)也要分級別設(shè)置用戶的權(quán)限,不一樣的權(quán)限所擁有的訪問資格是各不相同的,保證系統(tǒng)的安全穩(wěn)定的運行。</p><p>  3.5 系統(tǒng)開發(fā)環(huán)境與開發(fā)工具</p><p>  系統(tǒng)開發(fā)環(huán)境主要從開發(fā)平臺、開發(fā)語言、所使用的數(shù)據(jù)庫軟件、設(shè)計工具以及輔助工具等幾個方面來介紹。&

43、lt;/p><p>  開發(fā)平臺:Myeclipse 9.0</p><p>  開發(fā)語言:Java + JDK1.6 </p><p>  數(shù)據(jù)庫軟件:MySQL 6.0</p><p><b>  4 系統(tǒng)設(shè)計與實現(xiàn)</b></p><p>  在設(shè)計體系的時候要做到全方位的站在用戶的立場上考慮問

44、題,讓最終的產(chǎn)品能夠順應(yīng)大眾用戶的需求。這一章節(jié)將重點突出對于體系的結(jié)構(gòu)框架的設(shè)計描述上,以詳細的標(biāo)明每一個數(shù)據(jù)庫的主體結(jié)構(gòu)框架。</p><p>  4.1 系統(tǒng)設(shè)計目標(biāo)和原則</p><p>  系統(tǒng)的架構(gòu)設(shè)計,要能夠反映出用戶與整個系統(tǒng)模塊的接口之間存在有效互動,而且應(yīng)該是非常清楚的,從而才能夠保障在后期系統(tǒng)真正實現(xiàn)的時候數(shù)據(jù)的擴展性和安全性,只有設(shè)計出的系統(tǒng)實現(xiàn)這個目標(biāo)才能有一個更

45、好的擴展空間量,以適應(yīng)企業(yè)未來的發(fā)展。</p><p>  整個系統(tǒng)的設(shè)計中,系統(tǒng)必須滿足以下要求:</p><p><b> ?。?)數(shù)據(jù)安全性</b></p><p>  存儲有關(guān)隱私權(quán)的自動排課系統(tǒng)問題的系統(tǒng)數(shù)據(jù),需要確保數(shù)據(jù)的安全性,在網(wǎng)站設(shè)計時必須要采取安全防范措施,以解決潛在的安全問題。</p><p>&l

46、t;b> ?。?)柔軟性</b></p><p>  由于這個自動排課管理系統(tǒng)涉及到范圍廣泛的業(yè)務(wù),設(shè)計出的系統(tǒng)必須能夠處理接受變化的能力。</p><p><b>  (3)擴展性</b></p><p>  隨著自動排課系統(tǒng)管理需求的不斷變化,自動排課系統(tǒng)也一定會有功能的更新和擴展,這就要求在一開始設(shè)計程序的時候就應(yīng)該想到

47、之后要添加新的功能和業(yè)務(wù)時候的方法。 </p><p>  從實用的方面來看,系統(tǒng)必須滿足系統(tǒng)的以下原則:</p><p><b> ?。?)可靠性</b></p><p>  在實際使用的過程中系統(tǒng)都會設(shè)計到很對需要進行保密的數(shù)據(jù),系統(tǒng)出現(xiàn)一些漏洞將這些信息泄露出去將會對用戶產(chǎn)生很大的損失,所以我們必須大力確保系統(tǒng)是可靠的。</p>

48、;<p><b>  (2)經(jīng)濟效益</b></p><p>  由于這是一個教學(xué)用途網(wǎng)站,設(shè)計網(wǎng)站的目的是為了更好的方便老師和學(xué)生,因此需要對系統(tǒng)開發(fā)的成本和效益進行考慮。</p><p>  4.2 系統(tǒng)架構(gòu)設(shè)計</p><p>  系統(tǒng)架構(gòu)的整體設(shè)計是一個將一個龐大的任務(wù)細分為多個小的任務(wù)的過程,這些小的任務(wù)分段完成后,組合

49、在一起形成一個完整的任務(wù)。它具體的工作步驟是:</p><p> ?。?)系統(tǒng)被分解多個子模塊</p><p>  (2)對各個子模塊的功能進行預(yù)先的設(shè)計</p><p> ?。?)對各個子模塊之間的邏輯關(guān)系進行設(shè)計</p><p> ?。?)對各個模塊的界面以及模塊間信息的傳輸進行設(shè)計</p><p>  在整個設(shè)計

50、過程,以確定可能的具體方案達成每一個小的最終目標(biāo),對于每一個小的目標(biāo)而言,我們必須先了解一些相關(guān)的需求分析的信息。然后對系統(tǒng)進行初步的設(shè)計,并對其逐漸進行優(yōu)化,然后根據(jù)之前整理收集的各種信息設(shè)計出系統(tǒng)的整體框架。系統(tǒng)的框圖如圖4.1所示。</p><p>  圖4.1系統(tǒng)運行框架圖</p><p>  由圖 4.1 分析所示,系統(tǒng)主要包括管理員、學(xué)生和教師三個角色,管理員主要實現(xiàn)了專業(yè)列表

51、、教室列表、班級列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表、空教室查詢和專業(yè)課表查詢模塊;學(xué)生登錄系統(tǒng)主要實現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊;教師登錄系統(tǒng)實現(xiàn)了我的課表、我的課程等功能模塊。</p><p><b>  4.3 數(shù)據(jù)庫設(shè)計</b></p><p>  4.3.1 數(shù)據(jù)庫的選定</p><p>  目前

52、主流的大型數(shù)據(jù)庫的Oracle,SQL服務(wù)器,MySQL和Access等本系統(tǒng)是一個相對較小的系統(tǒng),因此選擇了MySQL的。 MySQL是一個關(guān)系數(shù)據(jù)庫中,關(guān)系型數(shù)據(jù)庫引擎進行數(shù)據(jù)和結(jié)構(gòu)數(shù)據(jù),以提供更安全可靠的存儲功能。 MySQL來微軟的Visual Studio,Microsoft Office系統(tǒng)和新的開發(fā)工具包(包括商業(yè)智能開發(fā)套件),可以有效地整合。</p><p>  4.3.2 數(shù)據(jù)庫概念模型設(shè)計&

53、lt;/p><p>  數(shù)據(jù)庫的模型即系統(tǒng)的實體—關(guān)系模型。自動排課管理系統(tǒng)的整體圖如圖4.3所示。</p><p>  圖4.3 自動排課管理系統(tǒng)的整體圖</p><p>  然后根據(jù)具體的功能需求,對本系統(tǒng)的E-R圖進行細化從而得到幾種實體-關(guān)系模型,以下為部分實體-關(guān)系模型。</p><p>  學(xué)生用戶實體,如圖4.4所示。</p&

54、gt;<p><b>  圖4.4學(xué)生實體圖</b></p><p>  學(xué)生用戶在是管理員的界面添加和修改的。添加和修改的時候,主要的元素有:班級信息;學(xué)生學(xué)號,長度要求不超過500字符;登入名稱(ID),長度要求不超過11字符;密碼,長度不超過500個字符;名稱,不超過500個字符的長度;性別;聯(lián)系地址,長度不超過500字符,可以為空。</p><p&g

55、t; ?。?)班級類實體圖,如圖4.5所示。</p><p>  圖4.5 班級類實體圖</p><p>  教室類的主要元素有:班級編號,長度不超過11字符;教室名稱,長度不超過10字符;教室容量,長度不超過10字符。</p><p> ?。?)課程類實體圖,如圖4.6所示。</p><p>  圖4.6 課程類實體圖</p>

56、<p>  課程類主要的元素有:課程編號,長度不超過11字符;課程名稱,長度不超過50字符;任課教師,長度不超過11字符;總課時數(shù),長度不超過10字符;每周課時,長度不超過10字符;所屬專業(yè),不超過500字符。</p><p>  教師類實體圖,如圖4.7所示。 </p><p>  圖4.7 教師類實體圖</p><p>  教師類主要元素有:教師工號

57、,長度不超過11字符;登錄名稱,長度不超過11字符;密碼,長度不超過500字符;姓名,長度不超過500字符;性別,長度不超過500字符;聯(lián)系電話,長度不超過250字符,可以為空;郵箱,長度不超過250字符,可以為空;出生日期,長度不超過250字符,可以為空;聯(lián)系地址,長度不超過250字符,可以為空。</p><p> ?。?)班級類實體圖,如圖4.8所示。</p><p>  圖4.8 班

58、級類實體圖</p><p>  班級類主要元素有:編號,長度不超過11字符;名稱,長度不超過500字符。</p><p>  (6)專業(yè)類實體圖,如圖4.9所示。</p><p>  圖4.9 專業(yè)類實體圖</p><p>  專業(yè)類主要的元素有:名稱,長度不超過11字符;備注,長度不超過500字符,可以為空。</p><

59、p>  4.3.3 數(shù)據(jù)庫邏輯設(shè)計</p><p>  本系統(tǒng)主要用到了多張數(shù)據(jù)表,部分表單如下。</p><p><b> ?。?)學(xué)生信息表。</b></p><p>  表4.1 學(xué)生信息表</p><p><b> ?。?)教室信息表。</b></p><p>

60、<b>  表4.2 教室表</b></p><p><b> ?。?)課程信息表。</b></p><p><b>  表4.3 課程表</b></p><p><b> ?。?)教師信息表。</b></p><p>  表4.4 教師信息表</p

61、><p><b> ?。?)班級信息表。</b></p><p>  表4.5 班級信息表</p><p><b> ?。?)專業(yè)信息表。</b></p><p>  表4.6 專業(yè)信息表</p><p>  5 系統(tǒng)詳細設(shè)計與實現(xiàn)</p><p>  5

62、.1 數(shù)據(jù)庫連接實現(xiàn)</p><p>  服務(wù)器端程序采用spring框架來訪問數(shù)據(jù)庫:以下是spring框架連接數(shù)據(jù)庫的配置文件,該配置是針對spring框架的連接數(shù)據(jù)庫的配置。數(shù)據(jù)庫連接實現(xiàn)代碼:</p><p>  <filter-mapping></p><p>  <filter-name>struts</filter-nam

63、e></p><p>  <url-pattern>/*</url-pattern></p><p>  </filter-mapping></p><p><b>  <filter></b></p><p>  <filter-name>struts-

64、cleanup</filter-name></p><p>  <filter-class></p><p>  org.apache.struts2.dispatcher.ActionContextCleanUp</p><p>  </filter-class></p><p><b>  &

65、lt;/filter></b></p><p>  <filter-mapping></p><p>  <filter-name>struts-cleanup</filter-name></p><p>  <url-pattern>/*</url-pattern></p>

66、<p>  </filter-mapping></p><p><b>  <servlet></b></p><p>  <servlet-name>dwr-invoker</servlet-name></p><p>  <servlet-class>org.direc

67、twebremoting.servlet.DwrServlet</servlet-class></p><p>  <init-param></p><p>  <param-name>debug</param-name></p><p>  <param-value>true</param-valu

68、e></p><p>  </init-param></p><p>  <init-param></p><p>  <param-name>activeReverseAjaxEnabled</param-name></p><p>  <param-value>true&l

69、t;/param-value></p><p>  </init-param></p><p>  <init-param></p><p>  <param-name>initApplicationScopeCreatorsAtStartup</param-name></p><p> 

70、 <param-value>true</param-value></p><p>  </init-param></p><p>  <init-param></p><p>  <param-name>crossDomainSessionSecurity</param-name></p&

71、gt;<p>  <param-value>false</param-value></p><p>  </init-param></p><p>  <init-param></p><p>  <param-name>maxWaitAfterWrite</param-name>

72、</p><p>  <param-value>500</param-value></p><p>  </init-param></p><p>  <load-on-startup>1</load-on-startup></p><p>  </servlet><

73、;/p><p>  5.2 系統(tǒng)登錄實現(xiàn)</p><p>  系統(tǒng)登錄界面效果如圖5.1所示。其中登錄角色有:學(xué)生、教師、管理員。不同的角色擁有著不一樣的權(quán)限,其中管理員擁有最高權(quán)限可以對學(xué)生和教師角色進行添加和修改,而學(xué)生和教師都只具有查詢的權(quán)限。</p><p>  圖5.1 系統(tǒng)登錄界面效果</p><p>  系統(tǒng)登錄實現(xiàn)的代碼如下:&l

74、t;/p><p>  public String login(String uname,String upass)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p> 

75、 Thread.sleep(700);</p><p>  } catch (InterruptedException e)</p><p><b>  {</b></p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();<

76、;/p><p><b>  }</b></p><p>  String result="no";</p><p>  String sql="from Sysuser where uname=? and upass=?";</p><p>  Object[] con={uname,

77、upass};</p><p>  List userList=sysuserDAO.getHibernateTemplate().find(sql,con);</p><p>  if(userList.size()==0)</p><p><b>  {</b></p><p>  result="no&q

78、uot;;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  WebContext ctx = WebContextFactory.get(); </p><p&

79、gt;  HttpSession session=ctx.getSession(); </p><p>  Sysuser user=(Sysuser)userList.get(0);</p><p>  session.setAttribute("user", user);</p><p>  result="yes";&l

80、t;/p><p><b>  }</b></p><p>  return result;</p><p><b>  }</b></p><p>  5.3 系統(tǒng)功能模塊實現(xiàn)</p><p>  5.3.1 管理員功能模塊的實現(xiàn)</p><p>  管理

81、員主要實現(xiàn)了教師列表、班級列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表、空教室查詢、分專業(yè)課表的查詢功能模塊。由于功能較多,這里只挑選重要功能進行講解。</p><p> ?。?)教師列表功能模塊</p><p>  教師列表模塊主要實現(xiàn)了管理員編輯、刪除、查詢和添加教師信息的操作,教師列表功能模塊的實現(xiàn)如圖5.2所示。在添加新的教師的時候不用設(shè)置教師所上的課程和所教的班級學(xué)生

82、,而是在課程添加的時候選擇這門課程的任課老師是誰。</p><p>  圖5.2教師列表模塊實現(xiàn)界面</p><p> ?。?)班級列表功能模塊的實現(xiàn)</p><p>  班級列表模塊主要實現(xiàn)了管理員查詢、修改、刪除和錄入班級的操作,班級列表模塊的實現(xiàn)如圖5.3所示。</p><p>  圖5.3班級列表模塊實現(xiàn)界面</p>&

83、lt;p>  (3)課程列表模塊的實現(xiàn)</p><p>  課程列表模塊主要實現(xiàn)了管理員查詢、修改、刪除和錄入課程信息的操作,課程列表模塊的實現(xiàn)如圖5.4和圖5.5所示。添加新的課程只能編輯課程的任課教師、所屬于的專業(yè)、課程的編號、課程的名稱、總課時、每周課時,而能在上課班級信息里編輯班級信息,選擇某個班級上某個課程。</p><p>  圖5.4 課程列表模塊實現(xiàn)界面</p&

84、gt;<p>  圖5.5 課程列表模塊實現(xiàn)界面</p><p> ?。?)排課列表模塊的實現(xiàn)</p><p>  排課列表模塊主要實現(xiàn)管理員自動排課和儲存課表以及查詢課表的功能,排課管理功能模塊如圖5.6所示。</p><p>  圖5.6 排課列表模塊實現(xiàn)界面</p><p>  自動排課所用的算法在/src/util/Ti

85、metable.java。對課程排課是還應(yīng)該考慮排課的時候同一個時間指定教室是否沖突,同一個教師指定的時間是否沖突的問題。當(dāng)排課失敗的時候,系統(tǒng)會提示“教學(xué)的資源不足,或者資源有嚴(yán)重沖突,請重新規(guī)劃人員和硬件資源”。</p><p>  自動排課的排課具體代碼如下:</p><p>  public Map<String, List<CouseClassVO>> c

86、reateTimetable() {</p><p><b>  init();</b></p><p>  for (CouseClassVO noRoomCourse : allCourses) {</p><p>  reDayCount();</p><p>  for(DayCount dc :daycount

87、){</p><p>  //System.out.print(dc.day+":"+dc.count+" - ");</p><p><b>  }</b></p><p>  DayCount startDayCount = daycount.get(0);</p><p>

88、;  int startDay = startDayCount.day;// 從星期幾開始排,每周5天</p><p>  int startLesson = startDayCount.count % 5; // 從當(dāng)天的什么課間開始排,每天5節(jié)課</p><p>  if(startLesson==0){</p><p>  startLesson = 1;&l

89、t;/p><p><b>  }</b></p><p>  int dayIndex = 0;</p><p>  boolean find = false;</p><p>  while (true) {//遍歷每一天</p><p>  if (dayIndex >= 5) {</

90、p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  if(find){</b></p><p><b>  break;</b></p><p>  }// 遍歷每個課間&

91、lt;/p><p>  for (int i = 1; i <= 5; i++) {</p><p>  if(!checkTeacher(noRoomCourse.course.getTeacher(), startDay, startLesson)</p><p>  && !checkClass(noRoomCourse.classes, s

92、tartDay, startLesson)){</p><p><b>  // 查找教室</b></p><p>  for (Classroom room : classrooms) {</p><p>  if (room.getCapacity() >= noRoomCourse</p><p>  .ge

93、tTotalStudent()) {</p><p>  if(!checkClassroom(room, startDay, startLesson)){</p><p>  noRoomCourse.room = room;</p><p>  List<CouseClassVO> tempvos =timetable.get(startDay+&q

94、uot;"+startLesson);</p><p>  if(tempvos==null){</p><p>  tempvos = new ArrayList<CouseClassVO>();</p><p><b>  }</b></p><p>  tempvos.add(noRoomCo

95、urse);</p><p>  timetable.put(startDay+""+startLesson, tempvos);</p><p>  find = true;</p><p>  //System.out.println("找到上課星期:"+startDay); </p><p>  

96、//daycount.get(startDay-1).count=daycount.get(startDay-1).count+1 ;</p><p>  addDaycount(startDay);</p><p><b>  break;</b></p><p><b>  }</b></p><p

97、><b>  }</b></p><p>  }//end for classrooms</p><p><b>  }</b></p><p><b>  if(find){</b></p><p><b>  break;</b></p&g

98、t;<p><b>  }</b></p><p>  startLesson = (startLesson + i)%6;</p><p>  if (startLesson == 0) {</p><p>  startLesson =1;</p><p><b>  }</b>&

99、lt;/p><p>  }//end for i</p><p>  dayIndex++;</p><p>  startDay = (startDay + dayIndex) % 6;</p><p>  if (startDay ==0) {</p><p>  startDay =1;</p><

100、;p><b>  }</b></p><p>  }//end while</p><p>  if (!find) {</p><p>  throw new RuntimeException("教學(xué)資源不足,或者資源有嚴(yán)重沖突,請重新規(guī)劃人員和硬件資源");</p><p><b>

101、;  }</b></p><p><b>  }</b></p><p>  //System.out.println("總數(shù):"+timetable.size());</p><p>  return timetable;</p><p><b>  }</b>&l

102、t;/p><p>  private void addDaycount(int day){</p><p>  for(DayCount dc :daycount){</p><p>  if(dc.day==day){</p><p>  dc.count= dc.count+1;</p><p><b>  

103、}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  教師,教室,課程,班級組成一個單元,多個單元構(gòu)成集合, 最后在每周時間中依次安排集合中的每個單元。</p><p> ?。?)專業(yè)課表的查詢模塊的實現(xiàn)</p>&

104、lt;p>  專業(yè)課表的查詢主要實現(xiàn)管理員對某個專業(yè)的課表查詢功能,專業(yè)課表的查詢模塊如圖5.7所示。</p><p>  圖5.7 專業(yè)課表查詢模塊實現(xiàn)界面</p><p>  5.3.2 學(xué)生功能模塊的實現(xiàn)</p><p>  學(xué)生登錄系統(tǒng)主要實現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊。</p><p><b>  

105、(1)我的課表模塊</b></p><p>  我的課表模塊主要實現(xiàn)學(xué)生對自己課表信息的查看功能。我的課表模塊的實現(xiàn)如圖5.8所示。</p><p>  圖5.8 我的課表模塊實現(xiàn)界面</p><p> ?。?)可選課程列表模塊</p><p>  可選課程列表模塊實現(xiàn)學(xué)生在線選課的功能??蛇x課程列表模塊的實現(xiàn)如圖5.9所示。學(xué)生

106、可以選擇自己班級未上的課程來豐富自己的大學(xué)生活。</p><p>  圖5.9 可選課程列表模塊實現(xiàn)界面</p><p> ?。?)已選課程列表模塊</p><p>  已選課程列表模塊實現(xiàn)學(xué)生對自己已選的課程的查看功能。已選課程列表模塊的實現(xiàn)如圖5.10所示。在這個界面不僅可以對已經(jīng)選擇的進行查看,還可以取消已經(jīng)選擇的。</p><p> 

107、 圖5.10 已選課程列表模塊實現(xiàn)界面</p><p>  5.3.3 教師功能模塊的實現(xiàn)</p><p>  教師登錄系統(tǒng)實現(xiàn)了我的課表、我的課程等功能模塊。</p><p><b>  (1)我的課表模塊</b></p><p>  我的課表模塊主要實現(xiàn)教師對自己課表信息的查看功能。我的課表模塊的實現(xiàn)如圖5.11所示

108、。</p><p>  圖5.11 我的課表模塊實現(xiàn)界面</p><p>  (2)我的課程列表模塊</p><p>  我的課程列表模塊實現(xiàn)教師對自己的課程的查看功能。我的課程模塊的實現(xiàn)如圖5.12所示。在我的課程里的操作里,教師可以查看具體自己任課的班級,和自己所教的學(xué)生的具體信息。</p><p>  圖5.12 我的課程模塊實現(xiàn)界面&

109、lt;/p><p>  (3)空閑教室查詢模塊</p><p>  空閑教室模塊實現(xiàn)教師對沒有課程的教室的查看功能。空閑教室的查詢模塊的實現(xiàn)如圖5.13所示。</p><p>  圖5.13空閑教室查詢模塊接口的實現(xiàn)</p><p><b>  6 系統(tǒng)測試</b></p><p><b>

110、  6.1 軟件測試</b></p><p>  系統(tǒng)測試不僅是要驗證系統(tǒng)有沒有達到相應(yīng)的功能,而且必須檢查各個模塊是否運行正常。在進行系統(tǒng)測試之前就要設(shè)計好測試方案,盡量在不同環(huán)境不同變量的情況下測試,達到更好的測試效果。為了模擬的真實環(huán)境更真實,這是希望測試結(jié)果和實際的應(yīng)用更加相近。在性能方面,需要通過設(shè)置場景,虛擬現(xiàn)實環(huán)境,對系統(tǒng)響應(yīng)用戶請求的時間進行測試,找出系統(tǒng)運行的性能瓶頸,并針對其提出相

111、應(yīng)的變化。</p><p><b>  6.2 功能檢測</b></p><p>  從用戶的角度來看,功能測試就是對系統(tǒng)提供的各種功能進行測試,在這兒我所運用的操作是黑盒檢測。操作方法是把整個項目比喻成一個從外部看不到的黑色盒子,從外部出發(fā)不去想盒子的內(nèi)部是什么構(gòu)造,從外部分部檢查系統(tǒng)的每一個功能模塊是不是都正常,當(dāng)檢測系統(tǒng)的時候輸入正確數(shù)據(jù)的時候可以得到正確的結(jié)果

112、,以及輸入不正確的數(shù)據(jù)時候,系統(tǒng)也可以進行相應(yīng)的處理。</p><p>  6.3 系統(tǒng)配置要求</p><p>  CPU:酷睿雙核CPU;</p><p><b>  內(nèi)存:1G以上。</b></p><p><b>  或者</b></p><p>  CPU:AMD

113、Athlon(tm) 64 X2 Dual Core Processor 3800+</p><p><b>  內(nèi)存:1G</b></p><p>  操作系統(tǒng):Microsoft windows XP Professional 版本 2002 Service Pack 3</p><p><b>  6.4 測試內(nèi)容</b&

114、gt;</p><p><b> ?。?)登錄模塊測試</b></p><p>  管理員登錄界面如圖6.1所示,在這里管理員必須要輸入正確的用戶名和密碼才可以登錄系統(tǒng)。權(quán)限不一樣的角色進入系統(tǒng)之后,將有不一樣的操作。</p><p>  圖6.1 系統(tǒng)登錄界面</p><p>  因為登錄時輸入的情況可能存在差異,有可

115、能是用戶名輸入錯誤或者密碼輸入錯了,也有可能是用戶名和密碼都輸入錯了,所以在測試系統(tǒng)登入界面的時候我們要盡量把所有可能出現(xiàn)的情況都考慮全面。具體的測試如表6.1所示。</p><p>  表6.1(b)管理員登錄模塊測試用例</p><p><b>  添加學(xué)生信息檢測</b></p><p>  管理員添加學(xué)生信息時需要輸入多個數(shù)據(jù),其中必填

116、的數(shù)據(jù)有:學(xué)生的學(xué)號、登入名稱、密碼、學(xué)生姓名等多個選項,還有其他可選填的數(shù)據(jù)信息,每個數(shù)據(jù)的長度之前章節(jié)都有介紹,在這里不重復(fù)介紹。學(xué)生信息的添加如圖6.2所示。</p><p>  圖6.2 學(xué)生信息添加界面</p><p>  在信息添加的過程中,我們主要測試的內(nèi)容是必填內(nèi)容空缺和密碼的兩次輸入不同的情況。當(dāng)必填信息空缺不填時,系統(tǒng)會用醒目紅字提示此為必填字段,測試滿足程序要求。當(dāng)?shù)?/p>

117、一次密碼輸入位數(shù)不足6位數(shù)時,系統(tǒng)提示長度介于 6 和 20 之間的字符串;第二次密碼確認(rèn)輸入的密碼和第一次不同時,提示請再次輸入相同的值,都符合要求。教師、課程、專業(yè)等添加都與學(xué)生添加類似不予以重復(fù)測試。</p><p>  圖6.3 學(xué)生信息添加測試界面</p><p><b>  修改學(xué)生信息的檢測</b></p><p>  在修改學(xué)生

118、信息時需要注意的是登入的名稱無法修改和密碼如果不需要修改的情況下就不用再次填寫。其余注意事項與學(xué)生信息的添加類似。我們主要測試必填信息漏填時提示是否正常。測試結(jié)果如果6.4所示符合要求。</p><p>  圖6.4 學(xué)生信息修改測試界面</p><p><b>  6.5 測試結(jié)果</b></p><p>  經(jīng)過測試,從結(jié)果得出登錄模塊可以

119、滿足登錄的正常需求。</p><p><b>  6.6 本章小結(jié)</b></p><p>  本章完成了自動排課管理系統(tǒng)的測試,測試結(jié)果在預(yù)計的范圍內(nèi),運行效果良好。本章先介紹一下軟件測試的一些方法以及一些用于測試的工具,然后再拿系統(tǒng)的登錄模塊進行具體的測試和講解。</p><p><b>  結(jié) 論</b><

120、;/p><p>  從收集資料到項目的最終完成,花了好幾個月,在這個過程中,單單是收集和學(xué)習(xí)就花了一半以上的時間。以前總覺得自己在當(dāng)前階段已經(jīng)做的挺好的了,真正自己做的時候才發(fā)現(xiàn)自己身上有非常多的不足之處。之前也在軟件公司實習(xí)過一段時間,本以為自己可以很快完成這個項目的,后來才發(fā)現(xiàn),自己在實習(xí)的時候做的主要都是前端界面的設(shè)計開發(fā)和后臺數(shù)據(jù)的管理工作,在做這個項目的時候前端界面很快就完成了,可是在做數(shù)據(jù)庫的鏈接的時候又

121、花了好多的時間去學(xué)習(xí),尤其是在一些代碼方面看的不是很懂,在這里我非常感謝我的朋友在我實習(xí)的公司,當(dāng)我有困難的時候,他們給了我不少的幫助,所以我可以在規(guī)定的時間里完成這個項目。完成這個項目后,我也學(xué)會了許多東西,最重要的是自學(xué)能力又提升了不少。</p><p>  由于時間的關(guān)系,個人感覺系統(tǒng)還不是很好,雖然基本的功能都已經(jīng)能實現(xiàn)了,可是感覺還有很多地方不夠完美,設(shè)計出來的界面也不是很符合個人的審美。不過,作為第一

122、個自己一個人獨立完成的網(wǎng)站,而且還能穩(wěn)定運行,我已經(jīng)覺得自己突破了自己了。</p><p>  在系統(tǒng)設(shè)計的過程中還遇到的一個問題就是,自己的英語水平還有待提高,很多關(guān)于網(wǎng)站開發(fā)技術(shù)的資料都是英文的文獻,完全依靠自己的英語水平完全無法看懂。只用采用一個類似的“金山詞霸”翻譯軟件的實時性翻譯的輔助下才勉強看懂。看來以后我是應(yīng)該好好加強自己的英語水平了,學(xué)好了英語才能讓自己在這條道路上做的更好。雖然認(rèn)識到英語能力的好

123、壞直接聯(lián)系到系統(tǒng)的開發(fā)。經(jīng)過編程工作的學(xué)習(xí)讓我有了更多的信心,我相信在未來的路上,我會走的更好。</p><p><b>  參 考 文 獻</b></p><p>  [1] 李金海,張景元. Struts,Spring 和 Hibernate 的 J2EE 架構(gòu)的研究和實現(xiàn)[J]. 山東理工大學(xué)學(xué)報(自然科學(xué)版)2006,(06).</p><

溫馨提示

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

最新文檔

評論

0/150

提交評論