《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 拉曼檢測(cè)儀軟件產(chǎn)品線的設(shè)計(jì)與應(yīng)用
拉曼檢測(cè)儀軟件產(chǎn)品線的設(shè)計(jì)與應(yīng)用
2014年微型機(jī)與應(yīng)用第14期
楊 內(nèi),王紅球,易裕民,秦曉東,耿瑩瑩
摘要: 拉曼光譜技術(shù)在危險(xiǎn)品檢測(cè)、海關(guān)/邊防查私、藥品鑒定、文物真?zhèn)舞b定、礦物勘探、石油成分鑒定等領(lǐng)域有廣泛應(yīng)用,為了提高軟件產(chǎn)品研發(fā)效率和質(zhì)量、降低工作量,研究并設(shè)計(jì)了一種拉曼檢測(cè)儀軟件產(chǎn)品線。首先進(jìn)行核心資源開發(fā),在此基礎(chǔ)上再開發(fā)具體的軟件產(chǎn)品。通過(guò)對(duì)拉曼檢測(cè)儀軟件產(chǎn)品線的設(shè)計(jì)和應(yīng)用,對(duì)軟件產(chǎn)品線領(lǐng)域具體化作了一次有益嘗試,為類似應(yīng)用提供了可借鑒方案。
Abstract:
Key words :

  摘  要: 拉曼光譜技術(shù)在危險(xiǎn)品檢測(cè)、海關(guān)/邊防查私、藥品鑒定、文物真?zhèn)舞b定、礦物勘探、石油成分鑒定等領(lǐng)域有廣泛應(yīng)用,為了提高軟件產(chǎn)品研發(fā)效率和質(zhì)量、降低工作量,研究并設(shè)計(jì)了一種拉曼檢測(cè)儀軟件產(chǎn)品線。首先進(jìn)行核心資源開發(fā),在此基礎(chǔ)上再開發(fā)具體的軟件產(chǎn)品。通過(guò)對(duì)拉曼檢測(cè)儀軟件產(chǎn)品線的設(shè)計(jì)和應(yīng)用,對(duì)軟件產(chǎn)品線領(lǐng)域具體化作了一次有益嘗試,為類似應(yīng)用提供了可借鑒方案。

  關(guān)鍵詞: 軟件產(chǎn)品線;領(lǐng)域分析軟件重用;領(lǐng)域具體化;拉曼光譜技術(shù)

  近年來(lái),利用拉曼光譜具有物質(zhì)“指紋”的特征,拉曼光譜技術(shù)在危險(xiǎn)品檢測(cè)、海關(guān)/邊防查私、珠寶鑒定、食品安全、藥品鑒定、文物真?zhèn)舞b定、礦物勘探、石油成分鑒定等領(lǐng)域得到了廣泛的應(yīng)用。經(jīng)分析,雖然應(yīng)用行業(yè)不同,但各行業(yè)軟件的公用成分和交叉成分所占比重很大,如果采用傳統(tǒng)方法開發(fā),不僅需要消耗巨大的人力、物力、財(cái)力、研發(fā)周期長(zhǎng),且相當(dāng)一部分工作是重復(fù)勞動(dòng)。針對(duì)這一情況,本文采用軟件產(chǎn)品線的模式開發(fā),以期取得理想的效果,因此拉曼檢測(cè)儀軟件產(chǎn)品線應(yīng)運(yùn)而生。

  1 軟件產(chǎn)品線簡(jiǎn)介

  軟件產(chǎn)品線是目前為止最大程度的軟件復(fù)用,可以有效地降低成本、縮短產(chǎn)品面世時(shí)間、提高軟件質(zhì)量。產(chǎn)品線的起源可以追溯到1976年P(guān)ARNAS對(duì)程序族的研究[1]。軟件產(chǎn)品線的實(shí)踐早在20世紀(jì)80年代中期就已出現(xiàn)。據(jù)HP公司1996年對(duì)HP、IBM、NEC、AT&T等幾個(gè)大型公司分析研究,這些公司在采用了軟件產(chǎn)品線開發(fā)方法后,使產(chǎn)品的開發(fā)時(shí)間減少了30%~50%,維護(hù)成本降低了20%~50%,軟件質(zhì)量提升了5~10倍,軟件重用達(dá)50%~80%,開發(fā)成本降低12%~15%[1]。

  1.1 軟件產(chǎn)品線的概念

  產(chǎn)品線是一個(gè)產(chǎn)品集合,每個(gè)新產(chǎn)品都可以由來(lái)自核心資源庫(kù)的可應(yīng)用組件組成,通過(guò)預(yù)先設(shè)定的變化機(jī)制(如參數(shù)化)對(duì)這些組件進(jìn)行必要的剪裁,添加可能需要的新組件,根據(jù)一個(gè)產(chǎn)品線范圍內(nèi)的公共構(gòu)架來(lái)組裝這些組件。因此軟件產(chǎn)品線主要由兩部分組成:核心資源和產(chǎn)品集合。其中核心資源包括產(chǎn)品線中產(chǎn)品共享的構(gòu)架以及為貫穿產(chǎn)品線進(jìn)行系統(tǒng)化重用所開發(fā)的軟件組件和其他相關(guān)配套資源。

  1.2 軟件產(chǎn)品線的過(guò)程模型

  軟件產(chǎn)品線典型的過(guò)程模型是SEI模型,它將產(chǎn)品線的基本活動(dòng)分為3部分:核心資源開發(fā)(領(lǐng)域工程)、產(chǎn)品開發(fā)(應(yīng)用工程)和管理。圖1顯示了這三大基本活動(dòng)及其相互關(guān)系[2]。

