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

        ?

        ACM/ICPC培訓(xùn)管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)

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

        王順利 劉寶娥 馬元飛

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

        [關(guān)鍵詞] ACM/ICPC;培訓(xùn)管理系統(tǒng);Web開發(fā);ASP.NET;數(shù)據(jù)庫技術(shù)

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

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

        1 引 言

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

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

        基于上述應(yīng)用需求,結(jié)合集寧師范學(xué)院多年參加這一賽事、組織開展ACM/ICPC競賽訓(xùn)練活動的管理實(shí)踐經(jīng)驗(yàn),我們開發(fā)了一個本??仆ㄓ玫腁CM/ACPC培訓(xùn)管理系統(tǒng),該系統(tǒng)是一個基于B/S結(jié)構(gòu)的多用戶在線系統(tǒng), 實(shí)現(xiàn)了資源共享、在線討論、在線學(xué)習(xí)測試、網(wǎng)絡(luò)化管理等功能。

        2 系統(tǒng)分析

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

        ACM/ICPC培訓(xùn)管理系統(tǒng)是一個B/S結(jié)構(gòu)的Web應(yīng)用系統(tǒng)。ACM/ICPC培訓(xùn)管理系統(tǒng)的主要功能是完成網(wǎng)絡(luò)學(xué)習(xí)的綜合瀏覽、學(xué)習(xí)資源的上傳和下載、在線討論、在線測試和系統(tǒng)管理等功能,系統(tǒng)功能結(jié)構(gòu)如圖1所示。

        2.2 功能模塊需求分析

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

        資源在線模塊包括瀏覽資源、查找資源和下載資源3個部分,用來完成網(wǎng)上資源的查找、閱覽和下載。登錄用戶能夠?qū)⒎?wù)器中的資源下載到本地查看或進(jìn)一步學(xué)習(xí),也可以上傳自己的資源。

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

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

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

        3 系統(tǒng)設(shè)計

        ACM/ICPC培訓(xùn)管理系統(tǒng)作為一個網(wǎng)絡(luò)化培訓(xùn)平臺,系統(tǒng)采用Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),由客戶端、WWW服務(wù)器和數(shù)據(jù)庫服務(wù)器三部分組成[4],如圖2所示。

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

        3.1 Web應(yīng)用系統(tǒng)的開發(fā)技術(shù)

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

        3.2 數(shù)據(jù)庫技術(shù)

        本文采用SQL Server 2005作為數(shù)據(jù)庫管理系統(tǒng),并采用ADO.Net技術(shù)進(jìn)行數(shù)據(jù)庫的操作和訪問。ADO.Net是.Net Framework用于訪問數(shù)據(jù)的組件,它的一個重要優(yōu)點(diǎn)就是可以以離線方式操作數(shù)據(jù)庫,減少應(yīng)用程序?qū)Ψ?wù)器資源的占用,提高應(yīng)用程序的效率。.Net Framework提供了4個.Net Framework數(shù)據(jù)提供程序,其中SQL Server .Net Framework數(shù)據(jù)提供程序就是用于實(shí)現(xiàn)對SQL Server 的連接訪問[6]。SQL Server .Net Framework的框架如圖3所示。

        針對ACM/ICPC培訓(xùn)管理系統(tǒng)的數(shù)據(jù)管理需求分析,本系統(tǒng)設(shè)計了用戶信息表、資源分類數(shù)據(jù)表、資源數(shù)據(jù)表、論壇模塊信息表、論壇帖子信息表、回復(fù)帖子信息表、問題類別信息表、問題表列信息表和運(yùn)行狀態(tài)信息表9個數(shù)據(jù)庫表。

        4 關(guān)鍵技術(shù)的實(shí)現(xiàn)

        4.1 資源上傳功能的實(shí)現(xiàn)

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

        獲取上傳文件、測試文件大小和將文件轉(zhuǎn)換成二進(jìn)制流的關(guān)鍵代碼如下:

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

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

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

        if (FileLength == 0)

        { Response.Write("");

        }

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

        { Response.Write("");

        }

        else

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

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

        Stream ObjectStream = UpFile.InputStream;//建立數(shù)據(jù)流對象,該對象指向一個上載文件,讀取該文件的內(nèi)容

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

        }

        4.2 測試系統(tǒng)的實(shí)現(xiàn)

        在線測試模塊的系統(tǒng)測試功能是本系統(tǒng)的設(shè)計關(guān)鍵,利用網(wǎng)絡(luò)技術(shù)讀取用戶輸入的源代碼,并把源代碼生成源代碼文件。利用服務(wù)器上提供的程序編譯器對源代碼進(jìn)行編譯、鏈接和運(yùn)行,把運(yùn)行結(jié)果與數(shù)據(jù)庫的標(biāo)準(zhǔn)答案進(jìn)行對比并給出結(jié)果。

        下面以C++程序?yàn)槔齺斫榻B系統(tǒng)測試功能的實(shí)現(xiàn)方法。主要包括以下3步:

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

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

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

        //存放編譯器的文件夾

        精品卡一卡二卡3卡高清乱码| 无遮挡激情视频国产在线观看| 久久久久无码中文字幕| 欧美成a人片在线观看久| 亚洲欧洲成人精品香蕉网| 一区二区三区在线观看人妖| 2021亚洲色中文字幕| 精品精品国产三级av在线| 亚洲AV无码一区二区一二区色戒| 欧美xxxx黑人又粗又长精品| 亚洲 欧美 国产 制服 动漫 | 毛片24种姿势无遮无拦| 麻豆亚洲av熟女国产一区二| 人妖在线一区二区三区| 九色精品国产亚洲av麻豆一| 日韩AV无码一区二区三| 中文成人无码精品久久久不卡| 丁香五月亚洲综合在线| 亚洲一区二区国产精品视频| 亚洲男人天堂2017| 国产精品免费大片| 国产精品无码v在线观看| 国产三级久久精品三级91| 国产成人丝袜在线无码| 在线免费日韩| 免费观看又色又爽又黄的韩国| 国产福利视频在线观看| 国产女人18毛片水真多18精品| 国产白浆流出一区二区| 国产精品情侣露脸av在线播放| 三年在线观看免费大全下载| 自由成熟女性性毛茸茸应用特色| 91精品国产综合久久久蜜臀九色| 国产无套露脸| 中文字幕无线码中文字幕| 亚洲精品无码专区在线在线播放| 日本a级一级淫片免费观看| 激情人妻中出中文字幕一区| 亚洲国产精品线观看不卡| 成年视频国产免费观看| 亚洲国产精品特色大片观看完整版|