《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > NCRE報(bào)名數(shù)據(jù)快速采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
NCRE報(bào)名數(shù)據(jù)快速采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2012年第7期
孔彥杰,郭明超
(蘭州大學(xué) 信息科學(xué)與技術(shù)學(xué)院,甘肅 蘭州 730000)
摘要: 在全國(guó)計(jì)算機(jī)等級(jí)考試考務(wù)管理系統(tǒng)的基礎(chǔ)上,分析了考生報(bào)名時(shí)存在的實(shí)際問(wèn)題,運(yùn)用DELPHI語(yǔ)言開(kāi)發(fā)工具,實(shí)現(xiàn)了以二代身份證為載體的考生報(bào)名信息快速采集系統(tǒng),實(shí)現(xiàn)了系統(tǒng)管理、字典維護(hù)、用戶認(rèn)證、信息采集、統(tǒng)計(jì)查詢、數(shù)據(jù)處理等模塊的功能完成,提高了報(bào)名工作的效率,降低了考務(wù)人員的勞動(dòng)強(qiáng)度,保證了考生信息的準(zhǔn)確性、完整性,規(guī)范了考生照片的格式。
Abstract:
Key words :

摘  要: 在全國(guó)計(jì)算機(jī)等級(jí)考試考務(wù)管理系統(tǒng)的基礎(chǔ)上,分析了考生報(bào)名時(shí)存在的實(shí)際問(wèn)題,運(yùn)用DELPHI語(yǔ)言開(kāi)發(fā)工具,實(shí)現(xiàn)了以二代身份證為載體的考生報(bào)名信息快速采集系統(tǒng),實(shí)現(xiàn)了系統(tǒng)管理、字典維護(hù)、用戶認(rèn)證、信息采集、統(tǒng)計(jì)查詢、數(shù)據(jù)處理等模塊的功能完成,提高了報(bào)名工作的效率,降低了考務(wù)人員的勞動(dòng)強(qiáng)度,保證了考生信息的準(zhǔn)確性、完整性,規(guī)范了考生照片的格式。
關(guān)鍵詞: 信息采集;字典管理;居民身份證NCRE;VFP;DELPHI

 全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)是教育部考試中心組織的品牌考試之一,規(guī)模僅次于英語(yǔ)四、六級(jí)考試,考試機(jī)構(gòu)遍布全國(guó)各地,每年上半年、下半年各組織一次,僅甘肅省每年就約有7萬(wàn)余人參加考試,考生人數(shù)多,考試規(guī)模大,報(bào)名時(shí)間相對(duì)集中,考務(wù)人員的工作任務(wù)重??忌拘畔ㄐ彰⑿詣e、民族、出生日期、身份證號(hào)、報(bào)考語(yǔ)言類別、保留成績(jī)種類、原準(zhǔn)考證號(hào)、聯(lián)系地址、聯(lián)系電話等,同時(shí)需要現(xiàn)場(chǎng)照相,基本信息要考務(wù)人員手工錄入,所以操作過(guò)程中錯(cuò)誤亦在所難免。比如18位身份證號(hào)輸入有誤,姓名有誤,性別、民族有誤等現(xiàn)象時(shí)有發(fā)生,每年匯總時(shí)這些問(wèn)題就會(huì)突顯出來(lái),涉及到的考生有不滿情緒,考務(wù)人員有苦難言,考試機(jī)構(gòu)的聲譽(yù)也受到一定的影響。NCRE報(bào)名數(shù)據(jù)快速采集系統(tǒng)(簡(jiǎn)稱數(shù)據(jù)采集系統(tǒng))可以有效地解決這些問(wèn)題:首先系統(tǒng)讀取考生身份證的信息作為基本信息數(shù)據(jù)源,保證了考生信息的準(zhǔn)確性、可靠性和統(tǒng)一性;其次系統(tǒng)將身份證照片進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換得到系統(tǒng)所需的照片,照片質(zhì)量有所提高。由于身份證照片是由國(guó)家公安機(jī)關(guān)指定的由專業(yè)人員按照統(tǒng)一規(guī)格拍攝的,符合教育部考試中心的規(guī)格要求,考生也比較滿意,同時(shí)又省去了現(xiàn)場(chǎng)照相的環(huán)節(jié),節(jié)省了考生的報(bào)名時(shí)間,減輕了考務(wù)人員的工作量,所以設(shè)計(jì)開(kāi)發(fā)本系統(tǒng)是必要的。