001.jpg

  三大基本活動(dòng)交錯(cuò)連接,可以任何次序發(fā)生,且高度重疊。旋轉(zhuǎn)的箭頭表示不但核心資源用來(lái)開發(fā)產(chǎn)品,而且已存在的核心資源的修訂甚至新的核心資源常常來(lái)自產(chǎn)品開發(fā)。核心資源開發(fā)和產(chǎn)品開發(fā)均需要技術(shù)和組織管理。

  1.3 軟件產(chǎn)品線的領(lǐng)域具體化

  經(jīng)過(guò)多年發(fā)展,軟件產(chǎn)品線理論和工程的框架已比較完整,未來(lái)研究的主要任務(wù)包括:領(lǐng)域具體化、質(zhì)量保證、模型驅(qū)動(dòng)開發(fā)、進(jìn)化、多條產(chǎn)品線、工具支持、過(guò)程改進(jìn)和評(píng)估、經(jīng)濟(jì)因素等。本文側(cè)重軟件產(chǎn)品線的領(lǐng)域具體化設(shè)計(jì)與應(yīng)用,其主要任務(wù)是對(duì)于一個(gè)給定的應(yīng)用領(lǐng)域(如本文的拉曼檢測(cè)儀),完成框架的具體化。具體化將產(chǎn)生一組用于特定領(lǐng)域建模的變化點(diǎn)、變量、變化依賴和約束的良好定義的類型。這樣的具體化將會(huì)增加模型的語(yǔ)義,其將是工具支持和有效解決變化的復(fù)雜性的重要基礎(chǔ)。例如,標(biāo)準(zhǔn)的抽象級(jí)別和映射概念的機(jī)制以及可變性從一個(gè)級(jí)別到另一個(gè)級(jí)別的一致性定義,都應(yīng)該是領(lǐng)域具體化的結(jié)果[1]。

  2 拉曼檢測(cè)儀軟件產(chǎn)品線的構(gòu)建

  構(gòu)建拉曼檢測(cè)儀軟件產(chǎn)品線的首要任務(wù)是對(duì)拉曼產(chǎn)品領(lǐng)域進(jìn)行領(lǐng)域分析、領(lǐng)域設(shè)計(jì)和領(lǐng)域?qū)崿F(xiàn)。其中,領(lǐng)域分析利用現(xiàn)有系統(tǒng)的設(shè)計(jì)、架構(gòu)和需求建立領(lǐng)域模型;領(lǐng)域設(shè)計(jì)是用領(lǐng)域模型確定領(lǐng)域/產(chǎn)品線的共性和可變性,為產(chǎn)品線設(shè)計(jì)架構(gòu);領(lǐng)域?qū)崿F(xiàn)則基于領(lǐng)域架構(gòu)開發(fā)領(lǐng)域可復(fù)用資源,例如構(gòu)件、文檔和代碼生成器等。在此基礎(chǔ)上導(dǎo)出軟件產(chǎn)品線構(gòu)架并實(shí)現(xiàn)其核心資源庫(kù)。

  2.1 領(lǐng)域分析

  拉曼效應(yīng)是由科學(xué)家拉曼(RAMAN C V)和克里斯南(RISHNAN K S K)在1928年觀察液體中的散射現(xiàn)象時(shí)發(fā)現(xiàn)的。當(dāng)頻率為ω0的單色光入射到無(wú)塵的透明氣體、液體或者光學(xué)上完全透明的固體時(shí),對(duì)其散射頻譜分析表明:除了與入射光頻譜相同的散射光外,還有頻譜為ω′=ω0+Δω的新譜線,這些譜線組成拉曼光譜[3]。由于不同的分子對(duì)應(yīng)不同的特征拉曼頻移,因此可以用拉曼光譜對(duì)物質(zhì)進(jìn)行識(shí)別。拉曼光譜技術(shù)具有無(wú)需取樣、無(wú)耗材,并且準(zhǔn)確、無(wú)損、快速等特點(diǎn)。

  經(jīng)分析,雖然應(yīng)用行業(yè)不同,但其檢測(cè)流程基本相同,典型的拉曼檢測(cè)系統(tǒng)如圖2 所示。具體流程是:(1)拉曼檢測(cè)系統(tǒng)發(fā)出測(cè)量指令,驅(qū)動(dòng)激光器出光;(2)應(yīng)用光譜儀采集本底、原始光譜數(shù)據(jù),計(jì)算出被測(cè)物拉曼光譜;(3)對(duì)被測(cè)物拉曼光譜去噪、平滑處理,調(diào)用算法識(shí)別接口,進(jìn)行物質(zhì)識(shí)別,保存物質(zhì)和原始譜圖數(shù)據(jù);(4)根據(jù)顯示策略進(jìn)行顯示處理;(5)顯示結(jié)果,包括檢測(cè)結(jié)果、檢測(cè)次數(shù)、危險(xiǎn)品次數(shù)和譜圖,還可以通過(guò)蜂鳴器、LED燈、警示界面、警示文字提示用戶。

