??圃盒=虒W質量實時測評系統設計_第1頁
??圃盒=虒W質量實時測評系統設計_第2頁
專科院校教學質量實時測評系統設計_第3頁
??圃盒=虒W質量實時測評系統設計_第4頁
專科院校教學質量實時測評系統設計_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

??圃盒=虒W質量實時測評系統設計與研究姓名:____________________專業(yè):____________________學院:____________________指導老師:__________________完成日期:__________________教學質量實時測評系統可以方便和全面地收集教師教學工作的數據,提供師生網上評教的評分結果,快速集中收集各方面的評教信息,使教務管理部門能夠及時了解教學動態(tài)和師資情況,為教務老師提供相關決策支持,為職稱評聘提供教學工作質量的科學依據,同時減輕了教務老師的工作量。系統用戶分為三類,分別是學生、教師和管理員。學生可以在互聯網上選課并對教師及其所教授的課程進行打分、留言,教師可以查看學生對自己的評教結果和留言以及對其同行的教學質量進行評估,管理者可以對學生以及教師同行評教的信息進行查詢和統計,同時可以查看教師排行榜并打印。查詢可根據查詢條件的不同顯示不同的查詢結果,同時也可根據統計要求顯示不同的結果。系統是基于WindowsXP操作系統,采用JSP開發(fā),并使用SQLSERVER2000數據庫來實現。關鍵詞:教學;評教;數據庫;統計;JSP:

DesignandImplementationofOnlineTeachingQualityEvaluationSystemAbstractTheonlineteachingqualityevaluationsystemcancollectthedataofteachingworkconvenientlyandcomprehensively,offerthescoreresultsofonlineteachingevaluationbyteachersandstudents,collecttheinformationofteachingevaluationfromdifferentfieldsfast,enabletheadministrativedepartmenttofindoutaboutteachingdevelopmentandteachers'situationintime,offerrelevantdecisionsupporttotheteachersofeducationaladministration,offerthescientificbasisofteachingworkqualityforthethingthattheprofessionaltitleiscommentedandengaged,reducetheworkloadfortheteachersofeducationaladministrationatthesametime.Theusersofthissystemaredividedintothreekindsthatincludestudent,teacherandadministrator.Studentsmayselectthelessonandgiveascore,makecommentstotheteacheronInternet;theteachercanlookovertheresultsandcommentsoftheteachingevaluationandevaluateteachingqualityofotherteachers.Theadministratorcaninquirethecommentinformationandlookoverteacher'sbillboardandtypetheresultsatthesametime.Inquirethatcanbeshowingdifferentinquiryresultsaccordingtodifferentconditionofinquiring,atthesametime;itcanshowdifferentresultsaccordingtothestatisticsrequest.ThesystemisbasedonWindowsXPoperationsystem,adoptJSPtodeveloplanguages,thedatabaseisSQLSERVER2000.keywords:teaching;evaluationofteaching;statistics;database;JSP

