蔣 葉,張 俐
(1.西南財(cái)經(jīng)大學(xué) 經(jīng)濟(jì)信息工程學(xué)院,四川 成都 611130;2.江蘇技術(shù)師范學(xué)院 計(jì)算機(jī)工程學(xué)院,江蘇 常州 213001)
SH框架在高校教務(wù)管理系統(tǒng)中的設(shè)計(jì)與應(yīng)用
蔣 葉1,張 俐2
(1.西南財(cái)經(jīng)大學(xué) 經(jīng)濟(jì)信息工程學(xué)院,四川 成都 611130;2.江蘇技術(shù)師范學(xué)院 計(jì)算機(jī)工程學(xué)院,江蘇 常州 213001)
針對(duì)高校教務(wù)管理系統(tǒng)的建設(shè),本文提出了基于Struts和Hibernate框架融合的解決方案,詳細(xì)論述了這兩個(gè)架構(gòu)的原理和方法并把它們成功地集成到一起,最后將該框架運(yùn)用到高校教務(wù)管理系統(tǒng)中。結(jié)果證明:該架構(gòu)在構(gòu)建高校教務(wù)管理系統(tǒng)中有較好的應(yīng)用前景。
教務(wù)管理系統(tǒng);Struts框架;Hibernate框架
本文提出將基于MVC模式的Struts框架技術(shù)和基于O/R映射的Hibernate框架技術(shù)應(yīng)用到高校教務(wù)管理系統(tǒng)的開(kāi)發(fā)中。[1]將這兩種技術(shù)融合在一起構(gòu)建的SH技術(shù)框架,不但可以提供系統(tǒng)的開(kāi)發(fā)效率,而且還能夠應(yīng)對(duì)高校教務(wù)管理中不斷發(fā)生的變化,提高了教務(wù)管理系統(tǒng)的安全性和穩(wěn)定性。
1.基于MVC模式的Struts框架技術(shù)
Struts是一個(gè)優(yōu)秀的MVC框架,它將Servlet和JSP標(biāo)記用作實(shí)現(xiàn)的一部分。[2]Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn)做了相應(yīng)的變化與擴(kuò)展。Struts框架具有組件的模塊化、靈活性和重用性等優(yōu)點(diǎn),同時(shí)簡(jiǎn)化了基于MVC的Web應(yīng)用程序的開(kāi)發(fā)。
2.基于O/R映射的Hibernate框架技術(shù)
Hibernate是一個(gè)開(kāi)放源代碼的O/R Mapping(對(duì)象關(guān)系映射框架),它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使Java程序員可以方便地使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。
通過(guò)上面的描述,我們利用Struts框架和Hibernate框架技術(shù),就形成了新的JavaEE集成框架,如圖1所示。
從圖1中,首先,可以看到本方法使用了Struts框架作為整個(gè)開(kāi)發(fā)系統(tǒng)的基礎(chǔ)框架,因?yàn)镾truts框架完全實(shí)現(xiàn)了MVC模式,但是它的Model部分是Struts中耦合性最高的部分,而使用Hibernate加DAO模式可以降低Model部分的耦合性;其次,系統(tǒng)之間的數(shù)據(jù)傳遞完全是由VO和PO進(jìn)行數(shù)據(jù)傳遞,而它們的描述過(guò)程是用最為簡(jiǎn)單的Java對(duì)象描述的;最后,配置工作方法靈活而且系統(tǒng)的耦合性非常低,因?yàn)樗械臉I(yè)務(wù)流程都是在web.xml、struts-config.xml和h ibernate.config.xml文件中完成的,這給系統(tǒng)的可維護(hù)性提供了支持。
1.系統(tǒng)用例以及功能描述
教務(wù)管理系統(tǒng)的用例圖由每一個(gè)功能獨(dú)立或者之間有相互關(guān)聯(lián)的用例組合構(gòu)成,用戶可以采用Rational Rose工具進(jìn)行UML的UseCase圖來(lái)進(jìn)行基本用例的描述。[3]首先,進(jìn)行教務(wù)管理系統(tǒng)的一般流程描述,即就高校教務(wù)管理的基本模式是以學(xué)校教務(wù)管理和決策機(jī)構(gòu)作為教務(wù)主管部門(mén),對(duì)教學(xué)活動(dòng)開(kāi)展過(guò)程中產(chǎn)生的所有數(shù)據(jù)進(jìn)行集中和統(tǒng)一的管理;其他部門(mén)在教務(wù)主管部門(mén)授權(quán)之后,對(duì)數(shù)據(jù)進(jìn)行錄入、修改、查詢、統(tǒng)計(jì)、打印等操作。通過(guò)以上的描述,我們就能確定高校教務(wù)管理系統(tǒng)的用戶是學(xué)校教務(wù)管理人員、教師和學(xué)生、訪客等。其次,畫(huà)出用例圖,如圖2所示。最后,描述該系統(tǒng)的具體功能:(1)學(xué)生管理:完成學(xué)生信息維護(hù)與信息修改審核、學(xué)生學(xué)籍異動(dòng)、學(xué)籍處理等工作;(2)教師管理:完成教師數(shù)據(jù)信息管理、統(tǒng)計(jì)教學(xué)工作量等工作;(3)考試和成績(jī)管理:完成考試時(shí)間和地點(diǎn)安排等工作和完成學(xué)生成績(jī)錄入、核查學(xué)生成績(jī)等工作;(4)選課管理:根據(jù)制定的選課程序和原則,完成選課管理工作;(5)教材和選課管理:依據(jù)教學(xué)計(jì)劃,完成教材基本管理以及教師和學(xué)生對(duì)教材和課程的選擇;(6)教學(xué)質(zhì)量和教學(xué)計(jì)劃:對(duì)教學(xué)質(zhì)量和教學(xué)計(jì)劃進(jìn)行評(píng)價(jià)和統(tǒng)計(jì)工作等;(7)通知公告:查看教務(wù)公告信息。
2.SH框架在教務(wù)管理系統(tǒng)中的應(yīng)用
SH框架中每個(gè)模塊都有各自不同的業(yè)務(wù)流程配置標(biāo)簽,但是它們實(shí)現(xiàn)的技術(shù)和過(guò)程是一樣的,因此這部分主要用學(xué)生注冊(cè)信息模塊進(jìn)行說(shuō)明,即studentRes模塊。
(1)Struts框架在學(xué)生注冊(cè)信息模塊控制模塊中的應(yīng)用
Struts的表現(xiàn)層主要是和用戶打交道,對(duì)學(xué)生注冊(cè)信息模塊,studentRes.jsp文件將收集到的學(xué)生信息,通過(guò)Struts框架轉(zhuǎn)換成VO對(duì)象,即StudentResForm.java類文件,然后由Struts的ActionServlet來(lái)完成Controller任務(wù),同時(shí)在Struts-config.xml文件中將上面的信息配置進(jìn)去。該方式的好處是所有的頁(yè)面導(dǎo)航定義都集中在一個(gè)XML中,有利于把握整個(gè)系統(tǒng)的整體結(jié)構(gòu),還有利于后期系統(tǒng)的維護(hù)和升級(jí)。最后,只需要在StudentResAction類完成業(yè)務(wù)處理和業(yè)務(wù)轉(zhuǎn)向。以下是學(xué)生注冊(cè)信息模塊中Action類部分內(nèi)容:
實(shí)踐表明,應(yīng)用SH框架進(jìn)行教務(wù)管理系統(tǒng)的開(kāi)發(fā),簡(jiǎn)化了應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間,使得系統(tǒng)能夠較好地適應(yīng)業(yè)務(wù)需求的變化,并且利于系統(tǒng)上線后的維護(hù)工作,從而提高了工作人員的工作效率。
[1]楊輝.基于C/S和B/S結(jié)構(gòu)的高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].中南大學(xué),2010.
[2]馮國(guó)仕,李志蜀.基于Struts與Hibernate集成架構(gòu)的項(xiàng)目管理系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2005(8).
[3]馮潤(rùn)民.基于SSH 的高校學(xué)生管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009(6):280-282.
[4]張俐.MVC模式在數(shù)據(jù)中間件中的應(yīng)用[J].計(jì)算機(jī)工程,2010,36(9):70-72.
(編輯:楊馥紅)
G434
B
A1673-8454(2011)13-0081-02