002.jpg

  此外,為了提高設(shè)備物質(zhì)識(shí)別能力,提供了用戶補(bǔ)充譜圖功能,方便用戶在使用過(guò)程中不斷補(bǔ)充新的物質(zhì)譜圖;為方便用戶使用設(shè)備,提供了歷史數(shù)據(jù)管理、譜圖庫(kù)管理、系統(tǒng)管理、用戶切換等功能對(duì)設(shè)備進(jìn)行管理和維護(hù)。

  2.2 領(lǐng)域設(shè)計(jì)

  根據(jù)拉曼產(chǎn)品領(lǐng)域分析所得的領(lǐng)域共性和特性,將軟件架構(gòu)劃分為UI交互層、領(lǐng)域?qū)?、?shù)據(jù)管理層和系統(tǒng)交互層,如圖3所示。

003.jpg

 ?。?)UI交互層,負(fù)責(zé)封裝與用戶的雙向交互、屏蔽具體交互方式。UI交互層又包括子系統(tǒng)UI和主控UI。其中,子系統(tǒng)UI包括設(shè)備自檢、用戶登錄、數(shù)據(jù)導(dǎo)出、歷史數(shù)據(jù)管理、譜圖庫(kù)管理、系統(tǒng)管理等基本功能;主控UI包括測(cè)量、顯示結(jié)果、詳情、切換用戶和高級(jí)管理等功能,為適應(yīng)不同的行業(yè)和用戶,主控UI給出不同的應(yīng)用控制界面。

 ?。?)領(lǐng)域?qū)樱?fù)責(zé)問(wèn)題領(lǐng)域或業(yè)務(wù)領(lǐng)域的抽象、領(lǐng)域功能的實(shí)現(xiàn)。包括數(shù)據(jù)采集、預(yù)處理、算法識(shí)別、顯示策略、保存結(jié)果等功能。

 ?。?)數(shù)據(jù)管理層,負(fù)責(zé)封裝各種持久化數(shù)據(jù)的具體管理方式。

 ?。?)系統(tǒng)交互層,負(fù)責(zé)封裝硬件的具體交互方式以及封裝外部系統(tǒng)的交互。

  在上述功能資源中,領(lǐng)域?qū)印?shù)據(jù)管理層和系統(tǒng)交互層將直接共享使用;UI交互層部分共享使用,大部分將重新設(shè)計(jì)。軟件構(gòu)架主要可變點(diǎn)包括以下幾點(diǎn):

 ?。?)數(shù)據(jù)采集、識(shí)別算法、顯示策略,根據(jù)具體應(yīng)用的不同,調(diào)用不同的算法。

  (2)譜圖庫(kù),根據(jù)不同的行業(yè),配置不同的譜圖庫(kù)。

 ?。?)主控UI界面,根據(jù)特定行業(yè)使用習(xí)慣重新設(shè)計(jì)。

 ?。?)子系統(tǒng)UI,根據(jù)特定行業(yè)UI風(fēng)格,進(jìn)行局部調(diào)整。

  2.3 領(lǐng)域?qū)崿F(xiàn)

  由于運(yùn)行平臺(tái)為WinCE,為了得到一個(gè)開放的、通用的拉曼系列產(chǎn)品,本設(shè)計(jì)基于.NET Framework平臺(tái),使用VC和C#語(yǔ)言開發(fā)。其中識(shí)別算法、網(wǎng)絡(luò)、驅(qū)動(dòng)、硬件控制等核心和底層功能采用VC實(shí)現(xiàn);界面UI、顯示、設(shè)備管理、系統(tǒng)管理等功能使用C#實(shí)現(xiàn)。為方便數(shù)據(jù)維護(hù)和配置,系統(tǒng)配置和譜圖庫(kù)采用XML實(shí)現(xiàn)。

  在軟件實(shí)現(xiàn)過(guò)程中,綜合考慮實(shí)際應(yīng)用、模塊相對(duì)獨(dú)立、操作簡(jiǎn)便等原則,采用面向?qū)ο蠹夹g(shù)、接口技術(shù)、設(shè)計(jì)模式、XML配置文件等實(shí)現(xiàn)。拉曼檢測(cè)儀軟件產(chǎn)品線部分核心資源如表1所示。

