任歡歡,馬 馳
(1.渤海大學(xué) 大學(xué)外語教研部,遼寧 錦州 121013;2.錦州市林業(yè)科學(xué)研究所 遼寧 錦州 121000)
基于Android的林業(yè)科技英語詞匯查詢系統(tǒng)設(shè)計
任歡歡1,馬 馳2
(1.渤海大學(xué) 大學(xué)外語教研部,遼寧 錦州 121013;2.錦州市林業(yè)科學(xué)研究所 遼寧 錦州 121000)
針對林業(yè)科技英語詞匯專業(yè)性強(qiáng)、詞匯量大和查詢不方便等問題,采用軟件工程的原理和方法,設(shè)計基于Android平臺的查詢系統(tǒng)。通過數(shù)據(jù)存儲結(jié)構(gòu)設(shè)計、開發(fā)環(huán)境部署、查詢模塊設(shè)計和分頁技術(shù)設(shè)計等步驟完成了主要設(shè)計工作。本文研究內(nèi)容解決了系統(tǒng)開發(fā)關(guān)鍵性的技術(shù)問題,具有結(jié)構(gòu)清晰、方法可靠和易于實現(xiàn)等特點,開發(fā)人員以此為基礎(chǔ)構(gòu)建系統(tǒng),提高了開發(fā)效率和軟件質(zhì)量。
Android;林業(yè);科技英語;詞匯查詢;系統(tǒng)設(shè)計
林業(yè)是一項重要的公益事業(yè)和基礎(chǔ)產(chǎn)業(yè),在國民經(jīng)濟(jì)和社會發(fā)展全局中具有戰(zhàn)略地位。中央林業(yè)工作會議明確了林業(yè)的4大使命:實現(xiàn)科學(xué)發(fā)展必須把發(fā)展林業(yè)作為重大舉措,建設(shè)生態(tài)文明必須把發(fā)展林業(yè)作為首要任務(wù),應(yīng)對氣候變化必須把發(fā)展林業(yè)作為戰(zhàn)略選擇,解決“三農(nóng)”問題必須把發(fā)展林業(yè)作為重要途徑[1]。隨著生態(tài)環(huán)境惡化,林業(yè)越來越重要,對林業(yè)領(lǐng)域的科學(xué)研究也越來越廣泛。在研究過程中,需要進(jìn)行中英文互譯,借鑒學(xué)習(xí)國外的研究成果,并把中文研究成果向國外推廣。林業(yè)英語具有科技性強(qiáng)、專業(yè)性強(qiáng)、邏輯嚴(yán)密和表達(dá)要求簡練等特點[2-3]。科研人員需要經(jīng)常運(yùn)用林業(yè)科技英語詞匯,這些詞匯的學(xué)習(xí)、記憶和使用始終是研究人員的難題。
Android是應(yīng)用于移動設(shè)備的基于Linux的開放源代碼操作系統(tǒng),Android智能手機(jī)的硬件性能越來越高,而價格卻不斷下降,使得Android成為智能手機(jī)主流的操作系統(tǒng)。相對于其他操作系統(tǒng),Android具有以下優(yōu)勢:開放性,允許任何移動終端廠商加入到Android聯(lián)盟中來;簡單性,開源軟件解決方案很容易找到和很容易實施;硬件豐富,每一家手機(jī)廠商都推出了各自的Android手機(jī);方便開發(fā),為第三方軟件開發(fā)商一個十分寬泛和自由的環(huán)境。建立基于Android的林業(yè)科技英語詞匯查詢系統(tǒng),科技人員可隨時隨地方便地查詢,為科學(xué)研究和日常工作帶來方便和快捷。
數(shù)據(jù)存儲結(jié)構(gòu)是指保存林業(yè)科技英語詞匯的數(shù)據(jù)庫表的邏輯結(jié)構(gòu)。為了設(shè)計邏輯結(jié)構(gòu),首先設(shè)計概念結(jié)構(gòu)。概念結(jié)構(gòu)包括 3個實體,分別是“詞匯類別”、“詞匯”和“詞匯例句”。“詞匯類別”分為“源詞、術(shù)語和短句”3類,其中,“源詞”是來自于單一的英文單詞,如“forest森林、walnut核桃”這類詞匯;“術(shù)語”是由兩個或兩個以上詞素拼綴而成的派生詞[4],如“silvi-(森林)+cult-(栽培)+-ure(行為)=silviculture(造林)”;“短句”是由多個“源詞”或“術(shù)語”構(gòu)成,如“shelter belts to protect the head-waters of rivers水源防護(hù)林”,這類詞匯是由多個詞匯構(gòu)成的固定用法,也放置在詞匯庫中供查閱。“詞匯”實體用于存儲各個詞匯的所有信息;“詞匯例句”用于存儲各個詞匯相對應(yīng)的例句。3個實體間存在兩個“一對多”聯(lián)系,其中,“詞匯類別”和“詞匯”是“一對多”聯(lián)系,即一個“詞匯類別”包含多個“詞匯”,一個“詞匯”僅屬于一個“詞匯類別”;“詞匯”和“詞匯例句”是“一對多”聯(lián)系,一個“詞匯”包含多個“詞匯例句”,一個“詞匯例句”僅屬于一個“詞匯”。
邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)的設(shè)計結(jié)果,轉(zhuǎn)換為與具體數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。本系統(tǒng)選用MySql作為后臺數(shù)據(jù)庫。轉(zhuǎn)換規(guī)則是一個實體轉(zhuǎn)換為一個關(guān)系表,一個“一對多”聯(lián)系與多端對應(yīng)的關(guān)系表合并,轉(zhuǎn)換結(jié)果的關(guān)系圖如圖 1所示[5]。為了實體完整性,每個表設(shè)定一個主鍵,其中,“詞匯類別表”主鍵為“類別代碼”字段;“詞匯表”主鍵為“詞匯代碼”字段;“詞匯例句表”主鍵是由“詞匯代碼”和“例句序號”兩個字段構(gòu)成的聯(lián)合主鍵。為了實現(xiàn)參照完整性[6],3個表之間的兩個“一對多”聯(lián)系通過兩個外鍵實現(xiàn),其中,“詞匯類別表”和“詞匯表”之間“一對多”聯(lián)系對應(yīng)的外鍵是“FK_Categ_Vocabulary”,通過“類別代碼”實現(xiàn)關(guān)聯(lián);“詞匯表”和“詞匯例句表”之間“一對多”聯(lián)系對應(yīng)的外鍵是“FK_Vocabulary_Example”,通過“詞匯代碼”實現(xiàn)關(guān)聯(lián)。