1 總體設(shè)計(jì)
 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)采用兩種模式,區(qū)別在于使用的支撐數(shù)據(jù)庫(kù)不同。第一種采用DELPHI70+VFP60的方式(滿足當(dāng)前需要),第二種采用DELPHI70+SQLSERVER2003的方式(為考務(wù)系統(tǒng)升級(jí)做準(zhǔn)備),主要功能模塊如圖1所示,包括:系統(tǒng)管理、字典管理、信息采集、查詢統(tǒng)計(jì)、數(shù)據(jù)備份等。

2 數(shù)據(jù)庫(kù)設(shè)計(jì)
 目前教育部考試中心下發(fā)的考務(wù)系統(tǒng)提供的導(dǎo)入數(shù)據(jù)格式是*.DBF的考生報(bào)考信息表,這就要求本系統(tǒng)必須要能導(dǎo)出一個(gè)符合此條件的數(shù)據(jù)表(BMK.DBF);考生報(bào)名時(shí)要驗(yàn)證在上一次考試中是否有保留成績(jī),就要求有一個(gè)成績(jī)表(CJK.DBF);在系統(tǒng)中要為組件提供如報(bào)考級(jí)別語(yǔ)言等必要的選項(xiàng),需要一個(gè)字典表(DIC.DBF)以上各數(shù)據(jù)表相對(duì)獨(dú)立;VFP提供的數(shù)據(jù)庫(kù)性能穩(wěn)定,能滿足系統(tǒng)訪問(wèn)的需要。因此,數(shù)據(jù)庫(kù)設(shè)計(jì)從開(kāi)發(fā)軟件的周期與服務(wù)質(zhì)量方面考慮是合理的選擇。
 本系統(tǒng)主要數(shù)據(jù)表的設(shè)計(jì)如下:
?。?)BMK.DBF:用于存放考生報(bào)名信息,包括字段ZKZH(準(zhǔn)考證號(hào))、XM(姓名)、BMH(報(bào)名號(hào))、XB(性別)、CSRQ(出生日期)、SFZH(身份證號(hào))、MZ(民族)、ZY(職業(yè))、WHCD(文化程度)、YSFZH(原身份證號(hào))、BLCJZL(保留成績(jī)種類)、YZKZH(原準(zhǔn)考證號(hào))、KSPXZL(考試培訓(xùn)種類)、LXDZ(聯(lián)系地址)、LZDH(聯(lián)系電話)、自定義等。
?。?)CJK.DBF:用于存放上一次已參加考試的考生成績(jī),包括字段CJ3(筆試成績(jī))、CJ4(上機(jī)成績(jī))、ZCJ(總成績(jī))、ZSBH(證書(shū)編號(hào))、ZKZH(準(zhǔn)考證號(hào))、XM(姓名)、BMH(報(bào)名號(hào))、XB(性別)、CSRQ(出生日期)、SFZH(身份證號(hào))、MZ(民族)、ZY(職業(yè))、WHCD(文化程度)、YSFZH(原身份證號(hào))、BLCJZL(保留成績(jī)種類)、YZKZH(原準(zhǔn)考證號(hào))、KSPXZL(考試培訓(xùn)種類)。
?。?)字典表(DIC.DBF):用于存放報(bào)考語(yǔ)言級(jí)別、民族、性別及其各子項(xiàng)所對(duì)應(yīng)的代碼。在基于SQL2003數(shù)據(jù)庫(kù)的另一個(gè)模式中以上內(nèi)容分存在多個(gè)表中。
3 系統(tǒng)實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)連接

 數(shù)據(jù)采集系統(tǒng)第一個(gè)模式是采用ADO技術(shù)實(shí)現(xiàn)DELHPHI與SQL SERVER的連接,主要使用SqlConnection類的相關(guān)方法,查詢、編輯等數(shù)據(jù)操作通過(guò)SqlDataAdapter和DataSet類來(lái)完成。第二個(gè)模式是采用ODBC技術(shù)實(shí)現(xiàn)DELPHI與VFP的連接。ODBC架構(gòu)模型如圖2所示。


