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

ACM/ICPC培訓管理系統的設計與實現

2014-04-29 00:44:03王順利劉寶娥馬元飛
中國管理信息化 2014年3期

王順利 劉寶娥 馬元飛

[摘 要] 鑒于ACM國際大學生程序設計競賽(ACM/ICPC)在人才選拔和培養方面的顯著作用,如何將ACM/ICPC競賽活動嵌入常規教學,創新教學模式,結合專業教學,加強訓練管理,提高培訓效益,已成為人們關注的熱點問題。針對這一應用需求,本文設計并開發了基于ACM/ICPC機制的大學生程序設計培訓管理系統。系統采用B/S架構,以SQL Server 2005作為后臺管理數據庫,Visual Studio 和ASP.NET為前端開發工具。在分析系統功能的基礎上,著重闡述了該系統設計與實現的關鍵技術。該系統實際運行穩定、可靠,為開展ACM/ICPC競賽培訓和教學提供了一種有效管理途徑。

[關鍵詞] ACM/ICPC;培訓管理系統;Web開發;ASP.NET;數據庫技術

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 03. 015

[中圖分類號] TP311 [文獻標識碼] A [文章編號] 1673 - 0194(2014)03- 0028- 03

1 引 言

ACM國際大學生程序設計競賽(ACM International Collegiate Programming Contest, ACM ICPC) 由美國計算機協會(ACM)主辦,始于1970年,至今已經有40多年的歷史,是世界公認的規模最大、水平最高、影響廣泛的國際大學生程序設計競賽,競賽優勝者是各大IT企業和科研院所青睞和優先選拔的人才[1]。近些年來,伴隨著ACM/ICPC大學生程序設計競賽在國內如火如荼地開展,計算機高等教育界更加關注在計算機應用人才培養方面,如何科學合理地引入、借鑒ACM/ICPC競賽訓練經驗,將ACM/ICPC競賽活動與常規專業課程教學有機結合起來,突破傳統教學內容和教學方法,以有效培養學生的學習能力、創新意識和綜合素質。這其中,如何有效組織開展ACM/ICPC競賽訓練,加強培訓管理,提高培訓效益,亦是人們關注的熱點問題。

但就目前情況來看,組織開展此項競賽活動的訓練指導或教學培訓還沒有一個成熟通用的、基于ACM/ICPC競賽機制的ACM/ICPC 訓練和活動的教學管理平臺。具體表現在:(1)盡管一些知名院校搭建了自己的在線測試平臺[2-3],但由于大多采用英文表述問題,對于英語水平不高的低年級本科生和專科學生來說,在翻譯題目和理解內容方面會出現偏差,導致在這些平臺上進行在線模擬測驗的效果并不理想;(2)很多網站雖然提供了ACM/ICPC競賽的相關資料,比如網上題庫、相關賽題的題解等,但這些資料在網上分布得比較分散,使得學生很難集中查閱,而且由于資料的層次性和難易性區分不明顯,使得學生在查閱和收集資料時遇到很多困難;(3)關于ACM/ICPC的網上論壇不少,但大多內容僅介紹ACM/ICPC的發展、競賽取得的成績和心得體會,學生很難在程序的求解方法和求解過程方面進行適時的互動;(4)雖然上述網上交流方式和測試學習方式符合現代化教育的理念,但是從系統管理的角度看,這些功能模塊比較分散,難以真正適應目前ACM/ICPC競賽培訓管理的需要。

基于上述應用需求,結合集寧師范學院多年參加這一賽事、組織開展ACM/ICPC競賽訓練活動的管理實踐經驗,我們開發了一個本專科通用的ACM/ACPC培訓管理系統,該系統是一個基于B/S結構的多用戶在線系統, 實現了資源共享、在線討論、在線學習測試、網絡化管理等功能。

2 系統分析

2.1 系統功能結構

ACM/ICPC培訓管理系統是一個B/S結構的Web應用系統。ACM/ICPC培訓管理系統的主要功能是完成網絡學習的綜合瀏覽、學習資源的上傳和下載、在線討論、在線測試和系統管理等功能,系統功能結構如圖1所示。

2.2 功能模塊需求分析

用戶登錄模塊為用戶提供安全的訪問和數據操作,防止非法用戶進入系統。本系統的登錄模塊分為系統管理員和登錄用戶。系統管理員可以完成登錄用戶的管理和系統后臺數據庫管理的功能;登錄用戶可以參與網上資源共享、在線討論和在線測試等多方面的操作。

