国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

制圖競賽管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2012-07-09 01:16:14趙建國魏青鋒
圖學(xué)學(xué)報(bào) 2012年5期
關(guān)鍵詞:制圖報(bào)表考場

趙建國, 魏青鋒

(鄭州大學(xué)機(jī)械工程學(xué)院,河南 鄭州 450001)

“高教杯”制圖競賽自 2008年以來已舉辦3屆,在全國高校產(chǎn)生了廣泛影響,各省、地區(qū)都相繼舉辦區(qū)域性的制圖競賽和選拔賽。制圖競賽分機(jī)械、建筑、水利3個(gè)類別,競賽內(nèi)容分尺規(guī)繪圖、計(jì)算機(jī)二維繪圖和三維建模3項(xiàng),同時(shí)又有團(tuán)體賽和個(gè)人參賽兩種模式。在獎(jiǎng)項(xiàng)設(shè)置上,設(shè)有團(tuán)體一、二等獎(jiǎng)和單項(xiàng)個(gè)人一、二等獎(jiǎng)和個(gè)人全能獎(jiǎng)。全能獎(jiǎng)的標(biāo)準(zhǔn)是單項(xiàng)個(gè)人全部是一等獎(jiǎng)的考生獲全能一等獎(jiǎng);單項(xiàng)個(gè)人全部是二等獎(jiǎng)及以上的考生獲全能二等獎(jiǎng)。競賽的時(shí)間一般是2天,在全國的制圖競賽中,參賽高校有百余所,參賽選手千余名。制圖競賽要在競賽前1 ~2天內(nèi)完成千余考生的考場安排、在競賽結(jié)束后數(shù)個(gè)小時(shí)內(nèi)完成成績的統(tǒng)計(jì)與排名,時(shí)間非常緊。另外,獎(jiǎng)項(xiàng)的設(shè)置規(guī)則尤其是全能獎(jiǎng)的設(shè)置,即使使用了輔助的表格工具,如使用Excel進(jìn)行統(tǒng)計(jì),要在大量的信息里靠人工篩選,效率十分低。由于比賽科目、內(nèi)容、及獎(jiǎng)項(xiàng)設(shè)置等因素,現(xiàn)有的成績管理類軟件不能完全適應(yīng)考試的需要[1-2],因此需要開發(fā)一個(gè)競賽管理系統(tǒng)以節(jié)省人力,提高效率。

1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

1.1 系統(tǒng)功能設(shè)計(jì)

為充分滿足制圖競賽的實(shí)際工作需要,通過調(diào)研,在競賽管理需求進(jìn)行分析的基礎(chǔ)上[3],設(shè)計(jì)系統(tǒng)主要功能模塊如圖1所示。

圖1 系統(tǒng)功能模塊框圖

各模塊及其子模塊的相關(guān)功能描述如下:

1)用戶管理模塊:以系統(tǒng)管理員的權(quán)限管理所有用戶的登錄信息,以及普通用戶修改自己的登錄信息。

2)參賽信息管理模塊:分為參賽單位信息管理模塊和考生信息管理模塊。前者用于管理參賽單位的領(lǐng)隊(duì)、指導(dǎo)老師、參賽科目等基本信息,后者用于管理考生的姓名、單位、照片、參賽模式等基本信息。

3)考試安排模塊:分為考生編號(hào)生成、考場信息管理和隨機(jī)排號(hào)3個(gè)子模塊??忌幪?hào)生成模塊用于生成考生在考場上的唯一準(zhǔn)考證號(hào),該編號(hào)將作為考生試卷的唯一標(biāo)識(shí);考場信息管理用于設(shè)置并修改考場信息;隨機(jī)排號(hào)模塊使用隨機(jī)排號(hào)策略為考生自動(dòng)安排考場及座號(hào)。

4)成績管理模塊:分為成績錄入、成績匯總和獲獎(jiǎng)排名3個(gè)模塊。成績錄入模塊用于管理成績錄入、修改和查詢;成績匯總用于分析與查看總體成績;獎(jiǎng)項(xiàng)設(shè)置與排名模塊用于設(shè)置獎(jiǎng)項(xiàng)并篩選出獲獎(jiǎng)單位和考生的各項(xiàng)信息。

5)打印系統(tǒng):打印模塊分為打印準(zhǔn)考證、打印考場桌面貼條和打印成績單3個(gè)子模塊。前兩個(gè)子模塊是考場安排模塊的輔助模塊,主要用于從數(shù)據(jù)庫中取出數(shù)據(jù)信息自動(dòng)生成并打印考生準(zhǔn)考證和考場桌面貼條,根據(jù)準(zhǔn)考證和桌面貼條上的考生信息和考場座號(hào),考生就能夠簡單、快速地找到自己的位置;打印成績單用于在篩選出獲獎(jiǎng)名單之后打印獲獎(jiǎng)考生的成績。

