王 歡, 趙立敏, 楊韓濤, 劉 娜, 張彥龍
(吉林大學(xué) 地球科學(xué)學(xué)院, 吉林 長春 130061)
近年來,吉林大學(xué)地學(xué)基礎(chǔ)實驗教學(xué)中心巖石學(xué)實驗室的教學(xué)資源建設(shè)成果豐碩。實驗室在承擔(dān)計劃內(nèi)實驗教學(xué)任務(wù)的同時,面向地學(xué)相關(guān)專業(yè)學(xué)生實行全方位開放,大力發(fā)展“開放化、信息化、共享化”的服務(wù)模式,致力于培養(yǎng)學(xué)生的專業(yè)技能水平和創(chuàng)新思維[1-3]。巖石鑒定是“巖石學(xué)”課程要求學(xué)生必須掌握的一項專業(yè)技能,往往在地質(zhì)工作中起關(guān)鍵作用[4]。
然而,受客觀條件的限制,巖石學(xué)實驗室的開放時間仍然有限;實驗室保存的巖石標(biāo)本、巖石薄片等實物數(shù)量龐大、類型繁多、使用頻率高、損耗大,實驗室面臨教學(xué)資源多樣化、管理內(nèi)容復(fù)雜化的挑戰(zhàn)。針對以上情況,吉林大學(xué)開發(fā)了具有用戶管理、系統(tǒng)管理、條件查詢、數(shù)據(jù)瀏覽和數(shù)據(jù)管理功能的巖石鑒定學(xué)習(xí)輔助系統(tǒng),實現(xiàn)了教學(xué)資源共享,為學(xué)生自主學(xué)習(xí)提供了更好的支撐條件,也為巖石學(xué)實驗室的數(shù)字化管理提供了保障[5-7]。
基于Access的巖石鑒定學(xué)習(xí)輔助系統(tǒng)的設(shè)計分為需求分析、系統(tǒng)設(shè)計、巖石綜合信息數(shù)據(jù)庫設(shè)計、系統(tǒng)實現(xiàn)和系統(tǒng)測試等[8](見圖1),其中需求分析是整個系統(tǒng)開發(fā)的基礎(chǔ)[9]。系統(tǒng)用戶對象主要是實驗教師、學(xué)生和實驗室管理人員。為了滿足學(xué)生對巖石鑒定學(xué)習(xí)需求,也為方便教師對教學(xué)資源進行管理,明確了系統(tǒng)必須滿足以下需求:
(1) 功能性需求:巖石鑒定學(xué)習(xí)輔助系統(tǒng)向教師和學(xué)生用戶提供巖石綜合數(shù)據(jù)信息的存儲、查詢、瀏覽等服務(wù),具有用戶管理和系統(tǒng)管理功能;教師擁有系統(tǒng)數(shù)據(jù)管理權(quán)限,學(xué)生具有檢索、查詢權(quán)限;
(2) 非功能性需求:要求系統(tǒng)配置靈活、可擴充性好、用戶界面友好、操作簡單、查詢檢索快捷、響應(yīng)速度合理、具有較高的安全性、能夠穩(wěn)定運行;
(3) 系統(tǒng)軟件環(huán)境為Windows 7及以上操作系統(tǒng),CPU 1 GHz以上,內(nèi)存最少2 GB,硬盤最少100 GB;
(4) 開發(fā)環(huán)境:為滿足開發(fā)需求,系統(tǒng)采用Access數(shù)據(jù)庫管理系統(tǒng)、.NET Framework框架,以Microsoft Visual Studio 2013作為開發(fā)工具,C#為開發(fā)語言。

