版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書</p><p> 題 目:基于Web的教學(xué)評(píng)價(jià)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 系 別: 信息工程系 </p><p> 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 學(xué)生姓
2、名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 職 稱: 講師 </p><p> 題目類型: 理論研究 實(shí)驗(yàn)研究
3、 工程設(shè)計(jì) 工程技術(shù)研究 軟件開發(fā)</p><p> 2010 年 6 月 1 日</p><p><b> 摘 要</b></p><p> 目前,中國(guó)已形成較完備的現(xiàn)代教育體系,高校的教學(xué)管理任務(wù)日趨繁重。教學(xué)質(zhì)量是學(xué)校生存與發(fā)展的生命線,學(xué)生評(píng)教是實(shí)現(xiàn)教學(xué)質(zhì)量自我監(jiān)控的重要環(huán)節(jié)之一,如何保證高效的教學(xué)效果和有效及時(shí)的
4、監(jiān)督教學(xué)質(zhì)量顯然變得非常關(guān)鍵。本系統(tǒng)著重研究網(wǎng)上學(xué)生評(píng)教及教師維護(hù)系統(tǒng),可以定期和全面地收集教師教學(xué)工作的數(shù)據(jù),提供師生在網(wǎng)上進(jìn)行教學(xué)效果的評(píng)分,快速集中收集各方面的評(píng)教信息,使教務(wù)管理部門能夠及時(shí)了解教學(xué)動(dòng)態(tài)和師資情況,為教務(wù)老師提供相關(guān)決策支持。</p><p> 本系統(tǒng)在國(guó)內(nèi)外現(xiàn)有網(wǎng)上評(píng)教系統(tǒng)的基礎(chǔ)上,結(jié)合高校的現(xiàn)狀,從實(shí)際需求出發(fā),采用當(dāng)前較為流行的B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)、JaveEE動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)
5、技術(shù)、Struts 2框架和Spring三層架構(gòu),基于Windows XP Professional操作系統(tǒng)、Google基礎(chǔ)架構(gòu)和App Engine 數(shù)據(jù)存儲(chǔ)區(qū),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)功能較為完善的學(xué)生評(píng)教系統(tǒng):學(xué)生可以在互聯(lián)網(wǎng)上對(duì)教師及其所教授的課程進(jìn)行打分,教師可以查看學(xué)生對(duì)自己的評(píng)教結(jié)果,管理者可以對(duì)學(xué)生評(píng)教的信息進(jìn)行查詢和統(tǒng)計(jì)。</p><p> 本系統(tǒng)經(jīng)過(guò)測(cè)試,運(yùn)行效果穩(wěn)定,操作方便、快捷。在具體的應(yīng)用
6、過(guò)程中,有可能會(huì)出現(xiàn)一些問(wèn)題,今后我們還會(huì)對(duì)本系統(tǒng)不斷地進(jìn)行完善、更新,使其功能更強(qiáng)大,應(yīng)用更廣泛。</p><p> 關(guān)鍵詞:學(xué)生評(píng)教;JaveEE;Struts 2;Spring</p><p><b> Abstract</b></p><p> Nowadays, our country has constructed a rel
7、atively self-contained modern education system and the management of the college's education becomes more weighty .The quality of teaching is the lifeline of the development of school, and the students' evaluatio
8、n about teaching is the key of self-supervision to the teaching quality. Definitely, how to keep effective teaching and supervision becomes very important. This system emphasized on online evaluation and teaching ma
9、intaining. It periodically and</p><p> According to the existing studies and the practical demands, the article adopted comparatively popular B/S (browser/server) structure including JavaEE dynamic webpage,
10、 Struts 2 framework and Spring Three-tier architecture and basing on the operation system of Windows XP Professional, Google's infrastructure and App Engine datastore. It had designed the student rating of teaching s
11、ystem with comparatively perfect function: Students can score the teacher and the courses teached by the teacher on t</p><p> Through the testing, the system is proved to be steady, easy to operate and fast
12、. However, it will be likely to appear some problems during the application courses and need to be perfect and renovate constantly future to make it better and better. </p><p> Keywords:the student rat
13、ing of teaching; JavaEE; Struts 2;Spring</p><p><b> 目 錄</b></p><p><b> 引言1</b></p><p><b> 1 緒論1</b></p><p> 1.1 課題背景1</p
14、><p> 1.2 學(xué)生評(píng)教的意義1</p><p> 1.3 學(xué)生網(wǎng)上評(píng)教的優(yōu)勢(shì)2</p><p> 1.4 系統(tǒng)實(shí)現(xiàn)2</p><p> 2 開發(fā)工具簡(jiǎn)介2</p><p> 2.1 開發(fā)平臺(tái)和技術(shù)簡(jiǎn)介2</p><p> 2.1.1MyEclipse8.62</
15、p><p> 2.1.2MVC三層架構(gòu)3</p><p> 2.1.3Google App Engine3</p><p> 2.1.4Spring3</p><p> 2.1.5Struts 24</p><p> 2.1.6 javascript5</p><p> 2.1
16、.7CSS+DIV布局5</p><p> 3 系統(tǒng)需求分析5</p><p> 3.1 需求概述5</p><p> 3.2 系統(tǒng)設(shè)想5</p><p> 3.3 系統(tǒng)的設(shè)計(jì)目標(biāo)6</p><p> 3.3.1設(shè)計(jì)目標(biāo)6</p><p> 3.3.2基本要求6<
17、;/p><p> 3.4 系統(tǒng)業(yè)務(wù)流程6</p><p> 3.5 系統(tǒng)數(shù)據(jù)流程分析7</p><p> 3.6 功能模塊設(shè)計(jì)7</p><p> 3.6.1用戶注冊(cè)模塊8</p><p> 3.6.2用戶登錄模塊8</p><p> 3.6.3學(xué)生評(píng)教模塊8</p&g
18、t;<p> 3.6.4教師查看個(gè)人評(píng)教結(jié)果模塊8</p><p> 3.6.5管理員查看評(píng)教結(jié)果模塊8</p><p> 3.6.6管理員管理模塊8</p><p><b> 3.7 數(shù)據(jù)庫(kù)8</b></p><p> 3.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述8</p><p>
19、; 3.7.2 App Engine數(shù)據(jù)存儲(chǔ)區(qū)8</p><p> 3.7.3數(shù)據(jù)庫(kù)連接9</p><p> 3.7.4JDO 與 App Engine 配合使用9</p><p> 3.7.5數(shù)據(jù)庫(kù)模型分析10</p><p> 3.7.6數(shù)據(jù)庫(kù)設(shè)計(jì)10</p><p> 3.8 系統(tǒng)評(píng)教與統(tǒng)計(jì)
20、的算法設(shè)計(jì)13</p><p> 4 系統(tǒng)實(shí)現(xiàn)14</p><p> 4.1 用戶登陸模塊14</p><p> 4.2 用戶注冊(cè)模塊15</p><p> 4.3 學(xué)生評(píng)教模塊16</p><p> 4.4 教師查看個(gè)人評(píng)教結(jié)果模塊18</p><p> 4.5 管
21、理員查看所有評(píng)教結(jié)果模塊18</p><p> 4.6 管理員管理模塊19</p><p> 5 系統(tǒng)測(cè)試19</p><p> 5.1 系統(tǒng)測(cè)試簡(jiǎn)述19</p><p> 5.2 正確認(rèn)識(shí)軟件測(cè)試20</p><p> 5.3 本系統(tǒng)所作的測(cè)試內(nèi)容21</p><p>
22、 5.3.1登陸測(cè)試21</p><p> 5.3.2密碼修改測(cè)試22</p><p> 5.3.3切換用戶測(cè)試22</p><p> 5.3.4退出系統(tǒng)測(cè)試23</p><p> 5.3.5學(xué)生評(píng)教測(cè)試23</p><p> 5.3.6學(xué)生查看已評(píng)教課程和未評(píng)教課程測(cè)試24</p>
23、<p> 5.3.7管理員刪除測(cè)試24</p><p> 5.3.8用戶注冊(cè)測(cè)試25</p><p> 6 系統(tǒng)的不足及改進(jìn)設(shè)想26</p><p><b> 7 結(jié)論26</b></p><p><b> 謝 辭28</b></p><p
24、><b> 參考文獻(xiàn)29</b></p><p><b> 附 錄30</b></p><p><b> 引言</b></p><p> “學(xué)生評(píng)教”目前在許多高校應(yīng)用非常普遍,并作為高校教學(xué)質(zhì)量評(píng)價(jià)的必要環(huán)節(jié)被納入學(xué)校的教學(xué)管理規(guī)范,對(duì)進(jìn)一步完善高校教學(xué)質(zhì)量監(jiān)控體系,保證教學(xué)質(zhì)量
25、有著重要的現(xiàn)實(shí)意義。而目前隨著高校教學(xué)改革的深人和學(xué)生規(guī)模的不斷擴(kuò)大,傳統(tǒng)的學(xué)生評(píng)教過(guò)程采用由學(xué)生填表,手工統(tǒng)計(jì)的辦法,這樣造成工作量大、損耗多、時(shí)效性差的弊端。針對(duì)如何利用Web技術(shù)來(lái)解決高校評(píng)教中遇到的實(shí)際問(wèn)題,提高評(píng)教過(guò)程的效率,本人提出并設(shè)計(jì)了基于JavaEE,Google App Engine技術(shù),采用B/S架構(gòu)模式的“網(wǎng)上評(píng)教系統(tǒng)”解決方案。</p><p><b> 1 緒論</
26、b></p><p><b> 1.1 課題背景</b></p><p> 本課題所研究的“學(xué)生評(píng)教”,即學(xué)生評(píng)價(jià)教師的課堂教學(xué),是教師評(píng)價(jià)的途徑之一,其評(píng)價(jià)主體是學(xué)生,評(píng)價(jià)對(duì)象是教師的教學(xué)工作,一般是指學(xué)校組織學(xué)生對(duì)教師的課堂行為及其態(tài)度、教學(xué)能力、效果等方面進(jìn)行評(píng)價(jià),以達(dá)到某種目的(諸如控制、監(jiān)督、獎(jiǎng)懲、晉升、聘用、改進(jìn)、進(jìn)行專項(xiàng)業(yè)務(wù)研究等)的做法和過(guò)程
27、。</p><p> 教學(xué)工作是學(xué)校的中心工作,教師在教學(xué)過(guò)程中發(fā)揮著主導(dǎo)作用。科學(xué)地評(píng)價(jià)教師的教學(xué)行為,對(duì)教師自身發(fā)展和學(xué)校辦學(xué)質(zhì)量的提高有著極為重要的意義。</p><p> 1.2 學(xué)生評(píng)教的意義</p><p> 學(xué)生評(píng)教具有直接性、真實(shí)性和可靠性。學(xué)生是教學(xué)過(guò)程的主體,直接受到教師教學(xué)效能因素的影響,是教學(xué)效果的直接體現(xiàn)者,自始自終參與了教學(xué)的全過(guò)程
28、,對(duì)于課堂教學(xué)質(zhì)量最有發(fā)言權(quán)。研究也表明,學(xué)生評(píng)價(jià)這一方法既花費(fèi)不大且有相當(dāng)?shù)目尚哦龋男哦确秶ǔT?.8-0.9之間。</p><p> 通過(guò)教學(xué)質(zhì)量監(jiān)控系統(tǒng),教師可以檢驗(yàn)自己的教學(xué)效果提高自己的教學(xué)水平,發(fā)現(xiàn)自己教學(xué)過(guò)程中存在的問(wèn)題及時(shí)調(diào)整教學(xué)策略改進(jìn)教學(xué)措施規(guī)范教學(xué)行為提高積極性,促進(jìn)教師自身素養(yǎng)和專業(yè)水平的不斷提高。教學(xué)管理部門可以監(jiān)控教師的授課進(jìn)程,查看教師的授課效果及時(shí)調(diào)整教學(xué)管理策略作出科學(xué)決
29、策及時(shí)解決教學(xué)過(guò)程中存在的問(wèn)題,提高學(xué)院整體教學(xué)質(zhì)量。</p><p> 學(xué)生評(píng)教不是消極地對(duì)教學(xué)結(jié)果進(jìn)行測(cè)量和描述的活動(dòng),而是學(xué)生受到教育,加深對(duì)教學(xué)實(shí)際過(guò)程的認(rèn)識(shí)以及改進(jìn)教學(xué)工作的重要手段,是師生之間共同反省教學(xué)經(jīng)歷,形成對(duì)教學(xué)策略與成效的共識(shí),并共同謀求改進(jìn)方向的過(guò)程,這樣的過(guò)程,既是一個(gè)評(píng)價(jià)過(guò)程,又是一個(gè)靈敏的控制過(guò)程,更是一個(gè)高效的管理過(guò)程。大學(xué)教師的獨(dú)立工作成分大,涉及學(xué)科門類多且復(fù)雜,知識(shí)專業(yè)化程
30、度相當(dāng)高,使得教學(xué)管理人員很難深刻理解所獲得的反映教學(xué)全貌的各種信息,同時(shí)教學(xué)管理人員大多不是教學(xué)活動(dòng)的直接參與者,一般不直接接觸課堂教學(xué),難以把握實(shí)際的教學(xué)動(dòng)態(tài),而開展學(xué)生評(píng)教則可以在一定程度上彌補(bǔ)這一不足,使教學(xué)管理部門對(duì)教師的教學(xué)質(zhì)量與水平做出更全面而可信的評(píng)價(jià),還可以針對(duì)教學(xué)中存在的問(wèn)題,及時(shí)采取對(duì)策,更有效的控制教學(xué)過(guò)程,不斷提高整體決策與教學(xué)管理水平。教學(xué)管理部門通過(guò)評(píng)教能較及時(shí)地從一個(gè)側(cè)面掌握學(xué)校教學(xué)工作的現(xiàn)狀,教學(xué)效果情
31、況,及時(shí)發(fā)現(xiàn)間題、解決問(wèn)題。學(xué)生評(píng)教是管理部門對(duì)教學(xué)質(zhì)量監(jiān)控重要依據(jù)之一,通過(guò)對(duì)評(píng)教數(shù)據(jù)的研究分析,管理部門可以了解某一學(xué)院的課堂教學(xué)情況;可以了解不同職稱、不同年齡的教師的課堂教學(xué)情況;可以了解某一群體、某一課程、某一</p><p> 1.3 學(xué)生網(wǎng)上評(píng)教的優(yōu)勢(shì)</p><p> (1)過(guò)程簡(jiǎn)單,查詢方便。學(xué)生在評(píng)教時(shí)只需選中單選框,然后提交,即可完成對(duì)老師的評(píng)教,其余的工作全部由
32、計(jì)算機(jī)在很短的時(shí)間內(nèi)完成。同時(shí)老師可以很快地知道評(píng)教統(tǒng)計(jì)結(jié)果。</p><p> (2)學(xué)生網(wǎng)上評(píng)教的客觀公正性。學(xué)生網(wǎng)上評(píng)教采取匿名方式,教師只能看到評(píng)教的統(tǒng)計(jì)結(jié)果,看不到學(xué)生的個(gè)人信息,使學(xué)生沒(méi)有心理壓力,保證了學(xué)生評(píng)教的客觀性和真實(shí)性。</p><p> (3)評(píng)價(jià)反饋信息收集及時(shí),評(píng)價(jià)數(shù)據(jù)分析快捷。由于直接通過(guò)網(wǎng)上收集評(píng)價(jià)信息,因此,評(píng)價(jià)結(jié)束后可以立即進(jìn)行數(shù)據(jù)處理,從而充分提高
33、了評(píng)價(jià)的時(shí)效性、科學(xué)性和可操作性。</p><p> (4)數(shù)據(jù)可靠性高。學(xué)生評(píng)教的數(shù)據(jù)直接提交到服務(wù)器上,減少了費(fèi)管理人員接觸數(shù)據(jù)和修改數(shù)據(jù)的可能性,從而使評(píng)教結(jié)果的統(tǒng)計(jì)更加準(zhǔn)確、可靠、科學(xué)。</p><p><b> 1.4 系統(tǒng)實(shí)現(xiàn)</b></p><p> 系統(tǒng)將用戶分為學(xué)生、教師和管理員三個(gè)身份,所有的用戶都必須憑賬號(hào)的密碼登陸
34、系統(tǒng)。不同類型的用戶具有不同的權(quán)限。學(xué)生用戶以自己的學(xué)號(hào)登陸,登陸后,學(xué)生可以對(duì)本學(xué)期的所有任課老師進(jìn)行評(píng)教以及修改自己的密碼;教師用戶登陸后,可以查閱個(gè)人的評(píng)教信息和修改自己的密碼;管理員登陸后,可以查看所有教師的評(píng)教統(tǒng)計(jì)結(jié)果。</p><p><b> 2 開發(fā)工具簡(jiǎn)介</b></p><p> 2.1 開發(fā)平臺(tái)和技術(shù)簡(jiǎn)介</p><p&
35、gt; 2.1.1MyEclipse8.6</p><p> (1)MyEclipse是什么</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的Jav
36、aEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate等框架和技術(shù)。</p><p> (2)MyEclipse8.6版本</p><p> MyEclipse8.6集成了Eclipse 3.5.2,其主要改進(jìn)是在團(tuán)隊(duì)寫作和集中工作環(huán)境的集中配置管理方面。同時(shí)MyEclip
37、se8.6還包含了上百個(gè)功能的改進(jìn)和新特性,這些新功能和特性將讓MyEclipse8.6用戶在開發(fā)代碼,測(cè)試,以及部署應(yīng)用方面都得到極大的便利。</p><p> 2.1.2MVC三層架構(gòu)</p><p> MVC(Modle-View-Controller,模型-視圖-控制器)模式主要由3個(gè)部分組成:模型、視圖和控制器,其結(jié)構(gòu)如圖2-1所示。 </p><p>
38、; 圖2-1 MVC模式框架圖</p><p> 模型表示業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則等,在MVC的三個(gè)部件中擁有最多的處理任務(wù)。它可以用JavaBean和EJB等組件技術(shù)來(lái)處理數(shù)據(jù)庫(kù)的訪問(wèn)。模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。 </p><p> MVC不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)
39、展性、可移植性和組件的可復(fù)用性。首先,多個(gè)視圖能共享一個(gè)模型。其次,模型是自包含的,與控制器和視圖保持相對(duì)獨(dú)立,所以可以方便地改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。此外,控制器提高了應(yīng)用程序的靈活性和可配置性。</p><p> 2.1.3Google App Engine</p><p> Google把App Engine定位為:讓程序員可打造軟件,但又不需擔(dān)心未來(lái)若既有軟硬件設(shè)施不夠用
40、時(shí),還需另外重建。</p><p> Google App Engine 可讓網(wǎng)絡(luò)應(yīng)用程序在 Google 的基礎(chǔ)架構(gòu)上運(yùn)行。App Engine 應(yīng)用程序易于構(gòu)建和維護(hù),并可根據(jù)訪問(wèn)量和數(shù)據(jù)存儲(chǔ)需要的增長(zhǎng)輕松擴(kuò)展,避開因?yàn)槊媾R流量不斷增長(zhǎng),每隔幾個(gè)月就得重新架構(gòu)一次系統(tǒng)的問(wèn)題。使用 Google App Engine,將不再需要維護(hù)服務(wù)器:只需上傳應(yīng)用程序,它便可立即為用戶提供服務(wù)。</p>&
41、lt;p> 2.1.4Spring </p><p> Spring是一個(gè)開源框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 </p><p> 簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)
42、輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。</p><p> 輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。 </p><p> 控制反轉(zhuǎn)——Spring通
43、過(guò)一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。 </p><p> 面向切面——Spring提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和
44、事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。 </p><p> 容器——Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生
45、成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 </p><p> 框架——Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 </p><
46、;p> 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。</p><p> 2.1.5Struts 2</p><p> Struts 2采用攔截器的機(jī)制來(lái)處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開。Struts2框架的處理流程如下:</p>&
47、lt;p> (1)加載類(FilterDispatcher) </p><p> (2)讀取配置(struts配置文件中的Action) </p><p> (3)派發(fā)請(qǐng)求(客戶端發(fā)送請(qǐng)求) </p><p> (4)調(diào)用Action(FilterDispatcher從struts配置文件中讀取與之相對(duì)應(yīng)的Action </p><
48、p> (5)啟用攔截器(WebWork攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,如驗(yàn)證) </p><p> (6)處理業(yè)務(wù)(回調(diào)Action的方法) </p><p> (7)返回響應(yīng)(通過(guò)方法將信息返回到FilterDispatcher) </p><p> (8)查找響應(yīng)(FilterDispatcher根據(jù)配置查找響應(yīng)的是什么信息如:SUCCESS、ER
49、ROER,將跳轉(zhuǎn)到哪個(gè)jsp頁(yè)面) </p><p> (9)響應(yīng)用戶(jsp--->客戶瀏覽器端顯示)</p><p> 2.1.6 javascript</p><p> JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操
50、作。它是一種動(dòng)態(tài)、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類。</p><p> 由于Javascript短小精悍, 又是在客戶機(jī)上執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。 同時(shí)它又是專門為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。JavaScript 使網(wǎng)頁(yè)增加互動(dòng)性,使有規(guī)律地重復(fù)的HTML文段簡(jiǎn)化,減少下載時(shí)間,能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí)的檢查,無(wú)需浪費(fèi)時(shí)間交由 CGI 驗(yàn)證。</p&g
51、t;<p> 2.1.7CSS+DIV布局</p><p> CSS+DIV是網(wǎng)站標(biāo)準(zhǔn)(或稱“WEB標(biāo)準(zhǔn)”)中常用的術(shù)語(yǔ)之一,通常為了說(shuō)明與HTML網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言中的表格(table)定位方式的區(qū)別,因?yàn)閄HTML網(wǎng)站設(shè)計(jì)標(biāo)準(zhǔn)中,不再使用表格定位技術(shù),而是采用css+div的方式實(shí)現(xiàn)各種定位。</p><p> CSS是英語(yǔ)Cascading Style Sheets(層
52、疊樣式表單)的縮寫,它是一種用來(lái)表現(xiàn) HTML 或 XML 等文件式樣的計(jì)算機(jī)語(yǔ)言。</p><p> DIV元素是用來(lái)為HTML文檔內(nèi)大塊(block-level)的內(nèi)容提供結(jié)構(gòu)和背景的元素。DIV的起始標(biāo)簽和結(jié)束標(biāo)簽之間的所有內(nèi)容都是用來(lái)構(gòu)成這個(gè)塊的,其中所包含元素的特性由DIV標(biāo)簽的屬性來(lái)控制,或者是通過(guò)使用樣式表格式化這個(gè)塊來(lái)進(jìn)行控制。</p><p> CSS+DIV網(wǎng)站設(shè)計(jì)
53、的優(yōu)勢(shì)如下:</p><p> (1)CSS的極大優(yōu)勢(shì)表現(xiàn)在簡(jiǎn)潔的代碼,對(duì)于一個(gè)大型網(wǎng)站來(lái)說(shuō),可以節(jié)省大量帶寬,而且眾所周知,搜索引擎喜歡清潔的代碼(其真正意義在于,增加了有效關(guān)鍵詞占網(wǎng)頁(yè)總代碼的比重),因此使用CSS+DIV的web標(biāo)準(zhǔn)制作的網(wǎng)站具有搜索引擎友好的一定優(yōu)勢(shì)。</p><p> (2)CSS+DIV制作的網(wǎng)站使得網(wǎng)站改版相對(duì)簡(jiǎn)單,很多問(wèn)題只需要改變CSS而不需要改動(dòng)程序
54、,從而降低了網(wǎng)站改版的成本。</p><p><b> 3 系統(tǒng)需求分析</b></p><p><b> 3.1 需求概述</b></p><p> 對(duì)于本系統(tǒng)來(lái)說(shuō),主要包括三類用戶的需求:</p><p> 學(xué)生需求,在教評(píng)活動(dòng)開始后,登錄系統(tǒng),對(duì)自己的任課教師評(píng)價(jià)。</p>
55、;<p> 教師需求,在教評(píng)結(jié)束后,通過(guò)登錄,查看自己的教評(píng)結(jié)果。</p><p> 管理員需求,登錄之后,可以查看所有教師的評(píng)教統(tǒng)計(jì)結(jié)果,可以對(duì)管理員進(jìn)行刪除和添加操作。</p><p><b> 3.2 系統(tǒng)設(shè)想</b></p><p> 通過(guò)需求概述,可以設(shè)想到,系統(tǒng)至少要提供對(duì)三種不同身份用戶登錄的驗(yàn)證。學(xué)生登錄后
56、,列出本學(xué)期所選課程的部分信息,學(xué)生可進(jìn)入評(píng)教頁(yè)面進(jìn)行評(píng)教或者是查看已評(píng)教;教師登錄后,可查看教評(píng)結(jié)果表中對(duì)應(yīng)自己的記錄統(tǒng)計(jì)結(jié)果;管理員登錄之后,可查看所有教師的評(píng)教統(tǒng)計(jì)結(jié)果,可以對(duì)管理員進(jìn)行刪除和添加操作。</p><p> 3.3 系統(tǒng)的設(shè)計(jì)目標(biāo)</p><p><b> 3.3.1設(shè)計(jì)目標(biāo)</b></p><p> (1)系統(tǒng)應(yīng)建立
57、友好的界面,即要操作簡(jiǎn)單、直觀、靈活,又要易于學(xué)習(xí)掌握。這個(gè)系統(tǒng)的目的:方便學(xué)生對(duì)任課教師進(jìn)行投票,教師和管理員易于對(duì)評(píng)教的結(jié)果進(jìn)行查詢。如果操作復(fù)雜,就失去了推廣價(jià)值。</p><p> (2)系統(tǒng)在用戶輸入用戶名或密碼錯(cuò)誤時(shí),應(yīng)具有提示錯(cuò)誤的功能,以幫助用戶更正。</p><p> (3)系統(tǒng)在確定用戶名和密碼后,應(yīng)具有自動(dòng)連接數(shù)據(jù)庫(kù)的功能。</p><p>
58、; (4)在正確連接數(shù)據(jù)庫(kù),查詢到用戶相應(yīng)的信息后,應(yīng)在界面顯示相關(guān)的信息。</p><p> (5)系統(tǒng)具有良好的安全性。系統(tǒng)應(yīng)遵循有關(guān)信息安全標(biāo)準(zhǔn),具有切實(shí)可行的安全保護(hù)和保密措施</p><p><b> 3.3.2基本要求</b></p><p><b> (1)實(shí)用性</b></p><
59、;p> 軟件設(shè)計(jì)開發(fā)的最終目的都是應(yīng)用。本系統(tǒng)操作簡(jiǎn)單,方便,并且有很好的拓展性,為將來(lái)成為優(yōu)秀的教務(wù)管理系統(tǒng)打下了良好的基礎(chǔ)。</p><p><b> (2)技術(shù)性</b></p><p> 本系統(tǒng)采用B/S結(jié)構(gòu),開發(fā)環(huán)境是在Windows XP Professional的開發(fā)平臺(tái)上,利用JSP作前臺(tái)頁(yè)面開發(fā),App Engine 數(shù)據(jù)存儲(chǔ)區(qū)作后臺(tái)數(shù)據(jù)
60、庫(kù)開發(fā),主要使用Java語(yǔ)言進(jìn)行程序編寫。本系統(tǒng)采用了MVC三層架構(gòu),運(yùn)行穩(wěn)定,可移植性強(qiáng)。頁(yè)面友好清晰美觀,簡(jiǎn)單易用,符合人機(jī)對(duì)話的需要。</p><p><b> (3)維護(hù)可行性</b></p><p> 結(jié)構(gòu)化的設(shè)計(jì)方法,有助于系統(tǒng)開發(fā)過(guò)程的管理,因?yàn)榭茖W(xué)合理的將整個(gè)程序劃分多個(gè)功能模塊,各模塊單獨(dú)設(shè)計(jì),用助于降低整個(gè)程序的設(shè)計(jì)難度及減少錯(cuò)誤程序的影響范圍
61、,各模塊易于實(shí)現(xiàn),又使整個(gè)程序易于銜接和修改。</p><p> 3.4 系統(tǒng)業(yè)務(wù)流程</p><p> 圖3-1 系統(tǒng)業(yè)務(wù)流程圖</p><p> 3.5 系統(tǒng)數(shù)據(jù)流程分析</p><p> 本評(píng)教系統(tǒng)主要的數(shù)據(jù)信息流有:學(xué)生信息、課程信息、評(píng)教項(xiàng)目信息、評(píng)教信息、課程信息、教師信息、教師個(gè)人評(píng)教統(tǒng)計(jì)信息、管理員信息以及所有評(píng)教統(tǒng)計(jì)
62、信息,下圖是本系統(tǒng)數(shù)據(jù)流圖。</p><p> 圖3-2 系統(tǒng)數(shù)據(jù)流程圖</p><p> 3.6 功能模塊設(shè)計(jì)</p><p> 圖3-3 系統(tǒng)主要功能模塊</p><p> 3.6.1用戶注冊(cè)模塊</p><p><b> (1)學(xué)生注冊(cè)</b></p><p&g
63、t;<b> (2)教師注冊(cè)</b></p><p><b> (3)添加管理員</b></p><p> 3.6.2用戶登錄模塊</p><p> (1)學(xué)生登錄,修改密碼,注銷當(dāng)前登錄學(xué)生信息</p><p> (2)教師登錄,修改密碼,注銷當(dāng)前登錄教師信息</p>&l
64、t;p> (3)管理員登錄,修改密碼,注銷當(dāng)前登錄管理員信息</p><p> 3.6.3學(xué)生評(píng)教模塊</p><p> (1)對(duì)教師進(jìn)行教評(píng),并把結(jié)果提交到服務(wù)器的數(shù)據(jù)庫(kù)中</p><p> (2)對(duì)已評(píng)教的課程進(jìn)行查看</p><p> 3.6.4教師查看個(gè)人評(píng)教結(jié)果模塊</p><p> 教師可
65、看到所有評(píng)教項(xiàng)目的各個(gè)級(jí)別的數(shù)據(jù)分布以及百分比。</p><p> 3.6.5管理員查看評(píng)教結(jié)果模塊</p><p> 管理員可以查看所有教師的評(píng)教統(tǒng)計(jì)結(jié)果總匯,以及查看單個(gè)教師的評(píng)教統(tǒng)計(jì)結(jié)果。</p><p> 3.6.6管理員管理模塊</p><p> 管理員可以對(duì)所有管理員進(jìn)行添加、刪除操作,可以對(duì)自己進(jìn)行修改密碼操作</
66、p><p><b> 3.7 數(shù)據(jù)庫(kù)</b></p><p> 數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合,它已成為現(xiàn)代信息系統(tǒng)等計(jì)算機(jī)應(yīng)用系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)把一個(gè)企業(yè)或部門中大量的數(shù)據(jù)按DBMS所支持的數(shù)據(jù)模型組織起來(lái),為用戶提供數(shù)據(jù)存儲(chǔ)、維護(hù)檢索的功能,并能使用戶方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的數(shù)據(jù)和信息,而數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞則直接
67、影響著整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的效率和質(zhì)量。</p><p> 3.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫(kù)管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和建立數(shù)據(jù)庫(kù)的過(guò)程。 </p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建議中的核心技術(shù)。由于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的復(fù)雜性,為了支持
68、相關(guān)程序運(yùn)行,數(shù)據(jù)庫(kù)設(shè)計(jì)就變得異常復(fù)雜,因此最佳設(shè)計(jì)不可能一蹴而就,而只能是一種“反復(fù)探尋,逐步求精”的過(guò)程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象以及這些數(shù)據(jù)對(duì)象之間關(guān)系的過(guò)程。</p><p> 3.7.2 App Engine數(shù)據(jù)存儲(chǔ)區(qū)</p><p> App Engine 提供了一個(gè)強(qiáng)大的分布式數(shù)據(jù)存儲(chǔ)服務(wù),其中包含查詢引擎和事務(wù)功能。</p><p>
69、 App Engine 數(shù)據(jù)存儲(chǔ)區(qū)存儲(chǔ)數(shù)據(jù)對(duì)象(稱為“實(shí)體”)并對(duì)其執(zhí)行查詢。一個(gè)實(shí)體具有一個(gè)或多個(gè)屬性(若干受支持?jǐn)?shù)據(jù)類型中某一類型的命名值)。屬性可以是對(duì)另一實(shí)體的引用。</p><p> 數(shù)據(jù)存儲(chǔ)區(qū)可以在一個(gè)事務(wù)中執(zhí)行多個(gè)操作,如果任一操作失敗則回滾整個(gè)事務(wù)。這對(duì)于分布式網(wǎng)絡(luò)應(yīng)用程序尤其有用,在這種分布式網(wǎng)絡(luò)應(yīng)用中,多個(gè)用戶可以同時(shí)訪問(wèn)或處理同一數(shù)據(jù)對(duì)象。</p><p> 與
70、傳統(tǒng)數(shù)據(jù)庫(kù)不同,該數(shù)據(jù)存儲(chǔ)區(qū)使用分布式體系結(jié)構(gòu)管理向超大型數(shù)據(jù)集的擴(kuò)展。App Engine 應(yīng)用程序可以通過(guò)描述數(shù)據(jù)對(duì)象之間的關(guān)系,以及定義查詢的索引,來(lái)優(yōu)化數(shù)據(jù)的分布方式。</p><p> App Engine 數(shù)據(jù)存儲(chǔ)區(qū)具有高度的一致性,但不是關(guān)系數(shù)據(jù)庫(kù)。雖然該數(shù)據(jù)存儲(chǔ)區(qū)接口有許多與傳統(tǒng)數(shù)據(jù)庫(kù)相同的功能,但也具有獨(dú)特的特征,它采用了不同的數(shù)據(jù)設(shè)計(jì)和管理方式,可以充分利用自動(dòng)擴(kuò)展功能。</p>
71、<p> 3.7.3數(shù)據(jù)庫(kù)連接</p><p> JDO(Java Data Object )是Java對(duì)象持久化的新的規(guī)范,也是一個(gè)用于存取某種數(shù)據(jù)倉(cāng)庫(kù)中的對(duì)象的標(biāo)準(zhǔn)化API。JDO提供了透明的對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來(lái)說(shuō),存儲(chǔ)數(shù)據(jù)對(duì)象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來(lái),從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。另外,J
72、DO很靈活,因?yàn)樗梢栽谌魏螖?shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(kù)(RDBMS)JDO更通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,比如關(guān)系數(shù)據(jù)庫(kù)、文件、XML以及對(duì)象數(shù)據(jù)庫(kù)(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。 </p><p> 應(yīng)用程序的開發(fā)人員通過(guò)訪問(wèn)JDO Instance,達(dá)到訪問(wèn)JDO Instance 所代表的數(shù)據(jù)對(duì)象,包括:ERP,數(shù)據(jù)庫(kù)系統(tǒng)等。使數(shù)據(jù)的存儲(chǔ)介質(zhì)對(duì)于應(yīng)用的開發(fā)人員完全透明。&l
73、t;/p><p> 3.7.4JDO 與 App Engine 配合使用</p><p> 要使用 JDO 訪問(wèn)數(shù)據(jù)存儲(chǔ)區(qū),App Engine 應(yīng)用程序需進(jìn)行以下設(shè)置:</p><p> (1)JDO 和 DataNucleus App Engine 插件 JAR 必須位于應(yīng)用程序的 war/WEB-INF/lib/ 目錄。</p><p&g
74、t; (2)命名為 jdoconfig.xml 的配置文件必須位于應(yīng)用程序的 war/WEB-INF/classes/META-INF/ 目錄中,配置為使 JDO 使用 App Engine 數(shù)據(jù)存儲(chǔ)區(qū)。</p><p> (3)項(xiàng)目的構(gòu)建過(guò)程必須對(duì)編譯的數(shù)據(jù)類執(zhí)行后編譯“增強(qiáng)”步驟以使其與 JDO 實(shí)現(xiàn)相關(guān)聯(lián)。</p><p> 本系統(tǒng)在MyEclipse8.6上使用了 Eclip
75、se Google 插件,則以上三項(xiàng)已經(jīng)處理好。新項(xiàng)目向?qū)?JDO 和 DataNucleus App Engine 插件 JAR 放置在正確的位置上,并創(chuàng)建 jdoconfig.xml 文件。</p><p> 應(yīng)用程序使用 PersistenceManager 類的實(shí)例和 JDO 進(jìn)行交互??赏ㄟ^(guò)實(shí)例化并調(diào)用 PersistenceManagerFactory 類的實(shí)例上的方法來(lái)獲取此實(shí)例。Factory
76、使用 JDO 配置來(lái)創(chuàng)建 PersistenceManager 實(shí)例,方法如下:</p><p> public final class PMF {</p><p> private static final PersistenceManagerFactory pmfInstance =</p><p> JDOHelper.getPersistenceMan
77、agerFactory("transactions-optional");</p><p> private PMF() {}</p><p> public static PersistenceManagerFactory get() {</p><p> return pmfInstance;</p><p>&
78、lt;b> }</b></p><p><b> }</b></p><p> 3.7.5數(shù)據(jù)庫(kù)模型分析</p><p> 評(píng)教數(shù)據(jù)最終需要持久化,記錄到數(shù)據(jù)庫(kù)系統(tǒng)中,為此,需要專門對(duì)數(shù)據(jù)庫(kù)進(jìn)行分析設(shè)計(jì)。首先,給出系統(tǒng)數(shù)據(jù)庫(kù)的概念模型,繪制的實(shí)體關(guān)系圖(E-R模型)如下:</p><p> 圖
79、3-4 系統(tǒng)E-R模型圖</p><p> 3.7.6數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 本系統(tǒng)涉及到的表如下:</p><p><b> 表3-1 學(xué)生表</b></p><p><b> 表3-2 教師表</b></p><p> 表3-3 學(xué)生評(píng)教表</p&g
80、t;<p> 表3-4 教師評(píng)教統(tǒng)計(jì)表</p><p> 數(shù)據(jù)庫(kù)物理模型如下:</p><p> 圖3-5 物理模型圖</p><p> 3.8 系統(tǒng)評(píng)教與統(tǒng)計(jì)的算法設(shè)計(jì)</p><p> 本系統(tǒng)的評(píng)教項(xiàng)目設(shè)計(jì)以及評(píng)價(jià)等級(jí)設(shè)計(jì)如下表所示,由于系統(tǒng)暫時(shí)設(shè)置的評(píng)教項(xiàng)目較少,所以設(shè)置的分值也較高。</p>&l
81、t;p><b> 表3-5評(píng)教項(xiàng)目表</b></p><p> 學(xué)生評(píng)教時(shí)勾選各個(gè)評(píng)價(jià)項(xiàng)目的評(píng)價(jià)等級(jí),點(diǎn)擊提交后,程序執(zhí)行以下操作:</p><p> (1) TeacherEvaluation表中對(duì)應(yīng)該評(píng)價(jià)等級(jí)屬性的值+1,如:“工作態(tài)度認(rèn)真,治學(xué)嚴(yán)謹(jǐn)”項(xiàng)勾選了優(yōu)秀,則表中的workAttitude_excellent屬性的值+1,該屬性存儲(chǔ)了對(duì)應(yīng)教師這
82、個(gè)評(píng)教項(xiàng)目?jī)?yōu)秀等級(jí)的數(shù)量。</p><p> (2)給該教師評(píng)教的總?cè)藬?shù),TeacherEvaluation表中totlePeopleNum屬性值+1。</p><p> (3)總分計(jì)算。將各個(gè)存儲(chǔ)評(píng)價(jià)等級(jí)數(shù)量的屬性的值分別乘以該屬性對(duì)應(yīng)的分?jǐn)?shù),然后全部相加,即可得到該教師的評(píng)教總分。</p><p> (4)平均分計(jì)算。將總分除以評(píng)教人數(shù)即可得到該教師的評(píng)教
83、平均分。</p><p> 管理員查看教師的評(píng)教詳細(xì)時(shí),可以查看各個(gè)評(píng)價(jià)等級(jí)所占對(duì)應(yīng)評(píng)教項(xiàng)目的百分比。百分比計(jì)算思路如下:</p><p> 將各個(gè)評(píng)教項(xiàng)目的每個(gè)評(píng)價(jià)等級(jí)的數(shù)量,除以該項(xiàng)目所有評(píng)價(jià)等級(jí)相加起來(lái)的總數(shù)量,再乘以100%,即得到了該評(píng)價(jià)等級(jí)的百分比。由于百分比是新的數(shù)據(jù)屬性,本系統(tǒng)中沒(méi)有設(shè)計(jì)存儲(chǔ)百分比的數(shù)據(jù)庫(kù)表,所以在這里定義了一個(gè)外部類Percent來(lái)存儲(chǔ)各個(gè)百分比值。&
84、lt;/p><p><b> 4 系統(tǒng)實(shí)現(xiàn)</b></p><p> 4.1 用戶登陸模塊</p><p> 此模塊設(shè)計(jì)起來(lái)相對(duì)簡(jiǎn)單,是整個(gè)系統(tǒng)進(jìn)入時(shí)第一個(gè)呈現(xiàn)給用戶的頁(yè)面,系統(tǒng)使用下拉列表框控件來(lái)對(duì)三種不同的身份的用戶的選擇,然后用兩個(gè)文本框分別接收用戶輸入的用戶名和密碼,通過(guò)點(diǎn)擊登錄按鈕對(duì)用戶名和密碼進(jìn)行確認(rèn)并提交到服務(wù)器。</p
85、><p> 圖4-1 用戶登陸界面</p><p> 用戶登陸模塊的具體實(shí)現(xiàn),是先根據(jù)選擇的角色,通過(guò)頁(yè)面上的JavaScript函數(shù)判定后跳轉(zhuǎn)到不同的方法,再把用戶名和密碼設(shè)置為要查詢的條件,在數(shù)據(jù)庫(kù)中執(zhí)行,如果相應(yīng)的數(shù)據(jù)庫(kù)中有這一條記錄,則認(rèn)為此用戶存在,被認(rèn)為是合法的用戶;對(duì)于合法的用戶,跳轉(zhuǎn)到對(duì)應(yīng)的主頁(yè)面;對(duì)于非法的用戶給出錯(cuò)誤提示,要求重新輸入,直到輸入正確的信息才可以登錄。該模
86、塊設(shè)計(jì)的關(guān)鍵保證合法用戶正常登錄,非法用戶即使通過(guò)正確的地址也不能跳轉(zhuǎn),這主要是通過(guò)Session變量來(lái)判斷,以保證系統(tǒng)的安全性。</p><p> 用戶登陸后,可以進(jìn)行切換用戶、修改密碼和退出系統(tǒng)這3個(gè)系統(tǒng)操作。切換用戶操作會(huì)注銷當(dāng)前的用戶session信息,跳轉(zhuǎn)到登陸頁(yè)面;修改密碼操作則進(jìn)入修改密碼頁(yè)面,修改成功或失敗都會(huì)跳轉(zhuǎn)到相應(yīng)的信息提示頁(yè)面;退出系統(tǒng)操作則直接關(guān)掉該頁(yè)面,注銷所有session信息。&
87、lt;/p><p> 管理員登陸部分代碼:</p><p> public String login(){</p><p> Map session;</p><p> session = ActionContext.getContext().getSession();</p><p> if(adminServ
88、ice.loadByAdminPw(txtUserName, txtPassword) != null){</p><p> //根據(jù)賬號(hào)和密碼到Admin表中查詢,若結(jié)果不為空,將賬號(hào)保存進(jìn)session中</p><p> session.put("adminUserName", txtUserName);</p><p> ret
89、urn SUCCESS;</p><p><b> }</b></p><p> session.put("loginError", "用戶名或密碼錯(cuò)誤,請(qǐng)重試!");</p><p> return ERROR;</p><p><b> }</b>
90、</p><p> 4.2 用戶注冊(cè)模塊</p><p> 點(diǎn)擊登陸頁(yè)面下方的注冊(cè)頁(yè)面鏈接,即可進(jìn)入注冊(cè)頁(yè)面。點(diǎn)擊導(dǎo)航的選項(xiàng)卡,可以選擇要注冊(cè)的角色:學(xué)生或者是教師。</p><p><b> 圖4-3注冊(cè)界面</b></p><p> 學(xué)生注冊(cè)和教師注冊(cè)是在同一個(gè)jsp頁(yè)面上的2個(gè)form表單,一進(jìn)入頁(yè)面首先看
91、到學(xué)生注冊(cè)表單,教師注冊(cè)表單默認(rèn)為隱藏。點(diǎn)擊導(dǎo)航上的選項(xiàng)卡觸發(fā)JavaScript函數(shù),動(dòng)態(tài)地將選項(xiàng)卡對(duì)應(yīng)的表單設(shè)置為可見(jiàn),另一個(gè)表單設(shè)置為隱藏。表單的驗(yàn)證使用了jquery的表單驗(yàn)證插件,只有表單填寫通過(guò)驗(yàn)證后方可提交數(shù)據(jù)。通過(guò)驗(yàn)證后,點(diǎn)擊提交按鈕提交到該表單對(duì)應(yīng)的方法執(zhí)行數(shù)據(jù)庫(kù)插入操作,如果操作成功則返回登陸頁(yè)面,操作失敗返回錯(cuò)誤頁(yè)面。</p><p><b> 學(xué)生注冊(cè)部分代碼:</b&g
92、t;</p><p> public String add(){</p><p> Student s = new Student();</p><p> s.setStudentNo(studentno);</p><p> s.setPassword(password);</p><p> s.setCl
93、assNo(classno);</p><p> s.setDepartment(department);</p><p> s.setGrade(grade);</p><p> if(studentService.save(s)){</p><p> return SUCCESS;</p><p><
94、b> }</b></p><p> return ERROR;</p><p><b> }</b></p><p> 4.3 學(xué)生評(píng)教模塊</p><p> 學(xué)生登陸以后,進(jìn)入學(xué)生主頁(yè),顯示該學(xué)生所有已選課程的列表。點(diǎn)擊頁(yè)面導(dǎo)航欄中的選項(xiàng)卡,可以選擇已評(píng)教的課程或者是未評(píng)教的課程,方便查看
95、及評(píng)教操作。</p><p><b> 圖4-4學(xué)生主頁(yè)</b></p><p> 未評(píng)教的課程,點(diǎn)擊后面的鏈接進(jìn)入評(píng)教頁(yè)面,在該頁(yè)面中給各個(gè)評(píng)教項(xiàng)目勾選評(píng)價(jià)等級(jí):優(yōu)秀、良好、中等、及格或者是不及格。勾選好以后點(diǎn)擊按鈕提交,彈出提示框“提交后無(wú)法修改,確認(rèn)要提交嗎?”,點(diǎn)擊“確認(rèn)”則繼續(xù)提交,“取消”則返回頁(yè)面;提交成功則頁(yè)面跳轉(zhuǎn)回到主頁(yè),不成功則跳轉(zhuǎn)到錯(cuò)誤頁(yè)面。
96、詳細(xì)的提交后數(shù)據(jù)處理代碼見(jiàn)附錄。</p><p> 圖4-5學(xué)生評(píng)教界面</p><p> 評(píng)教之后可以查看自己評(píng)教的詳細(xì)內(nèi)容,點(diǎn)擊課程后面“已評(píng)教”的超鏈接,進(jìn)入查看頁(yè)面。</p><p> 圖4-6評(píng)教查看界面</p><p> 4.4 教師查看個(gè)人評(píng)教結(jié)果模塊</p><p> 教師登陸后進(jìn)入教師主頁(yè)
97、。頁(yè)面顯示該教師所得評(píng)教的總分、平均分、評(píng)教人數(shù)、各個(gè)評(píng)教項(xiàng)目的各個(gè)評(píng)價(jià)等級(jí)的分布以及百分比。分布和百分比使用了jQuery的圖表插件將數(shù)據(jù)形象地表示出來(lái),更加直觀和美觀。</p><p><b> 圖4-7教師主頁(yè)</b></p><p> 4.5 管理員查看所有評(píng)教結(jié)果模塊</p><p> 管理員登陸后進(jìn)入管理員主頁(yè),頁(yè)面列出所有教
98、師的評(píng)教結(jié)果,列表按平均分降序排列。除了基本的系統(tǒng)操作外,管理員還可以添加新的管理員。</p><p><b> 圖4-8管理員主頁(yè)</b></p><p> 點(diǎn)擊“查看詳細(xì)”鏈接,可以查看該教師各個(gè)評(píng)價(jià)項(xiàng)目的評(píng)價(jià)等級(jí)所占的百分比。</p><p> 圖4-9評(píng)教詳細(xì)頁(yè)面</p><p> 詳細(xì)的顯示數(shù)據(jù)處理代碼
99、見(jiàn)附錄。</p><p> 4.6 管理員管理模塊</p><p> 管理員登陸以后,可以對(duì)所有管理員進(jìn)行添加、刪除操作,可以對(duì)自己進(jìn)行修改密碼操作。</p><p><b> 5 系統(tǒng)測(cè)試</b></p><p> 5.1 系統(tǒng)測(cè)試簡(jiǎn)述</p><p> 系統(tǒng)測(cè)試,英文是System
100、 Testing。是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正。是基于系統(tǒng)整體需求說(shuō)明書的黑盒類測(cè)試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。對(duì)象不僅僅包括需測(cè)試的軟件,還要包含軟件所依賴的硬件、
101、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。</p><p> 從保證軟件質(zhì)量的角度來(lái)說(shuō),軟件測(cè)試是軟件質(zhì)量保證工程的一個(gè)重要組成部分,也是最重要的質(zhì)量保證手段。為了保證所提交的軟件產(chǎn)品能夠滿足客戶的需求,以及在使用中的可靠性,就必須對(duì)所開發(fā)的軟件產(chǎn)品進(jìn)行系統(tǒng)而全面的測(cè)試。基于這一需求,軟件測(cè)試作為軟件開發(fā)過(guò)程中的一個(gè)重要階段,受到了軟件開發(fā)組織的普遍重視,并形成了一整套比較成熟的測(cè)試?yán)碚摵图夹g(shù)方法。<
102、/p><p> 軟件測(cè)試有兩種方法,黑盒測(cè)試和白盒測(cè)試。</p><p> 黑盒測(cè)試也稱功能測(cè)試、輸入/輸出驅(qū)動(dòng)測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試中,把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,只依據(jù)需求規(guī)格說(shuō)明、設(shè)計(jì)規(guī)格說(shuō)明中關(guān)于功能的定義,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮?/p>
103、輸入數(shù)據(jù)而產(chǎn)生正確的輸出信息,是否保持了外部信息(例如數(shù)據(jù)文件)的完整性,是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或訪問(wèn)錯(cuò)誤,是否有不正確或遺漏了的功能。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。</p><p> 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作
104、。 這一方法是把測(cè)試對(duì)象看作一個(gè)打開的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。</p><p> 從理論上看,不論采用上述哪種測(cè)試方式,只要能對(duì)每一種可能情況都進(jìn)行測(cè)試,就可以得到正確運(yùn)行的程序。包含所有可能情況的測(cè)試稱之為窮盡測(cè)試。但在實(shí)際測(cè)試中,窮盡測(cè)試是不可能、也是無(wú)法做到的。使用黑盒測(cè)試方
105、式,為了做到窮盡測(cè)試,至少必須對(duì)所有輸入數(shù)據(jù)的各種可能值的排列組合都測(cè)試一次,但由此得到的測(cè)試數(shù)據(jù)量往往大到實(shí)際上根本無(wú)法測(cè)試的程度。</p><p> 軟件測(cè)試的過(guò)程可以用圖5-1的數(shù)據(jù)流程圖表達(dá)。</p><p> 圖5-1測(cè)試階段的信息流</p><p> 5.2 正確認(rèn)識(shí)軟件測(cè)試</p><p> 在了解系統(tǒng)測(cè)試后,要正確的認(rèn)
106、識(shí)軟件測(cè)試:</p><p> (1)不能徹底測(cè)試程序。我們知道,軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項(xiàng)目。在測(cè)試階段既然窮舉測(cè)試是不可實(shí)現(xiàn)的,為了節(jié)省時(shí)間和資源,提高測(cè)試效率,就必須精心設(shè)計(jì)測(cè)試用例,使得采用這些測(cè)試數(shù)據(jù)能夠取得最佳的測(cè)試效果。</p><p> (2)軟件測(cè)試的目的不是證實(shí)程序的正確性。</p><p>
107、; (3) 軟件錯(cuò)誤是不可避免的。開發(fā)過(guò)程中軟件錯(cuò)誤之所以不可避免,從客觀上講,是由于所開發(fā)的軟件具有相當(dāng)?shù)膹?fù)雜性。軟件開發(fā)的實(shí)踐一再表明,指望整個(gè)開發(fā)過(guò)程完全不出現(xiàn)人為的差錯(cuò)是不可能的,問(wèn)題在于如何能夠及時(shí)地發(fā)現(xiàn)和排除各種隱匿的差錯(cuò)。</p><p> (4)及時(shí)排除早期開發(fā)中的錯(cuò)誤。這樣可以排除它給后期工作帶來(lái)的麻煩。也就避免付出高額的代價(jià),從而大大提高開發(fā)的效率。</p><p>
108、; (5)程序驗(yàn)證方法無(wú)法取代測(cè)試。在實(shí)際的軟件開發(fā)項(xiàng)目中,測(cè)試仍然是最為現(xiàn)實(shí)、有效的質(zhì)量保證手段。</p><p> 5.3 本系統(tǒng)所作的測(cè)試內(nèi)容</p><p><b> 5.3.1登陸測(cè)試</b></p><p> 測(cè)試要點(diǎn):用戶名和密碼</p><p> 測(cè)試路徑:用戶名和密碼是否為真</p>
109、;<p> 測(cè)試結(jié)果:為真,進(jìn)入系統(tǒng);為假,提示重新輸入用戶信息</p><p><b> 測(cè)試效果:</b></p><p> 表5-1 系統(tǒng)入口測(cè)試用例</p><p> 根據(jù)上面的系統(tǒng)入口測(cè)試用例,如果輸入信息正確,進(jìn)入系統(tǒng)。如出錯(cuò),其測(cè)試效果如下圖:</p><p> 圖5-2登錄錯(cuò)誤提示
110、</p><p> 5.3.2密碼修改測(cè)試</p><p><b> 測(cè)試要點(diǎn):密碼修改</b></p><p> 測(cè)試路徑:密碼修改是否成功</p><p> 測(cè)試結(jié)果:成功,進(jìn)入操作成功頁(yè)面;不成功,進(jìn)入錯(cuò)誤頁(yè)面</p><p><b> 測(cè)試效果:</b>&l
111、t;/p><p> 表5-2 密碼修改測(cè)試用例</p><p> 根據(jù)上面的密碼修改測(cè)試用例,如果成功,進(jìn)入進(jìn)入成功提示頁(yè)面,其測(cè)試效果如下圖:</p><p> 圖5-3修改密碼成功提示</p><p> 5.3.3切換用戶測(cè)試</p><p><b> 測(cè)試要點(diǎn):切換用戶</b><
112、/p><p> 測(cè)試路徑:切換用戶是否成功</p><p> 測(cè)試結(jié)果:成功,回到登陸頁(yè)面</p><p><b> 測(cè)試效果:</b></p><p> 表5-3切換用戶測(cè)試用例</p><p> 5.3.4退出系統(tǒng)測(cè)試</p><p><b> 測(cè)試要
113、點(diǎn):退出系統(tǒng)</b></p><p> 測(cè)試路徑:退出系統(tǒng)是否成功</p><p> 測(cè)試結(jié)果:成功,網(wǎng)頁(yè)關(guān)閉</p><p><b> 測(cè)試效果:</b></p><p> 表5-4切換用戶測(cè)試用例</p><p> 5.3.5學(xué)生評(píng)教測(cè)試</p><p
114、><b> 測(cè)試要點(diǎn):學(xué)生評(píng)教</b></p><p> 測(cè)試路徑:提交評(píng)教前彈出確認(rèn)框,提交后是否成功</p><p> 測(cè)試結(jié)果:成功,返回學(xué)生主頁(yè);失敗,跳轉(zhuǎn)到錯(cuò)誤頁(yè)面</p><p><b> 測(cè)試效果:</b></p><p> 表5-5學(xué)生評(píng)教測(cè)試用例</p>
115、<p> 表5-5學(xué)生評(píng)教測(cè)試用例</p><p> 提交前彈出確認(rèn)框如下圖所示:</p><p> 圖5-4提交確認(rèn)提示</p><p> 5.3.6學(xué)生查看已評(píng)教課程和未評(píng)教課程測(cè)試</p><p> 測(cè)試要點(diǎn):學(xué)生查看已評(píng)教和未評(píng)教課程</p><p> 測(cè)試路徑:點(diǎn)擊對(duì)應(yīng)的按鈕,頁(yè)面顯
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)-基于web的家政服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的手機(jī)銷售系統(tǒng)【計(jì)算機(jī)畢業(yè)設(shè)計(jì)下載】
- 基于web的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)論文
- 基于web的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)--- 基于web平臺(tái)的《計(jì)算機(jī)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)》教學(xué)系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)93范文_php基于web的討論系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)93范文_php基于web的討論系統(tǒng)
- 基于Web的計(jì)算機(jī)繪圖考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)(論文)+計(jì)算機(jī)科學(xué)與技術(shù)+基于discuz!的大學(xué)計(jì)算機(jī)基礎(chǔ)論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)--在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)93范文_PHP基于WEB的討論系統(tǒng).doc
- 基于Web的計(jì)算機(jī)基礎(chǔ)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于.net的web計(jì)算機(jī)在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)93范文_PHP基于WEB的討論系統(tǒng).doc
- 基于Web的計(jì)算機(jī)輔助評(píng)價(jià)系統(tǒng)研究與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)--基于redhat系統(tǒng)的計(jì)算機(jī)集群虛擬化技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(開放本科)畢業(yè)設(shè)計(jì)-基于web的學(xué)習(xí)討論系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)-賓館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文-基于web的家政服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論