郭玉濱,楊俊峰
(菏澤學院計算機與信息工程系,山東菏澤 274015)
?
基于三維模型的教務(wù)信息管理系統(tǒng)的設(shè)計與實現(xiàn)*
郭玉濱,楊俊峰
(菏澤學院計算機與信息工程系,山東菏澤 274015)
分析了三維建模技術(shù)和3D Max建模工具以及JQuery、Struts2、Spring、Hibernate等框架技術(shù).在此基礎(chǔ)上,創(chuàng)建了教務(wù)信息管理系統(tǒng)所需要的三維模型,進而設(shè)計和實現(xiàn)了基于三維模型的教務(wù)信息管理系統(tǒng).實踐證明,該系統(tǒng)操作直觀、簡單、效果良好.
三維模型;教務(wù)信息管理系統(tǒng);設(shè)計;實現(xiàn)
目前,學校教務(wù)信息管理系統(tǒng)大多基于二維界面操作,如教室容量、教室課程表、課程所屬任課教師、教室設(shè)備等,系統(tǒng)使用操作繁雜、界面切換頻繁、而且不夠直觀.為改變傳統(tǒng)管理系統(tǒng)操作不便和不直觀的現(xiàn)狀,在教務(wù)信息管理系統(tǒng)設(shè)計中引入三維模型技術(shù),并通過先進的軟件開發(fā)技術(shù)JQuery和S2SH框架構(gòu)建和實現(xiàn)三維教務(wù)信息管理系統(tǒng).
1.1三維建模技術(shù)及3D Max工具
建模技術(shù)一般包括二維造型、三維造型、二維放樣和造型組合等幾個方面的基本技術(shù)[1],其中二維造型主要是先使用圖形和曲線來創(chuàng)建二維圖形,然后通過使用圖形面板創(chuàng)建簡單的二維形體,最后對這個二維形體進行旋轉(zhuǎn)、擠壓和放樣等創(chuàng)建出三維造型;三維造型主要是使用基本模型、面片、細化、變形和網(wǎng)格等來創(chuàng)建(x,y,z)表示的物體對象;二維放樣主要是使用已經(jīng)創(chuàng)建好物體對象的橫截面接入表面或表皮創(chuàng)建出三維物體;而造型組合就是利用布爾運算和圖形合并等技術(shù)把已有的物體重新組合成新的物體.可見,三維模型中的每一個點可用(x,y,z)空間坐標表示,通過x,y,z三個坐標的變換可顯示三維圖形的各個角度,在實際的場景創(chuàng)建過程中使用的是相對坐標的方式.三維建模是進行三維模型設(shè)計的第一步,是三維空間世界的基礎(chǔ)和核心.如果三維模型建不好,那么其它的效果很難表達出來.為此,文中將使用具有多種建模手段的3D Max建模工具[2],該工具不僅自身內(nèi)置了很多模型,并可對圖形進行車削和擠壓、復(fù)合物體建模和放樣建模等,而且還提供了面片建模、非均勻有理B樣條曲線建模和多邊形建模等高級建模技術(shù).文中利用三維建模技術(shù)和3D Max工具創(chuàng)建三維教室模型,并用它作為教室信息管理系統(tǒng)的部分展現(xiàn).
1.2JQuery技術(shù)
JQuery技術(shù)是由美國人John Resig創(chuàng)建的,是一個以“寫更少代碼、做更多事”為宗旨的JavaScript框架.JQuery是一個輕量級只有幾十kB的JavaScript庫,具有豐富的基于CSS1-3和Xpath的DOM選擇器和鏈式操作、可靠的事件處理機制和完善的兼容性等功能.JQuery技術(shù)的在線或離線API文檔齊全,Demo示例和開源社區(qū)插件也很豐富,掌握了它就能夠在JavaScript、DHTML、Form、DOM、Event、CSS、Ajax等技術(shù)間隨心所欲、得心應(yīng)手,讓Web開發(fā)變得更加容易.文中主要利用JQuery技術(shù)從服務(wù)器提供接口獲取視圖層所需的教室信息,并在視圖層展示.
1.3S2SH框架技術(shù)
S2SH是Struts2、Spring和Hibernate開源框架的簡稱,通過S2SH框架技術(shù)開發(fā)軟件可以方便快捷地實現(xiàn)表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層之間的分離,并降低各層間的耦合度,同時也方便系統(tǒng)開發(fā)、重用、擴展和維護.其中Struts2框架及其在此基礎(chǔ)上開發(fā)的業(yè)務(wù)控制器主要完成對部分視圖層信息展示的控制[3],Hibernate框架主要完成對實體對象的持久化操作等[4],而Spring框架主要完成系統(tǒng)需要對象的創(chuàng)建和管理等[5].文中使用S2SH框架主要為教務(wù)信息管理系統(tǒng)的三維視圖所要展示信息提供接口服務(wù).
文中所需的三維模型主要包含了學校級、教學樓級和教室級的三維模型,其中學校級的三維模型主要由教學樓級三維模型組成,而教學樓級三維模型又由各種各樣的教室級三維模型組成.即所謂學校級的三維模型是指整個學校的建筑物、道路、植被等組成的模型,教學樓級三維模型主要是指學校所有教學樓組成的模型,教室級三維模型主要由各個教學樓中的教室、辦公室等而組成的模型.
2.1系統(tǒng)所需三維模型架構(gòu)設(shè)計
為了更加方便、直觀、真實地展示學校教室的信息,盡量把教室信息的展示立足于三維教室模型,并在此基礎(chǔ)上能夠快速展示教室使用情況、設(shè)備情況、教務(wù)信息等信息.為此,文中研究設(shè)計的三維模型架構(gòu)如圖1所示.
圖1 教務(wù)信息管理系統(tǒng)三維模型架構(gòu)
2.2三維教室模型
由于三維教室模型是整個三維模型架構(gòu)的基礎(chǔ),也是更能體現(xiàn)主題的模型,因此這里給出一個使用3D Max設(shè)計的教室三維模型,如圖2所示.
圖2 菏澤學院9號教學樓312教室三維模型
文中設(shè)計的教室信息管理系統(tǒng)主要是以三維模型界面顯示為主、以瀏覽器界面顯示為輔,采用適合代碼復(fù)用、易于維護的三層架構(gòu)模式進行設(shè)計,并且為了能夠更好地完成學校信息的共享、充分利用學校的信息資源,系統(tǒng)的教務(wù)信息數(shù)據(jù)主要從學校教務(wù)信息和資產(chǎn)信息等系統(tǒng)中獲取,其整體架構(gòu)設(shè)計如圖3所示.
圖3 三維教務(wù)信息管理系統(tǒng)整體架構(gòu)設(shè)計
三維模型界面主要由前面設(shè)計的學校級、教學樓級和教室級三維模型構(gòu)成,并能結(jié)合JQuery技術(shù)顯示相應(yīng)的、必要的信息;瀏覽器界面主要用于完成諸如從教務(wù)信息系統(tǒng)和資產(chǎn)信息系統(tǒng)獲取信息到本系統(tǒng)數(shù)據(jù)庫的后臺操作等,在此過程中主要使用以Struts2框架為基礎(chǔ)的業(yè)務(wù)控制器來完成應(yīng)用層的操作;數(shù)據(jù)訪問層接口主要是靠Hibernate框架來完成;在整個分層結(jié)構(gòu)中Spring框架全程管理系統(tǒng)中需要的對象等.
本部分主要是根據(jù)前面的分析與設(shè)計,使用S2SH框架實現(xiàn)基于三維模型的教務(wù)信息管理系統(tǒng).由于篇幅限制,文中以三維教室模型下9號教學樓312教室課程表信息顯示為例,按數(shù)據(jù)訪問層到業(yè)務(wù)邏輯層到表示層的順序展示其實現(xiàn)過程.
4.1教室課程信息持久化類及其映射文件
教室課程信息持久化類及其映射文件主要用Hibernate框架完成教室課程信息增刪改查功能的基礎(chǔ),其核心實現(xiàn)代碼如下.
1)持久化類實現(xiàn)的主要代碼
public class Crcourse {
private Integer id;//主鍵
private String crnumber;//教室編號
private String courseName;//課程名
private String teacherName;//教師名
private String weekTerm;//上課范圍
private String week;//上課星期
private String timeOfWeek;//上課節(jié)次
private String grade;//年級
private String major;//專業(yè)
private String className;//班級
private String number;//上課人數(shù)
//略去了setter和getters方法
}
2)映射文件的主要配置信息
4.2數(shù)據(jù)訪問層接口及其實現(xiàn)類
數(shù)據(jù)訪問層接口主要是為完成教室課程信息的添加、刪除、修改和查詢,以及為業(yè)務(wù)邏輯層提供基本操作而設(shè)計,實現(xiàn)類主要為完成具體工作而設(shè)計,獲取教室課程信息的核心實現(xiàn)代碼如下.
1)數(shù)據(jù)訪問層根據(jù)教室編號獲取教室課程信息接口
public interface CrcourseDao {
/**根據(jù)教室編號獲取該教室課程信息*/
public List
}
2)CrcourseDao接口的實現(xiàn)類
public class CrcourseDaoImpl extends HibernateDaoSupport implements CrcourseDao{
@Override
public List
String hql = "from Crcourse crc where crc.crnumber=?";
List
if(crcourseList != null && crcourseList.size()>0){
return crcourseList;
}else{
return null;
}
}
}
4.3業(yè)務(wù)邏輯層接口及其實現(xiàn)類
業(yè)務(wù)邏輯層接口主要是為表示層提供服務(wù)的,其核心代碼如下.
1)業(yè)務(wù)邏輯層根據(jù)教室編號獲取教室課程信息接口
public interface CrcourseService {
/**根據(jù)教室編號獲取該教室課程信息*/
public List
}
2)CrcourseService接口的實現(xiàn)類
public class CrcourseServiceImpl implements CrcourseService {
private CrcourseDao crcourseDao;
@Override
public List
return crcourseDao.getCrcourses(crid);
}
public CrcourseDao getCrcourseDao() {
return crcourseDao;
}
public void setCrcourseDao(CrcourseDao crcourseDao) {
this.crcourseDao = crcourseDao;
}
}
4.4表示層業(yè)務(wù)控制器類
表示層業(yè)務(wù)控制器主要是在JQuery和Struts2框架的支持下完成與用戶的交互,其核心代碼如下.
1)業(yè)務(wù)控制器CrcourseAction的實現(xiàn)
public class CrcourseAction {
private String tbuildName;//教學樓名
private String roomNo;//教室編號
private Crcourse crcourse;//教室課程信息
private List
private CrcourseService crcourseService;//主要用于獲取教室課程核心信息
private CroomService croomService;//主要用于獲取教室的詳細信息
private TbuildService tbuildService;//主要用于獲取教學樓的詳細信息
public String findCrcourseInfo(){
crcourseList = crcourseService.getCrcourses(roomNo);
tbuildName = tbuildService.getTbuildByRoomNo(roomNo).getTbuildname();
return "findCrcourseInfo";
}
//略去了setter和getters方法
}
2)struts.xml文件的主要配置信息
4.5applicationContext.xml文件的主要配置信息
這里使用Spring框架協(xié)調(diào)數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、表示層之間的工作以及對各層間對象管理,其主要任務(wù)是在applicationContext.xml文件中配置如下所示的信息.
4.6系統(tǒng)實現(xiàn)效果展示
經(jīng)過前面幾部分的代碼編寫并依靠JQuery技術(shù),即可實現(xiàn)當鼠標點擊圖2所示的三維教室或停留在其上時,就會在三維教室上浮現(xiàn)該教室的課程表信息,示例見表1.
表1菏澤學院9號教學樓312教室課程表
首先對三維建模技術(shù)和3D Max建模工具以及JQuery、Struts2、Spring和Hibernate等框架技術(shù)進行了分析和研究;然后引入三維技術(shù)設(shè)計了三維模型架構(gòu)和系統(tǒng)整體架構(gòu),最后在此基礎(chǔ)上實現(xiàn)了三維教務(wù)信息管理系統(tǒng).系統(tǒng)測試結(jié)果顯示,系統(tǒng)操作直觀,運行良好.
[1]陳世宏,金明一.三維城市模型理論及技術(shù)方法研究[J].測繪與空間地理信息,2011,34(2):37-39.
[2]李斌,朱立銀. 3D Max室內(nèi)家裝效果圖表現(xiàn)技法[M]. 第2版.北京:人民郵電出版社,2012.
[3]余銀山,胡正華.基于Struts2框架的Web應(yīng)用開發(fā)研究[J].電腦知識與技術(shù),2009,5(6):4224-4227.
[4]宋述燕,全校春.利用Spring集成Struts+Hibernate框架的業(yè)務(wù)系統(tǒng)設(shè)計與研發(fā)[J].中南民族大學學報:自然科學版,2007,26(1):48-52.
[5]Hamlainen P,Hall M,Howcroft B.A framework for market discipline in bank regulatory design[J].Journal of Business Finance&Accounting,2005,32(1~2):183-209.
Design and Implementation of Teaching Information Management System Based on 3D Model
GUO Yu-bin, YANG Jun-feng
(Department of Computer and Information Engineering, Heze University, Heze Shandong 274015, China)
This paper analyzes 3D modeling technology, Max 3D modeling tools, J-Query, Struts2, Spring, Hibernate and other frameworks, on the basis of which the three-dimensional model of the educational administration information management system is established, and the educational administration information management system based on the 3D model is designed and implemented. Practice has proved that the system is intuitive, simple and effective.
3D model; teaching information management system; design; implementation
1673-2103(2016)02-0095-06
2016-01-18
菏澤學院科研項目(XY13KJ05)
郭玉濱(1969-),男,山東定陶人,副教授,碩士,研究方向:數(shù)據(jù)庫,數(shù)據(jù)挖掘.
TP315
A