999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通用網絡教學平臺的設計與實現*

2019-10-22 03:44:44張北賢劉美玲陳鍵王宏輝
科技與創新 2019年19期
關鍵詞:頁面按鈕用戶

張北賢,劉美玲,陳鍵,王宏輝

通用網絡教學平臺的設計與實現*

張北賢,劉美玲,陳鍵,王宏輝

(廣西民族大學 軟件與信息安全學院,廣西 南寧 530006)

研究了一套通用網絡教學平臺的設計原理與實現過程,闡述了使用Html5、CSS3、JavaScript、Ajax等前端技術開發系統前端頁面的過程與方法,重點闡述了服務器端的設計模式。系統主要使用JSP、Servlet、JavaBean技術進行后臺開發,并結合Struts 2的開發框架進行請求的轉發和處理。系統的總體架構采用MVC模式,采用Apache Shiro進行權限管理。

互聯網教育;JSP;Servlet;軟件設計模式

1 前言

隨著互聯網科技的發展,互聯網思維改變了人們的教育方式,互聯網教育便應運而生。為了突破教育活動在地域和時間上的限制,開發出一套通用的網絡教學平臺。在這個平臺上,學生是教學的主體,教師起主導作用,系統的通用性體現在任何教師都可以申請開通其所任課程的網絡教學空間,自主管理與維護其網絡課程。通過該網絡教學平臺輔助課堂教學,以達到擴充課堂內容、共享教學資源與最佳利用的目的,方便學生學習、師生交流,減輕教師教學工作強度,提高教師工作效率與學生學習效率。

2 系統功能

通用網絡教學平臺具有教師、學生和管理員三類用戶,主要功能模塊包括在線課堂、教學資源上傳與更新、布置作業、批改作業、在線交流、在線考試平臺等;學生通過該平臺可在線學習、下載教學資源、在線測試、查看作業、上傳作業、與教師和學生交流、在線考試等。

系統功能如圖1所示。

圖1 系統功能結構圖

3 系統開發的原則

3.1 項目原則

本系統開發時嚴格遵循軟件項目開發的標準,經調研先后制定了《用戶需求文檔》《軟件需求規格說明書》《設計文檔》,采用增量式模型的生存期模型將需求分段成一系列增量產品,每一增量可以分別開發。首先構造本系統核心功能,然后逐步增加和完善功能。各個階段并不交付一個可運行的完整產品,而是交付滿足需求的子集可運行產品,最后各個構件并入已有的軟件體系結構。

3.2 軟件設計原則及模式

3.2.1 面向對象設計原則

本項目的數據庫連接應用里氏代換、依賴倒轉和開閉原則。Action類依賴于抽象耦合,而具體數據庫連接類從抽象連接類繼承(或實現接口),使得任何調用連接類基類的引用都可以替換成具體連接類。本項目數據引擎采用MySql,若更換項目數據庫引擎為Oracle,只需創建一個繼承連接類基類的Oracle連接類,并在Action中使調用連接類基類的引用指向Oracle連接類即可。以下為代碼實現:

class MysqlBaseDao implements

ConnectBaseBiz{}ConnectBaseBiz cbb

=new MysqlBaseDao();Connection conn=cbb.getConnection();

本項目客戶端調用對象的層次順序是Action層、Biz層、Dao層。Action是系統的控制器(Controller),層配置于struts.xml文件,負責調用Biz層。Biz層為抽象業務邏輯層,定義了具體實現層Dao的所有接口,而Dao層則負責具體實現業務功能。Action層針對Biz層進行編程,任何調用Biz層的引用均由Dao層的具體實現類代換,不但有益系統的維護,更使項目具有很好的拓展性。

3.2.2 觀察者模式

一個對象行為發生變化可能導致其他對象的行為發生變化,觀察者模式用于實現這種對象間的依賴關系。在課程帖子交流模塊中,當用戶發表評論后應立即更新被評論者的交流情況,此時解決的方法有采取命令模式和觀察者模式。

本項目采用觀察者模式,當CommentBiz對象執行addOneComment方法后,觀察CommentBiz對象的UserBiz對象應立即調用updateCommentCount等一系列方法。

CommentDao類中,代碼實現如下:

UserBiz ub=new UserDao();

notify(){ub.updateCommentCount();}

addOneComment(){***;notify ();}

4 JS渲染頁面數據

本項目前端的數據獲取及分頁均采用自行研發的JavaScript腳本,該腳本以Ajax異步獲取數據,并可以在預先定義好CSS樣式的情況下動態生成數據顯示項,并將其分頁。具體方法為:①給Html元素板塊的最外層及其內部相關元素加上id屬性,并結合數字標識,給每個Html元素板塊生成唯一標識,例如消息板塊的id為Notice_i(i=0,1.2,…n);②采用Json格式數據,將Json數據封裝成對象。腳本動態生成的Html元素綁定自定義方法,經計算映射出每個板塊需要顯示的數據。

5 具體設計規約

5.1 權限管理