資源在線模塊包括瀏覽資源、查找資源和下載資源3個部分,用來完成網上資源的查找、閱覽和下載。登錄用戶能夠將服務器中的資源下載到本地查看或進一步學習,也可以上傳自己的資源。

在線論壇模塊使得用戶不但可以發表意見,而且可以瀏覽到其他用戶在論壇發表的各種意見、問題等。本模塊主要包括瀏覽帖子、發表帖子和回復帖子3個子模塊。為了能夠更好地管理好論壇,本模塊主要提供了3種角色:匿名用戶(沒有注冊的用戶)、已經注冊的用戶和管理員。當匿名用戶進入論壇之后,只能對網站的頁面進行簡單瀏覽;而已經注冊的用戶進入論壇之后,可以發表自己的評論和回復帖子。

在線測試模塊包括在線選題、在線提交、系統測試的功能[2],該模塊提供了一個符合ACM/ICPC競賽需求的學習訓練平臺。用戶可以按照問題的說明編寫源代碼,并通過在線提交子模塊上傳給系統。系統根據用戶提供的語言和源代碼生成對應語言擴展名的源程序文件,調出相應的編譯器來運行源程序并進行測試。通過編譯、執行后,系統將運行時捕捉的輸出信息同預先存放的標準測試輸出文件進行比較,返回測試結果(比較一致,則返回運行成功信息,否則返回運行錯誤信息),并將運行成功后的有關信息(程序源代碼、用戶數據表的通過數量、問題類別表的通過數量、計算機耗時等)存入數據庫。

系統管理模塊為負責組織開展ACM/ICPC訓練活動的主管教師提供一個對培訓平臺信息集中管理的手段。主管教師以系統管理員身份登錄后,通過對數據庫信息的修改來實現對系統各個模塊數據信息的管理和完善,通過直接操作數據庫的方式,完成對數據庫存放各個模塊的數據信息增加、刪除和修改的功能。

3 系統設計

ACM/ICPC培訓管理系統作為一個網絡化培訓平臺,系統采用Browser/Server(瀏覽器/服務器)結構,由客戶端、WWW服務器和數據庫服務器三部分組成[4],如圖2所示。

B/S模式是一種平面型多層次的網狀結構,其最大的特點就是與軟硬件的無關性,應用邏輯和業務處理規則在服務器端實現,客戶端可以做得盡可能簡單,可以只是一個多媒體瀏覽器。在具體實現時,使用SQL Server 2005數據庫管理系統建立和管理網站數據庫;運用動態網頁技術(ASP.Net)開發系統,使用HTML、C#等語言編寫應用程序;使用Visual Studio 2008平臺進行系統開發。

3.1 Web應用系統的開發技術

ASP.Net是Microsoft.Net Framework中一套用于生成Web應用程序和XML Web Services的技術,可以創建動態的Web頁面。本系統選擇了Visual Studio 2008作為開發ASP.Net程序的工具,網頁開發的腳本語言選用了C#語言。Visual Studio 2008 提供了各種增強功能[5],例如可視化設計器(使用 .Net Framework 加速開發),對 Web 開發工具的大量改進,以及能夠加速開發和處理所有類型數據的語言增強功能,并為開發人員提供了所有相關的工具和框架支持。C#是微軟公司隨.Net一起發布的新的語言。C#是C/C++語言家族中第一種面向組件的編程語言。它由C和C++派生而來,是一種使用簡單、面向對象、類型安全的現代編程語言。C# 不僅具有Viusal Basic的高效性,而且具有C++的強大性,它是專門為.Net設計的一種語言,在.Net中起著不可替代的作用。

3.2 數據庫技術

本文采用SQL Server 2005作為數據庫管理系統,并采用ADO.Net技術進行數據庫的操作和訪問。ADO.Net是.Net Framework用于訪問數據的組件,它的一個重要優點就是可以以離線方式操作數據庫,減少應用程序對服務器資源的占用,提高應用程序的效率。.Net Framework提供了4個.Net Framework數據提供程序,其中SQL Server .Net Framework數據提供程序就是用于實現對SQL Server 的連接訪問[6]。SQL Server .Net Framework的框架如圖3所示。

針對ACM/ICPC培訓管理系統的數據管理需求分析,本系統設計了用戶信息表、資源分類數據表、資源數據表、論壇模塊信息表、論壇帖子信息表、回復帖子信息表、問題類別信息表、問題表列信息表和運行狀態信息表9個數據庫表。

4 關鍵技術的實現

4.1 資源上傳功能的實現

在上傳資源頁面管理中,系統先判斷文件大小和文件名是否存在,如果文件大小滿足要求且文件名不存在,為了節省存儲空間,先將該文件內容轉成二進制流,并和其他信息一起插入到資源數據表中。