3.2 系統(tǒng)模塊的功能實(shí)現(xiàn)
3.2.1 用戶登錄

 包括系統(tǒng)管理員組、考務(wù)錄入員組、查詢統(tǒng)計(jì)員組三種用戶角色,主要從對(duì)數(shù)據(jù)庫(kù)文件操作的權(quán)限不同來(lái)劃分的,以組策略配置不同來(lái)實(shí)現(xiàn)。
3.2.2 系統(tǒng)配置
 包括系統(tǒng)數(shù)據(jù)源的自動(dòng)配置,考試參數(shù)(考試時(shí)間、考次、考點(diǎn)代碼和考生照片存放路徑)、字典參數(shù)以及讀卡器通信參數(shù)配置。程序設(shè)計(jì)時(shí)需要調(diào)用讀寫(xiě)器動(dòng)態(tài)鏈接庫(kù)STDAPI.DLL,通信端口提供2個(gè)RS232端口與6個(gè)USB端口,若用戶選擇了USB端口則將對(duì)應(yīng)的屬性設(shè)置為不可修改(cmbSetBaud.Enabled:=False),并把參數(shù)配置的結(jié)果寫(xiě)入INI文件中保存,以備下次讀取。端口參數(shù)配置界面如圖3所示。

 

 

3.2.3 報(bào)名管理
 本模塊包括報(bào)名默認(rèn)選擇設(shè)置、身份證信息采集兩部分內(nèi)容。在信息采集界面主要用一個(gè)DBGrid組件來(lái)顯示報(bào)名庫(kù)中已有的考生信息,分別用8組Lable組件和Edit組件顯示姓名、性別、出生日期、身份證號(hào)、民族、報(bào)名號(hào)、原準(zhǔn)考證號(hào)、聯(lián)系電話等信息,其中原準(zhǔn)考證信息來(lái)源于成績(jī)庫(kù)(CJK.DBF),其他來(lái)源于讀卡器;用5組Lable組件和ComboBox組件分別顯示報(bào)考語(yǔ)言級(jí)別、職業(yè)、文化程度、培訓(xùn)類型、保留成績(jī)種類等信息,其中報(bào)考語(yǔ)言級(jí)別由考務(wù)人員現(xiàn)場(chǎng)選擇,其他信息項(xiàng)可選擇也可以在報(bào)名默認(rèn)選擇模塊中設(shè)置;照片保存在系統(tǒng)設(shè)置中指定的目錄之下,文件使規(guī)則是級(jí)別語(yǔ)言代碼(2位)+報(bào)名號(hào)。用7個(gè)按鈕分別激活讀取身份證、數(shù)據(jù)清空、信息存盤、修改、刪除、預(yù)覽、打印等功能。程序處理流程如圖4所示,系統(tǒng)界面如圖5所示。


3.2.4 查詢統(tǒng)計(jì)
 查詢統(tǒng)計(jì)模塊的操作對(duì)象是新產(chǎn)生的報(bào)名庫(kù),查詢提供以姓名、身份證號(hào)的單一條件查詢和以身份證號(hào)、姓名、報(bào)考級(jí)別語(yǔ)言為基本條件的組合查詢,統(tǒng)計(jì)功能提供了符合某條件的筆試人數(shù)統(tǒng)計(jì)、機(jī)試人數(shù)統(tǒng)計(jì)、雙試人數(shù)統(tǒng)計(jì)。部分代碼如下:
