基于web的教學評價系統(tǒng)的設計與實現(xiàn)-說明書_第1頁
基于web的教學評價系統(tǒng)的設計與實現(xiàn)-說明書_第2頁
基于web的教學評價系統(tǒng)的設計與實現(xiàn)-說明書_第3頁
基于web的教學評價系統(tǒng)的設計與實現(xiàn)-說明書_第4頁
基于web的教學評價系統(tǒng)的設計與實現(xiàn)-說明書_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE畢業(yè)設計(論文)說明書題目:基于Web的教學評價系統(tǒng)的設計與實現(xiàn)系別:信息工程系專業(yè):計算機科學與技術學生姓名: 學號:0751210102指導教師:職稱:講師題目類型:理論研究實驗研究工程設計工程技術研究軟件開發(fā)2010年6月1日摘要目前,中國已形成較完備的現(xiàn)代教育體系,高校的教學管理任務日趨繁重。教學質(zhì)量是學校生存與發(fā)展的生命線,學生評教是實現(xiàn)教學質(zhì)量自我監(jiān)控的重要環(huán)節(jié)之一,如何保證高效的教學效果和有效及時的監(jiān)督教學質(zhì)量顯然變得非常關鍵。本系統(tǒng)著重研究網(wǎng)上學生評教及教師維護系統(tǒng),可以定期和全面地收集教師教學工作的數(shù)據(jù),提供師生在網(wǎng)上進行教學效果的評分,快速集中收集各方面的評教信息,使教務管理部門能夠及時了解教學動態(tài)和師資情況,為教務老師提供相關決策支持。本系統(tǒng)在國內(nèi)外現(xiàn)有網(wǎng)上評教系統(tǒng)的基礎上,結合高校的現(xiàn)狀,從實際需求出發(fā),采用當前較為流行的B/S(瀏覽器/服務器)結構、JaveEE動態(tài)網(wǎng)頁開發(fā)技術、Struts2框架和Spring三層架構,基于WindowsXPProfessional操作系統(tǒng)、Google基礎架構和AppEngine數(shù)據(jù)存儲區(qū),設計并實現(xiàn)了一個功能較為完善的學生評教系統(tǒng):學生可以在互聯(lián)網(wǎng)上對教師及其所教授的課程進行打分,教師可以查看學生對自己的評教結果,管理者可以對學生評教的信息進行查詢和統(tǒng)計。本系統(tǒng)經(jīng)過測試,運行效果穩(wěn)定,操作方便、快捷。在具體的應用過程中,有可能會出現(xiàn)一些問題,今后我們還會對本系統(tǒng)不斷地進行完善、更新,使其功能更強大,應用更廣泛。關鍵詞:學生評教;JaveEE;Struts2;SpringAbstractNowadays,ourcountryhasconstructedarelativelyself-containedmoderneducationsystemandthemanagementofthecollege'seducationbecomesmoreweighty.Thequalityofteachingisthelifelineofthedevelopmentofschool,andthestudents'evaluationaboutteachingisthekeyofself-supervisiontotheteachingquality.Definitely,howtokeepeffectiveteachingand

supervisionbecomesveryimportant.Thissystememphasizedononlineevaluationandteachingmaintaining.Itperiodicallyandcomprehensivelycollectsthedataofteachingandprovidesthefunctionthatbothteacherandstudentcanevaluatetheteachingandstudy,whichcouldmaketeachingdepartmenttimelylearnthesituationofteachingandprovidethedecision-makingforthedecision-makers.Furthermore,Italsocouldprovidethescientificbasisforotherteachingactions.Accordingtotheexistingstudiesandthepracticaldemands,thearticleadoptedcomparativelypopularB/S(browser/server)structureincludingJavaEEdynamicwebpage,Struts2frameworkandSpringThree-tierarchitectureandbasingontheoperationsystemofWindowsXPProfessional,Google'sinfrastructureandAppEnginedatastore.Ithaddesignedthestudentratingofteachingsystemwithcomparativelyperfectfunction:StudentscanscoretheteacherandthecoursesteachedbytheteacherontheInternet;Teacherscanviewstudents’assessmentoftheirteachingresultsandmanagerscanquerytheinformationontheteachingevaluationandstatistics.Throughthetesting,thesystemisprovedtobesteady,easytooperateandfast.However,itwillbelikelytoappearsomeproblemsduringtheapplicationcoursesandneedtobeperfectandrenovateconstantlyfuturetomakeitbetterandbetter.