系統的權限管理采用Apache Shiro,將系統的權限管理分為角色管理和權限管理兩個粒度。系統的每一個接口(功能)或頁面在被調用之前都要經過Shiro的認證,只有符合特定角色或擁有特定權限的用戶才有資格進行操作。Shiro將用戶抽象為Subject對象,支持多個用戶同時登錄一個瀏覽器且權限不會紊亂,且它的配置十分簡單,只需加載shiro.ini的配置即可,使權限管理模塊實現低耦合。

此外,系統在服務器端跳轉到不同頁面,使瀏覽器無法了解進入的頁面的具體文件名,提高了系統安全性。

5.2 加載文件

經服務器跳轉的頁面會出現無法找到CSS及JS文件的問題,因為瀏覽器保留的當前頁路徑是未跳轉前的路徑,所以,需要用絕對路徑鏈接文件,代碼如下:

basePath=request.getScheme()+"://"+request.getServer Name()+":"+request.getServerPort()+request.getContextPath()+"/";

5.3 項目的配置

項目源碼的所有配置均集中在struts.properties文件,例如struts.encoding=UTF-8。Dao層讀取配置信息時采用Properties versionProperties = new Properties();InputStream in =ReadProperties.class.getClassLoader().getResourceAsStream("struts.properties");配置信息=(versionProperties.load(in)). getProperty(“配置名稱,例如struts.encoding”)即可。

5.4 上傳文件

文件的上傳均采用異步上傳,form表單添加enctype="multipart/form-data"屬性將文件轉化為二進制流,引用jquery.form.js,并通過$("#f表單id").ajaxSubmit()進行文件的提交,保證頁面不跳轉,增強了用戶體驗效果。

6 部分模塊設計

6.1 管理在線課堂

主要參與者:教師。

描述:教師可以在課程發布頁面發布新課程、修改和刪除不滿意的課程。

主事件流:①發布課程。教師用戶進入個人中心→點擊“課程管理”按鈕→點擊“新增課程”按鈕→選擇課程圖片及填寫相關信息→點擊“發布”按鈕→發布成功。②刪除課程。教師用戶進入個人中心→點擊“課程管理”按鈕→顯示所有任課課程的列表→選擇待刪除的課程,點擊“刪除”按鈕→刪除成功。③修改課程。教師用戶進入個人中心→點擊“課程管理”按鈕→顯示所有任課課程的列表→點擊“待修改的課程”→進入修改狀態→可選重新擇課程圖片及填寫相關信息→點擊“修改”按鈕→修改成功。

異常事件流:未登錄執行操作,提示“尚未登錄,暫無權限”。

業務規則:非該課程的教師用戶無法管理該課程信息。

6.2 管理在線測試

主要參與者:教師。

描述:教師管理自身任教課程的在線測試的題目,包括對試題的增、刪、查改。

主事件流:①新增試題。教師用戶進入任教課程的課程中心→點擊“在線測試”按鈕→課程中心顯示所有課程待考試題,試題按時間排序,最新的試題應優先顯示→點擊新增試題,點擊進入在線測試的考試中心的新增頁面→在題庫選擇或手動填寫題目,選擇考試時間→點擊“保存”或“發布”按鈕→保存成功或發布成功→發布成功后立即發消息給該課程的學生用戶。②刪除試題。教師用戶進入任教課程的課程中心→點擊“在線測試”按鈕→課程中心顯示所有課程待考試題,試題按時間排序,最新的試題應優先顯示→選擇試題,點擊進入在線測試的考試中心→點擊“刪除”按鈕→刪除成功。③修改試題。教師用戶進入任教課程的課程中心→點擊“在線測試”按鈕→課程中心顯示所有課程待考試題,試題按時間排序,最新的試題應優先顯示→點擊試題→進入在線測試的試題中心→點擊“修改”按鈕→進入修改模式→修改試題并點擊“保存”按鈕→保存成功。

異常事件流:未登錄執行刪除操作,提示“尚未登錄,暫無權限”。

業務規則:①非該課程的教師用戶無法管理該課程的在線測試題目;②不論該課程的學生用戶是否在線,對于已經在線的用戶應立即向其推送最新測試消息。

7 系統實現

本系統的前端采用Html5、CSS3、JavaScript、Ajax等前端技術對系統前端頁面進行開發。系統后端(服務器端)采用JSP、Servlet、JavaBean技術對系統服務器端進行開發,并結合Struts 2的開發框架,對前端請求進行轉發和處理。系統的總體架構采用MVC模式,采用Apache Shiro進行權限管理。數據庫采用Mysql對數據進行儲備和管理。以下列舉了新增在線課堂的實現代碼。

7.1 前端實現

前端實現程序如下:

/*異步上傳課程圖片*/

$("#coursePhoto").on("change",function(){

var $file = $(this);

var fileObj = $file[0];

var windowURL = window.URL || window.webkitURL; var dataURL;

var $img = $("#personphoto");

if (fileObj && fileObj.files && fileObj.files[0]) {

dataURL = windowURL.createObjectURL(fileObj.files[0]);

$("#course_photo").attr("src",dataURL);

} else {

dataURL = $file.val();

}

});