procedure TFrmSelect.Button1Click(Sender: TObject);
var
 sSqlstr,sSubSqlstr:string;
begin
  if (trim(BmhBegEdit.Text)<>′′) and (trim(BmhEndEdit.Text)<>′′) then
   begin   //輸入報(bào)名號(hào)范圍查詢
    sSubSqlstr:=format(′ right(bmh,6) between ′′%s′′ and ′′%s′′ ′,[trim(BmhBegEdit.Text),trim(BmhEndEdit.Text)]);
   end
 end;……
  with dm.qrySel do
  begin
    Close;
    SQL.Clear;
    sSqlstr:=′select * from bmk ′;
    if  sSubSqlstr<>′′ then
begin
  sSqlstr:=sSqlstr+′ where ′+sSubSqlstr;
end;
sSqlstr:=sSqlstr+′ and delflag=0 order by (right(bmh,6)) desc ′;
  SQL.Add(sSqlstr);
    Open;
    StatusBar1.Panels[1].Text:=inttostr(RecordCount)+′條記錄′;
  end;
end;……
3.2.5 數(shù)據(jù)備份
 數(shù)據(jù)備份在系統(tǒng)的兩個(gè)模式中實(shí)現(xiàn)的方式是不同的,數(shù)據(jù)庫(kù)的備份是調(diào)用SQL數(shù)據(jù)庫(kù)管理系統(tǒng)的功能來(lái)實(shí)現(xiàn)的,對(duì)于用VFP作數(shù)據(jù)庫(kù)支持的系統(tǒng)模式,數(shù)據(jù)備份是有選擇的備份,目標(biāo)格式采用教育部考試中心要求的報(bào)名表的結(jié)構(gòu)格式,保證此表可直接導(dǎo)入考務(wù)系統(tǒng)進(jìn)行考試編排。
 開(kāi)發(fā)過(guò)程的實(shí)踐證明,NCRE報(bào)名數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)是合理的,雖然在使用初期對(duì)不少地方針對(duì)用戶提出的建議做了改動(dòng),但用戶登錄、報(bào)名管理、查詢統(tǒng)計(jì)、報(bào)表打印、數(shù)據(jù)備份等功能模塊的開(kāi)發(fā)進(jìn)程非常順利,投入使用三年來(lái)累計(jì)有四萬(wàn)五千余名考生的信息通過(guò)本系統(tǒng)采集到數(shù)據(jù)庫(kù),一方面有效地避免了考務(wù)人員手工錄入可能產(chǎn)生的錯(cuò)誤,大幅度提高了信息的準(zhǔn)確率,減輕了考務(wù)人員錄入信息的勞動(dòng)強(qiáng)度,加快了集體報(bào)名的進(jìn)度,為考務(wù)人員、考生贏得了時(shí)間;另一方面身份證的照片是專業(yè)攝影人員拍攝的,相比之下要比考務(wù)人員現(xiàn)場(chǎng)拍攝的規(guī)范,同時(shí)也節(jié)約了考生報(bào)名的時(shí)間。
參考文獻(xiàn)
[1] 儲(chǔ)啟明.Delphi7典型實(shí)例開(kāi)發(fā)篇[M].北京:清華大學(xué)出版社,2003.
[2] 邊紅麗.非接觸IC卡技術(shù)應(yīng)用趨勢(shì)[J].金卡工程,2003(5):39-41.
[3] Borland Software Corporation.Borland developer Stlldio 2006 guide[M]. 2006.
[4] 鄒澤林. Delphi在開(kāi)發(fā)打印系統(tǒng)實(shí)踐中的應(yīng)用與編程[J].電腦編程技巧與維護(hù),2009(18):42-43,57.
[5] 儲(chǔ)啟明. Delphi7典型實(shí)例開(kāi)發(fā)篇(基礎(chǔ)開(kāi)發(fā)篇)[M].北京:清華大學(xué)出版社,2003.
[6] 張春林,馬成勇,劉均.Delphi7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。