圖1 數(shù)據(jù)結(jié)構(gòu)關(guān)系圖
基于Android開發(fā)涉及到Java、Android、程序設(shè)計等多方面知識,部署開發(fā)環(huán)境是基礎(chǔ)性工作。開發(fā)環(huán)境構(gòu)成如圖2所示,部署過程分5個步驟[7-9]:
第1步:安裝JDK。JDK(Java SE Development Kit)是Java開發(fā)工具箱,SE表示標(biāo)準(zhǔn)版。JDK是Java的核心,包含了Java的運(yùn)行環(huán)境(Java Runtime Environment)。JDK的安裝過程比較簡單,點擊.exe可執(zhí)行文件進(jìn)行JDK安裝,但要注意JDK和JRE安裝到同一個目錄。
第2步:配置Windows上JDK的環(huán)境變量。包括3個變量:JAVA_HOME,JDK的安裝路徑;PATH,用于配置路徑,簡化命令輸入;CLASSPATH,用于編譯時JAVA類的路徑。測試環(huán)境變量是否配置成功,運(yùn)行cmd->輸入java-version;也可以輸入java、javac等命令。
第3步:安裝Eclipse。Eclipse為Java及Android開發(fā)的集成開發(fā)環(huán)境。Eclipse的版本有多個,本平臺使用Eclipse IDE for Java Developers。首先,規(guī)劃安裝并獲得安裝包;然后,設(shè)置工作目錄并解壓;最后,配置環(huán)境參數(shù)。
第4步:安裝Android SDK。Android SDK提供了開發(fā)Android應(yīng)用程序所需的API庫和構(gòu)建、測試、應(yīng)用程序所需的開發(fā)工具。下載后雙擊安裝,為了方便使用Android SDK包含的開發(fā)工具,系統(tǒng)環(huán)境變量Path設(shè)置為Android SDK的安裝目錄下的tools目錄。
第 5步:為 Eclipse安裝 ADT插件。ADT(Android Development Tools)插件完成Eclipse和Android SDK的關(guān)聯(lián),使二者成為一個整體。啟動Eclipse,點擊 Help菜單的Add…選項輸入地址后選擇Next即可。