004.jpg

  3 拉曼檢測(cè)儀軟件產(chǎn)品線的應(yīng)用

  應(yīng)用工程在領(lǐng)域工程成果的基礎(chǔ)上構(gòu)造新產(chǎn)品。應(yīng)用工程需要根據(jù)每個(gè)應(yīng)用獨(dú)特的需求,經(jīng)過(guò)需求分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn),生成新產(chǎn)品。下面以拉曼珠寶檢測(cè)系統(tǒng)為例,說(shuō)明應(yīng)用工程的過(guò)程。

  3.1 需求分析

  拉曼珠寶檢測(cè)儀將建成更加完備的珠寶玉石譜圖庫(kù)及行業(yè)知識(shí)庫(kù),設(shè)計(jì)制造出更加符合專業(yè)用戶操作習(xí)慣的檢測(cè)平臺(tái)并力爭(zhēng)在業(yè)界難點(diǎn)問(wèn)題(如翡翠A、B貨,象牙等的檢測(cè))上實(shí)現(xiàn)技術(shù)突破、獲取差異化競(jìng)爭(zhēng)優(yōu)勢(shì),為產(chǎn)品的市場(chǎng)推廣打下堅(jiān)實(shí)基礎(chǔ)。

  一般拉曼檢測(cè)儀的普通用戶只關(guān)心檢測(cè)結(jié)果是什么,不關(guān)心拉曼譜圖,也不關(guān)心更多的技術(shù)細(xì)節(jié);而拉曼珠寶檢測(cè)儀的用戶是專業(yè)的用戶,與普通用戶不同,不僅關(guān)心檢測(cè)結(jié)果,還關(guān)心譜圖、相關(guān)度,經(jīng)常自行添加譜圖,導(dǎo)出數(shù)據(jù)、生成檢測(cè)報(bào)告等,還要根據(jù)檢測(cè)樣品的情況采取快檢和精檢模式。將這些拉曼珠寶檢測(cè)儀個(gè)性化,特有的系統(tǒng)需求與領(lǐng)域需求比較,即可劃分成領(lǐng)域公共需求和獨(dú)特需求兩部分,得出了拉曼珠寶檢測(cè)儀系統(tǒng)需求規(guī)格說(shuō)明書。

  3.2 系統(tǒng)設(shè)計(jì)

  系統(tǒng)設(shè)計(jì)主要是在領(lǐng)域架構(gòu)基礎(chǔ)上,結(jié)合系統(tǒng)獨(dú)特需求,設(shè)計(jì)應(yīng)用的軟件架構(gòu)。根據(jù)需求分析,軟件架構(gòu)需要作以下調(diào)整:

  (1)重新和調(diào)整設(shè)計(jì)

 ?、僦骺亟缑妫涸摻缑嫣峁y(cè)量、導(dǎo)出、生成報(bào)告、數(shù)據(jù)分析、添加到譜圖庫(kù)、切換用戶和高級(jí)等功能;顯示檢測(cè)結(jié)果,包括物質(zhì)譜圖、物質(zhì)名稱、相似度、物質(zhì)屬性、檢測(cè)次數(shù)、檢到珠寶次數(shù);還包括時(shí)間、聲音、電池電量等輔助功能元素。

  ②譜圖庫(kù)管理:由多庫(kù)顯示管理調(diào)整為只有珠寶玉石譜圖庫(kù)管理功能,顯示元素、位置都作了調(diào)整,界面更簡(jiǎn)潔。

 ?、厶砑幼V圖庫(kù):由多庫(kù)添加譜圖庫(kù)調(diào)整為只有珠寶玉石譜圖庫(kù)添加功能,顯示元素、位置都作了調(diào)整,界面更簡(jiǎn)潔。

 ?、芨呒?jí)界面:在功能分級(jí)中,由于海洛因檢測(cè)、選擇譜圖庫(kù)等功能模塊在本系統(tǒng)中去掉,對(duì)功能按鈕位置和個(gè)數(shù)作了相應(yīng)調(diào)整。

 ?。?)新增功能

  ①人工對(duì)比分析:提供人工對(duì)比所有譜圖的功能,可以選擇譜圖庫(kù)中任意譜圖與檢測(cè)的樣品進(jìn)行對(duì)比,同時(shí)對(duì)比的譜圖可以導(dǎo)出。

 ?、诳鞕z和精檢模式:針對(duì)不同的應(yīng)用場(chǎng)合,提供快檢和精檢模式。其中,快檢應(yīng)用于一般工作場(chǎng)合;精檢用于建庫(kù)或特定樣品細(xì)微差別鑒定場(chǎng)合。

  3.3 系統(tǒng)實(shí)現(xiàn)

  系統(tǒng)實(shí)現(xiàn)的主要工作是遵照應(yīng)用架構(gòu),用領(lǐng)域可復(fù)用資源實(shí)現(xiàn)領(lǐng)域公共需求,用定制開發(fā)的構(gòu)件滿足系統(tǒng)獨(dú)特需求,構(gòu)建新的系統(tǒng)。根據(jù)前述需求分析和系統(tǒng)設(shè)計(jì),本文重新設(shè)計(jì)主控界面、添加譜圖庫(kù)等功能模塊;增加人工分析、兩種檢測(cè)模式等功能;調(diào)整高級(jí)、譜圖庫(kù)管理、系統(tǒng)管理等界面;直接使用系統(tǒng)自檢、歷史數(shù)據(jù)、導(dǎo)出、生成報(bào)告、數(shù)據(jù)分析、切換用戶、修改密碼、用戶管理、器件測(cè)試等功能。最后進(jìn)行集成、測(cè)試,形成拉曼珠寶檢測(cè)系統(tǒng),其主界面如圖4所示。