目錄1引言 11.1課題背景 11.2目的意義 12開發(fā)工具、技術簡介及運行環(huán)境 12.1開發(fā)工具簡介 12.1.1sqlserver2000簡介 12.1.2Tomcat簡介 12.1.4MicrosoftSQLServer2000DriverforJDBC簡介 22.2開發(fā)技術簡介 22.2.1JSP簡介 22.2.2SQL簡介 32.3運行環(huán)境 32.3.1軟件準備 32.3.2環(huán)境變量的配置 32.3.3測試默認服務器 42.3.4測試項目 43需求分析 43.1系統功能設計 43.2系統設計思想 43.3數據庫分析 53.3.1數據庫需求分析 53.3.2數據庫概念結構 53.3.3數據庫邏輯結構設計 64總體設計 74.1系統功能設計 74.2系統功能圖 74.3系統功能流程圖 85詳細設計和實 85.1系統頁面主體設計 85.2數據操作類 95.3學生界面及其基本功能的實現 125.3.1學生登錄 125.3.2個人信息顯示 125.3.3網上選課 125.3.3網上評教 145.3.4更改密碼和退出 155.4教師頁面及基本功能的實現 165.4.1評分查看 185.4.2留言查看 205.5管理員頁面及其基本功能的實現 226系統測試 246.1學生評教功能測試 246.2教師查看評分和留言功能測試 266.3管理員統計功能測試 28結論 30參考文獻 32致謝 33聲明 341引言1.1課題背景教學評估工作是教學行政部門對高等學校教學質量進行宏觀監(jiān)督的重要手段,目的是提高教育教學質量。教學評估是學校教學管理的一項重要內容,如何科學地、全面、客觀公正地評估教師的師德水平和業(yè)務素質,是一項理論上和實踐上都十分重要的工作。通過學校各層次人員對教學的教學質量進行民主評估,評測結果和分析報表可以幫助學校領導及時全面的掌握全校教師教學業(yè)務狀況,幫助教師有針對性的改進工作方法、提高教學質量。教學質量評估方面,傳統的成績單或者家長手冊已經遠遠不能滿足對教學過程中大量有效信息的分析利用。隨著現代教育技術和管理方法的發(fā)展以及教學系統化理念的實施研究,我們應該通過精細客觀的評價來監(jiān)督,促進老師的教與學生的學,活化了教學信息,增強對教學質量的分析和監(jiān)控。1.2目的意義開發(fā)《教師教學質量評教系統》有兩方面的好處:一是《教師教學質量評教系統》的實用性,一個好的《教師教學質量評教系統》會將一個龐大投票評優(yōu)工作井井有條的管理起來,計算機與人的不同就在于,計算機是機械的,精確的,它不會使管理工作出現差錯。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠大大減輕教工人員的工作量,提高辦事效率;各一方面好處,設計《教師教學質量評教系統》只是一種手段,通過它使我可以更好的了解計算機的工作過程,掌握開發(fā)語言的使用方法,掌握開發(fā)各種項目的工作技能,適應迅猛發(fā)展的社會。2開發(fā)工具、技術簡介及運行環(huán)境2.1開發(fā)工具簡介2.1.1sqlserver2000簡介建立一個數據庫我們有多種選擇,現在市場上有各種各樣的數據庫,而且每一種數據庫都有其自身的特點,不能說哪一種更好,只能在其中尋找一種能更好地適應系統需求、更好地滿足用戶的要求以及適應開發(fā)人員的習慣。在本系統中我選擇了sqlserver2000數據庫。sqlserver2000做為一個數據庫管理系統,采取了關系型數據庫模式,利用它可以方便地實現對信息保存、維護、查詢、統計,這些功能對一個一般用戶而言已經足夠了。2.1.2Tomcat簡介Tomcat是一個免費的開源的Serlvet容器,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現同時由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。與傳統的桌面應用程序不同,Tomcat中的應用程序是一個WAR(WebArchive)文件。WAR按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。在Tomcat中,應用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet文件,然后編譯。編譯以后,訪問將會很快。在Tomcat中,你還可以利用Servlet提供的事件監(jiān)聽器功能,來對你的應用或者Session實行監(jiān)聽。Tomcat也提供其它的一些特征,如與SSL集成到一塊,實現安全傳輸。還有Tomcat也提供JNDI支持,這與那些J2EE應用服務器提供的是一致的?;赥omcat的開發(fā)其實主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。2.1.4MicrosoftSQLServer2000DriverforJDBC簡介與數據庫的交互是動態(tài)網站的一個重要組成部分。JSP中使用JDBC技術來實現與數據庫的連接,它提供了JSP操作數據庫的各種接口程序。通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給數據庫。簡單的來說,JDBC實現3個功能:同一個數據庫建立連接、向數據庫發(fā)送SQL語句和處理數據庫返回的結果。微軟推出的JDBC驅動程序MicrosoftSQLServer2000DriverforJDBC可以實現直接與SQLserver2000數據庫的連接,從而方便了開發(fā)人員對數據庫的操作。2.2開發(fā)技術簡介2.2.1JSP簡介JSP技術是用JAVA語言作為腳本語言的,JSP網頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。JSP(JavaServerPages)是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。在傳統的網頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發(fā)送email等等,這就是建立動態(tài)網站所需要的功能。所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無JavaApplet,甚至無Frame。2.2.2SQL簡介用戶對數據庫的使用,是通過數據庫管理系統提供的語言來實現的。不同的數據庫管理系統提供不同的數據庫語言。關系數據庫管理系統幾乎都提供關系數據庫標準語言——SQL。

SQL的全稱是StructuredQueryLanguage,即結構化查詢語言。SQL語句可以從關系數據庫中獲得數據,也可以建立數據庫、增加數據、修改數據。1986年ANSI采用SQL語言作為關系數據庫系統的標準語言,后被國際化標準組織(ISO)采納為國際標準。SQL語言使用方便、功能豐富、簡潔易學,是操作數據庫的工業(yè)標準語言,得到廣泛地應用。例如關系數據庫產品DB2、ORACLE等都實現了SQL語言。同時,其它數據庫產品廠家也紛紛推出各自的支持SQL的軟件或者與SQL的接口軟件。這樣SQL語言很快被整個計算機界認可。SQL語言是一種非過程化語言,它一次處理一個記錄集合,對數據提供自動導航。SQL語言允許用戶在高層的數據結構上工作,而不對單個記錄進行操作。SQL語言不要求用戶指定數據的存取方法,而是使用查詢優(yōu)化器,由系統決定對指定數據存取的最快速手段。當設計者在關系表上定義了索引時,系統會自動利用索引進行快速檢索,用戶不需知道表上是否有索引或者有什么類型的索引等細節(jié)。SQL語言可以完成許多功能,例如:

(1)查詢數據

(2)在數據庫表格中插入、修改和刪除記錄

(3)建立、修改和刪除數據對象

(4)控制對數據和數據對象的存取