獲取上傳文件、測試文件大小和將文件轉換成二進制流的關鍵代碼如下:

string FileName = myFile.Value;//獲取上傳的文件名

HttpPostedFile UpFile = myFile.PostedFile;//獲取對由客戶端指定的上傳文件的訪問

FileLength = UpFile.ContentLength;//獲取上傳文件的字節大小

if (FileLength == 0)

{ Response.Write("");

}

if (FileLength > 102400000)//判斷文件是否大于5M(根據自己的需要判斷大小)

{ Response.Write("");

}

else

{FileName = FileName.Substring(FileName.LastIndexOf("\\") +1);//文件名。

Byte[] FileByte = new Byte[FileLength];//將指定文件儲存到數組

Stream ObjectStream = UpFile.InputStream;//建立數據流對象,該對象指向一個上載文件,讀取該文件的內容

ObjectStream.Read(FileByte, 0, FileLength);//讀取指定文件數據

}

4.2 測試系統的實現

在線測試模塊的系統測試功能是本系統的設計關鍵,利用網絡技術讀取用戶輸入的源代碼,并把源代碼生成源代碼文件。利用服務器上提供的程序編譯器對源代碼進行編譯、鏈接和運行,把運行結果與數據庫的標準答案進行對比并給出結果。

下面以C++程序為例來介紹系統測試功能的實現方法。主要包括以下3步:

(1)系統通過web.config文件的配置信息獲取測試需要的路徑配置信息,路徑E:/Compiler/用于存放測試運行中需要處理的文件,路徑E:/Compiler/Compiler/用于存放測試需要的編譯器。

web.config文件的配置信息如下:

//編譯其處理文件的文件夾

//存放編譯器的文件夾

主站蜘蛛池模板: 亚洲性影院| 另类欧美日韩| 国产亚洲美日韩AV中文字幕无码成人| 九九久久99精品| 无码高潮喷水专区久久| 大陆国产精品视频| 她的性爱视频| 天堂av综合网| 尤物成AV人片在线观看| 88av在线| 一区二区三区四区日韩| 亚洲日本精品一区二区| 国产国产人成免费视频77777 | 久久久久久久蜜桃| 国产精品不卡永久免费| 亚洲日韩精品无码专区97| 亚洲美女一级毛片| 无码人中文字幕| 欧美翘臀一区二区三区| 亚洲人成电影在线播放| 亚洲无码视频喷水| 亚洲全网成人资源在线观看| 国产亚洲欧美在线专区| 国产一级裸网站| 最新无码专区超级碰碰碰| 午夜在线不卡| 国产欧美日韩另类精彩视频| 精品無碼一區在線觀看 | 亚洲欧美自拍中文| 国产成人啪视频一区二区三区| 日韩中文精品亚洲第三区| 亚洲天堂在线免费| 二级特黄绝大片免费视频大片| 热热久久狠狠偷偷色男同| 亚洲AV无码不卡无码| 中日韩一区二区三区中文免费视频| 日韩av电影一区二区三区四区| 日韩精品无码不卡无码| 91成人在线观看| 午夜三级在线| 亚洲品质国产精品无码| 亚洲性色永久网址| 免费一极毛片| 538国产在线| 福利在线一区| 国产丝袜91| 久草视频精品| 免费人成网站在线观看欧美| 99视频精品全国免费品| 欧美国产日产一区二区| 91视频国产高清| 欧美一级在线| 亚洲愉拍一区二区精品| 国产精品永久在线| 亚洲欧美在线看片AI| 国产性精品| 99re在线免费视频| 亚洲欧美日韩中文字幕一区二区三区| 日韩精品中文字幕一区三区| 亚洲欧洲日产国码无码av喷潮| 国产丝袜无码一区二区视频| 亚洲最大看欧美片网站地址| 久久久久亚洲Av片无码观看| 91视频日本| 久久青草精品一区二区三区 | 人妻91无码色偷偷色噜噜噜| 四虎亚洲国产成人久久精品| 国产成人精彩在线视频50| 国产精品女人呻吟在线观看| 婷婷色丁香综合激情| 黄色a一级视频| 久久精品91麻豆| 波多野结衣第一页| 久久综合九色综合97网| 成年人免费国产视频| 亚亚洲乱码一二三四区| 色丁丁毛片在线观看| 88av在线看| 國產尤物AV尤物在線觀看| 欧美日韩国产精品va| 欧美日韩北条麻妃一区二区| 日韩一级二级三级|