005.jpg

  由于采用了軟件產(chǎn)品線的開發(fā)模式,這個(gè)原來(lái)預(yù)計(jì)需要研發(fā)半年的系統(tǒng)只花了2個(gè)月的時(shí)間就完成了。開發(fā)效率、軟件質(zhì)量得到顯著提高,工作量明顯減少。

  在拉曼檢測(cè)儀軟件產(chǎn)品線的設(shè)計(jì)和應(yīng)用過(guò)程中,采用演化方式,將現(xiàn)有產(chǎn)品演化為產(chǎn)品線。這種方法的優(yōu)點(diǎn)是通過(guò)對(duì)投資回報(bào)周期的分解、對(duì)現(xiàn)有系統(tǒng)演化的維持,使產(chǎn)品線方法的實(shí)施風(fēng)險(xiǎn)降到了最小。采用軟件產(chǎn)品線開發(fā)的拉曼檢測(cè)儀,可以根據(jù)各個(gè)應(yīng)用領(lǐng)域?qū)嶋H需要而以極少的人力、時(shí)間、工作量等來(lái)研發(fā)出具體產(chǎn)品,由于軟件產(chǎn)品的主要成分是高可靠性、性能經(jīng)過(guò)驗(yàn)證的可復(fù)用構(gòu)件,因此軟件產(chǎn)品的質(zhì)量也大大提高。采用軟件產(chǎn)品線的模式已經(jīng)研制了拉曼安檢系統(tǒng)、拉曼珠寶檢測(cè)系統(tǒng)、拉曼監(jiān)管物項(xiàng)識(shí)別系統(tǒng)等一批拉曼產(chǎn)品,大大推進(jìn)了企業(yè)產(chǎn)品化的效率。軟件產(chǎn)品線的建立需要企業(yè)有意識(shí)地、長(zhǎng)期地努力才有可能成功,要有一個(gè)構(gòu)建產(chǎn)品的好的核心資源庫(kù)、好的產(chǎn)品架構(gòu)以及好的管理(包括軟件資源、人員組織和過(guò)程等)支持。拉曼檢測(cè)儀軟件產(chǎn)品線的下一步工作是加強(qiáng)現(xiàn)有成果的深度和廣度。

  參考文獻(xiàn)

  [1] POHL K,BCKLE G.Frank van der linder.軟件產(chǎn)品線工程[M].張佳驥,譯.北京:國(guó)防工業(yè)出版社,2010.

  [2] 姚建銓.奇異的光—激光[M].北京:清華大學(xué)出版社,2000.

  [3] 張友生,王勇.系統(tǒng)分析師技術(shù)指南[M].北京:清華大學(xué)出版社,2009.


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