圖1 巖石鑒定學(xué)習(xí)輔助系統(tǒng)開發(fā)流程圖
巖石鑒定學(xué)習(xí)輔助系統(tǒng)采用雙層結(jié)構(gòu),由系統(tǒng)客戶端和數(shù)據(jù)庫兩部分構(gòu)成。用戶登錄系統(tǒng)后,系統(tǒng)會根據(jù)用戶名和密碼判別用戶身份并限定用戶的使用權(quán)限。系統(tǒng)管理員可以對用戶進行管理,教師可以進行數(shù)據(jù)查詢和數(shù)據(jù)管理,學(xué)生可以訪問數(shù)據(jù)查詢界面進行檢索。巖石標(biāo)本、巖石薄片以及用戶信息都存儲在數(shù)據(jù)庫中,系統(tǒng)的各個功能模塊直接與巖石綜合信息數(shù)據(jù)庫進行數(shù)據(jù)交換,實現(xiàn)了對巖石標(biāo)本和巖石薄片等資源的數(shù)據(jù)管理。系統(tǒng)設(shè)計流程如圖2所示。
巖石鑒定學(xué)習(xí)輔助系統(tǒng)的設(shè)計分為用戶管理、系統(tǒng)管理、條件查詢、數(shù)據(jù)瀏覽和數(shù)據(jù)管理5個功能模塊。圖3所示為5個模塊及其基本功能。

圖2 巖石鑒定學(xué)習(xí)輔助系統(tǒng)設(shè)計流程圖

圖3 巖石鑒定學(xué)習(xí)輔助系統(tǒng)功能模塊圖
巖石鑒定學(xué)習(xí)輔助系統(tǒng)采用關(guān)系型數(shù)據(jù)庫Access管理巖石標(biāo)本和巖石薄片的數(shù)據(jù)信息。數(shù)據(jù)存儲在基于Microsoft Jet引擎的Access數(shù)據(jù)庫中,支持多樣化的數(shù)據(jù)類型,包括文本格式、OLE對象等[10-11]。巖石綜合信息數(shù)據(jù)庫包含3個數(shù)據(jù)表,分別為巖石標(biāo)本信息表、巖石薄片信息表和教師用戶信息表。根據(jù)巖石鑒定的描述方法,對巖石標(biāo)本和巖石薄片信息進行了數(shù)據(jù)庫庫表結(jié)構(gòu)設(shè)計,其屬性字段包括標(biāo)本編號、薄片編號、顏色、礦物成分、礦物特征、標(biāo)本圖片、顯微照片、巖石定名等,數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計與說明見表1、表2。為保證數(shù)據(jù)的安全性,還設(shè)計了教師用戶信息表,如表3所示。系統(tǒng)設(shè)定具有訪問權(quán)限的教師用戶才能管理數(shù)據(jù)庫中存儲的數(shù)據(jù)。

表1 巖石標(biāo)本信息表結(jié)構(gòu)設(shè)計與說明

表2 巖石薄片信息表結(jié)構(gòu)設(shè)計與說明

表3 教師用戶信息表結(jié)構(gòu)設(shè)計與說明
以吉林大學(xué)巖石學(xué)實驗室現(xiàn)有72種巖石標(biāo)本、80種巖石薄片為基礎(chǔ),依據(jù)建庫所需的巖石/薄片種類、范圍及數(shù)量數(shù)據(jù)進行整理、編號,并逐一描述巖石鑒定的信息,按數(shù)據(jù)庫結(jié)構(gòu)將巖石鑒定信息批量導(dǎo)入Access數(shù)據(jù)庫庫表中。編號為1131B的火成巖標(biāo)本鑒定示例[12-13]如表4所示。