(5)確保數據庫的一致性和完整性2.3運行環(huán)境2.3.1軟件準備首先在官方網站下載了JDK1.6.0和Tomcat5.0、SQLserver2000個人版,,然后把下載的壓縮包根據安裝向導安裝到C盤下。2.3.2環(huán)境變量的配置在彈出菜單中選擇"屬性"→"系統特性"→"高級"→"環(huán)境變量",彈出環(huán)境變量對話框,就可以編輯系統的環(huán)境變量了。2.3.3測試默認服務器啟動Tomcat后,打開瀏覽器,在地址欄中輸入http://localhost:8080(Tomcat默認端口為8080),如果在瀏覽器中看到Tomcat的歡迎界面,表示Tomcat工作正常。2.3.4測試項目首先編寫一個test.jsp文件,使其在頁面顯示“HelloWorld!”。然后把test.jsp放在C:\Tomcat5.0\webapps\ROOT目錄下,在地址欄輸入http://localhost:8080/test.jsp,如果瀏覽器顯示“HelloWorld!”,則說明環(huán)境變量配置成功了。3需求分析3.1靜態(tài)數據靜態(tài)數據是系統內部有關的數據結構與操作規(guī)程.具體可包括:學生信息表格students_Info老師基本信息表teachers_Info查詢基本信息表格select_Info選課信息表格corse_InfoStudent表列名數據類型可否為空描述備注IdVarchar(12)Notnull用戶名passwordVarchar(12)Notnull密碼nameVarchar(12)Notnull學生姓名Teacher表列名數據類型可否為空描述備注IdVarchar(12)Notnull用戶名passwordVarchar(12)Notnull密碼nameVarchar(12)Notnull教師姓名Select表列名數據類型可否為空描述備注S_idVarchar(12)Notnull學生idt_idVarchar(12)Notnull教師idC_idVarchar(12)Notnull選課號Course表列名數據類型可否為空描述備注C_idVarchar(12)Notnull選課號nameVarchar(12)Notnull對應課程名稱3.2動態(tài)數據動態(tài)數據包括程序運行時輸入和輸出的數據,具體是數據庫的各個表的各個不同元組與屬性值.可以用數據流圖來描述如下:圖(1-1)3.3數據庫介紹本系統的實體有:教師實體,學生實體,選課實體,查詢情況實體各個實體具體的描述E-R圖如下教師教師姓名代課類別描述辦公室電話教師實體E-R圖.圖(1-2)學生女工學生女工地址年齡系性別姓名學號學生實體E-R圖圖3-3選課學號選課學號課程號學期名稱成績備注選課實體E-R圖圖3-4 1 查詢 1 課程 1 查詢 1 課程教師評估學生講授查詢選擇實體之間關系E-R圖.圖3-63.4.功能需求3.4.1功能劃分按照功能將其劃分為大體的模塊,為其以后的模塊連接作出抽象的整體布局1)實現學生班級注冊的功能2)實現教師數據管理的功能3)對評教信息的錄入及統計功能3.4.2功能描述此軟件系統實現對全校任課老師數據進行管理,包括錄入、增加、刪除、查詢等;從教師授課的班級中選擇半數學生組成學生評價小組,參加評教的班級進行注冊;每個學生按照評價指標對教師作出評判,當評判的檔次不明顯時,給出提示,指示學生重新評判,以免無用的數據出現。對評教的數據進行處理,得出各個教師的綜合評價成績,并作記錄,對該評價的數據和最終結果可以查詢打印,并可打印綜合成績表。3.5.性能需求3.5.1數據精確度該軟件的輸入、輸出數據精度的要求是要準確的評教結果不,不可出現含糊不清的評價,可能包括傳輸過程中的精度不能發(fā)生變化。輸入輸出數據的精度來源于用戶業(yè)務流程中各種操作所涉及到的數據精度。3.5.2時間特性說明對于該軟件的時間特性要求,如下:

a.響應時間:不能太慢,影響用戶的使用,大約在4ms-8ms之間

b.更新處理時間:必須可以對所錄入的數據快速的處理,得出評教的結果,基本處理更新時間不能延遲過多,最多1-3秒;

c.數據的轉換和傳送時間:對學生的注冊以及教師評價結果的傳誦和轉化時間可以進行合理的設置,使其不影響用戶的使用,滿足用戶的需要為關鍵;

d.解題時間:對錄入的評價結果要可以在短時間內產生評教結果和相關的查詢3.5.3適應性說明對該軟件的靈活性的要求,即當需求發(fā)生某些變化時,該軟件對這些變化的適應能力,如:

a.操作方式上的變化:可以靈活的對所錄入的數據進行更改;

b.運行環(huán)境的變化:運行環(huán)境需要支持WIN2000以上的運行機器環(huán)境,對于更高級的操作系統,軟件可作進一步的維護以實現其穩(wěn)定性;

c.同其他軟件的接口的變化:借口流量不能過小,與其他軟件可進行快速的信息交換和處理;

d.精度和有效時限的變化:大約在3-5年時間可以應用;