以上各功能模塊均以數(shù)據(jù)庫為基礎(chǔ)且相對獨(dú)立,按照競賽實(shí)際日程順序協(xié)同工作,有效地完成了系統(tǒng)功能,提高了競賽管理事務(wù)的效率。

1.2 系統(tǒng)流程設(shè)計(jì)

在系統(tǒng)主要功能分析和競賽日程設(shè)計(jì)軟件系統(tǒng)流程,總體框圖如圖2所示。

圖2 系統(tǒng)流程圖

1.3 數(shù)據(jù)庫設(shè)計(jì)

Access數(shù)據(jù)庫是微軟公司發(fā)布的Office軟件包中的關(guān)系型數(shù)據(jù)庫軟件,具有存儲(chǔ)方式簡單、界面友好、易操作等特點(diǎn),是開發(fā)單機(jī)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的理想工具。本系統(tǒng)使用Access軟件創(chuàng)建數(shù)據(jù)庫,根據(jù)系統(tǒng)功能將數(shù)據(jù)庫表分為學(xué)校信息表,學(xué)生信息表,尺規(guī)繪圖考場信息表,計(jì)算機(jī)繪圖考場信息表,成績表,用戶信息表[4]。部分?jǐn)?shù)據(jù)庫的結(jié)構(gòu)及其關(guān)系如圖3所示。

圖3 部分?jǐn)?shù)據(jù)表的結(jié)構(gòu)及其關(guān)系

2 系統(tǒng)使用的關(guān)鍵技術(shù)

系統(tǒng)在Windows XP環(huán)境下采用Visual Basic 6.0+Access數(shù)據(jù)庫編程實(shí)現(xiàn)系統(tǒng)功能。輔助開發(fā)工具有Excel 2003和Crystal Reports 11.5。其中主要有ADO數(shù)據(jù)訪問、Excel VBA 二次開發(fā)、Window API和水晶報(bào)表等技術(shù)。下面對使用到的關(guān)鍵技術(shù)加以介紹。

2.1 ADO數(shù)據(jù)訪問技術(shù)

ADO是微軟公司發(fā)布的一個(gè)用于存取數(shù)據(jù)源的COM組件,它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個(gè)中間層,它允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只關(guān)心數(shù)據(jù)庫的連接。其主要優(yōu)點(diǎn)是易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少[5]。

ADO是數(shù)據(jù)訪問對象DAO、遠(yuǎn)程數(shù)據(jù)對象RDO和開方數(shù)據(jù)互連ODBC 3種方式的擴(kuò)展,DAO或RDO是層次型的,ADO則定義了一組平面型頂級(jí)對象,它包含較少的對象,更多的屬性、方法和事件[6]。ADO對象模型如圖4所示。

系統(tǒng)中使用ADO數(shù)據(jù)訪問技術(shù),主要實(shí)現(xiàn)數(shù)據(jù)庫中所有信息的錄入、修改、刪除以及查詢等功能。

2.2 Excel VBA和Window API技術(shù)

Windows API (Application Programming Inter-face)即 Windows應(yīng)用編程接口,它是Windows的核心,提供了許多用于Windows編程的功能模塊,運(yùn)用這些功能模塊,可以使應(yīng)用程序具有圖形用戶界面、顯示圖形和格式化文本、并可以方便的管理系統(tǒng)對象如內(nèi)存、文件和進(jìn)程。

圖4 ADO對象模型

Excel是微軟推出的Office組件之一,是一個(gè)功能強(qiáng)大的電子表格工具。VBA (Visual Basic For Application)是開發(fā)語言Visual Basic的子集,是Office組件的開發(fā)接口,在Excel中可以使用VBA編程實(shí)現(xiàn)自動(dòng)化,并擴(kuò)展應(yīng)用程序的功能[7]。

該系統(tǒng)中使用Windows API函數(shù)將Excel表格嵌入到系統(tǒng)窗體中,利用Excel表格自身強(qiáng)大的數(shù)據(jù)處理功能匯總數(shù)據(jù),結(jié)合VBA編程實(shí)現(xiàn)包含照片信息的批量錄入功能。

2.3 水晶報(bào)表

Crystal Reports(水晶報(bào)表)是一款商務(wù)智能(BI)軟件,主要用于設(shè)計(jì)及產(chǎn)生報(bào)表。水晶報(bào)表是業(yè)內(nèi)最專業(yè)、功能最強(qiáng)的報(bào)表系統(tǒng),它除了強(qiáng)大的報(bào)表功能外,最大的優(yōu)勢是實(shí)現(xiàn)了與絕大多數(shù)流行開發(fā)工具的集成和接口。

