隨筆 - 24  文章 - 6  trackbacks - 0
          <2005年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          隨筆分類(23)

          積分與排名

          • 積分 - 13830
          • 排名 - 2083

          最新評論

          基于J2EE框架的模擬考試系統(tǒng)

          Bromon原創(chuàng) 請尊重版權(quán)

          一、系統(tǒng)概述

            本系統(tǒng)擬實(shí)現(xiàn)基本的網(wǎng)上模擬考試功能,包括學(xué)生登陸、在線考試、教師登陸、在線閱卷等模塊。

          二、設(shè)計(jì)目標(biāo)

            系統(tǒng)除了包含最基本的在線考試功能外,最主要的目的是演示J2EE框架的完整應(yīng)用,包括jsp/servlet、java web start、消息Bean、會話Bean、實(shí)體Bean等J2EE框架中最核心的技術(shù)。系統(tǒng)中大量使用了設(shè)計(jì)模式中的工廠模式、單例模式、委派模式,以及J2EE核心模式中的DAO模式和Session facade模式,保證了系統(tǒng)的可擴(kuò)展性和可插入性。

            本系統(tǒng)針對不同的模塊,使用了CMP和Hibernate兩種OR映射,也試圖通過使用本地接口和異步通信等手段優(yōu)化系統(tǒng)性能。目標(biāo)是使本系統(tǒng)在保證性能的同時,具有清晰的層次結(jié)構(gòu),以及良好的伸縮性和擴(kuò)展性。這樣的設(shè)計(jì)可能比較瘋狂,理論價值大于實(shí)際價值。

          三、方案描述

            系統(tǒng)大致結(jié)構(gòu)如下圖:
          user posted image

            系統(tǒng)使用了CMP對examer.student(學(xué)生數(shù)據(jù)表)、examer.teacher(教師數(shù)據(jù)表)、examer.examin(考試數(shù)據(jù)表)進(jìn)行了映射,原因是這些數(shù)據(jù)結(jié)構(gòu)相對簡單,數(shù)據(jù)單純,不需要進(jìn)行非常復(fù)雜、多樣的查詢,系統(tǒng)對數(shù)據(jù)表的操作不頻繁,通常情況下對性能不敏感,故采用了CMP。CMP中只提供最基本的查詢方法,所有的程序邏輯都封裝在對應(yīng)的會話Bean中,會話Bean和CMP一同部署,故可以采用本地接口訪問實(shí)體Bean,提高效率。客戶端僅僅與會話Bean進(jìn)行交互。該設(shè)計(jì)的好處是隱藏了數(shù)據(jù)邏輯,MVC的結(jié)構(gòu)非常清楚。后期的數(shù)據(jù)維護(hù)也比較簡單。

            系統(tǒng)使用Hibernate框架對examer.question(試題數(shù)據(jù)表)進(jìn)行映射,原因是該表格比較復(fù)雜,需要進(jìn)行復(fù)雜多樣的查詢,Hibernate框架可以提供更加靈活的查詢,便于擴(kuò)展。同樣的,Hibernate自身不含有商務(wù)邏輯,程序邏輯由對應(yīng)的會話Bean封裝,保證多層的隔離。由于系統(tǒng)可能會對底層數(shù)據(jù)表進(jìn)行較為頻繁的訪問,所以可以考慮更改實(shí)現(xiàn)方式,由會話Bean直接使用DAO模式訪問數(shù)據(jù)表,提高系統(tǒng)效率。

            對于examer.answer(答案數(shù)據(jù)表),系統(tǒng)沒有采取OR映射。原因是這個表格的數(shù)據(jù)保存學(xué)生的答題情況,在考試的過程中,該表格會被頻繁操作,但是操作多是單向的(添加新數(shù)據(jù)),進(jìn)行查詢的時候不多。針對這個特點(diǎn),系統(tǒng)采用消息Bean+會話Bean,使用DAO模式直接訪問數(shù)據(jù)表,通過使用J2EE的消息服務(wù)提供了一種異步調(diào)用機(jī)制,保證數(shù)據(jù)安全可靠,同時效率又得到極大改善。

            由于系統(tǒng)采用EJB開發(fā),所以客戶端豐富多樣,既可以是基于瀏覽器的jsp/servlet,也可以是基于awt/swing/swt的桌面應(yīng)用程序。為了便于多系統(tǒng)的集成,系統(tǒng)將EJB部署到Axis,提供web service接口,便于其他平臺、其他語言的應(yīng)用程序訪問。

            本系統(tǒng)的Model與control已經(jīng)全部完成,view部分尚未開工。

          posted on 2005-03-28 13:53 Sometimes Java 閱讀(316) 評論(0)  編輯  收藏 所屬分類: Tech Flow
          主站蜘蛛池模板: 彩票| 清水河县| 渭源县| 竹溪县| 清丰县| 吴江市| 牙克石市| 麟游县| 巴里| 桂东县| 镇宁| 库伦旗| 响水县| 孝感市| 灵川县| 宜阳县| 万宁市| 綦江县| 贵定县| 望谟县| 阳西县| 湖州市| 上犹县| 阿拉善左旗| 景德镇市| 绍兴市| 江孜县| 南丹县| 侯马市| 屯门区| 清流县| 南皮县| 当雄县| 宝山区| 禄丰县| 铜山县| 蒙城县| 开远市| 留坝县| 左权县| 宿迁市|