圖2 Android開發(fā)環(huán)境構(gòu)成
時序圖(Sequence Diagram)也稱序列圖或順序圖,表示對象之間發(fā)送消息的時間順序,顯示多個對象之間的動態(tài)協(xié)作[10]。查詢模塊的直接使用者是手機(jī)客戶端用戶,查詢過程通過時序圖表示,如圖3所示。
查詢模塊的工作過程描述如下[11-12]:Android客戶端通過瀏覽器輸入欲檢索的林業(yè)科技英語詞匯的條件,檢索條件生成查詢請求提交給應(yīng)用服務(wù)器;應(yīng)用服務(wù)器的業(yè)務(wù)邏輯模塊將檢索到的查詢請求生成內(nèi)部查詢條件;業(yè)務(wù)邏輯將內(nèi)部查詢條件提交到數(shù)據(jù)庫服務(wù)器;數(shù)據(jù)庫服務(wù)器執(zhí)行查詢操作,并返回查詢結(jié)果;業(yè)務(wù)邏輯將接收數(shù)據(jù)庫的查詢結(jié)果后,處理成為客戶端可以顯示的格式并提交給客戶端;Android客戶端將查詢結(jié)果本地化,即存儲在本地的SQLite數(shù)據(jù)庫中;將查詢結(jié)果部分或全部顯示在Android客戶端瀏覽器。
系統(tǒng)實現(xiàn)由兩個界面和兩個程序完成。Search.jsp界面,用戶輸入查詢條件,通過腳本檢測查詢條件的正確性,如果正確,生成查詢請求發(fā)送到應(yīng)用服務(wù)器;QuerySub.java程序,是數(shù)據(jù)查詢的業(yè)務(wù)處理邏輯,生成查詢條件條件后通過數(shù)據(jù)訪問層接口訪問數(shù)據(jù)庫,并將數(shù)據(jù)庫返回的結(jié)果進(jìn)行規(guī)范化處理;LocalizeData.java程序,為了使后臺數(shù)據(jù)庫中查詢的結(jié)果在客戶端重復(fù)使用,數(shù)據(jù)保存在本地的SQLite數(shù)據(jù)庫中,SQLiteOpenHelper是封裝了數(shù)據(jù)庫的創(chuàng)建、打開和更新的抽象類,通過繼承這個類來完成數(shù)據(jù)庫的創(chuàng)建、打開及各種操作;Show.jsp界面,查詢結(jié)果輸出界面,在Android客戶端顯示查詢結(jié)果供用戶使用。

圖3 查詢過程時序圖
分頁是將所有數(shù)據(jù)分段顯示給用戶的技術(shù)。用戶每次看得到的不是全部數(shù)據(jù),而是其中的一部分。Android客戶端屏幕較小,分頁技術(shù)就顯得尤其重要。如果用戶沒有找到自己查詢的詞匯,可以通過翻譯技術(shù)繼續(xù)查找。為了操作簡單和使用性,分頁技術(shù)通用使用分頁類實現(xiàn),提供的功能包括“首頁”、“上一頁”、“下一頁”和“尾頁”按鈕,以及帶有超鏈接的連續(xù)頁碼號,為用戶提供多種翻頁方式[13]。因為Http的無狀態(tài)性,每一次提交都當(dāng)作一個新的請求來處理,上一次結(jié)果對下一次沒有影響。通常實現(xiàn)分頁技術(shù)有3種方法:一是,每次取查詢結(jié)果的所有數(shù)據(jù),然后根據(jù)頁碼顯示指定紀(jì)錄;二是,根據(jù)頁面只取1頁數(shù)據(jù),然后顯示這一頁,需要構(gòu)造SQL語句;三是,取一定頁數(shù)的數(shù)據(jù),就是前兩種方法的折中。本系統(tǒng)采用第二種方法,即每次只獲取1頁數(shù)據(jù),實現(xiàn)方法如下:
1)設(shè)計一個接口,用來實現(xiàn)分頁功能。接口包括一個結(jié)果列表和一些分頁的必要信息,結(jié)果列表使用List類,分頁必要信息包括5個int型方法。接口實現(xiàn)表示某一次查詢某一頁數(shù)據(jù),和上次查詢無關(guān);接口實現(xiàn)是只讀的,也就是不可以修改;getPages()方法是冗余的,但是為了通用性仍然提供這個方法[14]。接口設(shè)計代碼如下:


2)設(shè)計一個抽象類實現(xiàn)。將接口和抽象類配合起來使用,可以為開發(fā)者提供更多的便利性。如果直接用類實現(xiàn)接口,就需要實現(xiàn)接口的所有方法,抽象類可以只實現(xiàn)個別方法,不需要的方法體設(shè)為空[15]。通過抽象類實現(xiàn),數(shù)據(jù)可以使用各種方式獲得,比如直接通過一個List獲得,或者通過JDBC、Hibernate等等,把結(jié)果封裝到一個List里面,通過Hibernate就特別方便。抽象類實現(xiàn)代碼如下:


文中基于Android系統(tǒng)設(shè)計了林業(yè)科技英語查詢系統(tǒng),為系統(tǒng)開發(fā)提供了切實可行的解決方案。基于MySql數(shù)據(jù)庫管理系統(tǒng)設(shè)計了數(shù)據(jù)庫存儲結(jié)構(gòu),開發(fā)人員可直接創(chuàng)建數(shù)據(jù)庫對象;提供了開發(fā)環(huán)境部署方案,按此步驟就可完成環(huán)境搭建工作;系統(tǒng)的核心功能是客戶端查詢模塊,通過查詢過程時序圖表明了查詢過程,并設(shè)計了分頁類以方便用戶瀏覽。文中的研究內(nèi)容,解決了軟件開發(fā)關(guān)鍵性的技術(shù)問題,開發(fā)人員以此為基礎(chǔ)構(gòu)建系統(tǒng),對提高系統(tǒng)的開發(fā)質(zhì)量和效率具有重要意義。
[1]趙樹叢.發(fā)揮林業(yè)作用建設(shè)生態(tài)文明[J].河北林業(yè),2012,30(12):5-7.
[2]鄭玉榮.淺談林業(yè)科技英語的特點和翻譯實踐[J].長春大學(xué)學(xué)報,2007,17(2):45-46.
[3]張沉香.目的論在林業(yè)科技翻譯中的應(yīng)用[J].中南林業(yè)科技大學(xué)學(xué)報:社會科學(xué)版,2008,28(2):93-96.
[4]普映山.試論林業(yè)科技英語術(shù)語的特點和翻譯[J].西南林學(xué)院學(xué)報,1989,9(2):196-202.
[5]Soler,J.A formative assessment tool for conceptual database design using UML class diagram[J].International Journal of Emerging Technologies in Learning,2010,5(3):27-33.
[6]Xiao,Hongyu.The breakthrough of database design normalization theory[J].Advanced Materials Research,2011,204(2):1615-1618.
[7]百度經(jīng)驗.在Windows下搭建Android開發(fā)環(huán)境[EB/OL].(2015-09-25)http://jingyan.baidu.com/article/bea41d437a41 b6b4c51be6c1.html.
[8]Hein,Chit La Pyae Myo.Characterization of malware detection on Android application[J].Advances in Intelligent Systems and Computing,2015,387(1):113-124.
[9]Qian Quan.Malicious behavior analysis for android applications[J].International Journal of Network Security,2016,18(1):182-192.
[10]Asma Sellami,Hela Hakim,Alain Abran,et al.A measurement method for sizing the structure of UML sequence diagrams[J].Information and Software Technology,2015,59(1):222-232.
[11]張新柱,白立靜,郭福三.基于Android手機(jī)終端信息查詢系統(tǒng)的設(shè)計[J].齊齊哈爾大學(xué)學(xué)報,2012,28(4):47-51.
[12]弋改珍,解爭龍,張餛.基于Android的火車時刻表查詢系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(4):41-44.
[13]徐志強(qiáng).基于Android的路況信息查詢系統(tǒng)的設(shè)計[D].哈爾濱:哈爾濱理工大學(xué),2014.
[14]treeroot.舉例詳解用Java實現(xiàn)web分頁功能的方法[EB/OL].(2015-12-25).腳本之家,http://www.jb51.net/article/73738.htm.
[15]Alan.抽象類和接口聯(lián)系與區(qū)別[EB/OL].(2015-12-25). Alan’s Blog, http://www.cnblogs.com/azai/archive/2009/11/ 10/1599584.html.
Design on vocabulary query system for forestry scientific English based on Android
REN Huan-huan1,MA Chi2
(1.Teaching and Research Institute of Foreign Languages,Bohai University,Jinzhou 121013,China;2.Jinzhou Forestry Science Research Institute,Jinzhou 121000,China)
In view of the problems of forestry scientific English vocabulary that the strong profession,large vocabulary and inconvenient query and so on,adopting the principles and methods of software engineering to design the query system based on Android platform.The main design work is completed through the steps that data storage structure design,development environment deployment,query module design,paging technology design and others.The research contents of this paper solve the key technical problems of the system development,which have the characteristics that the structure is clear,the method is reliable and easy to implement and so on,the developers take this as a basis to construct a system can improve the development efficiency and software quality.
Android;forestry;scientific English;vocabulary query;system design
TN919.5
A
1674-6236(2016)23-0047-04
2015-12-29稿件編號:201512302
2016年度遼寧省社科規(guī)劃基金項目(L16Crr001);省社科聯(lián)2017年度遼寧經(jīng)濟(jì)社會發(fā)展立項課題(2017lslktyb-019);遼寧省教育科學(xué) “十三五”規(guī)劃2016年度課題 (JG16DB013);省社科聯(lián)2016年度遼寧經(jīng)濟(jì)社會發(fā)展立項課題(2016lslktwx-01)
任歡歡(1983—),女,遼寧葫蘆島人,碩士,講師。研究方向:林業(yè)科技英語及英語教學(xué)。