Keywords:thestudentratingofteaching;JavaEE;Struts2;Spring目錄引言 11緒論 11.1課題背景 11.2學生評教的意義 11.3學生網(wǎng)上評教的優(yōu)勢 21.4系統(tǒng)實現(xiàn) 22開發(fā)工具簡介 22.1開發(fā)平臺和技術簡介 22.1.1MyEclipse8.6 22.1.2MVC三層架構 32.1.3GoogleAppEngine 32.1.4Spring 32.1.5Struts2 42.1.6javascript 52.1.7CSS+DIV布局 53系統(tǒng)需求分析 53.1需求概述 53.2系統(tǒng)設想 53.3系統(tǒng)的設計目標 63.3.1設計目標 63.3.2基本要求 63.4系統(tǒng)業(yè)務流程 63.5系統(tǒng)數(shù)據(jù)流程分析 73.6功能模塊設計 73.6.1用戶注冊模塊 83.6.2用戶登錄模塊 83.6.3學生評教模塊 83.6.4教師查看個人評教結果模塊 83.6.5管理員查看評教結果模塊 83.6.6管理員管理模塊 83.7數(shù)據(jù)庫 83.7.1數(shù)據(jù)庫設計概述 83.7.2AppEngine數(shù)據(jù)存儲區(qū) 83.7.3數(shù)據(jù)庫連接 93.7.4JDO與AppEngine配合使用 93.7.5數(shù)據(jù)庫模型分析 103.7.6數(shù)據(jù)庫設計 103.8系統(tǒng)評教與統(tǒng)計的算法設計 134系統(tǒng)實現(xiàn) 144.1用戶登陸模塊 144.2用戶注冊模塊 154.3學生評教模塊 164.4教師查看個人評教結果模塊 184.5管理員查看所有評教結果模塊 184.6管理員管理模塊 195系統(tǒng)測試 195.1系統(tǒng)測試簡述 195.2正確認識軟件測試 205.3本系統(tǒng)所作的測試內(nèi)容 215.3.1登陸測試 215.3.2密碼修改測試 225.3.3切換用戶測試 225.3.4退出系統(tǒng)測試 235.3.5學生評教測試 235.3.6學生查看已評教課程和未評教課程測試 245.3.7管理員刪除測試 245.3.8用戶注冊測試 256系統(tǒng)的不足及改進設想 267結論 26謝辭 28參考文獻 29附錄 30桂林電子科技大學信息科技學院畢業(yè)設計(論文)說明書第14頁共43頁PAGE14引言“學生評教”目前在許多高校應用非常普遍,并作為高校教學質(zhì)量評價的必要環(huán)節(jié)被納入學校的教學管理規(guī)范,對進一步完善高校教學質(zhì)量監(jiān)控體系,保證教學質(zhì)量有著重要的現(xiàn)實意義。而目前隨著高校教學改革的深人和學生規(guī)模的不斷擴大,傳統(tǒng)的學生評教過程采用由學生填表,手工統(tǒng)計的辦法,這樣造成工作量大、損耗多、時效性差的弊端。針對如何利用Web技術來解決高校評教中遇到的實際問題,提高評教過程的效率,本人提出并設計了基于JavaEE,GoogleAppEngine技術,采用B/S架構模式的“網(wǎng)上評教系統(tǒng)”解決方案。1緒論1.1課題背景 本課題所研究的“學生評教”,即學生評價教師的課堂教學,是教師評價的途徑之一,其評價主體是學生,評價對象是教師的教學工作,一般是指學校組織學生對教師的課堂行為及其態(tài)度、教學能力、效果等方面進行評價,以達到某種目的(諸如控制、監(jiān)督、獎懲、晉升、聘用、改進、進行專項業(yè)務研究等)的做法和過程。 教學工作是學校的中心工作,教師在教學過程中發(fā)揮著主導作用??茖W地評價教師的教學行為,對教師自身發(fā)展和學校辦學質(zhì)量的提高有著極為重要的意義。1.2學生評教的意義 學生評教具有直接性、真實性和可靠性。學生是教學過程的主體,直接受到教師教學效能因素的影響,是教學效果的直接體現(xiàn)者,自始自終參與了教學的全過程,對于課堂教學質(zhì)量最有發(fā)言權。研究也表明,學生評價這一方法既花費不大且有相當?shù)目尚哦龋男哦确秶ǔT?.8-0.9之間。通過教學質(zhì)量監(jiān)控系統(tǒng),教師可以檢驗自己的教學效果提高自己的教學水平,發(fā)現(xiàn)自己教學過程中存在的問題及時調(diào)整教學策略改進教學措施規(guī)范教學行為提高積極性,促進教師自身素養(yǎng)和專業(yè)水平的不斷提高。教學管理部門可以監(jiān)控教師的授課進程,查看教師的授課效果及時調(diào)整教學管理策略作出科學決策及時解決教學過程中存在的問題,提高學院整體教學質(zhì)量。 學生評教不是消極地對教學結果進行測量和描述的活動,而是學生受到教育,加深對教學實際過程的認識以及改進教學工作的重要手段,是師生之間共同反省教學經(jīng)歷,形成對教學策略與成效的共識,并共同謀求改進方向的過程,這樣的過程,既是一個評價過程,又是一個靈敏的控制過程,更是一個高效的管理過程。大學教師的獨立工作成分大,涉及學科門類多且復雜,知識專業(yè)化程度相當高,使得教學管理人員很難深刻理解所獲得的反映教學全貌的各種信息,同時教學管理人員大多不是教學活動的直接參與者,一般不直接接觸課堂教學,難以把握實際的教學動態(tài),而開展學生評教則可以在一定程度上彌補這一不足,使教學管理部門對教師的教學質(zhì)量與水平做出更全面而可信的評價,還可以針對教學中存在的問題,及時采取對策,更有效的控制教學過程,不斷提高整體決策與教學管理水平。教學管理部門通過評教能較及時地從一個側面掌握學校教學工作的現(xiàn)狀,教學效果情況,及時發(fā)現(xiàn)間題、解決問題。學生評教是管理部門對教學質(zhì)量監(jiān)控重要依據(jù)之一,通過對評教數(shù)據(jù)的研究分析,管理部門可以了解某一學院的課堂教學情況;可以了解不同職稱、不同年齡的教師的課堂教學情況;可以了解某一群體、某一課程、某一教師受學生歡迎的程度等,是學校教學管理部門和學校領導進行科學管理,教學改革決策的重要依據(jù)。也能夠推動系部之間的合理競爭,將各系部工作的重心放在教學工作上,不斷提高學校整體的教學水平。1.3學生網(wǎng)上評教的優(yōu)勢 (1)過程簡單,查詢方便。學生在評教時只需選中單選框,然后提交,即可完成對老師的評教,其余的工作全部由計算機在很短的時間內(nèi)完成。同時老師可以很快地知道評教統(tǒng)計結果。 (2)學生網(wǎng)上評教的客觀公正性。學生網(wǎng)上評教采取匿名方式,教師只能看到評教的統(tǒng)計結果,看不到學生的個人信息,使學生沒有心理壓力,保證了學生評教的客觀性和真實性。 (3)評價反饋信息收集及時,評價數(shù)據(jù)分析快捷。由于直接通過網(wǎng)上收集評價信息,因此,評價結束后可以立即進行數(shù)據(jù)處理,從而充分提高了評價的時效性、科學性和可操作性。 (4)數(shù)據(jù)可靠性高。學生評教的數(shù)據(jù)直接提交到服務器上,減少了費管理人員接觸數(shù)據(jù)和修改數(shù)據(jù)的可能性,從而使評教結果的統(tǒng)計更加準確、可靠、科學。1.4系統(tǒng)實現(xiàn) 系統(tǒng)將用戶分為學生、教師和管理員三個身份,所有的用戶都必須憑賬號的密碼登陸系統(tǒng)。不同類型的用戶具有不同的權限。學生用戶以自己的學號登陸,登陸后,學生可以對本學期的所有任課老師進行評教以及修改自己的密碼;教師用戶登陸后,可以查閱個人的評教信息和修改自己的密碼;管理員登陸后,可以查看所有教師的評教統(tǒng)計結果。2開發(fā)工具簡介2.1開發(fā)平臺和技術簡介2.1.1MyEclipse8.6(1)MyEclipse是什么MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,SQL,Hibernate等框架和技術。(2)MyEclipse8.6版本 MyEclipse8.6集成了Eclipse3.5.2,其主要改進是在團隊寫作和集中工作環(huán)境的集中配置管理方面。同時MyEclipse8.6還包含了上百個功能的改進和新特性,這些新功能和特性將讓MyEclipse8.6用戶在開發(fā)代碼,測試,以及部署應用方面都得到極大的便利。2.1.2MVC三層架構MVC(Modle-View-Controller,模型-視圖-控制器)模式主要由3個部分組成:模型、視圖和控制器,其結構如圖2-1所示。控制器控制器Servlet客戶視窗JSP模型JavaBean/EJB數(shù)據(jù)庫文件系統(tǒng)其他后端系統(tǒng)請求響應創(chuàng)建圖2-1MVC模式框架圖模型表示業(yè)務邏輯和業(yè)務規(guī)則等,在MVC的三個部件中擁有最多的處理任務。它可以用JavaBean和EJB等組件技術來處理數(shù)據(jù)庫的訪問。模型能為多個視圖提供數(shù)據(jù)。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。MVC不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復用性。首先,多個視圖能共享一個模型。其次,模型是自包含的,與控制器和視圖保持相對獨立,所以可以方便地改變應用程序的數(shù)據(jù)層和業(yè)務規(guī)則。此外,控制器提高了應用程序的靈活性和可配置性。2.1.3GoogleAppEngineGoogle把AppEngine定位為:讓程序員可打造軟件,但又不需擔心未來若既有軟硬件設施不夠用時,還需另外重建。 GoogleAppEngine可讓網(wǎng)絡應用程序在Google的基礎架構上運行。AppEngine應用程序易于構建和維護,并可根據(jù)訪問量和數(shù)據(jù)存儲需要的增長輕松擴展,避開因為面臨流量不斷增長,每隔幾個月就得重新架構一次系統(tǒng)的問題。使用GoogleAppEngine,將不再需要維護服務器:只需上傳應用程序,它便可立即為用戶提供服務。2.1.4Spring Spring是一個開源框架,它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類??刂品崔D(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的——完成業(yè)務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣堋猄pring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。2.1.5Struts2 Struts2采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與ServletAPI完全脫離開。Struts2框架的處理流程如下:(1)加載類(FilterDispatcher)(2)讀取配置(struts配置文件中的Action)(3)派發(fā)請求(客戶端發(fā)送請求)(4)調(diào)用Action(FilterDispatcher從struts配置文件中讀取與之相對應的Action(5)啟用攔截器(WebWork攔截器鏈自動對請求應用通用功能,如驗證)(6)處理業(yè)務(回調(diào)Action的方法)(7)返回響應(通過方法將信息返回到FilterDispatcher)(8)查找響應(FilterDispatcher根據(jù)配置查找響應的是什么信息如:SUCCESS、ERROER,將跳轉(zhuǎn)到哪個jsp頁面)(9)響應用戶(jsp>客戶瀏覽器端顯示)2.1.6javascriptJavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。它是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。由于Javascript短小精悍,又是在客戶機上執(zhí)行的,大大提高了網(wǎng)頁的瀏覽速度和交互能力。同時它又是專門為制作Web網(wǎng)頁而量身定做的一種簡單的編程語言。JavaScript使網(wǎng)頁增加互動性,使有規(guī)律地重復的HTML文段簡化,減少下載時間,能及時響應用戶的操作,對提交表單做即時的檢查,無需浪費時間交由CGI驗證。2.1.7CSS+DIV布局CSS+DIV是網(wǎng)站標準(或稱“WEB標準”)中常用的術語之一,通常為了說明與HTML網(wǎng)頁設計語言中的表格(table)定位方式的區(qū)別,因為XHTML網(wǎng)站設計標準中,不再使用表格定位技術,而是采用css+div的方式實現(xiàn)各種定位。CSS是英語CascadingStyleSheets(層疊樣式表單)的縮寫,它是一種用來表現(xiàn)HTML或XML等文件式樣的計算機語言。DIV元素是用來為HTML文檔內(nèi)大塊(block-level)的內(nèi)容提供結構和背景的元素。DIV的起始標簽和結束標簽之間的所有內(nèi)容都是用來構成這個塊的,其中所包含元素的特性由DIV標簽的屬性來控制,或者是通過使用樣式表格式化這個塊來進行控制。CSS+DIV網(wǎng)站設計的優(yōu)勢如下:(1)CSS的極大優(yōu)勢表現(xiàn)在簡潔的代碼,對于一個大型網(wǎng)站來說,可以節(jié)省大量帶寬,而且眾所周知,搜索引擎喜歡清潔的代碼(其真正意義在于,增加了有效關鍵詞占網(wǎng)頁總代碼的比重),因此使用CSS+DIV的web標準制作的網(wǎng)站具有搜索引擎友好的一定優(yōu)勢。(2)CSS+DIV制作的網(wǎng)站使得網(wǎng)站改版相對簡單,很多問題只需要改變CSS而不需要改動程序,從而降低了網(wǎng)站改版的成本。3系統(tǒng)需求分析3.1需求概述 對于本系統(tǒng)來說,主要包括三類用戶的需求: 學生需求,在教評活動開始后,登錄系統(tǒng),對自己的任課教師評價。教師需求,在教評結束后,通過登錄,查看自己的教評結果。管理員需求,登錄之后,可以查看所有教師的評教統(tǒng)計結果,可以對管理員進行刪除和添加操作。3.2系統(tǒng)設想通過需求概述,可以設想到,系統(tǒng)至少要提供對三種不同身份用戶登錄的驗證。學生登錄后,列出本學期所選課程的部分信息,學生可進入評教頁面進行評教或者是查看已評教;教師登錄后,可查看教評結果表中對應自己的記錄統(tǒng)計結果;管理員登錄之后,可查看所有教師的評教統(tǒng)計結果,可以對管理員進行刪除和添加操作。3.3系統(tǒng)的設計目標3.3.1設計目標(1)系統(tǒng)應建立友好的界面,即要操作簡單、直觀、靈活,又要易于學習掌握。這個系統(tǒng)的目的:方便學生對任課教師進行投票,教師和管理員易于對評教的結果進行查詢。如果操作復雜,就失去了推廣價值。(2)系統(tǒng)在用戶輸入用戶名或密碼錯誤時,應具有提示錯誤的功能,以幫助用戶更正。(3)系統(tǒng)在確定用戶名和密碼后,應具有自動連接數(shù)據(jù)庫的功能。(4)在正確連接數(shù)據(jù)庫,查詢到用戶相應的信息后,應在界面顯示相關的信息。(5)系統(tǒng)具有良好的安全性。系統(tǒng)應遵循有關信息安全標準,具有切實可行的安全保護和保密措施3.3.2基本要求(1)實用性軟件設計開發(fā)的最終目的都是應用。本系統(tǒng)操作簡單,方便,并且有很好的拓展性,為將來成為優(yōu)秀的教務管理系統(tǒng)打下了良好的基礎。(2)技術性 本系統(tǒng)采用B/S結構,開發(fā)環(huán)境是在WindowsXPProfessional的開發(fā)平臺上,利用JSP作前臺頁面開發(fā),AppEngine數(shù)據(jù)存儲區(qū)作后臺數(shù)據(jù)庫開發(fā),主要使用Java語言進行程序編寫。本系統(tǒng)采用了MVC三層架構,運行穩(wěn)定,可移植性強。頁面友好清晰美觀,簡單易用,符合人機對話的需要。(3)維護可行性結構化的設計方法,有助于系統(tǒng)開發(fā)過程的管理,因為科學合理的將整個程序劃分多個功能模塊,各模塊單獨設計,用助于降低整個程序的設計難度及減少錯誤程序的影響范圍,各模塊易于實現(xiàn),又使整個程序易于銜接和修改。管理員教師學生查看所有教師的教評結果查看自己的教評結果對管理員教師學生查看所有教師的教評結果查看自己的教評結果對任課教師評教查看所有教師的教評結果用戶登陸判斷類型圖3-1系統(tǒng)業(yè)務流程圖3.5系統(tǒng)數(shù)據(jù)流程分析本評教系統(tǒng)主要的數(shù)據(jù)信息流有:學生信息、課程信息、評教項目信息、評教信息、課程信息、教師信息、教師個人評教統(tǒng)計信息、管理員信息以及所有評教統(tǒng)計信息,下圖是本系統(tǒng)數(shù)據(jù)流圖。學生信息所有評教統(tǒng)計P學生信息所有評教統(tǒng)計P學生評教網(wǎng)教師教師信息個人評教統(tǒng)計信息管理員所有評教統(tǒng)計管理員信息評教信息學生學生信息課程信息評教項目信息圖3-2系統(tǒng)數(shù)據(jù)流程圖3.6功能模塊設計用戶登陸模塊用戶登陸模塊學生評教模塊教師查看個人評教結果模塊管理員查看評教結果模塊用戶注冊模塊網(wǎng)上評教系統(tǒng)管理員管理模塊圖3-3系統(tǒng)主要功能模塊3.6.1用戶注冊模塊(1)學生注冊(2)教師注冊(3)添加管理員3.6.2用戶登錄模塊(1)學生登錄,修改密碼,注銷當前登錄學生信息(2)教師登錄,修改密碼,注銷當前登錄教師信息(3)管理員登錄,修改密碼,注銷當前登錄管理員信息3.6.3學生評教模塊(1)對教師進行教評,并把結果提交到服務器的數(shù)據(jù)庫中(2)對已評教的課程進行查看3.6.4教師查看個人評教結果模塊教師可看到所有評教項目的各個級別的數(shù)據(jù)分布以及百分比。3.6.5管理員查看評教結果模塊 管理員可以查看所有教師的評教統(tǒng)計結果總匯,以及查看單個教師的評教統(tǒng)計結果。3.6.6管理員管理模塊管理員可以對所有管理員進行添加、刪除操作,可以對自己進行修改密碼操作3.7數(shù)據(jù)庫數(shù)據(jù)庫是長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合,它已成為現(xiàn)代信息系統(tǒng)等計算機應用系統(tǒng)的核心和基礎。數(shù)據(jù)庫應用系統(tǒng)把一個企業(yè)或部門中大量的數(shù)據(jù)按DBMS所支持的數(shù)據(jù)模型組織起來,為用戶提供數(shù)據(jù)存儲、維護檢索的功能,并能使用戶方便、及時、準確地從數(shù)據(jù)庫中獲得所需的數(shù)據(jù)和信息,而數(shù)據(jù)庫設計的好壞則直接影響著整個數(shù)據(jù)庫系統(tǒng)的效率和質(zhì)量。3.7.1數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計(DatabaseDesign)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設計數(shù)據(jù)庫的結構和建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建議中的核心技術。由于數(shù)據(jù)庫應用系統(tǒng)的復雜性,為了支持相關程序運行,數(shù)據(jù)庫設計就變得異常復雜,因此最佳設計不可能一蹴而就,而只能是一種“反復探尋,逐步求精”的過程,也就是規(guī)劃和結構化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關系的過程。3.7.2AppEngine數(shù)據(jù)存儲區(qū) AppEngine提供了一個強大的分布式數(shù)據(jù)存儲服務,其中包含查詢引擎和事務功能。AppEngine數(shù)據(jù)存儲區(qū)存儲數(shù)據(jù)對象(稱為“實體”)并對其執(zhí)行查詢。一個實體具有一個或多個屬性(若干受支持數(shù)據(jù)類型中某一類型的命名值)。屬性可以是對另一實體的引用。數(shù)據(jù)存儲區(qū)可以在一個事務中執(zhí)行多個操作,如果任一操作失敗則回滾整個事務。這對于分布式網(wǎng)絡應用程序尤其有用,在這種分布式網(wǎng)絡應用中,多個用戶可以同時訪問或處理同一數(shù)據(jù)對象。與傳統(tǒng)數(shù)據(jù)庫不同,該數(shù)據(jù)存儲區(qū)使用分布式體系結構管理向超大型數(shù)據(jù)集的擴展。AppEngine應用程序可以通過描述數(shù)據(jù)對象之間的關系,以及定義查詢的索引,來優(yōu)化數(shù)據(jù)的分布方式。AppEngine數(shù)據(jù)存儲區(qū)具有高度的一致性,但不是關系數(shù)據(jù)庫。雖然該數(shù)據(jù)存儲區(qū)接口有許多與傳統(tǒng)數(shù)據(jù)庫相同的功能,但也具有獨特的特征,它采用了不同的數(shù)據(jù)設計和管理方式,可以充分利用自動擴展功能。3.7.3數(shù)據(jù)庫連接JDO(JavaDataObject)是Java對象持久化的新的規(guī)范,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標準化API。JDO提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)據(jù)對象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務邏輯上。另外,JDO很靈活,因為它可以在任何數(shù)據(jù)底層上運行。JDBC只是面向關系數(shù)據(jù)庫(RDBMS)JDO更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應用可移植性更強。應用程序的開發(fā)人員通過訪問JDOInstance,達到訪問JDOInstance所代表的數(shù)據(jù)對象,包括:ERP,數(shù)據(jù)庫系統(tǒng)等。使數(shù)據(jù)的存儲介質(zhì)對于應用的開發(fā)人員完全透明。3.7.4JDO與AppEngine配合使用 要使用JDO訪問數(shù)據(jù)存儲區(qū),AppEngine應用程序需進行以下設置:(1)JDO和DataNucleusAppEngine插件JAR必須位于應用程序的war/WEB-INF/lib/目錄。(2)命名為jdoconfig.xml的配置文件必須位于應用程序的war/WEB-INF/classes/META-INF/目錄中,配置為使JDO使用AppEngine數(shù)據(jù)存儲區(qū)。(3)項目的構建過程必須對編譯的數(shù)據(jù)類執(zhí)行后編譯“增強”步驟以使其與JDO實現(xiàn)相關聯(lián)。本系統(tǒng)在MyEclipse8.6上使用了EclipseGoogle插件,則以上三項已經(jīng)處理好。新項目向?qū)DO和DataNucleusAppEngine插件JAR放置在正確的位置上,并創(chuàng)建jdoconfig.xml文件。應用程序使用PersistenceManager類的實例和JDO進行交互??赏ㄟ^實例化并調(diào)用PersistenceManagerFactory類的實例上的方法來獲取此實例。Factory使用JDO配置來創(chuàng)建PersistenceManager實例,方法如下:publicfinalclassPMF{privatestaticfinalPersistenceManagerFactorypmfInstance=JDOHelper.getPersistenceManagerFactory("transactions-optional");privatePMF(){}publicstaticPersistenceManagerFactoryget(){returnpmfInstance;}}3.7.5數(shù)據(jù)庫模型分析評教數(shù)據(jù)最終需要持久化,記錄到數(shù)據(jù)庫系統(tǒng)中,為此,需要專門對數(shù)據(jù)庫進行分析設計。首先,給出系統(tǒng)數(shù)據(jù)庫的概念模型,繪制的實體關系圖(E-R模型)如下:總分總分總人數(shù)平均分教師名教工號評教結果優(yōu)秀中等良好及格不及格查看管理員賬號密碼保存教工號教師密碼系別評分選擇課程教工號課程編號課程名稱教師名學號學生班級編號學號年級系別密碼圖3-4系統(tǒng)E-R模型圖3.7.6數(shù)據(jù)庫設計 本系統(tǒng)涉及到的表如下:表3-1學生表字段名說明類型可否為空主鍵studentNo學號String否主鍵password密碼String否classNo班級String否grade年級String否department系String否表3-2教師表字段名說明類型可否為空主鍵teacherNo教師號String否主鍵password密碼String否department系String否表3-3學生評教表字段名說明類型可否為空主鍵id自增長idLong否主鍵studentNo學號String否courseNo課程號String否courseName課程名稱String否teacherNo教師號String否teacherName教師姓名String否flag評教標志0:未評教1:已評教int否workAttitude教學態(tài)度String是teachingLevel教學水平String是classAtmosphere課堂氣氛String是correctHomework批改作業(yè)String是qaAttitude答疑String是表3-4教師評教統(tǒng)計表字段名說明類型可否為空主鍵id自增長idLong否主鍵teacherNo教師號String否teacherName教師名字String否average平均分double否sum總分int否totlePeopleNum總人數(shù)int否workAttitude_excellent教學態(tài)度_優(yōu)秀Integer是workAttitude_good教學態(tài)度_良好Integer是workAttitude_medium教學態(tài)度_中等Integer是workAttitude_pass教學態(tài)度_及格Integer是workAttitude_fail教學態(tài)度_不及格Integer是teachingLevel_excellent教學水平_優(yōu)秀Integer是teachingLevel_good教學水平_良好Integer是teachingLevel_medium教學水平_中等Integer是teachingLevel_pass教學水平_及格Integer是teachingLevel_fail教學水平_不及格Integer是classAtmosphere_excellent課堂氣氛_優(yōu)秀Integer是classAtmosphere_good課堂氣氛_良好Integer是classAtmosphere_medium課堂氣氛_中等Integer是classAtmosphere_pass課堂氣氛_及格Integer是classAtmosphere_fail課堂氣氛_不及格Integer是correctHomework_excellent批改作業(yè)_優(yōu)秀Integer是correctHomework_good批改作業(yè)_良好Integer是correctHomework_medium批改作業(yè)_中等Integer是correctHomework_pass批改作業(yè)_及格Integer是correctHomework_fail批改作業(yè)_不及格Integer是qaAttitude_excellent答疑_優(yōu)秀Integer是qaAttitude_good答疑_良好Integer是qaAttitude_medium答疑_中等Integer是qaAttitude_pass答疑_及格Integer是qaAttitude_fail答疑_不及格Integer是數(shù)據(jù)庫物理模型如下:圖3-5物理模型圖3.8系統(tǒng)評教與統(tǒng)計的算法設計本系統(tǒng)的評教項目設計以及評價等級設計如下表所示,由于系統(tǒng)暫時設置的評教項目較少,所以設置的分值也較高。表3-5評教項目表評價內(nèi)容滿分評價等級優(yōu)秀良好中等及格不及格工作態(tài)度認真,治學嚴謹202018161410教學水平較高,重點、難點分析透徹202018161410課堂氣氛活躍,帶動學生積極性202018161410作業(yè)適中,批改認真202018161410適時安排輔導、答疑202018161410總計=SUM(ABOVE)100 學生評教時勾選各個評價項目的評價等級,點擊提交后,程序執(zhí)行以下操作:(1)TeacherEvaluation表中對應該評價等級屬性的值+1,如:“工作態(tài)度認真,治學嚴謹”項勾選了優(yōu)秀,則表中的workAttitude_excellent屬性的值+1,該屬性存儲了對應教師這個評教項目優(yōu)秀等級的數(shù)量。(2)給該教師評教的總人數(shù),TeacherEvaluation表中totlePeopleNum屬性值+1。 (3)總分計算。將各個存儲評價等級數(shù)量的屬性的值分別乘以該屬性對應的分數(shù),然后全部相加,即可得到該教師的評教總分。 (4)平均分計算。將總分除以評教人數(shù)即可得到該教師的評教平均分。 管理員查看教師的評教詳細時,可以查看各個評價等級所占對應評教項目的百分比。百分比計算思路如下:將各個評教項目的每個評價等級的數(shù)量,除以該項目所有評價等級相加起來的總數(shù)量,再乘以100%,即得到了該評價等級的百分比。由于百分比是新的數(shù)據(jù)屬性,本系統(tǒng)中沒有設計存儲百分比的數(shù)據(jù)庫表,所以在這里定義了一個外部類Percent來存儲各個百分比值。4系統(tǒng)實現(xiàn)4.1用戶登陸模塊此模塊設計起來相對簡單,是整個系統(tǒng)進入時第一個呈現(xiàn)給用戶的頁面,系統(tǒng)使用下拉列表框控件來對三種不同的身份的用戶的選擇,然后用兩個文本框分別接收用戶輸入的用戶名和密碼,通過點擊登錄按鈕對用戶名和密碼進行確認并提交到服務器。圖4-1用戶登陸界面用戶登陸模塊的具體實現(xiàn),是先根據(jù)選擇的角色,通過頁面上的JavaScript函數(shù)判定后跳轉(zhuǎn)到不同的方法,再把用戶名和密碼設置為要查詢的條件,在數(shù)據(jù)庫中執(zhí)行,如果相應的數(shù)據(jù)庫中有這一條記錄,則認為此用戶存在,被認為是合法的用戶;對于合法的用戶,跳轉(zhuǎn)到對應的主頁面;對于非法的用戶給出錯誤提示,要求重新輸入,直到輸入正確的信息才可以登錄。該模塊設計的關鍵保證合法用戶正常登錄,非法用戶即使通過正確的地址也不能跳轉(zhuǎn),這主要是通過Session變量來判斷,以保證系統(tǒng)的安全性。用戶登陸后,可以進行切換用戶、修改密碼和退出系統(tǒng)這3個系統(tǒng)操作。切換用戶操作會注銷當前的用戶session信息,跳轉(zhuǎn)到登陸頁面;修改密碼操作則進入修改密碼頁面,修改成功或失敗都會跳轉(zhuǎn)到相應的信息提示頁面;退出系統(tǒng)操作則直接關掉該頁面,注銷所有session信息。管理員登陸部分代碼:publicStringlogin(){ Mapsession; session=ActionContext.getContext().getSession(); if(adminService.loadByAdminPw(txtUserName,txtPassword)!=null){ //根據(jù)賬號和密碼到Admin表中查詢,若結果不為空,將賬號保存進session中 session.put("adminUserName",txtUserName); returnSUCCESS; } session.put("loginError","用戶名或密碼錯誤,請重試!"); returnERROR; }4.2用戶注冊模塊 點擊登陸頁面下方的注冊頁面鏈接,即可進入注冊頁面。點擊導航的選項卡,可以選擇要注冊的角色:學生或者是教師。圖4-3注冊界面 學生注冊和教師注冊是在同一個jsp頁面上的2個form表單,一進入頁面首先看到學生注冊表單,教師注冊表單默認為隱藏。點擊導航上的選項卡觸發(fā)JavaScript函數(shù),動態(tài)地將選項卡對應的表單設置為可見,另一個表單設置為隱藏。表單的驗證使用了jquery的表單驗證插件,只有表單填寫通過驗證后方可提交數(shù)據(jù)。通過驗證后,點擊提交按鈕提交到該表單對應的方法執(zhí)行數(shù)據(jù)庫插入操作,如果操作成功則返回登陸頁面,操作失敗返回錯誤頁面。學生注冊部分代碼:publicStringadd(){ Students=newStudent(); s.setStudentNo(studentno); s.setPassword(password); s.setClassNo(classno); s.setDepartment(department); s.setGrade(grade); if(studentService.save(s)){ returnSUCCESS; } returnERROR; }4.3學生評教模塊 學生登陸以后,進入學生主頁,顯示該學生所有已選課程的列表。點擊頁面導航欄中的選項卡,可以選擇已評教的課程或者是未評教的課程,方便查看及評教操作。圖4-4學生主頁 未評教的課程,點擊后面的鏈接進入評教頁面,在該頁面中給各個評教項目勾選評價等級:優(yōu)秀、良好、中等、及格或者是不及格。勾選好以后點擊按鈕提交,彈出提示框“提交后無法修改,確認要提交嗎?”,點擊“確認”則繼續(xù)提交,“取消”則返回頁面;提交成功則頁面跳轉(zhuǎn)回到主頁,不成功則跳轉(zhuǎn)到錯誤頁面。詳細的提交后數(shù)據(jù)處理代碼見附錄。圖4-5學生評教界面 評教之后可以查看自己評教的詳細內(nèi)容,點擊課程后面“已評教”的超鏈接,進入查看頁面。圖4-6評教查看界面4.4教師查看個人評教結果模塊 教師登陸后進入教師主頁。頁面顯示該教師所得評教的總分、平均分、評教人數(shù)、各個評教項目的各個評價等級的分布以及百分比。分布和百分比使用了jQuery的圖表插件將數(shù)據(jù)形象地表示出來,更加直觀和美觀。圖4-7教師主頁4.5管理員查看所有評教結果模塊 管理員登陸后進入管理員主頁,頁面列出所有教師的評教結果,列表按平均分降序排列。除了基本的系統(tǒng)操作外,管理員還可以添加新的管理員。圖4-8管理員主頁 點擊“查看詳細”鏈接,可以查看該教師各個評價項目的評價等級所占的百分比。圖4-9評教詳細頁面詳細的顯示數(shù)據(jù)處理代碼見附錄。4.6管理員管理模塊 管理員登陸以后,可以對所有管理員進行添加、刪除操作,可以對自己進行修改密碼操作。5系統(tǒng)測試5.1系統(tǒng)測試簡述 系統(tǒng)測試,英文是SystemTesting。是將已經(jīng)確認的軟件、計算機硬件、外設、網(wǎng)絡等其他元素結合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。從保證軟件質(zhì)量的角度來說,軟件測試是軟件質(zhì)量保證工程的一個重要組成部分,也是最重要的質(zhì)量保證手段。為了保證所提交的軟件產(chǎn)品能夠滿足客戶的需求,以及在使用中的可靠性,就必須對所開發(fā)的軟件產(chǎn)品進行系統(tǒng)而全面的測試?;谶@一需求,軟件測試作為軟件開發(fā)過程中的一個重要階段,受到了軟件開發(fā)組織的普遍重視,并形成了一整套比較成熟的測試理論和技術方法。軟件測試有兩種方法,黑盒測試和白盒測試。黑盒測試也稱功能測試、輸入/輸出驅(qū)動測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結構和內(nèi)部特性的情況下,只依據(jù)需求規(guī)格說明、設計規(guī)格說明中關于功能的定義,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,是否保持了外部信息(例如數(shù)據(jù)文件)的完整性,是否有數(shù)據(jù)結構錯誤或訪問錯誤,是否有不正確或遺漏了的功能。黑盒測試著眼于程序外部結構,不考慮內(nèi)部邏輯結構,主要針對軟件界面和軟件功能進行測試。白盒測試也稱結構測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結構測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。這一方法是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預期的狀態(tài)一致。從理論上看,不論采用上述哪種測試方式,只要能對每一種可能情況都進行測試,就可以得到正確運行的程序。包含所有可能情況的測試稱之為窮盡測試。但在實際測試中,窮盡測試是不可能、也是無法做到的。使用黑盒測試方式,為了做到窮盡測試,至少必須對所有輸入數(shù)據(jù)的各種可能值的排列組合都測試一次,但由此得到的測試數(shù)據(jù)量往往大到實際上根本無法測試的程度。軟件測試的過程可以用圖5-1的數(shù)據(jù)流程圖表達。圖5-1測試階段的信息流5.2正確認識軟件測試在了解系統(tǒng)測試后,要正確的認識軟件測試:(1)不能徹底測試程序。我們知道,軟件工程的總目標是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項目。在測試階段既然窮舉測試是不可實現(xiàn)的,為了節(jié)省時間和資源,提高測試效率,就必須精心設計測試用例,使得采用這些測試數(shù)據(jù)能夠取得最佳的測試效果。(2)軟件測試的目的不是證實程序的正確性。(3)軟件錯誤是不可避免的。開發(fā)過程中軟件錯誤之所以不可避免,從客觀上講,是由于所開發(fā)的軟件具有相當?shù)膹碗s性。軟件開發(fā)的實踐一再表明,指望整個開發(fā)過程完全不出現(xiàn)人為的差錯是不可能的,問題在于如何能夠及時地發(fā)現(xiàn)和排除各種隱匿的差錯。(4)及時排除早期開發(fā)中的錯誤。這樣可以排除它給后期工作帶來的麻煩。也就避免付出高額的代價,從而大大提高開發(fā)的效率。(5)程序驗證方法無法取代測試。在實際的軟件開發(fā)項目中,測試仍然是最為現(xiàn)實、有效的質(zhì)量保證手段。5.3本系統(tǒng)所作的測試內(nèi)容5.3.1登陸測試測試要點:用戶名和密碼測試路徑:用戶名和密碼是否為真測試結果:為真,進入系統(tǒng);為假,提示重新輸入用戶信息測試效果:表5-1系統(tǒng)入口測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001用戶登錄在首頁輸入用戶名密碼用戶名和密碼為真進入系統(tǒng),否則,提示出錯信息。admin11不符合,用戶名密碼出錯符合002用戶登錄在首頁輸入用戶名密碼用戶名和密碼為真進入系統(tǒng),否則,提示出錯信息。admin1111111符合,登錄系統(tǒng)符合003用戶登錄在首頁輸入用戶名密碼用戶名和密碼為真進入系統(tǒng),否則,提示出錯信息。0751210102222222符合,登錄系統(tǒng)符合根據(jù)上面的系統(tǒng)入口測試用例,如果輸入信息正確,進入系統(tǒng)。如出錯,其測試效果如下圖:圖5-2登錄錯誤提示5.3.2密碼修改測試測試要點:密碼修改測試路徑:密碼修改是否成功測試結果:成功,進入操作成功頁面;不成功,進入錯誤頁面測試效果:表5-2密碼修改測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001密碼修改在修改頁面輸入新密碼數(shù)據(jù)庫更新密碼成功,進入成功提示頁面11111111跳轉(zhuǎn)到成功提示頁面符合根據(jù)上面的密碼修改測試用例,如果成功,進入進入成功提示頁面,其測試效果如下圖:圖5-3修改密碼成功提示5.3.3切換用戶測試測試要點:切換用戶測試路徑:切換用戶是否成功測試結果:成功,回到登陸頁面測試效果:表5-3切換用戶測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001切換用戶點擊“切換用戶”回到登陸頁面跳轉(zhuǎn)到登陸頁面符合5.3.4退出系統(tǒng)測試測試要點:退出系統(tǒng)測試路徑:退出系統(tǒng)是否成功測試結果:成功,網(wǎng)頁關閉測試效果:表5-4切換用戶測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001退出系統(tǒng)點擊“退出系統(tǒng)”網(wǎng)頁關閉網(wǎng)頁關閉符合5.3.5學生評教測試測試要點:學生評教測試路徑:提交評教前彈出確認框,提交后是否成功測試結果:成功,返回學生主頁;失敗,跳轉(zhuǎn)到錯誤頁面測試效果:表5-5學生評教測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001學生評教點擊“未評教”進入評教頁面,勾選評價等級,點擊提交返回學生主頁excellentexcellentexcellentexcellentexcellent返回學生主頁符合表5-5學生評教測試用例 提交前彈出確認框如下圖所示:圖5-4提交確認提示5.3.6學生查看已評教課程和未評教課程測試測試要點:學生查看已評教和未評教課程測試路徑:點擊對應的按鈕,頁面顯示的列表是否相應地改變測試結果:改變正確;改變不正確測試效果:表5-6學生查看已評教和未評教課程測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001已評教點擊“已評教”選項卡顯示已評教的課程列表顯示已評教的課程列表符合002未評教點擊“未評教”選項卡顯示未評教的課程列表顯示未評教的課程列表符合 根據(jù)上面的測試用例,如果成功,正確地顯示已評教或未評教的課程列表,其測試效果如下圖:圖5-5學生查看已評教課程和未評教課程5.3.7管理員刪除測試測試要點:管理員對管理員列表進行刪除操作測試路徑:點擊列表上某管理員后的“刪除”操作,該管理員被刪除測試結果:該管理員被刪除測試效果:表5-7管理員刪除測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001刪除管理員點擊“刪除”操作該管理員被刪除該管理員被刪除符合5.3.8用戶注冊測試測試要點:用戶注冊測試路徑:填寫完注冊表以后點擊注冊按鈕,該用戶被保存測試結果:用戶被保存測試效果:表5-8用戶注冊測試用例編號測試項操作步驟預期結果輸入數(shù)據(jù)實際結果結果比較說明001學生注冊輸入學生注冊所需信息,點擊注冊注冊成功,跳轉(zhuǎn)到登陸界面0751210105注冊成功,跳轉(zhuǎn)到登陸界面符合002學生注冊名檢測輸入0751210105作為學號,點擊注冊彈出提示框:該用戶名已經(jīng)存在!回到注冊頁0751210105彈出提示框:該用戶名已經(jīng)存在!回到注冊頁符合003教師注冊輸入教師注冊所需信息,點擊注冊注冊成功,跳轉(zhuǎn)到登陸界面111注冊成功,跳轉(zhuǎn)到登陸界面符合004教師注冊名檢測輸入111作為教工號,點擊注冊彈出提示框:該用戶名已經(jīng)存在!回到注冊頁111彈出提示框:該用戶名已經(jīng)存在!回到注冊頁符合根據(jù)上面的測試用例,如果成功,頁面跳轉(zhuǎn)回登陸頁面;如果失敗,彈出提示框;其測試效果如下圖:圖5-6用戶名已存在的提示框6系統(tǒng)的不足及改進設想GAEdatastore是一種全新的數(shù)據(jù)庫類型,對于操作類型的系統(tǒng)來說很了不起,但是對于需要頻繁查詢分析數(shù)據(jù)的應用來說卻不是很好,因為它缺乏可用性較好的事務處理和自動內(nèi)聯(lián)機制(join)。目前,由于系統(tǒng)的規(guī)模不是太大,用GAEdatastore更容易操作。如果將來要發(fā)展成一定的規(guī)模,使用MySql數(shù)據(jù)庫和ibatis框架是改進本系統(tǒng)的一個很好的方案。ibatis并不會為程序員在運行期自動生成SQL執(zhí)行,具體的SQL需要程序員編寫。當系統(tǒng)數(shù)據(jù)處理量巨大,性能要求比較苛刻時,這往往意味著我們必須編寫經(jīng)過高度優(yōu)化的SQL語句(或存儲過程)才能達到系統(tǒng)性能設計指標,而不是使用封裝好了的數(shù)據(jù)庫執(zhí)行。由于評教系統(tǒng)需要比較強大的事物處理能力,可以充分利用ibatis的優(yōu)點。本系統(tǒng)所實現(xiàn)的功能比較簡單,存在著以下缺點:(1)數(shù)據(jù)庫表和數(shù)據(jù)字典的設計不夠理想(2)沒有實現(xiàn)一些管理員的功能,如搜索某系教師評教結果、統(tǒng)計某個班對某門課的評教結果、權限設置等。(3)由于數(shù)據(jù)庫的限制,無法通過編寫執(zhí)行性能較高的存儲過程來優(yōu)化數(shù)據(jù)處理,一些比較復雜的事物處理無法實現(xiàn)。7結論本文用較為詳細的文字,介紹了網(wǎng)上智能教評系統(tǒng)的設計與實現(xiàn)。本次論文主要研究的內(nèi)容主要包括:(1)分析研究了本課題的開發(fā)背景和課題的研究意義。(2)對此次畢業(yè)設計進行了詳盡的技術解析以及需求分析,并根據(jù)實際需求,分析了其數(shù)據(jù)字典。(3)詳細介紹了系統(tǒng)的各個模塊實現(xiàn)的功能及其實現(xiàn)思想。(4)列舉了系統(tǒng)測試的測試用例,并分析了測試結果。在本次畢業(yè)設計的過程中,我按照軟件工程的思想,對系統(tǒng)進行了認真詳細的分析、設計、編碼、測試等工作。在這段時間里,經(jīng)過探索和鉆研,我對JavaEE、GAE、以及三層架構有了更進一步的掌握,對系統(tǒng)開發(fā)過程也有了深層次的理解。謝辭歷時近三個多月的畢業(yè)設計即將結束,我的課題也取得一定的成果?;貞涍@幾個月的畢業(yè)設計工作,我頗有感觸。畢業(yè)設計是大學生活的最后一個階段,它不同于以往的課堂教學及課程實習,也不同于畢業(yè)之后真正的工作。它形式自由,實踐性強,是對在大學四年來所學理論知識的一次全面考察,一次綜合性的運用。從需求分析到程序設計及程序的最后測試階段,我都傾入了全部精力,有勞就有收獲,我付出了汗水獲得了知識,這是我的目的。我不僅對自己所做的系統(tǒng)的功能,原理有了深入的了解,熟悉了JAVAEE程序設計的知識以及熟練的使用這項技術開發(fā)簡單B/S系統(tǒng);在設計中我和同學充分交流與溝通,形成了良好的團隊意識,為我以后工作打下基礎。除此之外,受周圍師長們兢兢業(yè)業(yè),踏踏實實的敬業(yè)精神和嚴謹治學態(tài)度的影響,我對自己今后要從事的工作有了更深層次的認識。所以,總體上,我覺得自己的畢業(yè)設計是有很大收獲的,畢業(yè)設計對我今后的影響也是深遠的。本系統(tǒng)設計的方案與現(xiàn)今網(wǎng)上已采用的一些方案相比,具有用戶使用更簡單、界面更直觀美觀等優(yōu)點。整個開發(fā)過程都遵循的軟件工程的要求,高度的模塊化為以后的系統(tǒng)擴展提供了保障。由于時間有限,系統(tǒng)中還有很多不完善之處,還有待以后進一步解決。也許現(xiàn)在做得還不算完善,但我以后會繼續(xù)努力。最后,感謝我的導師老師在我的畢業(yè)設計過程中所給予指導和支持。同時也感謝在這四年中給我欣欣教誨的老師以及那些幫助過我的同學,我在此向你們致意最深的謝意。感謝我的母校——桂林電子科技大學信息科技學院!參考文獻[1]何楓.動態(tài)網(wǎng)站編程基礎[M].成都:西南交通大學出版社,2003:20-25[2]林少景.網(wǎng)頁特效編程百例[M].清華大學出版社:35-40[3]光軍.

動態(tài)網(wǎng)站設計編程技法[M].北京:北京航空航天大學出版社,2001:93[4]王迪.建設與維護你自己的網(wǎng)站[M].北京:中國鐵道出版社,2003:50-52[5]趙祖茚.網(wǎng)頁制作教程[M].清華大學出版社,2000:33-36[6](美)PaulMcFedries著;歐陽宇,張治坤等譯.JavaScript開發(fā)使用手冊[M].北京:機械工業(yè)出版社,2002.1.[7]楊湘清,胡耀榮,楊健康.學生評教與高等教育質(zhì)量保障[J].高等理科教育,2003.6.[8]安世全,關媛媛.“學生評教”的研究與思考[J].大學教育科學,2003.1.[9]李建芬,饒國軍.高校學生評教的有效性及改進措施[J].教育理論與實踐,2004.10.[10]曹夢霞,龔方紅.網(wǎng)上學生評教的嘗試及學生評教的意義[J].理工高教研究,2003.5.附錄學生評教代碼如下:publicStringupdate(){ TchEvaOfOneStutes=tesService.showByStunoCouno(studentno,courseno).get(0); TeachingEvaluationte=teService.loadByTeacherNo(teacherno); if(te!=null){//如果該老師的評價已經(jīng)存在,則修改 intsum=te.getSum(); if(workAttitude.equals("excellent")){ te.setWorkAttitude_excellent(te.getWorkAttitude_excellent()+1); sum=sum+20;//總分增加 } elseif(workAttitude.equals("good")){ te.setWorkAttitude_good(te.getWorkAttitude_good()+1); sum=sum+18; } elseif(workAttitude.equals("medium")){ te.setWorkAttitude_medium(te.getWorkAttitude_medium()+1); sum=sum+16; } elseif(workAttitude.equals("pass")){ te.setWorkAttitude_pass(te.getWorkAttitude_pass()+1); sum=sum+14; } elseif(workAttitude.equals("fail")){ te.setWorkAttitude_fail(te.getWorkAttitude_fail()+1); sum=sum+10; } if(teachingLevel.equals("excellent")){ te.setTeachingLevel_excellent(te.getTeachingLevel_excellent()+1); sum=sum+20; } elseif(teachingLevel.equals("good")){ te.setTeachingLevel_good(te.getTeachingLevel_good()+1); sum=sum+18; } elseif(teachingLevel.equals("medium")){ te.setTeachingLevel_medium(te.getTeachingLevel_medium()+1); sum=sum+16; } elseif(teachingLevel.equals("pass")){ te.setTeachingLevel_pass(te.getTeachingLevel_pass()+1); sum=sum+14; } elseif(teachingLevel.equals("fail")){ te.setTeachingLevel_fail(te.getTeachingLevel_fail()+1); sum=sum+10; } if(classAtmosphere.equals("excellent")){ te.setClassAtmosphere_excellent(te.getClassAtmosphere_excellent()+1); sum=sum+20; } elseif(classAtmosphere.equals("good")){ te.setClassAtmosphere_good(te.getClassAtmosphere_good()+1); sum=sum+18; } elseif(classAtmosphere.equals("medium")){ te.setClassAtmosphere_medium(te.getClassAtmosphere_medium()+1); sum=sum+16; } elseif(classAtmosphere.equals("pass")){ te.setClassAtmosphere_pass(te.getClassAtmosphere_pass()+1); sum=sum+14; } elseif(classAtmosphere.equals("fail")){ te.setClassAtmosphere_fail(te.getClassAtmosphere_fail()+1); sum=sum+10; } if(correctHomework.equals("excellent")){ te.setCorrectHomework_excellent(te.getCorrectHomework_excellent()+1); sum=sum+20; } elseif(correctHomework.equals("good")){ te.setCorrectHomework_good(te.getCorrectHomework_good()+1); sum=sum+18; } elseif(correctHomework.equals("medium")){ te.setCorrectHomework_medium(te.getCorrectHomework_medium()+1); sum=sum+16; } elseif(correctHomework.equals("pass")){ te.setCorrectHomework_pass(te.getCorrectHomework_pass()+1); sum=sum+14; } elseif(correctHomework.equals("fail")){ te.setCorrectHomework_fail(te.getCorrectHomework_fail()+1); sum=sum+10; } if(qaAttitude.equals("excellent")){ te.setQaAttitude_excellent(te.getQaAttitude_excellent()+1); sum=sum+20; } elseif(qaAttitude.equals("good")){ te.setQaAttitude_good(te.getQaAttitude_good()+1); sum=sum+18; } elseif(qaAttitude.equals("medium")){ te.setQaAttitude_medium(te.getQaAttitude_medium()+1); sum=sum+16; } elseif(qaAttitude.equals("pass")){ te.setQaAttitude_pass(te.getQaAttitude_pass()+1); sum=sum+14; } elseif(qaAttitude.equals("fail")){ te.setQaAttitude_fail(te.getQaAttitude_fail()+1); sum=sum+10; } te.setTotlePeopleNum(te.getTotlePeopleNum()+1);//評教人數(shù)+1 te.setSum(sum); te.setAverage((double)sum/(te.getTotlePeopleNum())); updateTchEvaOfOneStu(tes);//更新選課表,并將評教flag設為1 if(teService.update(te,te.getId())&&tesService.updateEvaluation(tes)){ returnSUCCESS; } } else{//如果不存在,則加入該老師的評價數(shù)據(jù) intsum=0; te=newTeachingEvaluation(); te.setTeacherNo(teacherno); te.setTeacherName(teachername); if(workAttitude.equals("excellent")){ te.setWorkAttitude_excellent(1); sum=sum+20; } elseif(workAttitude.equals("good")){ te.setWorkAttitude_good(1); sum=sum+18; } elseif(workAttitude.equals("medium")){ te.setWorkAttitude_medium(1); sum=sum+16; } elseif(workAttitude.equals("pass")){ te.setWorkAttitude_pass(1); sum=sum+14; } elseif(workAttitude.equals("fail")){ te.setWorkAttitude_fail(1); sum=sum+10; } if(teachingLevel.equals("excellent")){ te.setTeachingLevel_excellent(1); sum=sum+20; } elseif(teachingLevel.equals("good")){ te.setTeachingLevel_good(1); sum=sum+18; } elseif(teachingLevel.equals("medium")){ te.setTeachingLevel_medium(1); sum=sum+16; } elseif(teachingLevel.equals("pass")){ te.setTeachingLevel_pass(1); sum=sum+14; } elseif(teachingLevel.equals("

溫馨提示

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

評論

0/150

提交評論