• 
    

    
    

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

      開放實驗室管理系統(tǒng)的設計與實現(xiàn)

      2011-09-11 04:55:30王雁飛王秀義
      關(guān)鍵詞:山西大同視圖頁面

      王雁飛,王秀義

      (1.山西大同大學煤炭工程學院,山西大同 037003;2.山西大同大學數(shù)學與計算機科學學院,山西大同 037009)

      開放實驗室管理系統(tǒng)的設計與實現(xiàn)

      王雁飛1,王秀義2

      (1.山西大同大學煤炭工程學院,山西大同 037003;2.山西大同大學數(shù)學與計算機科學學院,山西大同 037009)

      實驗室開放能夠為學生提供自主實驗、個性化學習的實驗環(huán)境,是培養(yǎng)學生實踐創(chuàng)新、動手能力的有效途徑。為了提高實驗設備的使用和管理效率,開發(fā)了基于Struts+Spring+Hibernate技術(shù)的開放實驗室管理系統(tǒng),實現(xiàn)了網(wǎng)上輔助教學和網(wǎng)絡化、智能化管理。

      開放實驗室;管理系統(tǒng);J2EE;Struts;Spring;Hibernate

      實驗室是高等學校實施素質(zhì)教育、培養(yǎng)學生創(chuàng)新精神與實踐能力的重要基地。實驗室對學生開放、為學生提供實踐學習條件是教育教學改革的重要內(nèi)容。實行實驗室開放能最大限度地利用實驗室資源,充分發(fā)揮實驗室在實施素質(zhì)教育中的重要作用,為學生提供自主發(fā)展和實踐鍛煉的空間,是提高儀器設備利用率的有效措施。實驗室開放不僅對學生的技能訓練,而且對培養(yǎng)學生的創(chuàng)新意識、創(chuàng)新精神和開拓能力都具有重要作用。為了加強實驗室全面開放管理,提高實驗室的管理水平,建立網(wǎng)絡化的實驗教學和實驗室管理信息平臺,實現(xiàn)網(wǎng)上輔助教學和網(wǎng)絡化、智能化管理,本文提出了基于Struts+Spring+Hibernate技術(shù)的開放實驗室管理系統(tǒng)[1-3]。

      1 系統(tǒng)分析

      1.1 業(yè)務流程

      1.實驗中心通過校園網(wǎng)于新學期開學第1周向?qū)W校師生公布審定的開放實驗項目名稱、地點、時間安排、主要儀器設備、指導教師、申請辦法、面向?qū)I(yè)等情況,供學生預約。

      2.開放實驗室所開放的實驗項目可分為設計性、綜合性、研究性實驗和教學實驗等四類。

      3.學生可以根據(jù)自己的興趣愛好預約實驗項目、實驗時間、實驗地點,經(jīng)實驗中心審核同意后方可進行實驗。

      4.學生在實驗項目完成后,向?qū)嶒炇姨峤粚嶒瀳蟾?、實驗作品或論文等實驗結(jié)果。

      1.2 功能需求

      開放實驗室管理系統(tǒng)由預約登記,實驗考勤,實驗成績管理以及實驗室設備、辦公管理構(gòu)成。通過解決實驗室的開放時間、實驗課程、實驗項目和實驗研究課題的開放管理,充分提高設備的利用率,實現(xiàn)資源共享,滿足不同層次學生實踐教學的需求,提高實驗教學質(zhì)量,培養(yǎng)學生的實踐能力、創(chuàng)新能力及團隊協(xié)作精神[4]。

      1.3 分析建模

      通過對用戶需求的深入分析,用面向?qū)ο蟮挠^點建立系統(tǒng)問題域模型,分別使用類圖、狀態(tài)圖和用例圖建立系統(tǒng)的對象模型、動態(tài)模型和功能模型[5]。

      系統(tǒng)的用例圖如圖1所示。

      2 系統(tǒng)設計

      2.1 體系結(jié)構(gòu)設計

      本系統(tǒng)采用面向?qū)ο蟮乃枷牒蚃2EE多層體系結(jié)構(gòu),三層C/S和B/S結(jié)構(gòu)相結(jié)合模式和模塊化設計,大大提高了系統(tǒng)的安全性和可維護性,并充分發(fā)揮了C/S結(jié)構(gòu)和B/S結(jié)構(gòu)的優(yōu)點。對于廣大學生和教師的瀏覽、查詢、數(shù)據(jù)輸入等簡單功能采用B/S結(jié)構(gòu),來發(fā)揮B/S結(jié)構(gòu)的不限時間、地點、可移動辦公的優(yōu)點;對于實驗教學中心及實驗室管理人員的部分功能采用C/S結(jié)構(gòu),來發(fā)揮C/S結(jié)構(gòu)的響應速度快、操作靈活、高強的事務處理能力、可以實現(xiàn)復雜的業(yè)務流程的優(yōu)點[6]。

      Java Web應用程序主要由JSP、Servlet、JavaBean(或EJB)組成。架構(gòu)設計就是要把這些組件合理的組織在一起,使得按照這種架構(gòu)設計出的程序易于維護和擴展。本系統(tǒng)使用MVC設計模式,采用如圖2所示的技術(shù)架構(gòu)。

      圖1 開放實驗室管理系統(tǒng)的用例圖

      圖2 開放實驗室管理系統(tǒng)的技術(shù)架結(jié)構(gòu)

      在此架構(gòu)中,使用Servlet充當控制器的角色,負責處理客戶的請求??刂破魇盏秸埱蠛?,對請求進行分析以決定調(diào)用哪個模型組件完成相應的業(yè)務操作,執(zhí)行完業(yè)務操作后,控制器負責選擇合適的視圖(JSP頁面)顯示操作的結(jié)果[7-8]。

      2.2 子系統(tǒng)結(jié)構(gòu)設計

      為了降低設計難度,便于分工協(xié)作和日后維護,對系統(tǒng)進一步分解,劃分為用戶界面子系統(tǒng)、實驗預約子系統(tǒng)、儀器預約子系統(tǒng)、數(shù)據(jù)查詢子系統(tǒng)、在線交流子系統(tǒng)、實驗管理子系統(tǒng)、設備管理子系統(tǒng)、成績考勤子系統(tǒng)、數(shù)據(jù)統(tǒng)計子系統(tǒng)和基礎數(shù)據(jù)維護子系統(tǒng),具體結(jié)構(gòu)設計,見表1。

      2.3 數(shù)據(jù)庫設計

      根據(jù)上述的設計規(guī)劃和需求分析,本系統(tǒng)采用關(guān)系數(shù)據(jù)庫管理系統(tǒng)存儲數(shù)據(jù),系統(tǒng)所需的實體及各個實體的情況如下:

      表1 子系統(tǒng)結(jié)構(gòu)

      1.用戶管理:分為管理員、教師和學生信息。

      2.實驗室信息:實驗室基本信息表、實驗設備信息表、實驗室規(guī)章制度表、實驗室使用狀況表、實驗室工作日志表。

      3.實驗教學管理:實驗教學計劃表、實驗課程表、實驗項目表、實驗教學隊伍、實驗教材講義、實驗預約情況表。

      4.成績考勤管理:學生實驗成績表、學生實驗出勤表。

      5.設備管理:預約儀器設備表。

      3 系統(tǒng)實現(xiàn)

      本系統(tǒng)使用基于Struts+Spring+Hibernate技術(shù)進行開發(fā)[9]。

      3.1 Struts框架

      Struts是一個基于MVC的Web應用框架。Struts有其自己的控制器,同時整合了其他的一些技術(shù)去實現(xiàn)模型和視圖。在實現(xiàn)模型的過程中,Struts可以很容易地與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在實現(xiàn)視圖的過程中,Struts能夠與JSP、Velocity Templates等這些表示層組件相結(jié)合。在Struts框架中,Action-Servlet、Action充當控制器的角色,JSP充當視圖的角色,ActionForm充當模型的角色[10]。

      3.2 Spring框架

      Spring的核心是個輕量級的容器,它是實現(xiàn)控制反轉(zhuǎn)(Inversion of Control,IoC)容器、非侵入性的框架,并提供AOP(Aspect-oriented programming)概念的實現(xiàn)方式,提供對持久層、事務的支持,提供MVC Web框架的實現(xiàn),并對一些常用的企業(yè)服務API提供了一致的模型封裝,是一個全方位的應用程序框架,也提供了與現(xiàn)存各種框架(Struts、JSF、Hibernate等)的整合方案[11]。

      3.3 Hibernate框架

      Hibernate是一個數(shù)據(jù)持久層框架,是一種實現(xiàn)對象和關(guān)系之間映射(O/R Mapping)的工具,它對JDBC進行了輕量級的對象封裝,使程序員可以使用對象編程思想來操作數(shù)據(jù)庫。Hibernate框架用配置文件的形式來定義Java對象和數(shù)據(jù)表之間的映射關(guān)系,同時在更深的層面將數(shù)據(jù)表之間的關(guān)系解釋為Java對象之間的繼承及包含等關(guān)系。與使用JDBC和SQL來操作數(shù)據(jù)庫相比,Hibernate能大大的提高實現(xiàn)的效率。使用HQL語句能夠?qū)碗s的關(guān)系算法用對象的方式描述,極大地簡化了對數(shù)據(jù)的查詢,加快了開發(fā)的效率。Hibernate中簡單而直觀的API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要創(chuàng)建或修改這些對象,只需在程序中與它們進行交互,然后告訴Hibernate保存即可。這樣,大量封裝持久化操作的業(yè)務邏輯不再需要編寫煩瑣的JDBC語句,從而使數(shù)據(jù)持久層得到了極大的簡化[12]。

      3.4 Struts+Spring+Hibernate的整合

      圖3 Struts+Spring+Hibernate構(gòu)架圖

      本系統(tǒng)采用MVC設計模式,并使用Struts、Spring和Hibernate一起來構(gòu)建,整合結(jié)果如圖3所示[13].Struts負責該系統(tǒng)的視圖層和控制層,視圖層頁面由JSP和Struts標記組成,而控制層主要由一組按照Struts框架規(guī)范開發(fā)的Action類組成,它們繼承了Spring的ActionSupport類;持久層由DAO組成,它們繼承了Spring的HibernateDaoSupport類。系統(tǒng)的數(shù)據(jù)庫連接、會話管理、業(yè)務類等都在Spring的應用上下文文件(aplicationContext.xml)中聲明。該系統(tǒng)所用開發(fā)工具Eclipse 3.0,數(shù)據(jù)庫SQL Server 2008,Web服務器Tomcat 6.0[14]。

      3.5 關(guān)鍵技術(shù)

      以實驗預約子系統(tǒng)為例來說明其軟件組成,結(jié)構(gòu)如下:

      1)視圖層

      (1)index.jsp:系統(tǒng)初始頁面。

      (2)login.jsp:系統(tǒng)登錄頁面。

      (3)mainMenu.jsp:實驗項目瀏覽及預約頁面。

      (4)query.jsp:實驗項目查找頁面。

      (5)book.jsp:顯示已預約實驗項目頁面。

      2)控制層

      (1)LoginActionod類:處理登錄請求。

      (2)LoginActionodForm類:Form Bean。

      (3)BaseAction類:繼承了Spring的ActionSupport類,直接使用ActionSupport的getWebApplicationContext()方法來獲得WebApplicationContext的對象,然后利用該對象的getBean()方法從Spring的應用上下文(pplicationContext)文件中根據(jù)Bean的名稱獲得該Bean的對象。

      (4)ProjectAction類:ProjectAction類繼承了BaseAction類,它是控制層的一個核心組件.它先從視圖層的頁面表單獲得用戶的請求數(shù)據(jù),然后根據(jù)用戶的操作類型來決定調(diào)用持久層中的Project-DAO類的哪個方法來處理用戶的請求數(shù)據(jù),并把處理結(jié)果返回到哪個頁面顯示出來。

      (5)web.xml文件。

      (6)struts-config.xml文件:Action Form Bean和Action都在struts-config.xml文件中作了聲明。同時還利用<plug-in>標記在struts-config.xml文件中聲明了Spring的applicationContext.xml文件。

      3)持久層

      (1)Project類和Project.hbm.xml文件:javaBean,用來封裝實驗項目(project)實體,并通過映射文件Project.hbm.xml,將它的屬性與數(shù)據(jù)表(project)中的列一一對應起來。Project.hbm.xml在application-Context.xml文件中作了聲明。

      (2)IProjectService接口和ProjectService類:IProjectService接口和ProjectService類是服務組件,ProjectService是IProjectService接口的實現(xiàn)類。它們定義了getProjectDAO()方法和setProjectDAO()方法,用來獲得ProjectDAO對象。

      (3)IProjectDAO接口和ProjectDAO類:IProjectDAO接口和ProjectDAO類是持久層的核心組件,ProjectDAO是IProjectDAO接口的實現(xiàn)類。它們定義了在數(shù)據(jù)庫中對數(shù)據(jù)進行操作的方法。ProjectDAO類繼承了Spring的HibernateDAOSupport類,直接使用getHibernateTemplate()方法來操作數(shù)據(jù)庫。

      (4)applicationContext.xml文件:applicationContext.xml文件是該系統(tǒng)的一個核心配置文件。它聲明了數(shù)據(jù)源、會話工廠(SessionFactory)、DAO類等。

      4 結(jié)束語

      開放實驗室管理系統(tǒng)采用J2EE技術(shù)進行開發(fā),具有功能齊全、伸縮自如、靈活方便、容易維護、安全可靠等特點。該系統(tǒng)投入運行后,實現(xiàn)了開放實驗室的網(wǎng)絡化、智能化管理,對學校的學分制改革和學生個性化培養(yǎng)提供了有力支持,學院的實驗教學水平和實驗室使用效益有明顯的提高。

      [1]施瑞,于曉勇,柳英,等.高校實驗室開放管理模式的探索[J].實驗技術(shù)與管理,2010,27(4):164-166.

      [2]張麗杰,劉建成,朱慧云.開放實驗室系統(tǒng)的分析與設計[J].實驗技術(shù)與管理,2009,26(8):101-104.

      [3]蔡勇,阿依木古麗,陳麗華,等.實驗室開放網(wǎng)上預約系統(tǒng)的開發(fā)與應用[J].實驗技術(shù)與管理,2010,27(4):97-99.

      [4]博思特軟件.開放實驗室解決方案[EB/OL].(2010-06-10)[2010-07-20].http://www.whbestsoft.com/project/project_shiyanshi.asp.

      [5]張海藩.軟件工程導論[M].北京:清華大學出版社,2008.

      [6]趙強.J2EE應用開發(fā)[M].北京:電子工業(yè)出版社,2006.

      [7]范會聯(lián),李獻禮.基于J2EE的網(wǎng)上選課系統(tǒng)設計[J].計算機應用研究,2006,23(9):172-174.

      [8]肖杰浩.Hibernate+Struts的J2EE應用開發(fā)[J].計算機與信息技術(shù),2007(5):19-20.

      [9]席曉峰,呂良雙,逯鵬.使用J2EE框架技術(shù)構(gòu)建可用的Web應用[J].計算機工程與應用,2005(29):208-210.

      [10]孫衛(wèi)琴.精通Struts基于MVC的Java Web設計與開發(fā)[M].北京:電子工業(yè)出版社,2004.

      [11]鄔繼成.J2EE開源編程精要15講[M].北京:電子工業(yè)出版社,2008.

      [12]孫衛(wèi)琴.精通Hibernate-Jave對象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005.

      [13]楊興,譙石,董文,等.基于輕量級J2EE框架高校教務管理系統(tǒng)的設計與實現(xiàn)[J].計算機系統(tǒng)應用,2007(3):75-76.

      [14]孫衛(wèi)琴.Tomcat與Java Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2008.

      〔編輯 高海〕

      Design and Implementation of Open Laboratory Magagement System

      WANG Yan-fei1,WANG Xiu-yi2
      (1.School of Coal Engineering,Shanxi Datong University,Datong Shanxi,037003;2.School of Mathematics and Computer Science,Shanxi Datong University,Datong Shanxi,037009)

      Opening laboratories can create a experimental environment of independent experiment and personalized learning for students,is an effective channel to foster the practical innovation of students and fine working skills.In order to improve utility and management efficiency of experimental equipment,a new opening laboratories managwment system based on Struts+Spring+Hibernate was developed,and a net-working and intelligent Web booking system was realized for the laboratory.

      open laboratory;magagement system;J2EE;Struts;Spring;Hibernate

      TP39

      A

      1674-0874(2011)01-0012-04

      2010-10-26

      王雁飛(1963-),女,山西大同人,高級實驗師,研究方向:電氣自動化。

      猜你喜歡
      山西大同視圖頁面
      大狗熊在睡覺
      山西大同 黃花菜豐收在望
      刷新生活的頁面
      《山西大同大學學報(自然科學版)》征稿簡則
      山西大同大學采礦研究所簡介
      山西大同邀客共賞“小黃花大產(chǎn)業(yè)”
      5.3 視圖與投影
      視圖
      Y—20重型運輸機多視圖
      SA2型76毫米車載高炮多視圖
      昌乐县| 满城县| 永吉县| 龙南县| 界首市| 三河市| 金溪县| 舟山市| 满洲里市| 金寨县| 黄龙县| 滦南县| 黔江区| 东阳市| 巴林左旗| 商城县| 绍兴县| 桦南县| 建瓯市| 鄂伦春自治旗| 南雄市| 宁都县| 海盐县| 兴隆县| 阿拉善左旗| 万全县| 南平市| 桃江县| 抚松县| 南丰县| 互助| 新化县| 商河县| 共和县| 江达县| 桑日县| 金塔县| 兴文县| 巫溪县| 济南市| 册亨县|