e.計劃的變化或改進:隨后會對軟件進行一系列的更新維護,使其更加完善。3.6.運行需求用戶界面可只管形象的體現其功能,要求操作簡單,適合基本用戶使用硬件接口a.與各種外部存儲設備可以進行直接的數據交換b.與系統特殊外設的接口,如打印機,必須可以迅速執(zhí)行打印命令c.與中間件的接口,如接口規(guī)范、入口參數、出口參數、傳輸頻率等軟件接口a.與學校的監(jiān)控系統、控制系統、財務系統、等接口要吻合,數據流量有一定的限制,但不可過小b.與系統特殊外設的接口,如打印機,必須可以迅速執(zhí)行打印命令c.與中間件的接口,如接口規(guī)范、入口參數、出口參數、傳輸頻率等故障處理有可能出現一些軟件功能實現不迅速或響應時間較慢,對次需要以后對起作更全面的維護。加速其運行的速度。3.7數據庫分析3.7.1數據庫需求分析數據庫需求分析就是要了解在這個系統中,用戶需要查詢、更新、刪除和保存哪些數據,收集基本數據、數據結構以及數據處理的流程,組成一份詳盡的數據字典,為后面的具體設計打下基礎。針對教師教學質量評估系統功能的需求,總結出如下需求信息。(1)用戶分教師、學生和管理員。(2)教師擔任一門或多門課程。(3)學生能選修一門或多門課程,學生選擇的課程要有選課記錄。(4)學生對自己所選擇的課程相對應的教師進行教學評估(進行打分),并根據情況意愿留言。(5)教師根據自己所授課程查看學生對自己的評分,同時查看學生對自己的留言。經過需求總結,考慮到將來功能上的擴展,設計如下數據項和數據結構。(1)學生,包括數據項:學號、姓名、系名、班名、密碼等。(2)教師,包括數據項:教師ID、姓名,所屬院系、所授課程、所帶班級、密碼等。(3)管理員,包括數據項:管理員ID、密碼等。(4)課程,包括數據項:課程編碼、課程名稱、授課教師等。(5)選課記錄,包括數據項:課程編號、課程名稱、學號。(6)學生分數記錄表:包括數據項:學號、教師姓名、課程名稱、分數。(7)教師分數記錄表:包括數據項:教師ID、教師姓名、所屬院系、所授課程、分數(8)留言,包括數據項:留言、編號、教師姓名等。3.7.2數據庫概念結構得到上面的數據項和數據結構以后,就可以設計出能夠滿足用戶需求的各種實體以及實體之間的關系,為后面的數據庫邏輯結構設計打下基礎。這些實體包括各種具體信息通過互相之間的作用形成數據流動。本系統根據上面的設計規(guī)劃出的實體有:學生實體、教師實體、管理員實體、課程實體、選課實體、學生分數記錄實體、教師分數記錄實體、留言實體。實體之間的關系的E-R圖如下所示。.11111pm課程選擇學生教師n上課m分數記錄記錄教師實體E-R圖如下:教師教師教師編號教師姓名性別所授課程職稱密碼所帶班級所屬院系圖3教師實體E-R圖其他實體的E-R圖比較簡單,這里就不詳細介紹了。3.7.3數據庫邏輯結構設計數據庫概念結構設計完后,將數據概念結構轉化為數據庫系統所支持的實際數據模型,也就是數據庫邏輯結構。教師教學質量評估系統中各個表設計如下:圖4數據表示意圖在設計表的過程中,由于每個表設計為獨立的表,所以沒有設計主鍵。系統處理數據庫的數據,就根據表內字段的內容來進行查詢,刪除,更新,插入等。4.整體模塊劃分:該模塊包括兩個要素:1.確定每個學生對應的任課老師。2.系統形成該老師對應的調查表。下面是具體的流程。模塊說明:學生初次登陸,以學號為初始用戶名,身份證號碼為初始密碼,驗證成功方可通過,進行評分,學生可以在第一次登陸之后跟改密碼,分為兩種登陸方式:別名登陸(即使可以用身份證號登陸),實名登陸(用修改過的第二密碼)。學生登陸后,看到任課老師名單,點擊進入進行評分,如下圖。

