亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Wiki的數(shù)據(jù)庫案例可執(zhí)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2013-10-17 03:19:10劉金龍尹俊文
        關(guān)鍵詞:頁面文檔組件

        劉金龍,寧 洪,尹俊文

        (中國人民解放軍國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)系,湖南 長沙 410073)

        0 引言

        傳統(tǒng)的數(shù)據(jù)庫案例教學(xué)中,所用案例多為靜態(tài)、單版本,不支持案例可執(zhí)行、設(shè)計(jì)回溯、多版本對(duì)比學(xué)習(xí)、案例改造、協(xié)作等概念,這使得案例教學(xué)法的效果大打折扣。為了解決這個(gè)問題,本文提出基于Wiki技術(shù)構(gòu)建的數(shù)據(jù)庫可執(zhí)行案例系統(tǒng),該系統(tǒng)包含案例可執(zhí)行、基于標(biāo)簽的知識(shí)點(diǎn)組織和面向?qū)W習(xí)的信息推送3個(gè)主要模塊,這3個(gè)模塊將Wiki的特性和案例教學(xué)的優(yōu)點(diǎn)完美結(jié)合,不但使數(shù)據(jù)庫案例設(shè)計(jì)結(jié)果可盡早執(zhí)行,有助于學(xué)生對(duì)數(shù)據(jù)庫完整性控制、數(shù)據(jù)異常、數(shù)據(jù)庫性能等復(fù)雜概念的理解,而且使對(duì)比學(xué)習(xí)、否定式學(xué)習(xí)、協(xié)作學(xué)習(xí)等方式成為可能,無論是對(duì)施教者還是對(duì)學(xué)習(xí)者,都提供了強(qiáng)有力的幫助。

        1 XWiki平臺(tái)

        Wiki是一種在網(wǎng)絡(luò)上開放且可供多人協(xié)同創(chuàng)作的超文本系統(tǒng),由沃德·坎寧安于1995年首先開發(fā)。沃德·坎寧安將Wiki定義為“一種允許一群用戶利用簡單的描述來創(chuàng)建和連接一組網(wǎng)頁的社會(huì)計(jì)算系統(tǒng)”[3]。這種協(xié)作方式的應(yīng)用,可以更好地促進(jìn)知識(shí)的傳播與應(yīng)用。

        XWiki是一個(gè)用Java編寫的基于LGPL發(fā)布的開源Wiki平臺(tái)。它是第二代Wiki,不僅提供了傳統(tǒng)Wiki的全部功能,而且可以方便地創(chuàng)建簡單的協(xié)作式Web應(yīng)用。XWiki擁有優(yōu)秀的架構(gòu),它采用組件的方式組織整個(gè)平臺(tái)。它的一些受歡迎的特性,如頁面編輯、WYSIWYG編輯器、導(dǎo)出pdf、版本控制等都是通過組件的方式實(shí)現(xiàn)的,開發(fā)者也可以實(shí)現(xiàn)自己的組件,將自己需要的功能無縫地集成在XWiki平臺(tái)中,它還提供了對(duì)groovy和velocity腳本的支持,用戶可以直接在Wiki頁面上用腳本進(jìn)行擴(kuò)展。

        2 案例可執(zhí)行系統(tǒng)的體系結(jié)構(gòu)

        2.1 系統(tǒng)的功能結(jié)構(gòu)

        數(shù)據(jù)庫案例可執(zhí)行程序以可執(zhí)行的案例為中心,通過組件等機(jī)制使得創(chuàng)建于Wiki中的條目(案例)擁有可執(zhí)行的特性,卻不失去Wiki的協(xié)同編輯、版本回歸等特性,為數(shù)據(jù)庫案例教學(xué)帶來了極大的方便。除了可運(yùn)行,該系統(tǒng)還擁有基于標(biāo)簽樹的知識(shí)點(diǎn)的組織,面向?qū)W習(xí)的信息推送兩個(gè)主要模塊,另外還提供用戶管理、分組管理、權(quán)限控制等功能,系統(tǒng)的主要功能結(jié)構(gòu)如圖1所示。

        圖1 可執(zhí)行系統(tǒng)主要功能結(jié)構(gòu)

        案例的可執(zhí)行是該系統(tǒng)的主體部分,它包含了邏輯設(shè)計(jì)與概念設(shè)計(jì)階段的可執(zhí)行和數(shù)據(jù)庫施行階段的可執(zhí)行。邏輯設(shè)計(jì)與概念設(shè)計(jì)階段的可執(zhí)行允許使用者創(chuàng)建、刪除ER圖和邏輯圖,控制ER圖的版本(為了方便觀察,該處版本控制和Wiki文檔的版本控制是分開的,兩者互不影響),從模型圖里向DBMS里映射數(shù)據(jù)庫表等操作。數(shù)據(jù)庫實(shí)施階段的可執(zhí)行則可以智能地為數(shù)據(jù)庫表填充數(shù)據(jù)、在案例頁面執(zhí)行SQL語句、顯示結(jié)果等,也就是說使用者可以在不離開Wiki頁面的情況下完成數(shù)據(jù)庫設(shè)計(jì)的全過程。學(xué)習(xí)者在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的過程中,通過可執(zhí)行模塊和Wiki提供的版本控制功能,可以很方便地改造原設(shè)計(jì),或者對(duì)其進(jìn)行回溯,進(jìn)行否定式的學(xué)習(xí)。

        基于標(biāo)簽樹的知識(shí)點(diǎn)(條目、案例)的組織主要是針對(duì)XWiki中條目的組織過于松散提出來的解決方案。條目組織松散、缺乏結(jié)構(gòu)化是Wiki系統(tǒng)的通病。XWiki中采用了分類和標(biāo)簽兩種方式組織條目,效果也不是很好,該模塊將Wiki中的標(biāo)簽功能進(jìn)行擴(kuò)展,使其可以以樹形的方式呈現(xiàn),并且允許用戶自由編輯標(biāo)簽樹的父子結(jié)構(gòu),極大地增加了查找相關(guān)條目(即知識(shí)點(diǎn))的效率。

        面向?qū)W習(xí)的信息推送目的是將學(xué)習(xí)者可能關(guān)心的案例(即條目)及其發(fā)生的修改信息推送給學(xué)習(xí)者,該功能不僅可以避免學(xué)習(xí)者對(duì)案例的重復(fù)查找,還能增加學(xué)習(xí)者學(xué)習(xí)的主動(dòng)性。

        用戶管理、分組管理主要由施教者完成,施教者在該系統(tǒng)中相當(dāng)于管理員的身份,他可以對(duì)用戶和分組的各種信息進(jìn)行更改,包括創(chuàng)建刪除用戶和分組,分組成員的變更。而學(xué)習(xí)者則只可以更改自己的信息。學(xué)習(xí)者對(duì)分組的管理也僅限于自己創(chuàng)建的分組。權(quán)限控制和分組管理類似,施教者可以控制各個(gè)頁面的訪問、編輯、評(píng)論等權(quán)限,而學(xué)習(xí)者僅能對(duì)自己創(chuàng)建的頁面進(jìn)行權(quán)限控制。學(xué)習(xí)者利用這些功能,結(jié)合Wiki提供的協(xié)作編輯,可以很方便地展開以組為單位的協(xié)作學(xué)習(xí)。

        2.2 系統(tǒng)的邏輯架構(gòu)

        本文提出的系統(tǒng)構(gòu)建于XWiki平臺(tái)之上,XWiki采用Struts、Hibernate等開源框架實(shí)現(xiàn),它的架構(gòu)非常優(yōu)秀,不僅嚴(yán)格地遵循了MVC的分層結(jié)構(gòu),也提供了非常簡便的擴(kuò)展方式,對(duì)于簡單的Web應(yīng)用,開發(fā)者僅需要在Wiki頁面中編寫簡單的velocity或者groovy腳本(可以調(diào)用 XWiki提供的 API),配合XWiki對(duì)HTML、CSS和JavaScript的支持即可實(shí)現(xiàn),對(duì)于比較復(fù)雜的需求,XWiki提供了組件的功能。本系統(tǒng)是結(jié)合了組件和腳本兩種方式實(shí)現(xiàn)的。它的邏輯結(jié)構(gòu)如圖2所示。

        圖2 可執(zhí)行系統(tǒng)邏輯架構(gòu)

        3 案例執(zhí)行系統(tǒng)的實(shí)現(xiàn)

        本系統(tǒng)除了借用XWiki原有頁面、鏈接、標(biāo)簽、版本等一系列機(jī)制支持案例設(shè)計(jì),還通過腳本和組件兩種方式對(duì)XWiki進(jìn)行擴(kuò)展實(shí)現(xiàn)案例可執(zhí)行、信息推送等一系列主要功能。由于篇幅有限,而且這些功能模塊的實(shí)現(xiàn)機(jī)理具有一定的相似性,本節(jié)選擇依托于主頁的信息推送和案例可執(zhí)行模塊中SQL語句執(zhí)行兩個(gè)部分,說明如何利用腳本和組件擴(kuò)展XWiki平臺(tái)實(shí)現(xiàn)系統(tǒng)各類功能。

        3.1 信息推送模塊的實(shí)現(xiàn)

        信息推送模塊主要是向?qū)W習(xí)者推送他可能關(guān)心的模塊或用戶的動(dòng)態(tài)信息(比如說案例的創(chuàng)建刪除等),這些信息最好在第一時(shí)間落入學(xué)習(xí)者的眼中,因此將它放在了首頁中。該模塊主要通過velocity腳本實(shí)現(xiàn)。

        XWiki將在文檔中發(fā)生的每種操作都定義為一個(gè)事件,比如文檔的創(chuàng)建操作定義為CREAT事件,文檔的更改操作定義為UPDATE事件等。當(dāng)某個(gè)事件發(fā)生時(shí),往往會(huì)伴有大量的信息,比如比較簡單的CREAT事件發(fā)生時(shí),就會(huì)產(chǎn)生創(chuàng)建文檔的作者、文檔的名字、文檔所屬類別、文檔被打上的標(biāo)簽等信息。XWiki會(huì)將這些信息都保在其支撐數(shù)據(jù)庫中保存下來,信息推送模塊要做的就是將這些信息讀取出來,并推送給特定用戶。

        該模塊通過velocity腳本為使用者呈現(xiàn)諸多信息,下面以指定天數(shù)內(nèi)瀏覽次數(shù)最多的頁面為例介紹該功能的實(shí)現(xiàn)模式,該功能的展現(xiàn)效果如圖3所示。

        圖3 瀏覽次數(shù)最多的頁面

        該功能可以按用戶指定的天數(shù)和個(gè)數(shù)列出相應(yīng)的瀏覽次數(shù)最多的一些頁面。這個(gè)功能的核心代碼如下:

        用戶訪問頁面會(huì)觸發(fā)一次VIEW事件,這里通過HQL(Hibernate實(shí)現(xiàn)的面向?qū)ο蟮念怱QL語句)將指定日期內(nèi)每個(gè)頁面發(fā)生的VIEW事件求和,并降序排列,返回結(jié)果給stats變量,然后通過XWiki對(duì)HTML和CSS的支持,將這個(gè)結(jié)果展現(xiàn)出來。

        信息推送的其它部分信息的獲取和瀏覽次數(shù)的獲取方式大同小異,都是通過HQL從數(shù)據(jù)庫里取得相應(yīng)的信息,然后展示給使用者。

        3.2 SQL語句執(zhí)行模塊的實(shí)現(xiàn)

        SQL語句執(zhí)行模塊是數(shù)據(jù)庫實(shí)施階段可執(zhí)行模塊的一個(gè)子模塊,它主要用來執(zhí)行各種SQL語句,使用者不需要熟悉具體的DBMS,只需要在輸入框內(nèi)輸入各種命令進(jìn)行查詢即可,它的執(zhí)行流程如圖4所示(省略了數(shù)據(jù)庫連接的細(xì)節(jié))。

        圖4 SQL執(zhí)行模塊執(zhí)行流程

        該功能通過XWiki的組件實(shí)現(xiàn)。XWiki是開源軟件,它的代碼托管于github,它的程序則是通過maven進(jìn)行構(gòu)建,開發(fā)者也需要通過maven進(jìn)行組件的擴(kuò)展。當(dāng)配置好maven環(huán)境后,只需在命令行調(diào)用如下命令:

        maven就會(huì)自動(dòng)下載好所依賴的jar包,并生成一個(gè)Hello World級(jí)的組件,開發(fā)者可以對(duì)這個(gè)組件進(jìn)行修改,實(shí)現(xiàn)自己需要的功能??蓤?zhí)行功能組件的入口如下:

        組件的入口類必須實(shí)現(xiàn)XWiki提供的ScriptService才能被XWiki識(shí)別為一個(gè)組件。當(dāng)單元測試確認(rèn)結(jié)果正確后,即可通過 maven的打包功能:mvn package將程序打成jar包。XWiki的組件使用時(shí)只需將打好的jar包添加到類路徑,然后重啟Web容器,即可通過XWiki提供的命令調(diào)用組件了。SQL執(zhí)行模塊的調(diào)用方法為:

        $services.sqlparse..getSqlResultt(articleName,sql)

        其中sqlparse為組件實(shí)現(xiàn)時(shí)為組件起的名字。當(dāng)獲得了執(zhí)行結(jié)果后,只需要通過HTML和CSS即可將查詢結(jié)果展示給學(xué)習(xí)者。

        4 結(jié)束語

        本文在詳細(xì)分析了數(shù)據(jù)庫案例的功能需求的基礎(chǔ)上,提出基于Wiki開發(fā)數(shù)據(jù)庫案例可執(zhí)行系統(tǒng)的設(shè)計(jì)框架,并通過典型的模塊介紹了系統(tǒng)的實(shí)現(xiàn)技術(shù)。該系統(tǒng)已完成,正投入試用。該系統(tǒng)雖然是針對(duì)數(shù)據(jù)庫案例教學(xué)的需求開發(fā)的,但其可執(zhí)行機(jī)制、信息推送和知識(shí)點(diǎn)組織等概念很容易推廣到其它具有構(gòu)造性的一類課程中去,為其它的課程案例教學(xué)提供支持。

        [1]李紅,宋笑雪,劉小豫.案例教學(xué)法在《數(shù)據(jù)庫原理》課程中的運(yùn)用[J].現(xiàn)代計(jì)算機(jī):上半月版,2011(11):28-30.

        [2]胡科.基于Web2.0的Wiki技術(shù)應(yīng)用研究[J].中國電化教育,2006(9):101-102.

        [3]Steve Wheeler.The good,the bad and the wiki:Evaluating student-generated content for collaborative learning[J].Educational Technology,2008,39(6):987-995.

        [4]Besiki Stvilia,Michael Twidale,Linda Smith.Information quality work organization in Wikipedia[J].Journal of the American Society for Information Science and Technology,2008,59(6):983-1001.

        [5]王勤明.基于Wiki技術(shù)的網(wǎng)絡(luò)協(xié)作式學(xué)習(xí)模式研究[J].河南農(nóng)業(yè),2007(8):48.

        [6]譚支軍.Wiki在教育教學(xué)中的應(yīng)用初探[J].中國遠(yuǎn)程教育,2005(9):66-67.

        [7]高燕,鄒霞,馬偉偉.基于Wiki的網(wǎng)絡(luò)作文教學(xué)模式探究[J].現(xiàn)代教育技術(shù).2007(9):74-76.

        [8]趙杰.基于WiKi的協(xié)作學(xué)習(xí)行動(dòng)研究[D].南京:南京師范大學(xué),2007.

        [9]康飛,劉家勛.Wiki技術(shù)應(yīng)用案例分析及其啟示[J].中國現(xiàn)代教育裝備,2007(12):45-46.

        [10]莊秀麗.WiKi呼喚網(wǎng)絡(luò)時(shí)代的共創(chuàng)分享[J].中國研究生,2004(1):52-53.

        [11]李兆義.Wiki在高校教育教學(xué)中的應(yīng)用初探[J].中國現(xiàn)代教育裝備,2009(8):22-25.

        [12]譚支軍.基于Wiki在教育教學(xué)中的應(yīng)用初探[J].中國遠(yuǎn)程教育,2005(5):66-68.

        [13]劉勇,鄒霞.基于Web2.0的師生互動(dòng)平臺(tái)的構(gòu)建[J].宜賓學(xué)院學(xué)報(bào),2009,9(12):58-61.

        [14]陳立華,徐建初.Wiki:網(wǎng)絡(luò)時(shí)代協(xié)同工作與知識(shí)共享的平臺(tái)[J].中國信息導(dǎo)報(bào),2005(1):51-54.

        猜你喜歡
        頁面文檔組件
        大狗熊在睡覺
        刷新生活的頁面
        無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        有人一聲不吭向你扔了個(gè)文檔
        新型碎邊剪刀盤組件
        U盾外殼組件注塑模具設(shè)計(jì)
        基于RI碼計(jì)算的Word復(fù)制文檔鑒別
        Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
        風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
        太陽能(2015年11期)2015-04-10 12:53:04
        不讓他人隨意下載Google文檔
        電腦迷(2012年4期)2012-04-29 06:12:13
        色老板美国在线观看| 久久亚洲一级av一片| 国产精品女同二区五区九区| 人妖av手机在线观看| 国产av永久无码天堂影院| 亚洲午夜精品a区| 亚洲蜜桃视频在线观看| 九一免费一区二区三区偷拍视频| 狼人青草久久网伊人| 少妇的丰满3中文字幕| 久久久诱惑一区二区三区| 国产精品人妻熟女男人的天堂| 欧美人与禽2o2o性论交| 天天躁人人躁人人躁狂躁| 久久91精品国产91久久麻豆| 性生大片免费观看性少妇| 天堂网在线最新版www| 久久精品亚洲牛牛影视| 国产熟女精品一区二区| 久久精品熟女亚洲av麻| 亚洲精品92内射| 国产精品中文第一字幕| 亚洲一区二区自偷自拍另类| 欧美亚洲日本国产综合在线美利坚| 日日摸夜夜添狠狠添欧美| 极品粉嫩小仙女高潮喷水视频| 少妇被按摩出高潮了一区二区| 99国产精品人妻噜啊噜| 国产成人美女AV| 亚洲一区免费视频看看| 无码av不卡一区二区三区| 精品视频一区二区三三区四区| 日韩精品一区二区三区四区视频| 美女视频在线观看亚洲色图| 精产国品一二三产品蜜桃| 东京热加勒比在线观看| 午夜少妇高潮在线观看视频| 宅男666在线永久免费观看| 高清国产日韩欧美| 一区二区三区日本美女视频| 午夜成人理论福利片|