




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、hse多媒體培訓平臺解決方案趙士坤 西部鉆探工程有限公司克拉瑪依鉆井公司摘要利用多媒體技術進行企業員工培訓是當前廣泛采用的培訓方法,多媒體培訓具有費用少、風險低、周期短、效果好等諸多優點,多媒體培訓的應用當然也離不開其系統運行和管理平臺,本文將著重介紹在多媒體培訓平臺的設計、開發、實踐環節,重點分析系統的程序架構、業務流程、關鍵技術和技術難點,希望通過本文的介紹對您在從事這方面研究方面能起到些許的幫助,通過我們的努力希望可以為我們石油行業的員工培訓提供自主的、穩定可靠的解決方案。關鍵詞用戶管理課程管理 考試管理 培訓平臺1背景石油行業屬于高風險作業行業,施工工藝要求高、工序復雜,存在人身傷害、
2、火災爆炸、環境污染和施工質量等多方面的風險。某個崗位操作失誤、配合不當,就有可能導致傷害事故的發生。傳統的現場實物培訓方式存在著諸多無法克服的弊端,如成本高、風險大,周期長,而且受外部自然環境的影響,隨著多媒體技術的發展,可以為我們石油工程技術服務行業的培訓方式提供了新的途徑,通過一套多媒體培訓系統可以根據需要安排培訓時間、地點,而且不受外部環境的影響,多媒體圖文并茂,flash視頻等多種呈現方式,能在宏觀和細節上對關鍵問題,關鍵部件進行詳細講解,能達到非常好的培訓效果。石油行業從業人員,大多人員分散,集中培訓時間較短,特別是在北方地區,主要集中在冬季,且參培人員多;這就要求必須在較短的時間內
3、,對分散各地的大量人員進行相應的培訓;不僅工作量大,而且培訓效果不太理想。采用多媒體技術集中培訓的方式,有效的解決了培訓時間、培訓人員、培訓地點和課件修改的問題,但隨著培訓力度的加大,培訓面的擴大,參訓人員的增多,對培訓平臺的要求越來越高,如何解決多用戶并發產生的網絡延遲能問題,是平臺技術成熟與否的關鍵,利用現有的計算機網絡資源(局域網主干線的傳輸速度1000mb,到桌面為100mb),建立一個覆蓋面廣,培訓不受時間、地點、人數和場地限制的網絡多媒體培訓教材,已經勢在必行。其中的核心技術有兩個方面:一、多媒體課件制作技術,需要用到網頁制作技術、3d、flash等技術制作豐富的多媒體課件;二、高
4、效穩定的系統運行平臺,多媒體培訓平臺是指運行、維護多媒體課件資源,為培訓學員提供學習、考試、成績查詢等服務的軟件系統平臺,現有的技術一般為java、.net等開發的多層架構系統平臺。2培訓平臺總體設計21平臺程序架構設計平臺采用.net2.0程序開發,b/s三層結構,iis6.0發布平臺,sql server2005數據庫,xml數據文件做權限樹導航,ajax技術做無刷新數據驗證和考試記錄時間。在.net2.0應用程序中app_code文件夾下建立公共類組件,用戶數據庫的訪問控制、數據的增、刪、查、改操作,以及字符串處理、用戶身份驗證等公共類,為了保證某些類之間的引用,要確保其在同一個命名空間
5、內(namespace),在app_themes下建立主題、皮膚、樣式文件,統一平臺頁面風格,定義皮膚文件后可以對服務器端控件的風格進行整體控制,然后在web.config文件中注冊,則可以自動控制全部頁面的服務器端控件風格,為了確保具備特殊風格需要,還可以用css樣式表對頁面風格進行控制。在應用程序主目錄下建立fileupload文件夾,存放上傳的多媒體課件,用于課件學習時統一訪問,課件的存放路徑則存放到數據庫表中,在應用程序主目錄下建立image文件夾,存放平臺需要調用的全部圖片文件,保證程序規整有序。主頁面框架用frame定義,采用上-下,左-右格局,上部為標題,下部左側為導航樹,右側為
6、顯示頁面,至此程序基本架構設計完成。2.2平臺程序流程設計在該多媒體培訓平臺中有兩個角色學員和管理員,二者角色不同、權限不同,程序流程也自然不同,我們分別介紹其程序流程,首先,學員登錄時判斷學員的身份是否合法,如果不合法則不允許登錄,在登錄時設計了一個驗證碼程序,防止惡意登錄,合法用戶登錄后根據用戶權限,在左側的導航樹顯示相應的菜單,學員用戶只有密碼修改、我的課程、我的考試、考試查詢等主要菜單,管理員用戶則可以看到全部菜單。23平臺功能分析多媒體培訓系統中兩個關鍵的角色為學員和管理員,二者的權限不同,學員擁有學習課件、查看和修改個人密碼、參加考試的基本權限,管理員擁有學員賬號分配、學員信息建立
7、、學員權限分配、課件管理、課程管理、題庫管理、考試管理等全部的權限,其中課件管理包括課件的上傳、屬性的修改、課件的刪除等基本操作,課程管理包括課程創建、修改、刪除等操作,題庫管理包括題庫的創建、試題的添加、試題修改、試題刪除等操作,考試管理包括考試創建、修改、刪除等基本操做,和學員的添加、刪除等考試與學員對應關系的建立,以及試卷判分和成績查詢等操作,下面做概要的功能介紹。2.3.1 學員管理l 功能描述學員輸入個人身份證號和登陸密碼進入培訓平臺,學員可進行個人信息修改、課程學習、在線考試、成績查詢。管理員可對學員信息、所學課程和考試進行修改、刪除、添加。l 個人信息根據個人身份證號,修改個人基
8、本信息和登陸密碼l 課程學習根據個人身份證號,培訓平臺提供相應培訓課程l 在線考試根據個人身份證號和學習記錄,培訓平臺提供相應考試卷l 成績查詢根據個人身份證號,培訓平臺列出課程考試成績l 功能流程圖:a、 學員、系統管理員2.3.2 課件管理l 功能描述將已經打好包的課件,上傳到培訓平臺,根據不同培訓需求設置課件屬性。l 課件信息根據課件名稱,記錄課件上傳時間,上傳人員,課件名稱、圖標,課件簡要說明l 課件操作系統管理人員導入、修改、刪除相應課件后,設置課件屬性,系統自動記錄課件導入時間、上傳人員。l 功能示意圖2.3.3 課程管理l 功能描述按培訓需求,設置課程內容,課程學習順序和課程學習
9、人員。l 課程信息根據課程名稱,設置課程圖標、名稱、說明,課程學習人員。l 課程操作系統管理員根據培訓需求,制定課程內容,課程順序,課程屬性和培訓人員;學員進入我的課程,能看到系統管理員提供的課程,學習課程中,系統自動記錄學習記錄。l 功能示意圖系統管理員2.3.4 考試管理l 功能描述課程培訓結束,學員按管理員設置的考試卷,進行在線測試、評分。l 考試信息考試名稱、考試說明、考試內容,考試時間,考試合格分數,考試次數、考試學員。l 考試操作系統管理人員,按培訓課程出試卷,設置試卷屬性,添加考試人員;學員在我的考試中,可以看到系統管理員提供的考試卷,進行考試,完成試卷填寫后,可查詢本次考試結果
10、。l 功能示意圖3 數據庫設計主要表間關系圖圖3-1表間關系圖4 運行效果圖 4.1 用戶登錄圖4-1登錄頁面4.2 課程學習4.3 學員考試5關鍵技術51 xml權限訪問控制在用戶通過身份驗證開始登錄主頁面的時候,通過程序判斷用戶的角色,是管理員還是普通學員,如果是管理員則讀取管理員權限導航樹,如果是學員則讀取學員導航樹。具體實現關鍵代碼如下:public void createhiberarchytree(treenode parentnode, bool isaddurl, bool isguest,string roleid) if (parentnode = null) return
11、; /獲取數據 datatable dt; if (roleid.equals(1)/判斷角色id屬于哪個角色 dt = getboards();/讀取管理員xml樹 else dt = getboards1();/讀取學員xml樹 if (dt = null) return; /創建其他節點 createchildboard(parentnode, dt, isaddurl, isguest); /取得web.config文件中預先定義好的boardfilepath、boardfilepath1的路徑,分別讀取不同角色的xml文件public datatable getboards() re
12、turn datacommon.getdatabynoparam(xmlbbs.boardfilepath, tablename); public datatable getboards1() return datacommon.getdatabynoparam(xmlbbs.boardfilepath1, tablename); /定義結構體中取得boardfilepath、boardfilepath1的具體路徑public static void systeminit(httpserverutility server) boardfilepath = server.mappath( con
13、figurationmanager.connectionstringsboardfilepath.connectionstring ); boardfilepath1 = server.mappath( configurationmanager.connectionstringsboardfilepath1.connectionstring );web.config文件中定義的文件路徑,只有在這里定義好xml文件的路徑才能在結構體中通過server.mappath方法取得路徑值。生成導航樹代碼如下:這里的參數path是上面取得的文件路徑,tablename是上面路徑中定義的xml文件的名字。p
14、ublic static datatable getdata(string path, string tablename) /創建xmldocument類的實例 xmldocument xmldoc = new xmldocument(); /調用xmldocument類中的load()方法加載xml文件 xmldoc.load(path); /創建datatable類型的變量dt datatable dt = new datatable(); /獲取根節點 xmlnode rootnode = xmldoc.selectsinglenode(/ + tablename + s); /判斷節點
15、及其子節點是否為空,為空將返空值 if (rootnode = null) return null; if (rootnode.childnodes.count = 0) return null; /創建保存記錄的數據列 foreach (xmlattribute attr in rootnode.childnodes0.attributes) dt.columns.add(new datacolumn(attr.name, typeof(string); /創新獲取數據節點的xpath string xmlpath = / + tablename + s/ + tablename; /獲取x
16、ml節點下的所有節點 xmlnodelist nodelist = xmldoc.selectnodes(xmlpath); /遍歷所有節點 foreach (xmlnode node in nodelist) /創建數據表行,并在其中添加數據 datarow row = dt.newrow(); foreach (datacolumn column in dt.columns) /讀取每一個屬性 rowcolumn.columnname = node.attributescolumn.columnname.value; /將數據表行添加到數據表中 dt.rows.add(row); /返回d
17、atatable對象dt return dt; 52 課件上傳及訪問這個環節的重點是課件的解壓,課件的上傳可以使用fileupload控件,實現,上傳的時候定義好允許上傳課件的文件格式及大小,這里只允許上傳.rar格式的壓縮文件,上傳成功后要將上傳的課件解壓并且刪除壓縮包,保留解壓后的文件夾,因為后面讀取課件的時候是預定義好的統一格式的文件路徑,這樣可以保證程序的穩定性并大大提高讀取效率。/獲取基于應用程序根文件夾的絕對路徑 string path = server.mappath(/fileupload/); /如果確認了上傳文件,則判斷文件類型是否符合要求string fileextens
18、ion = system.io.path.getextension(fileupload1.filename).tolower(); string allowedextensions = .rar ; for (int i = 0; i allowedextensions.length; i+) if (fileextension = allowedextensionsi) fileok = true; initfilesize = fileupload1.postedfile.contentlength; if (fileok) try fileupload1.saveas(path + f
19、ileupload1.filename); /解壓上傳的課件包 string strtxtpath = ; /string strzippath = e:aspnetframe.rar; string strzippath = path + fileupload1.filename;/待解壓的文件路徑及文件名 system.diagnostics.process process1 = new system.diagnostics.process(); process1.startinfo.filename = winrar.exe; process1.startinfo.createnowin
20、dow = true;process1.start(); while (!process1.hasexited)/程序的關鍵,這里等待解壓完成,否則程序一直在此循環,指導解壓完成 if (process1.hasexited) int iexitcode = process1.exitcode; if (iexitcode = 0) response.write(iexitcode.tostring() + 正常完成); if (system.io.directory.exists(path) directoryinfo di = new directoryinfo(path); filein
21、fo f = di.getfiles(fileupload1.filename);/文件夾下的剛上傳的rar文件 foreach (fileinfo myfile in f) myfile.delete();/刪除這個文件就可以了 label2.text = 文件上傳成功-文件夾配置完成; else response.write(iexitcode.tostring() + 有錯完成); catch (exception ex) label2.text = 文件上傳不成功 + ex.message; 53 ajax無刷新考試時間控制在頁面控制考試時間的倒計時程序關鍵是,要保證時間到了后能夠觸發
22、答題提交事件,這里用ajax控件的優勢是物通暢的頁面刷新,比javascript的優勢是服務器端控件更穩定、可靠,不受瀏覽器設置的影響。首先要安裝ajax程序包,安裝成功好在工具箱里拖放scriptmanager控件和updatepanel控件重點是要把timer控件放在updatepanel中,在頁面的page_load事件中定義sessionendtime,也就是預先定義好考試時間短,然后計算時間差的方式顯示倒計時時間,如下:protected void timercd_tick(object sender, eventargs e) refreshtime(); /刷新時間 privat
23、e void refreshtime() /刷新時間的方法 timespan ts = convert.todatetime(sessionendtime.tostring() - datetime.now; /時間差 if (ts.ticks = 0) this.timercd.enabled = false; /將timmer置為false labtimes.text = 時間到!; this.labtimes.text = ts.hours.tostring().padleft(2, 0) + : + ts.minutes.tostring().padleft(2, 0) + : + t
24、s.seconds.tostring().padleft(2, 0);6難點6.1試卷的動態生成試卷的動態生成是比較復雜的問題,首先,題型很多,有判斷題、單選題、多選題,各個題型在頁面的顯示風格不同,單選題用rationalbutton,多選題用checkbox如何在同一張試卷中同時根據需要顯示不同類型的試題是難題之一,另一方面每道考題的選項是不固定的,出了判斷題外的多選和單選問題的選項個數是不固定的,出題的時候也許氏3個選項、5個選項、或更多,如何解決這個問題是困難之二,解決第一個困難問題,首先將所有試題一個不差的顯示在考試卷列表中,需要定義一個gridview控件,gridview綁定所有
25、時間的sql查詢dataset數據源,通過它來顯示全部的試題。第二個難題需要在gridview中使用模板列,然后在模板列中添加rationalbuttonlist、checkboxlist控件,讓這兩個控件綁定后臺選項數據源optiondataset(這是我自定義的選項按鈕組數據源),再根據每道題的類型判斷控制顯示哪個按鈕組,就解決了多選,單選同時存在的問題數目動態變化問題。6.2考試答案分頁提交由于考題很多如果在一個頁面顯示100道考題,會給考生的考試帶來極大的不變,并浪費了大量的時間在查找考題位置上,所以要用分頁的方式顯示考題,并且盡可能在每個分頁總能全部顯示完題目和選項,盡量在答完一頁題
26、目后不需要下拉滾動條,就可以點擊下一頁進行答題,為了實現這個目標就要在每個分頁中少安排一些考題,一般在4-5個題目為佳,利用分頁技術節省了考試時間,但給程序開發帶來了兩個問題,一是分頁無法保持狀態,當考生答完一個頁面的題目選擇項目后,在進入下一個頁面答題時,上一個頁面答過的題目無法保存狀態,分頁其實是重新刷新頁面,為了解決這個問題我采用了在session中定義datalist保存每個題目選項的內容的方式,在點擊每個分頁的題目的時候,都會記錄到session中,然后在下一個分頁的時候在gridview的gridview1_pageindexchanging事件中查找題目的關鍵字,找到對應的選項選
27、中狀態,這樣既解決了保持分頁狀態問題也記錄了考生對每個題目的答題內容,在最后提交答案時可以提取session中list的值就解決了數據提交的難題。/記錄頁面的考題選擇狀態protected void gridview1_pageindexchanging(object sender, gridviewpageeventargs if (sessiondata = null) list datanew = new list(); sessiondata = datanew; list data = (list)sessiondata; gridview1.pageindex = e.newpageindex; for (int i = 0; i = gridview1.rows.count - 1; i+) system.web.ui.webcontrols.label lbltype = gridview1.rowsi.findcontrol(label2) as system.web.ui.webcontrols.label; if (lbltype.text.trim() = 多選題) /checkbox cb = g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紡紗廠能源管理與節能措施考核試卷
- 玻璃纖維增強塑料的耐熱循環性能考核試卷
- 磷肥廠設備升級與技術創新考核試卷
- 醫療器械用信息化學品的注冊與監管考核試卷
- 紡織品企業信息安全管理考核試卷
- 生物燃料生產與全球氣候治理參與考核試卷
- 筆的制造生產調度優化與決策支持考核試卷
- 生物農藥在病蟲害防治中的長期效應與安全性考核試卷
- 燈具的制造工藝創新與效率提升考核試卷
- 秘書工作與商務溝通考核試卷
- 2025-2030中國機電安裝工程行業市場現狀供需分析及市場深度研究發展前景及規劃可行性分析研究報告
- 2025年高考歷史總復習高中歷史必修二八大專題知識復習提綱
- 健合集團筆試在線測評題
- 第九講 全面依法治國PPT習概論2023優化版教學課件
- 固體礦產勘查原始地質編錄細則
- 如何加強思想政治教育-增強教育的時代感和感召力
- 唐納森DonaldsonFilter濾芯大全
- 清產核資基礎報表(模板)
- 機械完整性管理ppt課件
- 中國藥科大學藥物分析第六版第十四章中藥制劑分析ppt課件
- 工程詢價確認單
評論
0/150
提交評論