每個學生一次只可以選一個老師,調出調查表。并且對每一位老師只可評估一次,即評估完之后,老師前的選項進行限制,不可再選。每位學生必須對老師評估,如果有學生在規(guī)定時間內未對老師進行評估,則系統自動進行催促。每次評估時間,由班長提醒學生在一定時限內(例如10天)登陸系統進行評分,經過一定時間(如7天)系統自動按年級,班級統計沒有參加評估的同學名單,由輔導員(年級長)通知各班班長再次催請。未參評者可以給予德育考評懲罰(事先言明)。該模塊基本已完成,但在將學生評估表提交數據庫這一環(huán)節(jié)上出現了問題。4.1評估計算模塊表單提交后的一系列后臺處理。是按照一定方法對老師所得各項分數的統計。根據學生評分結果表進行統計分析WorknumCourseidScore1-10TotalScore教師工作號課程號各單項得分總得分采用一定的統計方法,暫定如下TotalScore=Score1*Power1+……+Score10*Power10;Poweri為第i個評測項目的得分權值。評估項目以及權數表應該在評估進行前研究決定,得到廣大教師支持后公開發(fā)布。經過計算后,結果存入教師得分表中。WorknumTeachernameSdepartCoursenamefinalScore教師工作號教師姓名任教系(班)別課程名最終得分由于未能形成學生評分結果表,這個模塊只做了算法設計,沒有進行頁面實現。4.2查詢模塊教師可查詢本人的總得分、各分項得分及所在院(系)的平均分,也可以查看全院老師的整體排名。并可通過數據庫的歷史記錄對以往的得分進行同樣的操作。模塊說明:一開始本教學評估系統整合了留言功能,所以需要分配老師權限。若為普通教師權限登錄,能查看考核分數和學生對自己的留言,如果有最新的學生留言,系統會彈出對話框提示,但留言是匿名的。如果是高級權限,即領導查詢,可以查看某個教師的評估結果和學生留言,也可以選擇查看所有教師評估和學生留言。而且學生留言學生的姓名,id是可見的。而且領導查詢可以查看最近的所有留言,如最近的100條留言。4.3意見反饋模塊模塊說明:學生成功登陸后可以點擊教師的姓名,然后出來一個留言的選項,如果學生希望用文字的形式給教試題供意見的話,可以寫下來,然后提交,如果提交成功的話,留言則已經形成,教師如果登陸的話將會顯示有最新留言需要閱讀。留言不是每個學生必須的選項,只是除了選項之外,給老師和學生提供更具有自由度交流的平臺,所以同樣教師可以根據留言進行自我測評,給學生以反饋信息。由于進度關系,最終的數據庫表設計、代碼實現大都沒加入留言功能,這就只能作為項目將來的擴展了。4.4管理員模塊主要是根據實際情況對教師、學生、課程的各項數據進行日常維護管理。導出最終數據打印成現實文件。這個模塊我們已經順利完成,所有功能都已實現。1.后臺管理之添加課表2.后臺管理之學生管理4.5系統功能設計本系統分為學生操作界面、教師操作界面和管理員操作界面。學生界面能完成如下操作。(1)個人信息:通過該功能模塊,學生能查看自己的學號和班級等信息。(2)網上教學:通過該功能模塊,學生能進行選課,及其對已選課程的授課教師的評教。(3)其他:通過該功能模塊,學生能修改密碼,保證用戶的安全性,以及能夠退出系統。教師界面能完成如下操作:(1)個人信息:通過該功能模塊,教師能查看自己的教師編號和所在院系等信息。(2)信息管理:通過該功能模塊,教師能夠查看學生對自己所授課程的評分和留言。(3)其他:通過該功能模塊,教師能修改密碼,以及能夠退出系統。管理員界面能完成如下操作:(4)學生管理:通過該功能模塊,管理員能夠查看學生信息,以及對學生的添加、更新、刪除。(5)教師管理:通過該功能模塊,管理員能夠查看教師信息,以及對教師的添加、更新、刪除。(6)課程管理:通過該功能模塊,管理員能夠查看課程信息,以及對課程的添加、更新、刪除。(7)統計:通過該功能模塊,管理員能對學生及其教師同行的評分進行查看,以及被評教師在院系的得分排行榜。(8)其他:通過該功能模塊,管理員能夠對學生、教師、管理員的密碼修改,以及能夠退出系統。4.6系統設計思想本系統存在3種用戶:學生、教師、管理員。學生和教師用管理員給定的帳號、密碼登陸頁面進行操作。登陸判定上首次基于數據庫驗證,然后把用戶信息寫進session,然后其他頁面采用session驗證。系統結構上采用頁面鑲嵌程序和語句,工作原理如下圖所示。操作請求,運用SQL語句操作數據庫操作請求,運用SQL語句操作數據庫返回查詢結果集或操作結果SQLServer2000用戶界面數據庫存儲層教師教學質量評估系統操作界面圖1系統工作原理圖在系統結構中,用戶界面層通過統一的接口向數據庫存儲層發(fā)送請求,數據庫存儲層收到請求處理之后把數據返回到用戶界面層。4.7系統功能圖通過系統功能設計,畫出系統功能圖如下:圖5系統功能圖4.8系統功能流程圖系統的功能流程如下圖:統計結果統計結果開始開始選擇用戶登錄查看個人得分身份認證管理員教師獲得用戶身份填寫評估表填寫意見學生填寫評估表查看學生意見數據分析圖6系統功能流程圖5詳細設計和實5.1系統頁面主體設計系統登陸頁面設計如圖:圖7登陸界面圖學生頁面設計如圖:圖8學生界面圖5.2數據操作類基本的數據庫操作都被封裝到DB類,該類對數據庫訪問的方法包括了數據庫的連接、查詢、插入、刪除、更新等操作。在開發(fā)過程中,涉及到數據庫的操作時,可以直接調用DB的方法。這樣可以提高開發(fā)人員的效率,充分體現了組件的重用性。類代碼如下:packageJavabeans;importjava.sql.*;publicclassDB{privateConnectioncon;privateStatementstm;privateResultSetrs;privateStringclassname="com.microsoft.jdbc.sqlserver.SQLServerDriver";privateStringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=教師教學質量評估系統";publicDB(){}publicConnectiongetCon(){ try{ Class.forName(classname); } catch(ClassNotFoundExceptione){ e.printStackTrace(); } try{ con=DriverManager.getConnection(url,"sa",""); } catch(Exceptione){ e.printStackTrace(System.err); con=null; } returncon;}publicStatementgetStm(){ try{ con=getCon(); stm=con.createStatement(); }catch(Exceptione){e.printStackTrace(System.err);} returnstm; } publicStatementgetStmed(){ try{ con=getCon(); stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); }catch(Exceptione){e.printStackTrace(System.err);} returnstm;} publicResultSetsearch(Stringsql){if(sql==null)sql="";System.out.println("sql:"+sql); try{ stm=getStmed(); rs=stm.executeQuery(sql); } catch(Exceptione){e.printStackTrace();}returnrs; } publicintdosql(Stringsql){intnum=-1; if(sql==null)sql=""; try{ stm=getStmed(); num=stm.executeUpdate(sql); } catch(Exceptione){e.printStackTrace();num=-1;}returnnum; } publicvoidclosed(){ try{ if(rs!=null)rs.close(); } catch(Exceptione){e.printStackTrace();} try{ if(stm!=null)stm.close(); } catch(Exceptione){e.printStackTrace();} try{ if(con!=null)con.close(); } catch(Exceptione){e.printStackTrace();} }}5.3學生界面及其基本功能的實現5.3.1學生登錄在使用本系統時均需要登錄后,才可使用,登錄時會讓你輸入用戶名,及用戶密碼。用戶名均是管理員分配給每位用戶的且具有唯一性,用戶自己不可更改,但是用戶自己可以更改密碼。在登錄時,系統根據你輸入的用戶名和密碼,給出不同的提示信息,如果用戶名和密碼正確,將會提示進入學生主頁面進行操作,如果用戶名和密碼不正確,將會提示返回登陸主頁面重新登陸。提示部分代碼如下:<%intn=0; Stringsql="select*fromstudentwhere學號='"+username+"'and密碼='"+userpassword+"'"; ResultSetrs=oo.search(sql); rs.last(); if(rs.getRow()==0){%><ahref="/netteaching/index.jsp"class="STYLE1">[返回]</a> <%} else{%> <ahref="index.html"class="STYLE1">[進入]</a> <%}%>其中username和userpassword是利用JSP中request對象的getParameter方法從表單中讀取的值,同時在代碼設計中將值傳遞給JSP中的session對象,方便在其他頁面中使用。5.3.2個人信息顯示學生登錄后,查看個人信息,將會顯示學生的學號,班級,班名等信息,此實現比較簡單,就不重點闡述了。5.3.3網上選課學生選擇一門要學習的課程,選擇后將結果錄入到選課記錄表中,其中已經選擇了的課程不能重復選擇。實現過程中對數據庫的操作是利用IN把course、teacher、student3個表聯系起來進行查詢將得到學生所需要學習的課程信息顯示在頁面上供學生進行選課,同時利用超鏈接傳遞課程編號、課程名稱的值,以及利用session對象的getAttribute方法得到的學號一起錄入到選課記錄表中。關鍵代碼如下:(1)課程的顯示 Stringcourse_code=""; Stringcourse_name=""; Stringsql="select*fromcoursewhere課程名稱in(select所授課程fromteacherwhere所帶班級in(select班名fromstudentwhere學號='"+session.getAttribute("username")+"'))"; try{ ResultSetrs=mych.search(sql); while(rs.next()){ course_code=rs.getString("課程編號"); course_name=rs.getString("課程名稱");(2)超鏈接<ahref="ch.jsp?course_code=<%=course_code%>&course_name=<%=course_name%>">(3)錄入選課記錄Stringc_code=request.getParameter("course_code");Stringc_name=request.getParameter("course_name");c_code=newString(c_code.getBytes("ISO-8859-1"),"gbk");c_name=newString(c_name.getBytes("ISO-8859-1"),"gbk");Stringsqlstr="select*fromrecordwhere學號='"+session.getAttribute("username")+"'and課程編號='"+c_code+"'and課程名稱='"+c_name+"'";ResultSetrs=myst.search(sqlstr);rs.last();if(rs.getRow()==0){Stringsql="insertrecord(課程編號,課程名稱,學號)values('"+c_code+"','"+c_name+"','"+session.getAttribute("username")+"')";intm=myst.dosql(sql);myst.closed();5.3.3網上評教網上評教分為打分和留言兩部分。打分部分要求學生從準備情況、教學效果、教學內容、教學方法、教學育人與職業(yè)道德五個方面對任課教師進行評分。要求認真閱讀每一條評價指標,并根據你的觀察和感受認真,實事求是地對其打分。此部分為必選項,要求學生對所有評價指標打分,不要遺漏。留言部分,學生根據自己的自身情況和意愿來填寫。在此部分的實現過程中,頁面首先會顯示學生正在學習的課程以及此課程的授課教師,然后學生開始對教師進行評教。一個學生對一個老師只能評教一次,不能對同一教師進行多次評教。學生在評教完成后,系統會把評教結果存入數據庫。代碼方面將會多次運用到JSP中的request對象和session對象,同時也會運用到超鏈接來完成對數據值的傳遞。關鍵代碼如下:判斷學生是否已經對教師已經評教Stringsql="select分數fromscorewhere學號='"+session.getAttribute("username")+"'and教師姓名='"+name+"'and課程名稱='"+course+"'";ResultSetrs=dd.search(sql);rs.last();if(rs.getRow()==0){超鏈接<ahref="app.jsp?course=<%=course%>&name=<%=name%>"target="_top">request對象和session對象傳遞值的應用Stringname=request.getParameter("name");Stringcourse=request.getParameter("course");name=newString(name.getBytes("ISO-8859-1"),"gbk");course=newString(course.getBytes("ISO-8859-1"),"gbk");session.setAttribute("name",name);session.setAttribute("course",course);評分錄入數據庫Stringt1=request.getParameter("t1");…………//代碼的省略Stringt20=request.getParameter("t20");intscore=0;ints1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0,s9=0,s10=0,s11=0,s12=0,s13=0,s14=0,s15=0,s16=0,s17=0,s18=0,s19=0,s20=0;intsun=0;s1=Integer.parseInt(t1);………//代碼的剩略s20=Integer.parseInt(t20);score=s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18+s19+s20;Stringsql="insertscore(學號,教師姓名,課程名稱,分數)values('"+session.getAttribute("username")+"','"+session.getAttribute("name")+"','"+session.getAttribute("course")+"',"+score+")";inti=myst.dosql(sql);myst.closed();留言錄入數據庫Stringbiaoshi="yes";if(request.getParameter("board")!=null){Stringbname=request.getParameter("board");Stringsql="insertliuyan(留言,教師姓名,標識)values('"+bname+"','"+session.getAttribute("name")+"','"+biaoshi+"')"5.3.4更改密碼和退出出于安全考慮,用戶登錄后,可隨時更改密碼,以免帳號被別人盜取,進行非法操作,擾亂本系統,也影響用戶正常使用。同時也建議用戶經常更改個人密碼。當用戶完成操作后,能夠點擊退出安全的退出系統。關鍵代碼如下:退出<%session.invalidate();response.sendRedirect("/netteaching/index.jsp");更改密碼Stringopassword=request.getParameter("topassword"); Stringnpassword=request.getParameter("tnpassword"); Stringrenpassword=request.getParameter("trenpassword"); if(opassword==""||npassword==""||renpassword=="") out.println("信息添寫不完整!"); elseif(!npassword.equals(renpassword)) out.println("確認新密碼不正確!"); else { Stringsql="Select*FromstudentWhere密碼='"+opassword+"'"; ResultSetRs=mymo.search(sql); try { Rs.last(); if(Rs.getRow()==0) out.println("舊密碼不正確!"); else { sql="UpdatestudentSet密碼='"+npassword+"'where密碼='"+opassword+"'"; mymo.dosql(sql); out.println("密碼修改成功!"); } } catch(SQLExceptione)5.4教師頁面及基本功能的實現在上面的學生頁面中具體介紹了學生模塊的各個功能,教師模塊部分功能與其大同小異,這里就不一一介紹了,重點介紹下幾個關鍵的功能實現。5.4.1評分查看教師登陸進系統,點擊鏈接,頁面首先會顯示此教師所授的課程信息以及所帶班級信息,然后教師選擇想查看的課程評分,評分表將會顯示一個班級每個學生對此教師的評分以及班級總評分和平均分。在此部分的實現過程中,利用了超鏈接傳遞班級和課程信息。關鍵代碼如下:(1)評分顯示//班級每個學生的評分Stringcla=request.getParameter("cla");cla=newString(cla.getBytes("ISO-8859-1"),"gbk");Stringcourse=request.getParameter("course");course=newString(course.getBytes("ISO-8859-1"),"gbk");intcount=0;intsum=0;doubleavg=0;inti;Stringsql="select分數fromscorewhere學號in(select學號fromstudentwhere班名in(select所帶班級fromteacherwhere所帶班級='"+cla+"'))and課程名稱='"+course+"'";try{ResultSetrs=my.search(sql);rs.last();count=rs.getRow();rs.beforeFirst();while(rs.next()){<%=rs.getInt("分數")%>}//總評分for(i=0;i<count;i++){while(rs.next()){sum=sum+rs.getInt("分數");}//平均分<%avg=(double)(sum/count);%>5.4.2留言查看教師查看學生對自己所授課程的評價留言,首先教師點擊鏈接,查看是否有新留言,有新留言的話選擇查看,此時會出現一個窗體,里面的內容即是留言信息。在此部分的實現過程中,判斷是否有新留言,我在留言表中設置了個標識字段,當為yes的時候,此條留言為新留言,當教師查看后,標識變?yōu)閚o,表示已經查看的留言。關鍵代碼如下:顯示是否有新留言Stringbiaoshi="yes";Stringsql="select*fromliuyanwhere教師姓名in(select教師姓名fromteacherwhere教師ID='"+session.getAttribute("username")+"')and標識='"+biaoshi+"'";ResultSetrs=myt.search(sql);rs.last();inti=rs.getRow();rs.beforeFirst();留言信息//留言信息的顯示Stringid=request.getParameter("id");id=newString(id.getBytes("ISO-8859-1"),"gbk");intlid=Integer.parseInt(id);Stringsql="select留言fromliuyanwhere編號='"+lid+"'";ResultSetrs=message.search(sql);//實現次留言為已查看留言if(rs.getString("留言")!=null){Stringbiaoshi="no";Stringsqlstr="updateliuyanset標識='"+biaoshi+"'where編號='"+lid+"'";message.dosql(sqlstr);5.5管理員頁面及其基本功能的實現此頁面管理員主要對學生,教師,課程信息進行查詢,更改,錄入等操作以及對統計結果的操作,對信息處理就不重點介紹了。下面就對評分結果統計重點介紹下。在統計功能中,管理員可以通過表單對教師及其所授課程的輸入,查看學生對此教師的評分,同時計算出總分和平均分,管理員還可以根據具體情況對評分結果進行刪除。為了更直觀的查看評教情況,管理員還可以根據教師所屬院系來查看教師排行榜。并能打印排行榜表。關鍵代碼如下:(1)刪除結果Stringsql="deletefromscorewhere教師姓名='"+request.getParameter("name0")+"'and課程名稱='"+request.getParameter("name1")+"'"; intm=yy.dosql(sql); yy.closed();(2)教師排行榜(學生評分排行)注:教師評分排行設計大體一致這個功能的實現,重點是利用了SQL語言中的聚集函數AVG來計算平均分。<%if(request.getParameter("name0")!=null){ Stringcolloe=request.getParameter("name0"); inti=1; Stringsql="selectteacher.教師ID,teacher.教師姓名,teacher.性別,teacher.所屬院系,teacher.所授課程,teacher.職稱,teacher.所帶班級,avg(score.分數)as分數fromteacher,scorewhereteacher.教師姓名=score.教師姓名andteacher.所授課程=score.課程名稱andteacher.所屬院系='"+colloe+"'groupbyteacher.教師ID,teacher.教師姓名,teacher.性別,teacher.所屬院系,teacher.所授課程,teacher.職稱,teacher.所帶班級orderby8desc"; try{ ResultSetrs=yy.search(sql); rs.last(); intcount=rs.getRow(); rs.beforeFirst(); while(rs.next()){ %><%if(i<=count){%><%=i%>(4)打印此功能中是將WEB頁面中的數據導出到Excel然后打印。設計過程中,主要是應用JAVASCRIPT的構造函數創(chuàng)建了一個EXCEL。Application對象的實例,并應用該實例的相關方法。<scriptlanguage="javascript">functionoutExcel(){vartable=document.all.pay;row=table.rows.length;column=table.rows(1).cells.length;varexcelapp=newActiveXObject("Excel.Application");excelapp.visible=true;objBook=excelapp.Workbooks.Add();varobjSheet=objBook.ActiveSheet;for(inti=0;i<row;i++){for(intj=0;j<column;j++){objSheet.Cells(i+1,j+1).value=table.rows(i).cells(j).innerHTML.replace(" ","");}}objBook.SaveAs("C:\payList.xls");excelapp.UserControl=true;}6系統測試系統的功能測試是在編碼的過程中完成的。編寫代碼的過程中,在實現某個模塊的某個功能的時候,根據需要新建測試項目,完成對程序各模塊的功能測試。軟件完成后,進行系統測試。下面對幾個重要功能介紹下。6.1學生評教功能測試首先,學生通過用戶名和帳號進入到學生界面,點擊網上評教,進入評教頁面,開始打分,如果學生對此教師有好的建議可以通過點擊留言鏈接進行留言。實現功能如圖:圖9學生評教功能測試圖圖10留言功能6.2教師查看評分和留言功能測試首先,教師通過用戶名和密碼進入教師界面,點擊評分查看,頁面將會顯示出此教師的所授課程信息,教師根據自己情況選擇所教課程查看學生對其的打分和留言。實現功能如圖:圖11教師所授課程測試功能圖圖12教師分數測試功能圖圖13查看留言信息圖6.3管理員統計功能測試管理員可以根據輸入查詢的條件對學生,教師的評論結果進行查看,同時還可以查看教師在院系的排行。實現功能如圖:圖14排行榜功能圖結論本系統的中心任務是幫助教務管理部門及時了解教學動態(tài)和師資情況,調動廣大教師教學、科研的積極性和提高教學質量。開發(fā)過程中,充分考慮用戶的需求,使得本系統操作起來簡單方便,具有高效的查詢功能,同時安全、靈活的權限管理機制可以方便地對每個用戶分配系統各個功能的使用權限,最終本系統完成了需求分析所要求的學生對教師評教,教師對教師評教以及管理員對結果進行統計等功能。由于自身技術水平和經驗的欠缺,沒有把業(yè)務邏輯封裝到JAVABEAN中,所以數據庫的安全性和程序的擴展性不是很好,希望通過在以后的日子不斷學習,能夠解決問題。做畢業(yè)設計的這段時間來說,其實也不是很長,由于時間倉促,以及我掌握知識的不全面,我的畢業(yè)設計中存在這樣或那樣的不足,給我

溫馨提示

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

最新文檔

評論

0/150

提交評論