袁瑾 王曉斌
摘要:該文基于SSH框架設(shè)計和實現(xiàn)了課程管理系統(tǒng),對該系統(tǒng)進行了需求分析、前端設(shè)計、數(shù)據(jù)庫設(shè)計以及各個模塊的設(shè)計,最后介紹了實現(xiàn)該系統(tǒng)的SSH框架。
關(guān)鍵詞:SSH框架;課程管理;數(shù)據(jù)庫
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)05-0093-03
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,“互聯(lián)網(wǎng)+教育”的應(yīng)用越來越廣泛。在高校教育、中學(xué)教育乃至小學(xué)教育中,課程管理系統(tǒng)的應(yīng)用軟件具有巨大的市場需求?;赟SH框架的課程管理系統(tǒng)具有頁面簡單、方便快捷、易于使用等優(yōu)點。
1需求分析
軟件系統(tǒng)的設(shè)計建立在完善的用戶需求分析之上。為建立一個高質(zhì)量的系統(tǒng),通過調(diào)查研究,確定本系統(tǒng)需求如下:
1)用戶登錄,設(shè)置登錄密碼以及密碼的修改。
2)科目查詢,在校生以及老師查詢相應(yīng)科目的信息。
3)通知查詢,依據(jù)通知標(biāo)題的關(guān)鍵詞查詢管理員發(fā)布的通知
4)科目管理,課程相關(guān)老師對該科目進行管理。
5)通知管理,管理員對已發(fā)布的通知進行管理,刪除,置頂?shù)取?/p>
6)作業(yè)提交,學(xué)生可通過該系統(tǒng)在課程下提交作業(yè)。
7)作業(yè)批改,老師可在網(wǎng)上對學(xué)生的作業(yè)進行批改。
8)賬戶管理,學(xué)生和老師可對自己的賬戶進行設(shè)置。
9)具有不同的外部接口,方便今后的維護與升級。
10)所有功能均可直接在校園網(wǎng)內(nèi)使用。
2前端設(shè)計
整個工程采用Myeclipse平臺,前端采用JSP(Java Server Pages)編寫,主體采用HTML(Hyper Text Markup Language)語言設(shè)計。前端的設(shè)計在整個工程中具有舉足輕重的地位,其涉及了用戶最初的體驗,以及操作的方便快捷性。而JSP具有優(yōu)秀的可移植性,在不同的系統(tǒng)均可運行,整個前端設(shè)計如下:
1)登錄界面:包括賬號密碼的輸入,新用戶的注冊。并在賬號密碼對話框中分別設(shè)定監(jiān)聽,如圖1所示。
2)通知查詢界面:查詢方式為模糊查詢,查詢到結(jié)果時直接顯示該通知。
3)通知界面:包含管理員發(fā)布的按照時間先后順序的通知,可直接瀏覽通知。
4)課程查詢界面:可通過開課日期、上課老師、課程名稱、課程編號等多種方式查詢,查詢到結(jié)果時顯示該課程的信息。
5)作業(yè)提交界面:學(xué)生可登錄后進入需要提交作業(yè)的課程中,對作業(yè)進行提交。
6)作業(yè)批改界面:老師可進入該界面對學(xué)生提交的作業(yè)進行批改。
3數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫在一個系統(tǒng)中具有極其重要的地位,其保存了眾多系統(tǒng)所需信息。合理的數(shù)據(jù)庫設(shè)計可以使操作變得簡單,系統(tǒng)變得穩(wěn)定。本系統(tǒng)中數(shù)據(jù)庫選用MySQL,并使用軟件navicat鏈接數(shù)據(jù)庫MySQL和開發(fā)環(huán)境Myeclipse。MySQL是一個小型關(guān)系型數(shù)據(jù)庫,適用于中小型的系統(tǒng)設(shè)計與開發(fā),也具有優(yōu)秀的跨平臺特點,支持Linux以及windows系列操作系統(tǒng),操作簡單,安全性高,功能強大,在綜合需求分析各種基本的要求后,數(shù)據(jù)庫的表項建立如下:
1)學(xué)生信息表:student(學(xué)號、姓名、學(xué)院、專業(yè)、班級、出生年月、性別)
2)教師信息表:teacher(教工號、姓名、學(xué)院、出生年月、性別)
3)課程信息表:class(開課時間、上課人員、課程名稱、課程編號、課程學(xué)時)
4)通知表:info(通知編號、通知時間、通知內(nèi)容)
5)作業(yè)表:homework(提交者、提交課程、作業(yè)文件信息)
以上括號外的字符串為表名,括號內(nèi)的為字段名。
4模塊設(shè)計
4.1主類
該模塊首先在Myeclipse建立主類包。主類分為學(xué)生、教師、通知、課程、管理員,包含最基本的信息;與數(shù)據(jù)庫接口相鏈接,將保存變量的值傳給數(shù)據(jù)庫,其中變量的名稱與數(shù)據(jù)庫表項字段相一致。
4.2數(shù)據(jù)庫接口
在這一模塊中,建立DAO(Data Access Object)包擴展主類包的功能,用于對Myeclipse鏈接好的數(shù)據(jù)庫進行一系列操作,包括獲取、刪除、增加、更新四種基本數(shù)據(jù)庫操作;并通過增加總頁數(shù)、頁大小兩個變量來控制每一頁顯示的記錄數(shù)。
4.3操作接口
這一模塊主要是對系統(tǒng)中用戶的操作進行設(shè)計,基于DAO包建立Action包,并依據(jù)功能在JSP界面上設(shè)置監(jiān)聽,用于操作的實現(xiàn)。本模塊分為:
1)密碼修改操作:密碼的修改,鏈接數(shù)據(jù)庫接口DAO包中的學(xué)生表和老師表來判斷學(xué)號/教工號是否存在,學(xué)號/教工號存在時判斷舊密碼是否正確,若正確則修改密碼成功。
2)信息更新操作:用戶信息的更新,通過鏈接數(shù)據(jù)庫的學(xué)生表和老師表來判斷輸入信息與數(shù)據(jù)庫信息是否相匹配,若匹配則修改成功,反之則修改失敗。
3)課程/通知增加操作:鏈接數(shù)據(jù)庫中的課程/通知表,首先驗證課程/通知編號是否存在,若存在則建立失敗。若不存在則依次輸入課程/通知信息。
4)課程/通知查詢操作:鏈接數(shù)據(jù)庫對輸入信息和課程表/通知表內(nèi)的信息進行比對,查詢采用模糊查詢,重載函數(shù)支持基于不同信息的查詢(如課程編號、開課時間、上課老師、通知編號、通知標(biāo)題等)。
5)課程/通知信息修改操作:在管理員權(quán)限下直接對課程/通知信息進行修改或登錄老師賬戶對課程/通知信息進行核實并完成修改。
6)課程/通知刪除:在管理員權(quán)限下對課程/通知進行刪除。
5關(guān)鍵技術(shù)
本系統(tǒng)主要使用了SSH(Spring+Structs2+Hibernate)框架,服務(wù)器Tomcat,JSP,MySQL。
1)Spring框架:Spring是一個輕量級核心框架,其簡化了在Java Web編程中常使用的類,將其轉(zhuǎn)換為接口,并對接口進行操作。Spring框架采用控制反轉(zhuǎn)(IoC)的設(shè)計模式,且對主流框架struct2和hibernate提供了較好的集成支持。在本系統(tǒng)中,我們采用XML配置對Spring進行了配置。
2)Struct2框架:Structs2通過struct2.xml來進行配置,配置如圖3所示:
Struts2是一個相當(dāng)強大的Java Web開源框架,基于MVC(Model View Controller)架構(gòu),框架結(jié)構(gòu)清晰,開發(fā)流程一目了然,開發(fā)人員可以很好的掌控開發(fā)的過程。如上圖所示,開發(fā)人員可以在開發(fā)的過程中對各部分之間的關(guān)系有一個清晰的框架。
3)Hibernate框架:Hibernate是JDBC(Java Data Base Connectivity)的輕量級的對象封裝,可應(yīng)用于任何使用JDBC的場合。除此外,Hibernate常應(yīng)用于Java應(yīng)用程序的數(shù)據(jù)庫訪問代碼,并且支持各種擁有從一對一到多對多的復(fù)雜映射的關(guān)系數(shù)據(jù)庫。本系統(tǒng)中Hibernate用于DAO接口的實現(xiàn)類。
4)Tomcat服務(wù)器:Tomcat服務(wù)器是一個免費的開源web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)中被廣泛使用,與JSP程序的開發(fā)與調(diào)試相匹配。其具有處理HTML頁面的功能,還是一個Servlet和JSP容器。本系統(tǒng)中采用Tomcat服務(wù)器直接對寫好的JSP頁面進行功能測試。
5)JSP:JSP全稱為Java Server Pages,中文名是Java服務(wù)器頁面,其根本是一種簡化了的Servlet,并在傳統(tǒng)的HTML設(shè)計中穿插了Java程序段和JSP標(biāo)記,故文件后綴名常為.jsp。JSP開發(fā)的Web應(yīng)用是一種跨平臺的應(yīng)用,可在多種操作系統(tǒng)下運行。
6)MySQL數(shù)據(jù)庫:MySQL是一種廣泛應(yīng)用于中小型數(shù)據(jù)管理的關(guān)系型數(shù)據(jù)庫,最早是在Linux系統(tǒng)下開發(fā)出來的,是一款開源的數(shù)據(jù)庫軟件。MySQL使用標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言形式,對PHP有很好的支持,并提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。本系統(tǒng)中直接與Myeclipse進行鏈接,并通過hibernate框架建立了DAO的接口包。
6結(jié)束語
快捷的課程管理系統(tǒng)可以為一所學(xué)校節(jié)約大量的人力物力,提高管理效率,學(xué)生也可以輕松方便地使用電腦快捷的獲取到所需課程的信息。本系統(tǒng)已開發(fā)完成,具有優(yōu)秀的容錯性,在使用過程中對不足的地方將做進一步改進和更新。
參考文獻:
[1] Ian Sommerville.軟件工程[M]. 9版.北京: 機械工業(yè)出版社, 2011.