該系統(tǒng)中使用水晶報(bào)表實(shí)現(xiàn)打印模塊的功能。

3 部分功能模塊的實(shí)現(xiàn)

下面僅介紹打印模塊的實(shí)現(xiàn)方法和步驟,由于篇幅有限,其余部分的實(shí)現(xiàn)過程不再贅述。

打印系統(tǒng)的主要功能包括打印準(zhǔn)考證、考場桌面貼條。該模塊對于實(shí)現(xiàn)考試安排的自動(dòng)化,提高考試安排的效率、促進(jìn)考試的有序進(jìn)行具有很大作用。實(shí)現(xiàn)該模塊的功能需要從數(shù)據(jù)庫中提取出相關(guān)信息,并按照一定的排版格式將信息一次性打印輸入。其中,從數(shù)據(jù)庫中提取數(shù)據(jù)和排版是設(shè)計(jì)該模塊的重點(diǎn),同時(shí)要對排版后的結(jié)果實(shí)現(xiàn)打印功能。在這種情況下,使用報(bào)表工具比直接編程打印更直接、更高效,輸出格式更靈活,打印質(zhì)量也更高。

VB程序的內(nèi)置報(bào)表功能相對較弱,而專業(yè)的報(bào)表工具Crystal Reports功能強(qiáng)大,同時(shí)具有效率高、集成性好等優(yōu)點(diǎn)[8]。我們選擇 Crystal Reports(水晶報(bào)表)來實(shí)現(xiàn)打印系統(tǒng)的功能。在本系統(tǒng)中,選用Crystal Reports XI。

3.1 水晶報(bào)表控制的兩種模式

水晶報(bào)表程序控件有兩種模式,即:PULL(拉)模式和 PUSH(推)模式。PULL模式代碼量少、執(zhí)行效率高;PUSH模式可以公用系統(tǒng)數(shù)據(jù)庫連接,減少數(shù)據(jù)庫連接損耗、可以自由組合多數(shù)據(jù)源。

比較二者的特點(diǎn),為了減少數(shù)據(jù)庫連接的損耗,我們選擇PUSH模式來控制報(bào)表。

3.2 實(shí)現(xiàn)步驟

1)模板設(shè)計(jì)

為了使打印出的準(zhǔn)考證及考場桌面貼條整齊、美觀,需要首先設(shè)計(jì)報(bào)表模板。

運(yùn)行Crystal Reports,新建一個(gè)空白報(bào)表,在彈出的數(shù)據(jù)庫專家對話框中選擇[創(chuàng)建新連接]-[僅字段定義],然后選擇字段定義文件或者創(chuàng)建新的字段文件,選定字段定義文件后,點(diǎn)擊確定。字段定義文件可以使用記事本編輯,格式如圖5所示。

圖5 TTX文件結(jié)構(gòu)

其中,圖片用 BLOB類型,相當(dāng)于 Access中的OLE對象,即二進(jìn)制文件。

然后將報(bào)表選定的字體拖放到詳細(xì)資料區(qū),合理調(diào)整各部分的大小和位置,并使用報(bào)表的其它功能對設(shè)計(jì)進(jìn)行優(yōu)化,如使用組專家對數(shù)據(jù)按單位(或考場)分組、使用節(jié)專家使報(bào)表分兩列顯示等。完成報(bào)表設(shè)計(jì)后將報(bào)表另存為.rpt文件。設(shè)計(jì)效果如圖6所示。

圖6 準(zhǔn)考證模板

2)設(shè)計(jì)打印窗體和程序控制

完成報(bào)表模板設(shè)計(jì)后,剩下的工作就是設(shè)計(jì)打印窗體,編寫代碼從數(shù)據(jù)源中取出數(shù)據(jù)并調(diào)用模板。

在VB系統(tǒng)里新建窗體Form1,添加水晶報(bào)表瀏覽控件CrystalActiveXReportViewer,命名為CRViewer1。在窗體的加載事件里,編寫從數(shù)據(jù)庫取出數(shù)據(jù)、調(diào)用模板及給模板賦值的代碼。代碼片斷如下:

'定義水晶報(bào)表應(yīng)用程序?qū)ο?/p>

Private bjCRApp As New CRAXDRT.Application

'定義報(bào)表對象

Private objCRReport As New CRAXDRT.Report Private Sub Form_Load()

'獲取記錄集

