• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于JAVA平臺(tái)的網(wǎng)上成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2010-10-18 07:53:20劉永立白地動(dòng)
      中國教育信息化 2010年1期
      關(guān)鍵詞:課表數(shù)據(jù)表任課教師

      劉永立,白地動(dòng)

      (1.北京財(cái)貿(mào)職業(yè)學(xué)院 信息物流系,北京101101;2.北京財(cái)貿(mào)職業(yè)學(xué)院 教務(wù)處,北京 101101)

      基于JAVA平臺(tái)的網(wǎng)上成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      劉永立1,白地動(dòng)2

      (1.北京財(cái)貿(mào)職業(yè)學(xué)院 信息物流系,北京101101;2.北京財(cái)貿(mào)職業(yè)學(xué)院 教務(wù)處,北京 101101)

      將成績管理由單機(jī)操作轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)操作在目前跨校區(qū)辦公情形下尤為必要。本文以一個(gè)實(shí)際項(xiàng)目為藍(lán)本,論述了構(gòu)建基于JAVA平臺(tái)的網(wǎng)上成績管理系統(tǒng)的設(shè)計(jì)方法與實(shí)現(xiàn)手段;為保證系統(tǒng)的穩(wěn)定運(yùn)行,給出了基于NETBEANS6.1開發(fā)環(huán)境下數(shù)據(jù)庫連接池的配置方法。

      NETBEANS JSF RichFaces框架 成績管理 數(shù)據(jù)庫連接池

      一、開發(fā)背景

      目前,很多學(xué)校已實(shí)現(xiàn)跨校區(qū)辦公。借助網(wǎng)絡(luò)雖然可以迅速傳遞數(shù)據(jù),但是如何很好地保證數(shù)據(jù)的一致、及時(shí)更新和數(shù)據(jù)的充分共享,仍然是令教學(xué)管理人員很頭疼的一件事。在眾多教學(xué)數(shù)據(jù)中,學(xué)生的成績對于學(xué)生和教師都很重要。傳統(tǒng)的辦公環(huán)境下,任課教師提交成績單,成績管理員核對成績并進(jìn)行數(shù)據(jù)的整理和發(fā)布。這一方式帶來的主要問題是:(1)成績管理員的壓力大、時(shí)間緊,容易出錯(cuò),成績發(fā)布也不及時(shí)。(2)各個(gè)校區(qū)間數(shù)據(jù)的格式不一致,在數(shù)據(jù)共享時(shí)還需要再次進(jìn)行數(shù)據(jù)的重新整理,無形中增加了工作量和出錯(cuò)的機(jī)率。因此,若能構(gòu)建基于B/S結(jié)構(gòu)的網(wǎng)上成績管理系統(tǒng),將傳統(tǒng)單機(jī)管理轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)管理,必將大大提高辦公效率,也能有效提升數(shù)據(jù)的準(zhǔn)確性、一致性。

      本文以JAVA平臺(tái)為基礎(chǔ),以NETBEAN6.1為開發(fā)工具,討論了網(wǎng)上成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。

      二、系統(tǒng)需求分析

      系統(tǒng)的用戶分類如下:數(shù)據(jù)庫管理員,課表管理員,考務(wù)管理員,成績管理員,任課教師,學(xué)生。用戶的權(quán)限和職責(zé)如下:

      1.數(shù)據(jù)庫管理員:(1)數(shù)據(jù)庫的初始化,主要包括:系部數(shù)據(jù)、學(xué)期數(shù)據(jù)、教師數(shù)據(jù)、班級(jí)數(shù)據(jù)、學(xué)生數(shù)據(jù)的初始化;(2)管理用戶的權(quán)限。

      2.課表管理員:將指定學(xué)期的排課結(jié)果導(dǎo)入數(shù)據(jù)庫。排課的原始數(shù)據(jù)一般是Excel表,為了能夠進(jìn)行微調(diào),該類人員還要具備查詢和修改排課數(shù)據(jù)的權(quán)限,以便及時(shí)反映排課的變動(dòng)情況。

      3.考務(wù)及成績管理員:設(shè)定指定班級(jí)、指定課程的考試時(shí)間;設(shè)定成績錄入的最晚日期;設(shè)定考生的考試狀態(tài)(正式考試、補(bǔ)考、緩考、曠考);將任課教師提交的成績單鎖定和解鎖;將成績數(shù)據(jù)導(dǎo)出為指定的Excel格式。

      將成績單鎖定的目的是為了避免任課教師無休止地修改成績;解鎖的目的是一旦發(fā)現(xiàn)錄入錯(cuò)誤(盡管此類錯(cuò)誤發(fā)生的可能性很?。┍阌谌握n教師修改個(gè)別學(xué)生的成績。

      4.任課教師:查看自己每個(gè)學(xué)期的任課班級(jí)和課程情況;設(shè)定自己所授課程的成績分值權(quán)值(平時(shí)成績、期末成績所占比重);錄入和修改學(xué)生成績;查看學(xué)生成績,生成成績分析報(bào)告;將指定班級(jí)、指定課程的成績單數(shù)據(jù)導(dǎo)出為Excel格式。

      5.學(xué)生:查看自己所有課程的成績。

      三、功能模塊設(shè)計(jì)

      通過分析系統(tǒng)的需求,可知網(wǎng)上成績管理系統(tǒng)涉及的功能主要是:數(shù)據(jù)的導(dǎo)入/導(dǎo)出;數(shù)據(jù)的查詢;數(shù)據(jù)的管理。具體來說,數(shù)據(jù)導(dǎo)入包括:教師數(shù)據(jù)導(dǎo)入,班級(jí)數(shù)據(jù)導(dǎo)入,學(xué)生數(shù)據(jù)導(dǎo)入,課表數(shù)據(jù)導(dǎo)入,成績數(shù)據(jù)導(dǎo)入;數(shù)據(jù)導(dǎo)出包括:成績數(shù)據(jù)導(dǎo)出;數(shù)據(jù)管理包括:課表數(shù)據(jù)管理、考務(wù)綜合管理、個(gè)人數(shù)據(jù)管理、成績權(quán)值分配、成績數(shù)據(jù)錄入;數(shù)據(jù)查詢包括:課表數(shù)據(jù)查詢、教師數(shù)據(jù)查詢、學(xué)生數(shù)據(jù)查詢、成績數(shù)據(jù)查詢。系統(tǒng)的主要功能模塊如圖1所示。

      學(xué)期數(shù)據(jù)、系部數(shù)據(jù)相對固定且數(shù)據(jù)量很小,可以由數(shù)據(jù)庫管理員手動(dòng)輸入;班級(jí)數(shù)據(jù)、學(xué)生數(shù)據(jù)、教師數(shù)據(jù)、課表數(shù)據(jù)、成績數(shù)據(jù)等數(shù)據(jù)量大,因此系統(tǒng)提供了導(dǎo)入功能;為了便于用戶修改密碼,在數(shù)據(jù)管理模塊中提供“個(gè)人數(shù)據(jù)管理”功能;為便于學(xué)生和教師查詢數(shù)據(jù),系統(tǒng)提供主要數(shù)據(jù)的查詢功能;為便于教務(wù)人員和教師保存和分析數(shù)據(jù),系統(tǒng)提供成績數(shù)據(jù)的導(dǎo)出功能。

      圖1中涉及的功能模塊是系統(tǒng)能夠提供給所有用戶的全部功能,所有功能以菜單的方式呈現(xiàn)給用戶,不同類別的用戶登錄系統(tǒng)后,見到的功能菜單不同,能夠?qū)崿F(xiàn)的操作也不同。比如:任課教師登錄系統(tǒng)后,具備“數(shù)據(jù)查詢”、“成績數(shù)據(jù)導(dǎo)出”操作權(quán)限,也具備“成績權(quán)值分配”、“成績數(shù)據(jù)錄入”、“個(gè)人數(shù)據(jù)管理”、“成績數(shù)據(jù)導(dǎo)入”操作權(quán)限,但不具備其他操作權(quán)限。不同教師用戶只能針對自己所任的課程進(jìn)行成績數(shù)據(jù)錄入和成績權(quán)值分配操作。

      四、數(shù)據(jù)庫設(shè)計(jì)

      本系統(tǒng)采用MySQL Server5.0數(shù)據(jù)庫軟件。數(shù)據(jù)庫名字為“score”,所有數(shù)據(jù)表及其字段在數(shù)據(jù)庫中定義時(shí)均采用英文。系統(tǒng)涉及的數(shù)據(jù)庫表及其字段如下:系部(ID,名稱),教師(ID,姓名,性別,所在系部,角色),班級(jí)(ID,名稱,所在系部,班主任),學(xué)生(學(xué)號(hào),姓名,性別,班級(jí),角色),角色(ID,名稱),學(xué)期(ID,學(xué)期名稱),課程(ID,課程名稱),課表(ID,學(xué)期,班級(jí),課程,教師,平時(shí)成績比重,實(shí)踐成績比重,期末成績比重),成績(ID,學(xué)期,學(xué)號(hào),課程,平時(shí)成績,實(shí)踐成績,期末成績,總評成績,狀態(tài)開關(guān),開考時(shí)間,最晚提交時(shí)間),成績分析(ID,學(xué)期,班級(jí),課程,不及格人數(shù),60-69人數(shù),70-84人數(shù),85-100人數(shù),參加考試人數(shù),及格率,良好率,平均成績)。

      數(shù)據(jù)表在數(shù)據(jù)庫“score”中的定義如表1所示。

      表1 數(shù)據(jù)庫s c o r e中的數(shù)據(jù)表及其字段

      score表中的switch字段是控制開關(guān),用來設(shè)定是否可以錄入成績。表1中加下劃線的字段為主鍵。

      各個(gè)數(shù)據(jù)表間有一定的關(guān)聯(lián)關(guān)系,比如:課表數(shù)據(jù)表timetable與其他數(shù)據(jù)表之間的關(guān)系如圖2所示。成績數(shù)據(jù)表定義如下(包括外鍵約束和索引定義):

      限于篇幅,其他數(shù)據(jù)表的定義以及外鍵約束和索引的定義不再論述。

      五、系統(tǒng)實(shí)現(xiàn)

      1.開發(fā)工具的選擇

      本系統(tǒng)開發(fā)基于JAVA平臺(tái),需要按次序安裝以下軟件:jdk1.6,netbeans6.1,GlassFishV2,MySQL Server5.0。Netbeans6.1作為Web程序的開發(fā)環(huán)境,不但內(nèi)嵌了GlassFish Web服務(wù)器,而且利用該IDE可以非常方便地連接MySQL Server數(shù)據(jù)庫。為了便于操作數(shù)據(jù)庫,可以在安裝完MySQL Server5.0后,安裝Navicat8軟件,該軟件是一款不錯(cuò)的MySQL Server的客戶端工具軟件。

      2.框架和庫文件

      JSF是一個(gè)新的基于MVC模型的Web應(yīng)用框架技術(shù)。在概念和特征方面,尤其是組件方面,超過了著名的Struts框架。RichFaces是JBOSS公司開發(fā)的Web應(yīng)用程序框架,它進(jìn)一步豐富了JSF框架,它為構(gòu)建 RIA(Rich Internet Applications)和支持 Ajax的 Web應(yīng)用程序提供了大量的JSF組件。

      本系統(tǒng)基于RichFaces框架進(jìn)行開發(fā),故此需要在netbeans6.1中添加RichFaces框架所需的相關(guān)jar文件。另外,由于在數(shù)據(jù)導(dǎo)入和導(dǎo)出過程中需要操作EXCEL文件,所以還需要jxl開源組件。

      系統(tǒng)所需的主要JAR文件如表2所示(所有文件都可從網(wǎng)上下載)。

      表2 系統(tǒng)所需J A R文件列表

      3.開發(fā)環(huán)境的部署

      (1)配置 web.xml和 faces-config.xml文件

      由于系統(tǒng)基于JSF框架開發(fā),故此需要配置web.xml文件faces-config.xml文件。在web.xml文件中主要進(jìn)行RichFaces過濾器和Faces Servlet的注冊;在faces-config.xml文件中主要進(jìn)行JAVA BEAN的注冊。

      以下是web.xml文件中RichFaces過濾器的注冊方法:(2)數(shù)據(jù)庫連接池

      通過大量的實(shí)驗(yàn)測試后發(fā)現(xiàn):在系統(tǒng)訪問人數(shù)增多以及進(jìn)行大量數(shù)據(jù)的導(dǎo)入/導(dǎo)出過程中,會(huì)占用較多的數(shù)據(jù)庫連接,若出現(xiàn)連接耗盡的情況,系統(tǒng)就會(huì)癱瘓。為有效避免此種情況的出現(xiàn),應(yīng)采用數(shù)據(jù)庫連接池(關(guān)于連接池在GLASSFISH服務(wù)器中的的定義方法請參閱相關(guān)文檔)。首先將數(shù)據(jù)庫連接池命名為:jdbc/mySqlDb,并在Web服務(wù)器中定義;然后在系統(tǒng)配置文件web.xml中添加如下內(nèi)容:

      最后在JAVA BEAN中按照如下方法建立數(shù)據(jù)庫連接,連接池便可以使用了。

      4.創(chuàng)建JSP

      JSP(Java Server Page)頁面是用戶與系統(tǒng)交互的窗口?;旧?,每個(gè)JSP頁面完成一個(gè)或幾個(gè)相關(guān)的功能模塊。比如,前面介紹的“成績數(shù)據(jù)導(dǎo)入”功能模塊、“成績數(shù)據(jù)錄入”功能模塊就可以分別由不同的JSP文件實(shí)現(xiàn),當(dāng)然還需要后臺(tái)BEAN的支持。下面就以“成績數(shù)據(jù)錄入”功能模塊的實(shí)現(xiàn)(editScore.jsp)為例,介紹JSP文件的創(chuàng)建方法,該JSP頁面的運(yùn)行效果如圖3所示。

      (1)為了使頁面支持中文,以及使用RICH FACES和JSF框架中的標(biāo)簽,需要在JSP頁面頭部添加如下代碼:

      (2)接著將UI控件添加在<a4j:form>標(biāo)簽內(nèi)部。本頁面要用到的 UI控件有:<h:commandButton>、<h:outputText>、<h:inputText>、<rich:dataTable>、<rich:column>、<a4j:support>,它們分別代表JSF命令按鈕、JSF文本輸出框、JSF文本輸入框、RICH FACES數(shù)據(jù)表格、RICH FACES表格列、ajax功能控件,其中 <a4j:support>標(biāo)簽的作用是給父標(biāo)簽添加ajax輔助功能。

      比如,editScore.jsp頁面中“提交成績”按鈕可以按如下方式進(jìn)行定義:<h:commandButton tabindex="4"value="提交成績"onclick="if(!confirm('確認(rèn)提交么?'))return false" rendered="#{manageScore.editFlag}" action="#{manageScore.saveChanged}"/>。其中manageScore是用來進(jìn)行成績管理的后臺(tái)JAVA BEAN。

      <rich:dataTable>是RICH FACES框架中功能強(qiáng)大的標(biāo)簽,用來顯示數(shù)據(jù)庫中的數(shù)據(jù),該標(biāo)簽內(nèi)部可以嵌入<h:outputText>、<h:inputText>、<rich:column>等 標(biāo) 簽 。editScore.jsp頁面中成績記錄的顯示就用到了該標(biāo)簽。在使用<rich:dataTable>標(biāo)簽顯示數(shù)據(jù)時(shí),要注意設(shè)定好兩個(gè)重要屬性:binding、value。binding屬性的值是JAVA BEAN中UIDataTable類型的變量;value屬性的值一般是JAVA BEAN 中 ArrayList(或 List)類型的變量。

      5.編寫 JAVA BEAN

      雖然JSP頁面提供了交互的途徑,但是一切后臺(tái)操作最終都要由JAVA BEAN來完成。本系統(tǒng)中最主要的BEAN是數(shù)據(jù)庫操作BEAN(DbBean.java)和數(shù)據(jù)導(dǎo)入/導(dǎo)出 BEAN(ReadAndWrite.java)。 DbBean.java主要完成數(shù)據(jù)庫連接的創(chuàng)建,數(shù)據(jù)的查詢、插入、更新、刪除等常規(guī)數(shù)據(jù)庫操作;ReadAndWrite.java主要負(fù)責(zé)將EXCEL數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫,并將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出為EXCEL格式的文件。同時(shí),系統(tǒng)還需要實(shí)體BEAN(每個(gè)數(shù)據(jù)庫表對應(yīng)一個(gè)實(shí)體BEAN)和其他輔助 BEAN(如用于成績管理的BEAN:ManageScore.java)的支持。 ManageScore.java 中的saveChanged方法與圖3中的“提交成績”按鈕對應(yīng),其代碼如下(有刪節(jié)):

      6.系統(tǒng)發(fā)布

      系統(tǒng)開發(fā)完畢后,可以在NETBEANS6.1中右鍵單擊項(xiàng)目,將其打包生成.war文件,該war文件一般在項(xiàng)目所在路徑的dist子文件夾中。

      隨后,啟動(dòng) MySQL Server5.0和 GlassFish,通過GlassFish管理員控制臺(tái),將生成的war文件部署到Web服務(wù)器即可,如圖4所示。

      [1]David Geary,Cay Horstmann.Core Java-Server Faces[M].New Jersey USA:Addison Wesley publisher2004.

      [2]http://www.netbeans.org.

      [3]http://www.javaeye.com/.

      [4]JBoss rich faces tutorial[DB/OL],http://www.mastertheboss.com/en/web-interfaces/124-jboss-RichFaces-tutorial.html.

      [5]Andrei Cioroianu.Upload Files with JSF and MyFaces.http://www.onjava.com/pub/a/onjava/2005/07/13/jsfupload.html,2005.

      [6]The Java EE5 Tutorial[DB/OL],http://java.sun.com/javaee/5/docs/tutorial/doc/index.html.

      (編輯:楊馥紅)

      G250.73

      B

      1673-8454(2010)01-0048-05

      猜你喜歡
      課表數(shù)據(jù)表任課教師
      學(xué)生出招解決”日課牌“問題
      如果我是校長
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
      運(yùn)用VBA自動(dòng)生成子課程表
      電子測試(2018年21期)2018-11-08 03:09:36
      班主任與任課教師合作發(fā)展的實(shí)踐與思考
      江蘇教育(2018年55期)2018-01-28 21:38:20
      論高職班主任與任課教師的協(xié)作與溝通
      長江叢刊(2017年7期)2017-11-25 05:42:32
      要善于樹立任課教師的威信
      各地區(qū)學(xué)生課表
      留學(xué)生(2015年6期)2015-07-02 02:36:20
      圖表
      全州县| 武平县| 乌兰县| 彝良县| 夏津县| 朝阳县| 麻栗坡县| 双流县| 吉木萨尔县| 外汇| 维西| 申扎县| 德庆县| 湘潭市| 高州市| 沙雅县| 古浪县| 云龙县| 台中市| 中宁县| 大新县| 宜阳县| 怀远县| 勃利县| 时尚| 黎平县| 濮阳市| 太谷县| 城步| 红安县| 娄烦县| 雷山县| 丹凤县| 漳平市| 油尖旺区| 淮阳县| 佛教| 大丰市| 基隆市| 射阳县| 丰县|