$("#submitCourseButton").on("click",function(){

$("#coursePhotoForm").ajaxSubmit({

type:'post',

url:'upload_course_photo',

success:function(data){

……

/*上傳文字信息*/

function submitCourseMessage(coursePhotoPath){

$("#addCourseForm").ajaxSubmit({

type:'post',

url:'add_course',

success:function(data){ ……

7.2 后端實現

后端實現程序如下:

result

result

public String addCourse(){

CourseBiz cb=new CourseDao();

courseNumber=(String) ActionContext.getContext().getSession().get("courseNumber");

coursePhotoPath=(String) ActionContext.getContext().getSession().get("coursePhotoPath");

course.setC_number(courseNumber);

course.setC_photo_path(coursePhotoPath);

course.setC_state("等待開課");

result=cb.addCourse(course);

return SUCCESS;

}

8 總結

通用網絡教學平臺最大的特點在于其通用性,該平臺課程的類型不限,可適用于任何課程,任何課程的教師都可以在該平臺上開設課程并自主管理課程及其班級學生信息。該系統具有友好的用戶界面,功能強大,可操作性強,具有較高的數據安全性和可拓展性。

[1]劉偉.設計模式[M].北京:清華大學出版社,2011:345-348.

[2]韓萬江.軟件項目管理案例[M].3版.北京:機械工業出版社,2015:41-42.

[3]王宇軒.軟件工程教學網站的開發與設計研究[J].軟件導刊(教育技術),2018,17(4):48-50.

[4]黃志強.軟件工程教學網站的開發與設計[J].吉林省教育學院學報(中旬),2014,30(4):59-60.

[5]李曉薇.JavaScript在動態網頁設計中的應用研究[J].信息系統工程,2019(1):87.

G434

A

10.15913/j.cnki.kjycx.2019.19.001

2095-6835(2019)19-0001-03

張北賢(1996—),男,研究方向為軟件工程。劉美玲(1979—),女,研究方向為軟件工程/數據挖掘。陳鍵(1996—),男,研究方向為軟件工程。王宏輝(1996—),男,研究方向為軟件工程。

廣西大學生創新創業訓練計劃項目(編號:201710608119);廣西高等教育本科教學改革工程項目(編號:2018JGB166);廣西民族大學校級教改項目

〔編輯:張思楠〕

猜你喜歡
頁面按鈕用戶
這些按鈕能隨便按嗎?
大狗熊在睡覺
當你面前有個按鈕
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 爽爽影院十八禁在线观看| 色婷婷在线播放| 夜夜高潮夜夜爽国产伦精品| 中文天堂在线视频| 亚洲成人播放| 伊人大杳蕉中文无码| 91免费国产在线观看尤物| 东京热av无码电影一区二区| 午夜日本永久乱码免费播放片| 婷婷色中文| 九色视频在线免费观看| 日韩国产 在线| 综合亚洲色图| 欧美第九页| 精品免费在线视频| 精品亚洲欧美中文字幕在线看| 六月婷婷激情综合| 亚洲AV成人一区国产精品| 91国内外精品自在线播放| 成人福利视频网| 国产精品视频导航| 免费国产福利| 女同国产精品一区二区| 中文成人无码国产亚洲| 精品丝袜美腿国产一区| 成AV人片一区二区三区久久| 久久综合AV免费观看| 国产va在线观看| 高清精品美女在线播放| 尤物亚洲最大AV无码网站| 91福利免费| 一级毛片免费观看久| 亚洲美女一区二区三区| 亚洲欧州色色免费AV| 四虎成人精品| 四虎影视8848永久精品| 国产激情国语对白普通话| 成人噜噜噜视频在线观看| 一级毛片免费不卡在线视频| 国产人妖视频一区在线观看| 久久综合伊人77777| 精品无码一区二区三区电影| 亚洲永久精品ww47国产| 色哟哟国产精品一区二区| 熟女日韩精品2区| 久久精品人人做人人爽97| AV在线天堂进入| 亚洲国产精品日韩专区AV| 国产打屁股免费区网站| 欧美在线综合视频| 欧美激情视频在线观看一区| 97影院午夜在线观看视频| 国产美女叼嘿视频免费看| 在线精品亚洲一区二区古装| 毛片免费高清免费| 国产精品久久精品| 亚洲成人在线网| 男人天堂亚洲天堂| 91精品国产无线乱码在线| 99re免费视频| 欧美日韩国产精品综合| 国产69精品久久久久妇女| 国产高清在线精品一区二区三区 | 色综合久久88色综合天天提莫 | 日本黄色不卡视频| 亚洲日本中文字幕乱码中文 | 国产成人毛片| 久久大香伊蕉在人线观看热2| 日韩乱码免费一区二区三区| 久久综合伊人77777| 国产在线拍偷自揄观看视频网站| 亚洲高清在线播放| 99中文字幕亚洲一区二区| 亚洲国产精品人久久电影| 欧美精品伊人久久| 欧美色图久久| 一级黄色片网| 国产午夜精品一区二区三区软件| 蜜臀AVWWW国产天堂| 欧美啪啪网| 国产办公室秘书无码精品| 欧美成人怡春院在线激情|