版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著社會(huì)的發(fā)展,在現(xiàn)在的社會(huì),信息的各種操作都需要通過計(jì)算機(jī)軟件來完成。當(dāng)今,素質(zhì)化教育也在校園內(nèi)不斷地得到深化。自動(dòng)排課模式也在許多的學(xué)校內(nèi)開始遍布了,而傳統(tǒng)的教學(xué)模式漸漸被取代了。自動(dòng)化排課系統(tǒng),可以滿足學(xué)校教務(wù)處對(duì)于排課管理的需求,減少教務(wù)人員工作量的同時(shí)降低排課中的并發(fā)和錯(cuò)選等問題。學(xué)生通過網(wǎng)頁可以隨時(shí)隨地進(jìn)行選
2、課,節(jié)約了大量統(tǒng)計(jì)時(shí)間;教務(wù)人員通過設(shè)置排課規(guī)則快速的完成課程的安排,易于調(diào)整修改;教師可以快速方便的安排課程信息。該系統(tǒng)采用數(shù)據(jù)集中管理、統(tǒng)計(jì)分布式管理。</p><p> 自動(dòng)排課系統(tǒng)的系統(tǒng)設(shè)計(jì)是基于JSP技術(shù)的,它具有靈活的一體化發(fā)展戰(zhàn)略,圓滿完成了整個(gè)系統(tǒng)的全面設(shè)計(jì)。自動(dòng)排課系統(tǒng),采用一個(gè)簡單的界面,操作方便,靈活,實(shí)用,有效的簡化了自動(dòng)排課管理系統(tǒng)的過程,大大提高了自動(dòng)排課系統(tǒng)的效率,使之更加系統(tǒng)化體
3、系化、標(biāo)準(zhǔn)化、自動(dòng)化,具有優(yōu)良的可用性、可靠性和安全性。該系統(tǒng)采用標(biāo)準(zhǔn)的MVC三層架構(gòu),包括表示層、控制層和業(yè)務(wù)層三個(gè)部分,降低了系統(tǒng)開發(fā)的復(fù)雜性。這個(gè)項(xiàng)目具體是運(yùn)用了JSP,提高系統(tǒng)的運(yùn)行性和安全性,并且方便了后期的維護(hù)和操作。系統(tǒng)主要實(shí)現(xiàn)了教師列表、班級(jí)列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表等功能模塊,具有良好的實(shí)用性。</p><p> 關(guān)鍵詞:自動(dòng)排課;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è)計(jì)與實(shí)現(xiàn)7</p><p> 4.1 系統(tǒng)設(shè)計(jì)目標(biāo)和原則7</p><p> 4.2 系統(tǒng)架構(gòu)設(shè)計(jì)7</p><p> 4.3 數(shù)據(jù)庫設(shè)計(jì)9</p><p> 4.3.1 數(shù)據(jù)庫的選定9</p><p> 4.3.2 數(shù)據(jù)庫概念模型設(shè)計(jì)9</p><
14、p> 4.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)12</p><p> 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)15</p><p> 5.1 數(shù)據(jù)庫連接實(shí)現(xiàn)15</p><p> 5.2 系統(tǒng)登錄實(shí)現(xiàn)16</p><p> 5.3 系統(tǒng)功能模塊實(shí)現(xiàn)17</p><p> 5.3.1 管理員功能模塊的實(shí)現(xiàn)17</p&
15、gt;<p> 5.3.2 學(xué)生功能模塊的實(shí)現(xiàn)22</p><p> 5.3.3 教師功能模塊的實(shí)現(xiàn)23</p><p><b> 6 系統(tǒng)測(cè)試25</b></p><p> 6.1 軟件測(cè)試25</p><p> 6.2 功能檢測(cè)25</p><p> 6.3
16、 系統(tǒng)配置要求25</p><p> 6.4 測(cè)試內(nèi)容25</p><p> 6.5 測(cè)試結(jié)果29</p><p> 6.6 本章小結(jié)29</p><p><b> 結(jié) 論30</b></p><p> 參 考 文 獻(xiàn)31</p><p><
17、;b> 致 謝32</b></p><p><b> 1 緒論</b></p><p><b> 課題研究背景及意義</b></p><p> 20世紀(jì)末,計(jì)算機(jī)的誕生與發(fā)展將人類帶入到一個(gè)全新的領(lǐng)域中,如今已經(jīng)成為解決很多工程問題的必要途徑。早在60年代,人們就開始研究如何使用計(jì)算機(jī)來解
18、決排課問題,減少人工排課的勞動(dòng)量并減少排課錯(cuò)誤?,F(xiàn)在是21世紀(jì),全球范圍內(nèi)的互聯(lián)網(wǎng)技術(shù)都有了極大的進(jìn)步,這讓許多人不會(huì)收到時(shí)間和空間上的各種限制了。利用Web技術(shù)來解決生活中遇到的各種問題成為趨勢(shì)。</p><p> 排課系統(tǒng)是時(shí)間表問題(TimeTable Problems,TTP)的一個(gè)分支。這是個(gè)NP完全問題,由于P/NP問題還未解決,只能不斷的摸索近似算法來得出近似的最優(yōu)解。這個(gè)問題涉及到多種因素,是一
19、個(gè)多重條件下的組合優(yōu)化問題。由于涉及的參數(shù)多以及內(nèi)部關(guān)系復(fù)雜等原因,傳統(tǒng)人工排課的出錯(cuò)率一直很高。隨著我國科研的發(fā)展,高等院校的專業(yè)和課程都在快速增長,極大程度上增加了排課系統(tǒng)的難度。同時(shí)隨著人本教育思想的普及,鼓勵(lì)學(xué)生自主選課也在國內(nèi)推廣開來,使得現(xiàn)代排課問題在收集數(shù)據(jù)和準(zhǔn)確排課上變得更加復(fù)雜。</p><p> 基于WEB的自動(dòng)化排課系統(tǒng),可以滿足學(xué)校教務(wù)處關(guān)于排課工作的需求,減少教務(wù)職員工作量的同時(shí)降低排
20、課中的并發(fā)和錯(cuò)選等問題。學(xué)生通過網(wǎng)頁可以隨時(shí)隨地進(jìn)行選課和查詢自己的課程信息,節(jié)約了大量統(tǒng)計(jì)時(shí)間;教務(wù)人員通過設(shè)置排課規(guī)則快速的完成課程的安排,易于調(diào)整修改;教師可以快速方便的查看自己的課程的上課情況。該系統(tǒng)采用數(shù)據(jù)集中管理、統(tǒng)計(jì)分布式管理。</p><p> 1.2 課題研究現(xiàn)狀</p><p> 排課這個(gè)難題的探索開始于20世紀(jì)60年代。1963年,Csima, J.和 Gotli
21、eb C. C.出了編排課表的數(shù)學(xué)模型,但僅限于基本的數(shù)學(xué)建模,并沒有開發(fā)出可使用的軟件。之后人們開始使用圖形著色算法來模型解決這個(gè)問題??墒怯眠@方法所花費(fèi)的時(shí)間越來越大,所以,有許多的算法來探索這個(gè)問題。</p><p> 在70年代,Barham和Westwood開始試圖使用啟發(fā)式搜索的方法。到了80年代,Mulvey使用網(wǎng)絡(luò)流方法來解決排課問題,同時(shí)Werra和Hertz使用了禁忌搜索的方法來解決這個(gè)問題
22、。90年代,由于大量的算法被發(fā)現(xiàn),這個(gè)問題的研究得到了進(jìn)一步的發(fā)展。另一方面,Downsland和Dige et al通過模擬退火的方法來解決。同時(shí),Dige et al在一所大學(xué)的案例中展現(xiàn)出使用基于約束推理的方法。在這個(gè)時(shí)期中關(guān)于排課研究的活躍歸功于在1995年舉辦的第一屆國際自動(dòng)化排課實(shí)踐與理論大會(huì)(PATAT)。同樣在這個(gè)時(shí)期,遺傳算法也開始被使用在排課問題中。進(jìn)入21世紀(jì),這項(xiàng)研究在繼續(xù)發(fā)展。基于約束的程序設(shè)計(jì)、混合啟發(fā)算法(
23、hyper heuristic)。</p><p> 1.3 本課題主要工作</p><p> 在本文中,基于開發(fā)面向?qū)ο筌浖倪^程中,對(duì)系統(tǒng)的需求分析以及具體實(shí)施過程都進(jìn)行了較為完善的介紹,在本文中本人的具體工作如下:</p><p> ?。?)對(duì)系統(tǒng)進(jìn)行需求分析。對(duì)自動(dòng)排課系統(tǒng)的需求進(jìn)行分析以了解系統(tǒng)的基本特征和想要實(shí)現(xiàn)目標(biāo),并且對(duì)系統(tǒng)用戶的特性進(jìn)行分析,并
24、分析業(yè)務(wù)流程以及梳理系統(tǒng)非功能性需求和功能需求。</p><p> (2)選擇適當(dāng)?shù)募夹g(shù)解決方案。搭建一個(gè)系統(tǒng)開發(fā)平臺(tái),并對(duì)系統(tǒng)實(shí)施所涉及到的關(guān)鍵技術(shù)進(jìn)行研究。根據(jù)實(shí)際、開放以及開源的原則,設(shè)計(jì)出既能夠保證需求,而且開放源代碼的以及可擴(kuò)展的架構(gòu)體系。</p><p> ?。?)系統(tǒng)的設(shè)計(jì)和實(shí)施。該系統(tǒng)的設(shè)計(jì)原則基于MVC的設(shè)計(jì)思想,使得系統(tǒng)中,邏輯和數(shù)據(jù)存儲(chǔ)在一個(gè)單獨(dú)的狀態(tài)下。業(yè)務(wù)流程和
25、系統(tǒng)的用戶角色進(jìn)行了詳細(xì)的研究,以及系統(tǒng)的機(jī)制設(shè)計(jì)和系統(tǒng)的具體實(shí)現(xiàn)進(jìn)行了詳細(xì)的介紹。</p><p> ?。?)測(cè)試系統(tǒng)。在節(jié)中,對(duì)系統(tǒng)的測(cè)試過程進(jìn)行了具體的介紹。</p><p><b> 2 系統(tǒng)相關(guān)技術(shù)</b></p><p> 2.1 J2EE技術(shù)</p><p> J2EE 技術(shù),即Java 2平臺(tái)企業(yè)版
26、(Java 2 Platform Enterprise Edition),是一種B/S模式的體系結(jié)構(gòu)。</p><p> J2EE技術(shù)一般分為四個(gè)等級(jí),其中Web表現(xiàn)層和業(yè)務(wù)邏輯層,兩層是J2EE的核心層次。J2EE優(yōu)勢(shì):1.跨平臺(tái)性。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(控制器)三個(gè)基本部分。</p><p><b> 2.3 B/S結(jié)構(gòu)</b></p><p> 基于B/S架構(gòu)軟件的安裝,編輯,維修的需要在服務(wù)器端解決。B/S架構(gòu)也提供了
28、一個(gè)均質(zhì)機(jī),網(wǎng)上異構(gòu)網(wǎng)絡(luò),異構(gòu)應(yīng)用服務(wù)的聯(lián)機(jī),統(tǒng)一的開放服務(wù)最現(xiàn)實(shí)的基礎(chǔ)。</p><p> B/S系統(tǒng)包括:表示邏輯層,控制邏輯層,數(shù)據(jù)展現(xiàn)層,三層是相對(duì)獨(dú)立又相互關(guān)聯(lián)。</p><p><b> 2.4 數(shù)據(jù)庫技術(shù)</b></p><p> 在軟件項(xiàng)目中,通過使用數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理,可以保證數(shù)據(jù)的獨(dú)立性,一致性和安全性,系統(tǒng)提供對(duì)數(shù)據(jù)
29、的訪問效率,并為程序員減少應(yīng)用程序的開發(fā)時(shí)間。不同的數(shù)據(jù)庫有各自的優(yōu)缺點(diǎn),此處不做具體介紹。</p><p> 使用MySQL不僅在開發(fā)程序的時(shí)候有利于開發(fā),而且在后期維護(hù)擴(kuò)展的時(shí)候又簡潔。所以,MySQL可以很好的勝任這個(gè)自動(dòng)排課系統(tǒng)的數(shù)據(jù)庫。</p><p><b> 2.5 本章小結(jié)</b></p><p> 本章主要是介紹一下自動(dòng)
30、排課系統(tǒng)用到的一些技術(shù),針對(duì)系統(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> 推進(jìn)自動(dòng)排課管理系統(tǒng)的數(shù)據(jù)校驗(yàn)和數(shù)據(jù)共享規(guī)范化和制度化建設(shè),對(duì)自動(dòng)排課管理系統(tǒng)數(shù)據(jù)查詢的精度和效率
31、進(jìn)行提升。</p><p> ?。?)實(shí)現(xiàn)了自動(dòng)排課系統(tǒng)業(yè)務(wù)的各種功能</p><p> 系統(tǒng)主要實(shí)現(xiàn)了教師列表、班級(jí)列表、學(xué)生列表、教室列表、課程列表、排課列表、管理員列表等功能模塊,具有良好的實(shí)用性。</p><p> (3)實(shí)行現(xiàn)代化的管理手段</p><p> 該系統(tǒng)應(yīng)具有界面清楚,操作簡便;不同系統(tǒng)的角色有著不一樣的操作權(quán)限。
32、該自動(dòng)排課系統(tǒng)應(yīng)該是基于web的系統(tǒng),只需要有一臺(tái)能夠聯(lián)網(wǎng)的設(shè)備就可以實(shí)現(xiàn)對(duì)網(wǎng)站的管理。</p><p> 3.2 系統(tǒng)可行性分析</p><p> 3.2.1 操作可行性分析</p><p> 系統(tǒng)的登錄界面簡單和友好,采用常見的界面窗口的登錄界面,而網(wǎng)站的開發(fā)則采用的是較為常用的JSP技術(shù)。這些策使得用戶不需要很長的時(shí)間就能夠快速熟悉系統(tǒng),并掌握系統(tǒng)的操作
33、方法。此外,為了方便系統(tǒng)管理維護(hù)人員,用戶登錄系統(tǒng)后會(huì)給出了一些提示,讓這個(gè)自動(dòng)排課系統(tǒng)能被更多的人簡單方便的運(yùn)用起來。</p><p> 3.2.2 技術(shù)可行性分析</p><p><b> 硬件可行性分析</b></p><p> 系統(tǒng)的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能夠輕松的實(shí)現(xiàn),只是需要確保系統(tǒng)的正常工作即
34、可,以及擁有較高的效率。如果有特別低的硬件,它可以導(dǎo)致系統(tǒng)的低性能以及效率低,從而導(dǎo)致整個(gè)網(wǎng)站的運(yùn)行不順暢。以目前普遍的個(gè)人計(jì)算機(jī)的配置而言,這是十分容易實(shí)現(xiàn)的。所以,本系統(tǒng)的研發(fā)在硬件的問題上是可行的。</p><p><b> 軟件可行性分析</b></p><p> Java語言提供的動(dòng)態(tài)模型相似的理由的共同機(jī)制,設(shè)計(jì)更集中。另外,在使用Java語言可以很容
35、易實(shí)現(xiàn)模塊化和存儲(chǔ)信息。此外,代碼復(fù)用,也可以很好的體現(xiàn)。因此,考慮到系統(tǒng)的實(shí)際情況,選擇JAVA作為本系統(tǒng)開發(fā)語言的時(shí)候。通過上述分析,該系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)在軟件方面是可行的。</p><p> 因此,我們進(jìn)行了三個(gè)方面的可行性研究,可以看出,該系統(tǒng)的開發(fā)是沒有問題的。</p><p> 3.3 系統(tǒng)功能需求分析</p><p> 系統(tǒng)主要包括管理員、學(xué)生和教師
36、三個(gè)角色,不一樣的角色擁有著不一樣的權(quán)限。</p><p> ?。?)管理員:管理員具有的權(quán)限主要實(shí)現(xiàn)了教師列表、班級(jí)列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表等功能模塊的管理;</p><p> ?。?)學(xué)生:學(xué)生進(jìn)入系統(tǒng)后主要實(shí)現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊;</p><p> (3)教師:教師登錄系統(tǒng)具有的權(quán)限是對(duì)我的課表、我的
37、課程等功能模塊的查看。</p><p> 其中學(xué)生和教師都不能對(duì)自己事先錄入好的資料進(jìn)行更改,只具有查看的權(quán)限。學(xué)生和老師的信息只能通過管理員的權(quán)限進(jìn)行增添操作和修改操作,只有管理員有足夠的權(quán)限,目的是為了管理員能更加簡單有效地管理整個(gè)排課系統(tǒng)并且讓系統(tǒng)運(yùn)行更加良好。該自動(dòng)排課系統(tǒng)新添加的一個(gè)功能模塊是學(xué)生進(jìn)入系統(tǒng)后多了一個(gè)選課功能模塊,學(xué)生可以選擇自己班級(jí)沒有上的自己有感興趣的課程,這一選課過程只能在排課結(jié)束
38、之后才能進(jìn)行操作。學(xué)生和教師共同都具有的功能就是對(duì)自己課表的查詢和對(duì)特定時(shí)間的空教室的查詢。</p><p> 3.4 系統(tǒng)非功能需求分析</p><p><b> (1)可靠性需求</b></p><p> 可用性:一般用戶按照網(wǎng)站提小便可完成日常操作,界面設(shè)計(jì)合理,使用方便。</p><p> 平均故障間隔時(shí)
39、間(MTBF):6個(gè)月,支持7*24小時(shí)的服務(wù)。</p><p> 平均修復(fù)時(shí)間(MTTR):這個(gè)系統(tǒng)遇到問題停止運(yùn)作的時(shí)間應(yīng)該控制在1小時(shí)之內(nèi)。</p><p><b> (2)完整性需求</b></p><p> 要求各種數(shù)據(jù)的完整性,規(guī)定的數(shù)據(jù)信息的記錄內(nèi)容不能為空,各種數(shù)據(jù)間聯(lián)系應(yīng)保持正確,同一個(gè)數(shù)據(jù)在不同記錄中所保持的一致性。&
40、lt;/p><p><b> ?。?)性能需求</b></p><p> 頁面響應(yīng)時(shí)問應(yīng)該控制在一定的時(shí)間范圍內(nèi);系統(tǒng)支持在同一個(gè)時(shí)間段內(nèi)一起在線操作的用戶至少要有500名。</p><p><b> ?。?)精度需求</b></p><p> 系統(tǒng)的部分功能對(duì)數(shù)據(jù)的精確度有所要求,對(duì)于系統(tǒng)的浮點(diǎn)型
41、數(shù)據(jù),其數(shù)據(jù)信息的精確成都至少應(yīng)該要達(dá)到小數(shù)點(diǎn)后面2位數(shù)。</p><p><b> (5)易用性需求</b></p><p> 系統(tǒng)的使用人用來學(xué)習(xí)系統(tǒng)的操作時(shí)間不能太長;界面設(shè)計(jì)應(yīng)為友好、簡單、清晰的可視化操作界面;目有相應(yīng)的操作提示與幫助。</p><p><b> (6)安全性需求</b></p>
42、<p> 系統(tǒng)要設(shè)置用戶的合法性,既給每個(gè)用戶分配不同的帳號(hào),并且要求用戶為帳號(hào)設(shè)置符合要求的密碼。而且,系統(tǒng)也要分級(jí)別設(shè)置用戶的權(quán)限,不一樣的權(quán)限所擁有的訪問資格是各不相同的,保證系統(tǒng)的安全穩(wěn)定的運(yùn)行。</p><p> 3.5 系統(tǒng)開發(fā)環(huán)境與開發(fā)工具</p><p> 系統(tǒng)開發(fā)環(huán)境主要從開發(fā)平臺(tái)、開發(fā)語言、所使用的數(shù)據(jù)庫軟件、設(shè)計(jì)工具以及輔助工具等幾個(gè)方面來介紹。&
43、lt;/p><p> 開發(fā)平臺(tái):Myeclipse 9.0</p><p> 開發(fā)語言:Java + JDK1.6 </p><p> 數(shù)據(jù)庫軟件:MySQL 6.0</p><p><b> 4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p> 在設(shè)計(jì)體系的時(shí)候要做到全方位的站在用戶的立場(chǎng)上考慮問
44、題,讓最終的產(chǎn)品能夠順應(yīng)大眾用戶的需求。這一章節(jié)將重點(diǎn)突出對(duì)于體系的結(jié)構(gòu)框架的設(shè)計(jì)描述上,以詳細(xì)的標(biāo)明每一個(gè)數(shù)據(jù)庫的主體結(jié)構(gòu)框架。</p><p> 4.1 系統(tǒng)設(shè)計(jì)目標(biāo)和原則</p><p> 系統(tǒng)的架構(gòu)設(shè)計(jì),要能夠反映出用戶與整個(gè)系統(tǒng)模塊的接口之間存在有效互動(dòng),而且應(yīng)該是非常清楚的,從而才能夠保障在后期系統(tǒng)真正實(shí)現(xiàn)的時(shí)候數(shù)據(jù)的擴(kuò)展性和安全性,只有設(shè)計(jì)出的系統(tǒng)實(shí)現(xiàn)這個(gè)目標(biāo)才能有一個(gè)更
45、好的擴(kuò)展空間量,以適應(yīng)企業(yè)未來的發(fā)展。</p><p> 整個(gè)系統(tǒng)的設(shè)計(jì)中,系統(tǒng)必須滿足以下要求:</p><p><b> ?。?)數(shù)據(jù)安全性</b></p><p> 存儲(chǔ)有關(guān)隱私權(quán)的自動(dòng)排課系統(tǒng)問題的系統(tǒng)數(shù)據(jù),需要確保數(shù)據(jù)的安全性,在網(wǎng)站設(shè)計(jì)時(shí)必須要采取安全防范措施,以解決潛在的安全問題。</p><p>&l
46、t;b> ?。?)柔軟性</b></p><p> 由于這個(gè)自動(dòng)排課管理系統(tǒng)涉及到范圍廣泛的業(yè)務(wù),設(shè)計(jì)出的系統(tǒng)必須能夠處理接受變化的能力。</p><p><b> ?。?)擴(kuò)展性</b></p><p> 隨著自動(dòng)排課系統(tǒng)管理需求的不斷變化,自動(dòng)排課系統(tǒng)也一定會(huì)有功能的更新和擴(kuò)展,這就要求在一開始設(shè)計(jì)程序的時(shí)候就應(yīng)該想到
47、之后要添加新的功能和業(yè)務(wù)時(shí)候的方法。 </p><p> 從實(shí)用的方面來看,系統(tǒng)必須滿足系統(tǒng)的以下原則:</p><p><b> ?。?)可靠性</b></p><p> 在實(shí)際使用的過程中系統(tǒng)都會(huì)設(shè)計(jì)到很對(duì)需要進(jìn)行保密的數(shù)據(jù),系統(tǒng)出現(xiàn)一些漏洞將這些信息泄露出去將會(huì)對(duì)用戶產(chǎn)生很大的損失,所以我們必須大力確保系統(tǒng)是可靠的。</p>
48、;<p><b> ?。?)經(jīng)濟(jì)效益</b></p><p> 由于這是一個(gè)教學(xué)用途網(wǎng)站,設(shè)計(jì)網(wǎng)站的目的是為了更好的方便老師和學(xué)生,因此需要對(duì)系統(tǒng)開發(fā)的成本和效益進(jìn)行考慮。</p><p> 4.2 系統(tǒng)架構(gòu)設(shè)計(jì)</p><p> 系統(tǒng)架構(gòu)的整體設(shè)計(jì)是一個(gè)將一個(gè)龐大的任務(wù)細(xì)分為多個(gè)小的任務(wù)的過程,這些小的任務(wù)分段完成后,組合
49、在一起形成一個(gè)完整的任務(wù)。它具體的工作步驟是:</p><p> (1)系統(tǒng)被分解多個(gè)子模塊</p><p> ?。?)對(duì)各個(gè)子模塊的功能進(jìn)行預(yù)先的設(shè)計(jì)</p><p> ?。?)對(duì)各個(gè)子模塊之間的邏輯關(guān)系進(jìn)行設(shè)計(jì)</p><p> ?。?)對(duì)各個(gè)模塊的界面以及模塊間信息的傳輸進(jìn)行設(shè)計(jì)</p><p> 在整個(gè)設(shè)計(jì)
50、過程,以確定可能的具體方案達(dá)成每一個(gè)小的最終目標(biāo),對(duì)于每一個(gè)小的目標(biāo)而言,我們必須先了解一些相關(guān)的需求分析的信息。然后對(duì)系統(tǒng)進(jìn)行初步的設(shè)計(jì),并對(duì)其逐漸進(jìn)行優(yōu)化,然后根據(jù)之前整理收集的各種信息設(shè)計(jì)出系統(tǒng)的整體框架。系統(tǒng)的框圖如圖4.1所示。</p><p> 圖4.1系統(tǒng)運(yùn)行框架圖</p><p> 由圖 4.1 分析所示,系統(tǒng)主要包括管理員、學(xué)生和教師三個(gè)角色,管理員主要實(shí)現(xiàn)了專業(yè)列表
51、、教室列表、班級(jí)列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表、空教室查詢和專業(yè)課表查詢模塊;學(xué)生登錄系統(tǒng)主要實(shí)現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊;教師登錄系統(tǒng)實(shí)現(xiàn)了我的課表、我的課程等功能模塊。</p><p><b> 4.3 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 4.3.1 數(shù)據(jù)庫的選定</p><p> 目前
52、主流的大型數(shù)據(jù)庫的Oracle,SQL服務(wù)器,MySQL和Access等本系統(tǒng)是一個(gè)相對(duì)較小的系統(tǒng),因此選擇了MySQL的。 MySQL是一個(gè)關(guān)系數(shù)據(jù)庫中,關(guān)系型數(shù)據(jù)庫引擎進(jìn)行數(shù)據(jù)和結(jié)構(gòu)數(shù)據(jù),以提供更安全可靠的存儲(chǔ)功能。 MySQL來微軟的Visual Studio,Microsoft Office系統(tǒng)和新的開發(fā)工具包(包括商業(yè)智能開發(fā)套件),可以有效地整合。</p><p> 4.3.2 數(shù)據(jù)庫概念模型設(shè)計(jì)&
53、lt;/p><p> 數(shù)據(jù)庫的模型即系統(tǒng)的實(shí)體—關(guān)系模型。自動(dòng)排課管理系統(tǒng)的整體圖如圖4.3所示。</p><p> 圖4.3 自動(dòng)排課管理系統(tǒng)的整體圖</p><p> 然后根據(jù)具體的功能需求,對(duì)本系統(tǒng)的E-R圖進(jìn)行細(xì)化從而得到幾種實(shí)體-關(guān)系模型,以下為部分實(shí)體-關(guān)系模型。</p><p> 學(xué)生用戶實(shí)體,如圖4.4所示。</p&
54、gt;<p><b> 圖4.4學(xué)生實(shí)體圖</b></p><p> 學(xué)生用戶在是管理員的界面添加和修改的。添加和修改的時(shí)候,主要的元素有:班級(jí)信息;學(xué)生學(xué)號(hào),長度要求不超過500字符;登入名稱(ID),長度要求不超過11字符;密碼,長度不超過500個(gè)字符;名稱,不超過500個(gè)字符的長度;性別;聯(lián)系地址,長度不超過500字符,可以為空。</p><p&g
55、t; (2)班級(jí)類實(shí)體圖,如圖4.5所示。</p><p> 圖4.5 班級(jí)類實(shí)體圖</p><p> 教室類的主要元素有:班級(jí)編號(hào),長度不超過11字符;教室名稱,長度不超過10字符;教室容量,長度不超過10字符。</p><p> (3)課程類實(shí)體圖,如圖4.6所示。</p><p> 圖4.6 課程類實(shí)體圖</p>
56、<p> 課程類主要的元素有:課程編號(hào),長度不超過11字符;課程名稱,長度不超過50字符;任課教師,長度不超過11字符;總課時(shí)數(shù),長度不超過10字符;每周課時(shí),長度不超過10字符;所屬專業(yè),不超過500字符。</p><p> 教師類實(shí)體圖,如圖4.7所示。 </p><p> 圖4.7 教師類實(shí)體圖</p><p> 教師類主要元素有:教師工號(hào)
57、,長度不超過11字符;登錄名稱,長度不超過11字符;密碼,長度不超過500字符;姓名,長度不超過500字符;性別,長度不超過500字符;聯(lián)系電話,長度不超過250字符,可以為空;郵箱,長度不超過250字符,可以為空;出生日期,長度不超過250字符,可以為空;聯(lián)系地址,長度不超過250字符,可以為空。</p><p> ?。?)班級(jí)類實(shí)體圖,如圖4.8所示。</p><p> 圖4.8 班
58、級(jí)類實(shí)體圖</p><p> 班級(jí)類主要元素有:編號(hào),長度不超過11字符;名稱,長度不超過500字符。</p><p> ?。?)專業(yè)類實(shí)體圖,如圖4.9所示。</p><p> 圖4.9 專業(yè)類實(shí)體圖</p><p> 專業(yè)類主要的元素有:名稱,長度不超過11字符;備注,長度不超過500字符,可以為空。</p><
59、p> 4.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)</p><p> 本系統(tǒng)主要用到了多張數(shù)據(jù)表,部分表單如下。</p><p><b> ?。?)學(xué)生信息表。</b></p><p> 表4.1 學(xué)生信息表</p><p><b> (2)教室信息表。</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> ?。?)班級(jí)信息表。</b></p><p> 表4.5 班級(jí)信息表</p><p><b> ?。?)專業(yè)信息表。</b></p><p> 表4.6 專業(yè)信息表</p><p> 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 5
62、.1 數(shù)據(jù)庫連接實(shí)現(xiàn)</p><p> 服務(wù)器端程序采用spring框架來訪問數(shù)據(jù)庫:以下是spring框架連接數(shù)據(jù)庫的配置文件,該配置是針對(duì)spring框架的連接數(shù)據(jù)庫的配置。數(shù)據(jù)庫連接實(shí)現(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)登錄實(shí)現(xiàn)</p><p> 系統(tǒng)登錄界面效果如圖5.1所示。其中登錄角色有:學(xué)生、教師、管理員。不同的角色擁有著不一樣的權(quán)限,其中管理員擁有最高權(quán)限可以對(duì)學(xué)生和教師角色進(jìn)行添加和修改,而學(xué)生和教師都只具有查詢的權(quán)限。</p><p> 圖5.1 系統(tǒng)登錄界面效果</p><p> 系統(tǒng)登錄實(shí)現(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)功能模塊實(shí)現(xiàn)</p><p> 5.3.1 管理員功能模塊的實(shí)現(xiàn)</p><p> 管理
81、員主要實(shí)現(xiàn)了教師列表、班級(jí)列表、學(xué)生列表、教師列表、課程列表、排課列表、管理員列表、空教室查詢、分專業(yè)課表的查詢功能模塊。由于功能較多,這里只挑選重要功能進(jìn)行講解。</p><p> (1)教師列表功能模塊</p><p> 教師列表模塊主要實(shí)現(xiàn)了管理員編輯、刪除、查詢和添加教師信息的操作,教師列表功能模塊的實(shí)現(xiàn)如圖5.2所示。在添加新的教師的時(shí)候不用設(shè)置教師所上的課程和所教的班級(jí)學(xué)生
82、,而是在課程添加的時(shí)候選擇這門課程的任課老師是誰。</p><p> 圖5.2教師列表模塊實(shí)現(xiàn)界面</p><p> ?。?)班級(jí)列表功能模塊的實(shí)現(xiàn)</p><p> 班級(jí)列表模塊主要實(shí)現(xiàn)了管理員查詢、修改、刪除和錄入班級(jí)的操作,班級(jí)列表模塊的實(shí)現(xiàn)如圖5.3所示。</p><p> 圖5.3班級(jí)列表模塊實(shí)現(xiàn)界面</p>&
83、lt;p> ?。?)課程列表模塊的實(shí)現(xiàn)</p><p> 課程列表模塊主要實(shí)現(xiàn)了管理員查詢、修改、刪除和錄入課程信息的操作,課程列表模塊的實(shí)現(xiàn)如圖5.4和圖5.5所示。添加新的課程只能編輯課程的任課教師、所屬于的專業(yè)、課程的編號(hào)、課程的名稱、總課時(shí)、每周課時(shí),而能在上課班級(jí)信息里編輯班級(jí)信息,選擇某個(gè)班級(jí)上某個(gè)課程。</p><p> 圖5.4 課程列表模塊實(shí)現(xiàn)界面</p&
84、gt;<p> 圖5.5 課程列表模塊實(shí)現(xiàn)界面</p><p> ?。?)排課列表模塊的實(shí)現(xiàn)</p><p> 排課列表模塊主要實(shí)現(xiàn)管理員自動(dòng)排課和儲(chǔ)存課表以及查詢課表的功能,排課管理功能模塊如圖5.6所示。</p><p> 圖5.6 排課列表模塊實(shí)現(xiàn)界面</p><p> 自動(dòng)排課所用的算法在/src/util/Ti
85、metable.java。對(duì)課程排課是還應(yīng)該考慮排課的時(shí)候同一個(gè)時(shí)間指定教室是否沖突,同一個(gè)教師指定的時(shí)間是否沖突的問題。當(dāng)排課失敗的時(shí)候,系統(tǒng)會(huì)提示“教學(xué)的資源不足,或者資源有嚴(yán)重沖突,請(qǐng)重新規(guī)劃人員和硬件資源”。</p><p> 自動(dòng)排課的排課具體代碼如下:</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> }// 遍歷每個(gè)課間&
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)重沖突,請(qǐng)重新規(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> 教師,教室,課程,班級(jí)組成一個(gè)單元,多個(gè)單元構(gòu)成集合, 最后在每周時(shí)間中依次安排集合中的每個(gè)單元。</p><p> ?。?)專業(yè)課表的查詢模塊的實(shí)現(xiàn)</p>&
104、lt;p> 專業(yè)課表的查詢主要實(shí)現(xiàn)管理員對(duì)某個(gè)專業(yè)的課表查詢功能,專業(yè)課表的查詢模塊如圖5.7所示。</p><p> 圖5.7 專業(yè)課表查詢模塊實(shí)現(xiàn)界面</p><p> 5.3.2 學(xué)生功能模塊的實(shí)現(xiàn)</p><p> 學(xué)生登錄系統(tǒng)主要實(shí)現(xiàn)了我的課表、可選課程列表、已選課程等功能模塊。</p><p><b>
105、(1)我的課表模塊</b></p><p> 我的課表模塊主要實(shí)現(xiàn)學(xué)生對(duì)自己課表信息的查看功能。我的課表模塊的實(shí)現(xiàn)如圖5.8所示。</p><p> 圖5.8 我的課表模塊實(shí)現(xiàn)界面</p><p> ?。?)可選課程列表模塊</p><p> 可選課程列表模塊實(shí)現(xiàn)學(xué)生在線選課的功能??蛇x課程列表模塊的實(shí)現(xiàn)如圖5.9所示。學(xué)生
106、可以選擇自己班級(jí)未上的課程來豐富自己的大學(xué)生活。</p><p> 圖5.9 可選課程列表模塊實(shí)現(xiàn)界面</p><p> ?。?)已選課程列表模塊</p><p> 已選課程列表模塊實(shí)現(xiàn)學(xué)生對(duì)自己已選的課程的查看功能。已選課程列表模塊的實(shí)現(xiàn)如圖5.10所示。在這個(gè)界面不僅可以對(duì)已經(jīng)選擇的進(jìn)行查看,還可以取消已經(jīng)選擇的。</p><p>
107、 圖5.10 已選課程列表模塊實(shí)現(xiàn)界面</p><p> 5.3.3 教師功能模塊的實(shí)現(xiàn)</p><p> 教師登錄系統(tǒng)實(shí)現(xiàn)了我的課表、我的課程等功能模塊。</p><p><b> ?。?)我的課表模塊</b></p><p> 我的課表模塊主要實(shí)現(xiàn)教師對(duì)自己課表信息的查看功能。我的課表模塊的實(shí)現(xiàn)如圖5.11所示
108、。</p><p> 圖5.11 我的課表模塊實(shí)現(xiàn)界面</p><p> ?。?)我的課程列表模塊</p><p> 我的課程列表模塊實(shí)現(xiàn)教師對(duì)自己的課程的查看功能。我的課程模塊的實(shí)現(xiàn)如圖5.12所示。在我的課程里的操作里,教師可以查看具體自己任課的班級(jí),和自己所教的學(xué)生的具體信息。</p><p> 圖5.12 我的課程模塊實(shí)現(xiàn)界面&
109、lt;/p><p> (3)空閑教室查詢模塊</p><p> 空閑教室模塊實(shí)現(xiàn)教師對(duì)沒有課程的教室的查看功能。空閑教室的查詢模塊的實(shí)現(xiàn)如圖5.13所示。</p><p> 圖5.13空閑教室查詢模塊接口的實(shí)現(xiàn)</p><p><b> 6 系統(tǒng)測(cè)試</b></p><p><b>
110、 6.1 軟件測(cè)試</b></p><p> 系統(tǒng)測(cè)試不僅是要驗(yàn)證系統(tǒng)有沒有達(dá)到相應(yīng)的功能,而且必須檢查各個(gè)模塊是否運(yùn)行正常。在進(jìn)行系統(tǒng)測(cè)試之前就要設(shè)計(jì)好測(cè)試方案,盡量在不同環(huán)境不同變量的情況下測(cè)試,達(dá)到更好的測(cè)試效果。為了模擬的真實(shí)環(huán)境更真實(shí),這是希望測(cè)試結(jié)果和實(shí)際的應(yīng)用更加相近。在性能方面,需要通過設(shè)置場(chǎng)景,虛擬現(xiàn)實(shí)環(huán)境,對(duì)系統(tǒng)響應(yīng)用戶請(qǐng)求的時(shí)間進(jìn)行測(cè)試,找出系統(tǒng)運(yùn)行的性能瓶頸,并針對(duì)其提出相
111、應(yīng)的變化。</p><p><b> 6.2 功能檢測(cè)</b></p><p> 從用戶的角度來看,功能測(cè)試就是對(duì)系統(tǒng)提供的各種功能進(jìn)行測(cè)試,在這兒我所運(yùn)用的操作是黑盒檢測(cè)。操作方法是把整個(gè)項(xiàng)目比喻成一個(gè)從外部看不到的黑色盒子,從外部出發(fā)不去想盒子的內(nèi)部是什么構(gòu)造,從外部分部檢查系統(tǒng)的每一個(gè)功能模塊是不是都正常,當(dāng)檢測(cè)系統(tǒng)的時(shí)候輸入正確數(shù)據(jù)的時(shí)候可以得到正確的結(jié)果
112、,以及輸入不正確的數(shù)據(jù)時(shí)候,系統(tǒng)也可以進(jìn)行相應(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 測(cè)試內(nèi)容</b&
114、gt;</p><p><b> ?。?)登錄模塊測(cè)試</b></p><p> 管理員登錄界面如圖6.1所示,在這里管理員必須要輸入正確的用戶名和密碼才可以登錄系統(tǒng)。權(quán)限不一樣的角色進(jìn)入系統(tǒng)之后,將有不一樣的操作。</p><p> 圖6.1 系統(tǒng)登錄界面</p><p> 因?yàn)榈卿洉r(shí)輸入的情況可能存在差異,有可
115、能是用戶名輸入錯(cuò)誤或者密碼輸入錯(cuò)了,也有可能是用戶名和密碼都輸入錯(cuò)了,所以在測(cè)試系統(tǒng)登入界面的時(shí)候我們要盡量把所有可能出現(xiàn)的情況都考慮全面。具體的測(cè)試如表6.1所示。</p><p> 表6.1(b)管理員登錄模塊測(cè)試用例</p><p><b> 添加學(xué)生信息檢測(cè)</b></p><p> 管理員添加學(xué)生信息時(shí)需要輸入多個(gè)數(shù)據(jù),其中必填
116、的數(shù)據(jù)有:學(xué)生的學(xué)號(hào)、登入名稱、密碼、學(xué)生姓名等多個(gè)選項(xiàng),還有其他可選填的數(shù)據(jù)信息,每個(gè)數(shù)據(jù)的長度之前章節(jié)都有介紹,在這里不重復(fù)介紹。學(xué)生信息的添加如圖6.2所示。</p><p> 圖6.2 學(xué)生信息添加界面</p><p> 在信息添加的過程中,我們主要測(cè)試的內(nèi)容是必填內(nèi)容空缺和密碼的兩次輸入不同的情況。當(dāng)必填信息空缺不填時(shí),系統(tǒng)會(huì)用醒目紅字提示此為必填字段,測(cè)試滿足程序要求。當(dāng)?shù)?/p>
117、一次密碼輸入位數(shù)不足6位數(shù)時(shí),系統(tǒng)提示長度介于 6 和 20 之間的字符串;第二次密碼確認(rèn)輸入的密碼和第一次不同時(shí),提示請(qǐng)?jiān)俅屋斎胂嗤闹?,都符合要求。教師、課程、專業(yè)等添加都與學(xué)生添加類似不予以重復(fù)測(cè)試。</p><p> 圖6.3 學(xué)生信息添加測(cè)試界面</p><p><b> 修改學(xué)生信息的檢測(cè)</b></p><p> 在修改學(xué)生
118、信息時(shí)需要注意的是登入的名稱無法修改和密碼如果不需要修改的情況下就不用再次填寫。其余注意事項(xiàng)與學(xué)生信息的添加類似。我們主要測(cè)試必填信息漏填時(shí)提示是否正常。測(cè)試結(jié)果如果6.4所示符合要求。</p><p> 圖6.4 學(xué)生信息修改測(cè)試界面</p><p><b> 6.5 測(cè)試結(jié)果</b></p><p> 經(jīng)過測(cè)試,從結(jié)果得出登錄模塊可以
119、滿足登錄的正常需求。</p><p><b> 6.6 本章小結(jié)</b></p><p> 本章完成了自動(dòng)排課管理系統(tǒng)的測(cè)試,測(cè)試結(jié)果在預(yù)計(jì)的范圍內(nèi),運(yùn)行效果良好。本章先介紹一下軟件測(cè)試的一些方法以及一些用于測(cè)試的工具,然后再拿系統(tǒng)的登錄模塊進(jìn)行具體的測(cè)試和講解。</p><p><b> 結(jié) 論</b><
120、;/p><p> 從收集資料到項(xiàng)目的最終完成,花了好幾個(gè)月,在這個(gè)過程中,單單是收集和學(xué)習(xí)就花了一半以上的時(shí)間。以前總覺得自己在當(dāng)前階段已經(jīng)做的挺好的了,真正自己做的時(shí)候才發(fā)現(xiàn)自己身上有非常多的不足之處。之前也在軟件公司實(shí)習(xí)過一段時(shí)間,本以為自己可以很快完成這個(gè)項(xiàng)目的,后來才發(fā)現(xiàn),自己在實(shí)習(xí)的時(shí)候做的主要都是前端界面的設(shè)計(jì)開發(fā)和后臺(tái)數(shù)據(jù)的管理工作,在做這個(gè)項(xiàng)目的時(shí)候前端界面很快就完成了,可是在做數(shù)據(jù)庫的鏈接的時(shí)候又
121、花了好多的時(shí)間去學(xué)習(xí),尤其是在一些代碼方面看的不是很懂,在這里我非常感謝我的朋友在我實(shí)習(xí)的公司,當(dāng)我有困難的時(shí)候,他們給了我不少的幫助,所以我可以在規(guī)定的時(shí)間里完成這個(gè)項(xiàng)目。完成這個(gè)項(xiàng)目后,我也學(xué)會(huì)了許多東西,最重要的是自學(xué)能力又提升了不少。</p><p> 由于時(shí)間的關(guān)系,個(gè)人感覺系統(tǒng)還不是很好,雖然基本的功能都已經(jīng)能實(shí)現(xiàn)了,可是感覺還有很多地方不夠完美,設(shè)計(jì)出來的界面也不是很符合個(gè)人的審美。不過,作為第一
122、個(gè)自己一個(gè)人獨(dú)立完成的網(wǎng)站,而且還能穩(wěn)定運(yùn)行,我已經(jīng)覺得自己突破了自己了。</p><p> 在系統(tǒng)設(shè)計(jì)的過程中還遇到的一個(gè)問題就是,自己的英語水平還有待提高,很多關(guān)于網(wǎng)站開發(fā)技術(shù)的資料都是英文的文獻(xiàn),完全依靠自己的英語水平完全無法看懂。只用采用一個(gè)類似的“金山詞霸”翻譯軟件的實(shí)時(shí)性翻譯的輔助下才勉強(qiáng)看懂。看來以后我是應(yīng)該好好加強(qiáng)自己的英語水平了,學(xué)好了英語才能讓自己在這條道路上做的更好。雖然認(rèn)識(shí)到英語能力的好
123、壞直接聯(lián)系到系統(tǒng)的開發(fā)。經(jīng)過編程工作的學(xué)習(xí)讓我有了更多的信心,我相信在未來的路上,我會(huì)走的更好。</p><p><b> 參 考 文 獻(xiàn)</b></p><p> [1] 李金海,張景元. Struts,Spring 和 Hibernate 的 J2EE 架構(gòu)的研究和實(shí)現(xiàn)[J]. 山東理工大學(xué)學(xué)報(bào)(自然科學(xué)版)2006,(06).</p><
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校自動(dòng)排課系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于遺傳算法的自動(dòng)排課系統(tǒng)畢業(yè)設(shè)計(jì)
- 56554.基于bs的高校自動(dòng)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 在線排課系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于jsp的學(xué)生選課排課系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于bs模式實(shí)驗(yàn)排課管理的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs架構(gòu)的高校教學(xué)排課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于bs結(jié)構(gòu)的網(wǎng)上購物系統(tǒng)
- 基于jsp的自動(dòng)排課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于bs模式的畢業(yè)設(shè)計(jì)跟蹤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)-- 基于bs的數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs學(xué)生成績管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式下畢業(yè)設(shè)計(jì)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的學(xué)生綜合素質(zhì)測(cè)評(píng)系統(tǒng)-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于bs結(jié)構(gòu)的倉儲(chǔ)物流管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于bs結(jié)構(gòu)的房屋出租管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于bs結(jié)構(gòu)的房屋租售管理系統(tǒng)的實(shí)現(xiàn)
- 基于bs的家教平臺(tái)畢業(yè)設(shè)計(jì)論文
- 基于貪婪算法的自動(dòng)排課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論