韓開封
(浙江國際海運職業(yè)技術學院,浙江舟山 316000)
航運業(yè)的發(fā)展加大了對高素質船員的需求,船員培訓是打造高素質船員隊伍的一條捷徑。各種各樣的船員培訓項目已成為交通運輸部海事局認可的船員強制培訓項目。就目前一個普通的500 總噸及以上的駕駛員來說,如果他要上船工作就需要經過“熟悉與基本安全”、“精通艇筏”、“高級消防”、“精通急救”、“雷達觀測與模擬器”、“自動雷達標繪”、“GMDSS 通用操作員”、“適任評估”和“適任考前”培訓。這還不包括在擔任駕駛員以前的“值班水手考前培訓”、上特種船舶強制要求的一些特殊培訓項目和以后每五年一次的知識更新培訓。如此多種類的培訓和考試很少有船員能一次性全部通過,導致了船員考試次數(shù)和人數(shù)的大幅增加。面對船員培訓過程中產生的大量數(shù)據(jù)信息,采用普通的OFFICE 軟件將無法滿足船員培訓管理的需要,因此,編制一款合適的船員培訓管理軟件顯得尤為重要。
在大多數(shù)的船員培訓機構中一般不可能配備專門編寫程序代碼的專業(yè)人員,而是有許多完成數(shù)據(jù)處理的工作人員,他們一般不能編寫大量的枯燥的代碼。Visual FoxPro9.0 采用“面向對象”編程技術的簡化版——可視化編程。[1]Visual FoxPro 是關系數(shù)據(jù)庫系統(tǒng),一直被不同層次的程序員用于設計和開發(fā)各種類型的管理信息系統(tǒng)或者進行數(shù)據(jù)庫的維護。它的最大特點是易學、高效、功能強大,特別適用于中小數(shù)據(jù)庫的管理。一般掌握Visual FoxPro 程序設計只需要一周到一個月時間就能開始編程工作。[2]另一方面,海事局船員管理部分數(shù)據(jù)也存儲在FoxPro 中,并且FoxPro DML 是管理這些記錄的最好途徑。船員培訓機構采用Visual FoxPro9.0 來編制培訓管理軟件是比較合適的。
在船員培訓開展過程中,產生的數(shù)據(jù)主要分為以下幾類:第一是培訓報名中收集到的船員個人信息數(shù)據(jù),主要包括姓名、身份證號碼、持有的證書、聯(lián)系方式等。第二是培訓教學過程中產生的數(shù)據(jù),主要是培訓的項目、期數(shù)、學號、出勤等信息。第三是培訓結束后參加考試的數(shù)據(jù),主要包括理論考試成績、評估成績。第四是考試合格后取得證書的數(shù)據(jù),主要為證書的種類、證書號碼、發(fā)證日期等。這四方面信息基本反映了一個船員從報名參加培訓到考試發(fā)證的全過程。除了上述的信息以外,在培訓過程中還會產生其它兩個方面的數(shù)據(jù)流。一方面是資金流,包括應收費、代收費和收費時間等數(shù)據(jù);另一方面是倉儲信息,包括教材的庫存數(shù)量、發(fā)放數(shù)量、教材種類、出版社等數(shù)據(jù)。通過對這些數(shù)據(jù)的記錄和分析,基本能保證培訓工作的正常開展和運作。
Visual FoxPro 提供一個高效易用的工具是“項目管理器”,通過項目管理器,用戶可以集中地管理數(shù)據(jù)、文檔、類庫、源代碼等各種資源。[1]利用Visual FoxPro9.0 管理培訓數(shù)據(jù),首先要用項目管理器創(chuàng)建一個項目文件(培訓管理),以后所有的資源都會被加到這個項目文件里來。在項目的數(shù)據(jù)選項卡中新建數(shù)據(jù)庫,在數(shù)據(jù)庫中添加各種表(圖1),最后使用各表中的關鍵字段在數(shù)據(jù)庫中建立各種關聯(lián)。根據(jù)需要還可以利用現(xiàn)有的表生成一部分虛擬的表,這樣一個簡單的數(shù)據(jù)庫就基本搭建完成,剩下的事情就是編制已經加入到數(shù)據(jù)庫中的各個二維表。如:在船員培訓中一般會有說明培訓期數(shù)的批次表,在批次表中需要有“培訓項目”、“批次號”、“開班日期”、“考試日期”、“承辦部門”等字段。把每個字段設成相應的格式。如:開班日期設成日期型,培訓項目設成字符型等。船員培訓管理系統(tǒng)的數(shù)據(jù)庫結構如圖1 所示。
圖1 數(shù)據(jù)庫基本結構
Visual FoxPro 提供的“表單設計器”是一種功能強大的工具,用戶能夠不編程或使用很少的代碼來實現(xiàn)友好的交互式應用程序界面,并可對界面進行控制。[1 ]從船員培訓工作的分工看,一般我們會需要一個報名的界面。該界面的數(shù)據(jù)環(huán)境是以培訓批次表為父表,船員表與培訓表形成的虛擬表(視圖)為子表,兩者之間由培訓批次作為關鍵詞實現(xiàn)關聯(lián)。在報名界面的設計上由兩個表格組成(表格可由表格生成器自動生成),左邊的表格與父表對應,右邊的表格與子表對應。最后加上一個系統(tǒng)默認的按鈕組。當報名表單運行的時候,就可以實現(xiàn)對培訓批次的增加或編輯,也可以實現(xiàn)對某一批次培訓學員的增加或編輯,并可錄入培訓學員的部分個人信息及該學員在該批次學習過程中的信息,例如到課、缺課或曠課節(jié)數(shù)等。該界面實現(xiàn)了報名信息和培訓日常管理信息的錄入和查找。按照同樣的方法以培訓批次表為父表,以船員表和成績表形成的視圖為子表,可以實現(xiàn)對培訓船員實操評估成績和理論考試成績的管理。以培訓批次表為父表,以船員表和證書表形成的視圖為子表,可以實現(xiàn)對培訓船員證書信息登記和發(fā)放的管理。以培訓批次表為父表,以船員表和收支表形成的視圖為子表,可以實現(xiàn)對培訓收費及往來款(代收費)的管理。以培訓批次表為父表,以船員表和出入庫表形成的視圖為子表可以實現(xiàn)對培訓教材、資料的管理,甚至可以延伸到書包、筆、練習本等學習用品的管理。以上各種功能表單的生成使我們能夠方便地查找出某一培訓批次的具體情況,而對于單個船員的信息查找還比較麻煩。為實現(xiàn)這一功能,我們可以再生成一個查詢表單。該表單的數(shù)據(jù)環(huán)境是以船員表為父表,以選取上述已經生成的各個視圖中的主要字段生成一個新的視圖,以船員的身份證號碼建立關聯(lián)。然后在查詢表單中進行簡單的設計,就能以船員的身份證號碼、姓名、手機號碼或其它信息可以方便地查找出該船員在培訓機構中進行過的所有活動。例如什么時間段參加了什么項目的培訓,培訓期間的學習情況、考試和評估成績、證書號碼及發(fā)放日期還包括補考的時間、成績等。這對培訓管理非常實用,大大提高了管理效率和數(shù)據(jù)準確性。
船員培訓管理系統(tǒng)的輸出主要有報表和標簽兩種形式。在實際的船員培訓過程中我們需要各種各樣的表格。船員教育與培訓質量管理體系也要求船員培訓過程中必須形成相關的質量記錄。如果這些表格用傳統(tǒng)的WORD 或 來做將是繁瑣的,Visual FoxPro9.0 會把這些工作變得非常容易。我們只需通過報表設計器設計好各種表格的模版,在報表的數(shù)據(jù)環(huán)境中加入需要的表或視圖并在表(視圖)間建立相應的關聯(lián),這樣系統(tǒng)就能輸出規(guī)定樣式的各種報表了。一般在船員培訓過程中我們需要培訓船員的花名冊、點名冊、評估記錄表、理論成績表、成績匯總表、制證名冊、工作單、證書發(fā)放登記表等。培訓船員的身份卡、準考證、座位標記、學員證和合格證等適合標簽類的輸出,標簽類的設計類似于報表的設計方法。
為進一步提高培訓數(shù)據(jù)管理的效率,Visual FoxPro9.0 提供了數(shù)據(jù)的導入和導出功能。這樣當遇到輸入已經電子化的數(shù)據(jù)時,只要把它做成規(guī)定格式的電子文檔(例如EXCEL 表格)就能利用程序的導入功能一次性地將數(shù)據(jù)導入到船員培訓管理系統(tǒng)中,提高數(shù)據(jù)的錄入速度。利用導出功能導出的數(shù)據(jù)經過稍加制作就可以導入到其它系統(tǒng)進行使用,例如船員無紙化考試系統(tǒng)等。導出的數(shù)據(jù)還可以制作成臨時要用的各種表格,延伸了船員培訓管理系統(tǒng)的功能。
為實現(xiàn)程序運行后在各個工作界面(表單)之間的切換或打開、快速地打開某個報表,Visual FoxPro9.0 可以在各個表單上添加不同功能的按鈕。例如從報名界面切換到成績界面,我們只要在報名界面中添加一個按鈕,設置該按鈕的屬性(Caption)為“成績界面”,在該對象的事件(Click)
中輸入:
這樣當單擊該按鈕時,程序就會從原來的報名界面切換到成績界面。另一種快速打開“成績匯總表”報表按鈕的做法是:設置該按鈕的屬性(Caption)為“成績匯總表”,在該對象的事件(Click)中輸入:
這樣當單擊該按鈕時,程序就會讀取成績匯總表報表文件,調用系統(tǒng)預覽程序,預覽報表。通過對這兩種按鈕的靈活運用,對工作人員帶來極大地方便。
為使編譯的程序能獨立運行,應打開應用程序生成器,填寫最后的一部分信息。例如程序的名稱、作者、單位和版本等。最后通過項目管理器進行連編。生成.exe 可執(zhí)行文件,程序編譯完成。
1 劉瑞新,文成林,汪遠征.Visual FoxPro 程序設計教程[M].北京:機械工業(yè)出版社,2002.
2 李加福,邸雪峰,桂敏文,等.Visual FoxPro6.0 中文版入門與提高[M].北京:清華大學出版社,1999
3 鄭 剛.Visual FoxPro6.0 實效編程百例[M].北京:人民郵電出版社,2002.