strsql = "select 單位,姓名,考場號(hào),座號(hào),編號(hào),照片 from students"

rs.CursorLocation = adUseClient

'打開記錄集

rs.Open strsql,conn,3,3

'賦給報(bào)表數(shù)據(jù)

'objCRReport.Database.SetDataSource rs

'報(bào)表顯示外觀設(shè)置

'顯示導(dǎo)出按鈕

CRViewer1.EnableExportButton = True

圖7 準(zhǔn)考證效果圖

4 結(jié) 束 語

本文開發(fā)一個(gè)新的制圖競賽管理系統(tǒng),該系統(tǒng)已在河南省兩屆制圖競賽中使用,運(yùn)行良好,為高效、有序地組織制圖大賽提供了保障。該系統(tǒng)具有如下特點(diǎn):① 處理數(shù)據(jù)效率高。信息的錄入及輸入實(shí)現(xiàn)了批量化,處理信息更簡單快捷。② 打印效果好。系統(tǒng)使用了專業(yè)的報(bào)表工具 Crystal Reports設(shè)計(jì)并打印準(zhǔn)考證及桌面貼條,模板設(shè)計(jì)更美觀,輸出信息可以方便地進(jìn)行分組和分節(jié)管理。③ 考試管理更科學(xué)、試卷保密性更好??忌幪?hào)和座號(hào)都是隨機(jī)生成的,而編號(hào)只出現(xiàn)在桌面貼條上,并作為卷面的唯一標(biāo)識(shí),有效提高考試及評(píng)卷的公平性。

該系統(tǒng)雖然是針對制圖競賽而設(shè)計(jì)的,其處理數(shù)據(jù)輸入輸出的方法和競賽的考試安排策略對于其它的競賽類考試和管理類軟件的開發(fā)具有借鑒意義。

[1] 王育勤,朱衛(wèi)東,等. 基于.NET的考試平臺(tái)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(10): 2475-2477.

[2] 周麗莉. 基于 B/S結(jié)構(gòu)的等級(jí)考試管理系統(tǒng)[J]. 計(jì)算機(jī)工程,2005,31: 195-197.

[3] 邊小凡,馬兵會(huì). 根據(jù)系統(tǒng)需求決策軟件產(chǎn)品線體系結(jié)構(gòu)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2009,26(3):142-144.

[4] 李建廷. 數(shù)據(jù)查詢計(jì)算機(jī)化[J]. 計(jì)算機(jī)應(yīng)用與軟件,2006,23(10): 50-52.

[5] 王 昕. 基于 vb+SQL訪問數(shù)據(jù)庫的方法及接口比較的研究[J]. 微計(jì)算機(jī)信息,2009,25(15): 153-154.

[6] 梁碧勇. Visual Basic程序開發(fā)中數(shù)據(jù)庫訪問技術(shù)的探討論[J]. 電腦知識(shí)與技術(shù),2010,6(5): 1111-1113.

[7] 姜德生,楊 艷. 基于 Excel VBA的數(shù)據(jù)庫訪問技術(shù)的研究[J]. 微計(jì)算機(jī)信息,2008,24(7): 103-104.

[8] 郝慎學(xué). Crystal Report在VB報(bào)表設(shè)計(jì)中的應(yīng)用技巧[J]. 電腦知識(shí)與技術(shù),2009,34(5): 9699-9700.

猜你喜歡
制圖報(bào)表考場
牽牢平移手 考場穩(wěn)穩(wěn)走
無聲手槍如何消音?
考場上怎樣才能寫好記敘性散文
LabWindows/CVI中Excel報(bào)表技術(shù)研究
期末小考場
考場借筆
快樂語文(2018年13期)2018-06-11 01:18:28
從三大報(bào)表讀懂養(yǎng)豬人的成績單
二向反射模型在土地覆被制圖中的應(yīng)用
工程制圖課程教學(xué)改革探析
建筑工程制圖與識(shí)圖專業(yè)人才培養(yǎng)的探討
河南科技(2014年3期)2014-02-27 14:06:14
莱芜市| 昆山市| 那曲县| 深水埗区| 鹿泉市| 修文县| 遂平县| 伊金霍洛旗| 陕西省| 承德县| 沂南县| 梧州市| 城步| 濮阳县| 平原县| 浮梁县| 芜湖县| 扶沟县| 松潘县| 和硕县| 建平县| 读书| 石屏县| 若羌县| 浦北县| 东乌珠穆沁旗| 肇源县| 泗洪县| 紫阳县| 扶绥县| 外汇| 巴马| 奉化市| 孝感市| 蓬溪县| 杨浦区| 玛曲县| 连城县| 交口县| 达州市| 高州市|