表4 巖石標(biāo)本鑒定信息
巖石鑒定學(xué)習(xí)輔助系統(tǒng)以.NET Framework框架為基礎(chǔ),利用C#作為程序設(shè)計語言,以Microsoft Visual Studio 2013(簡稱VS 2013)為開發(fā)平臺,具有平臺開發(fā)技術(shù)的先進性[14]。利用開發(fā)工具中的窗體應(yīng)用程序(Winform)設(shè)計了巖石鑒定學(xué)習(xí)輔助系統(tǒng)的5個主要界面,包括用戶登錄、用戶管理、巖石綜合信息查詢、巖石標(biāo)本與巖石薄片信息詳情、數(shù)據(jù)管理界面。該系統(tǒng)通過OLEDB接口與數(shù)據(jù)庫引擎建立連接,利用SQL語句搜索數(shù)據(jù)庫。OLEDB為基于COM的數(shù)據(jù)存儲對象,對所有類型的數(shù)據(jù)都可執(zhí)行操作,離線狀態(tài)亦可存取數(shù)據(jù)[15]。
用戶身份分為教師、學(xué)生和管理員。管理員可進入用戶管理界面,可對教師用戶登錄信息進行添加、修改、刪除操作;教師可進入巖石綜合信息查詢界面及數(shù)據(jù)管理界面;學(xué)生可以直接進入巖石綜合信息查詢界面。
在巖石綜合信息查詢界面,用戶可以選擇巖石標(biāo)本或巖石薄片數(shù)據(jù)庫,輸入檢索條件進行查詢,查詢結(jié)果顯示在信息查詢界面中。
部分源代碼如下:
//根據(jù)選擇數(shù)據(jù)庫、巖石大類、編號和成分進行查詢的代碼
string RockClassification = this.comboBox1.Text;
string Number = this.textBox1.Text.Trim();
string MineralComposition = this.textBox2.Text.Trim();
this.dgvList.Rows.Clear();
try
{
string sql1 = string.Format(″select * from ″ + Common.choiceDatabaseLabel + ″ where ″ + Common.choiceDatabaseLabel + ″.Classification LIKE '%{0}%' and ″ + Common.choiceDatabaseLabel + ″.Number LIKE '%{1}%' and ″ + Common.choiceDatabaseLabel + ″.MineralComposition LIKE '%{2}%'″, RockClassification, Number, MineralComposition);
DataSet ds = AccessDBUtil.ExecuteQuery(sql1);
DataView temp1 = ds.Tables[0].DefaultView;
//query
//MessageBox.Show(″找到″ + temp1.Count.ToString() + ″條數(shù)據(jù)″);
if(Common.choiceDatabaseLabel == ″Specimen″)
{
for(int i = 0; i < temp1.Count; i++)
}
else
{
for(int i = 0; i < temp1.Count; i++)
}
Common.dataID = dgvList.Rows[0].Cells[0].Value.ToString();
}
catch(Exception)
{
MessageBox.Show(″標(biāo)本查詢失敗!″);
}
用戶可以在巖石綜合信息查詢界面選擇“查詢結(jié)果”中的數(shù)據(jù),系統(tǒng)會彈出“巖石標(biāo)本信息詳情”界面或“巖石薄片信息詳情”界面(見圖4)。為更好地觀察巖石標(biāo)本和巖石薄片的礦物成分及結(jié)構(gòu)現(xiàn)象,可以通過點擊詳情界面的圖片放大按鈕瀏覽標(biāo)本或薄片的放大圖片。

圖4 巖石薄片信息詳情界面
教師進入系統(tǒng)數(shù)據(jù)管理界面后,可以通過“新建巖石薄片信息”界面、“巖石薄片信息修改”界面和“刪除”按鈕實現(xiàn)巖石標(biāo)本和巖石薄片信息的可視化管理。
目前,巖石鑒定學(xué)習(xí)輔助系統(tǒng)已投入教學(xué)使用,并且表現(xiàn)出操作簡單、內(nèi)容實用的特點。為進一步實現(xiàn)科學(xué)的數(shù)據(jù)資源共享,推動數(shù)字化實驗室建設(shè),實驗室以巖石鑒定學(xué)習(xí)輔助系統(tǒng)為基礎(chǔ),開展了基于B/S架構(gòu)的巖石標(biāo)本信息查詢系統(tǒng)的建設(shè)工作。這將使已有的巖石綜合信息數(shù)據(jù)庫建設(shè)成為能夠在Web上有效訪問的資源庫,并為此提供查詢、檢索、指向、存儲、管理及交換等服務(wù)[16]。
基于Access開發(fā)的巖石鑒定學(xué)習(xí)輔助系統(tǒng)所包含的巖石標(biāo)本、巖石薄片數(shù)字化信息,在一定程度上可以替代實物教學(xué)資源,優(yōu)化巖石學(xué)實驗室的管理模式,促進教學(xué)資源的保存、利用與共享。該系統(tǒng)為學(xué)生提供了一種新形式的教學(xué)資源,在幫助學(xué)生預(yù)習(xí)、復(fù)習(xí)所學(xué)巖石鑒定內(nèi)容的同時,也有效調(diào)動了學(xué)生自主學(xué)習(xí)的積極性,提高了巖石學(xué)實驗教學(xué)的質(zhì)量。