吳芾 陳立 劉一丹 曹永志
摘要:組織能力驗(yàn)證的機(jī)構(gòu)在向參測(cè)實(shí)驗(yàn)室發(fā)送樣品時(shí),必須檢驗(yàn)樣品的穩(wěn)定性特性。為了減少能力驗(yàn)證機(jī)構(gòu)在計(jì)算穩(wěn)定性時(shí)的人工差錯(cuò)并提高檢測(cè)工作效率,在樣品穩(wěn)定性研究模型的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了樣品穩(wěn)定性計(jì)算系統(tǒng)。首先整理了業(yè)務(wù)需求和安全需求,在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)流程圖、數(shù)據(jù)字典和數(shù)據(jù)庫(kù)ER圖并完成系統(tǒng)開(kāi)發(fā)。系統(tǒng)交付后總體運(yùn)行良好,符合需求方預(yù)期。
關(guān)鍵詞:能力驗(yàn)證;樣品穩(wěn)定性;穩(wěn)定性計(jì)算系統(tǒng)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)35-0074-04
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Design and Development of Samples Stability Calculate System
WU Fei, CHEN Li, LIU Yi-dan, CAO Yong-zhi
(Network and Information Center, Nanjing Institute of Technology, Nanjing 211167, China)
Abstract: The organization holds proficiency testing must test the stability of the samples when sending them to the participating laboratories. To reduce the manual calculation error and increase the efficiency of testing, a system is designed and developed based on the sample stability study model. First, the business requirements and security requirements are sorted out, and on this basis, the system flowchart, data dictionary and database ER diagram are designed and the system is developed. After the delivery of the system, the overall operation is sound, in line with the expectations of the demand side.
Key words: proficiency testing; stability of samples; samples stability calculate system
1 背景
能力驗(yàn)證是利用實(shí)驗(yàn)室間比對(duì)確定實(shí)驗(yàn)室的檢測(cè)或校準(zhǔn)能力的過(guò)程。能力驗(yàn)證機(jī)構(gòu)組織實(shí)驗(yàn)室參加能力驗(yàn)證測(cè)試時(shí),需要向所有實(shí)驗(yàn)室提供檢測(cè)樣品。在穩(wěn)定的待測(cè)樣品的基礎(chǔ)上產(chǎn)生的可疑結(jié)果才能反應(yīng)實(shí)驗(yàn)室能力的差異,因此用于能力驗(yàn)證的試樣的穩(wěn)定性很重要[1]。在向?qū)嶒?yàn)室發(fā)送樣品前必須測(cè)量計(jì)算一定時(shí)間段內(nèi)的樣品穩(wěn)定性,為此相關(guān)組織制定了評(píng)估樣品穩(wěn)定性的研究模型[2]:
Y=[β0+β1X+ε]? ? ? ? ? ? ? ? ? ? (1)
在進(jìn)行穩(wěn)定性研究時(shí),X為時(shí)間,Y為標(biāo)準(zhǔn)樣品的特性量值。對(duì)于穩(wěn)定的標(biāo)準(zhǔn)樣品,[β1]的期望值為0。
[β0=Y-β1X]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
線性回歸各點(diǎn)的標(biāo)準(zhǔn)差為:
[β1]的標(biāo)準(zhǔn)偏差:
如果[β1]小于t[(α,n-2)]×s([β1]),表示樣品穩(wěn)定,反之則不穩(wěn)定,其中n為穩(wěn)定性檢驗(yàn)的次數(shù),[α]為t檢驗(yàn)分位數(shù)置信水平。
文章將介紹在以上研究模型的基礎(chǔ)上,設(shè)計(jì)和開(kāi)發(fā)穩(wěn)定性檢驗(yàn)系統(tǒng)的過(guò)程。
2 需求整理
文章中的需求方原來(lái)使用Excel完成穩(wěn)定性計(jì)算工作,當(dāng)數(shù)據(jù)行數(shù),列數(shù)發(fā)生變化的時(shí)候需要手工調(diào)整公式,可能帶來(lái)的人為的差錯(cuò)。而且各次測(cè)量計(jì)算結(jié)果的保存格式可能不一致,導(dǎo)致發(fā)布結(jié)果時(shí)產(chǎn)生歧義。經(jīng)過(guò)溝通,整理需求如表1所示。
需求方未提及安全需求,在國(guó)家和個(gè)人日益重視信息安全的背景下,建議程序增加安全運(yùn)行模式。是否啟用安全模式由使用人員自行決定,默認(rèn)使用。比較如表2所示。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)架構(gòu)
由于系統(tǒng)功能較為單一,不需要多人協(xié)作,且運(yùn)行在個(gè)人電腦上,所以采用Windows桌面應(yīng)用程序?qū)崿F(xiàn)需求。
3.2 系統(tǒng)流程圖
根據(jù)需求分析,設(shè)計(jì)流程圖如圖1。
系統(tǒng)在登錄和保存結(jié)果兩個(gè)結(jié)點(diǎn)出現(xiàn)分支,安全模式將提供更安全的處理方式。系統(tǒng)運(yùn)行在安全模式時(shí),系統(tǒng)啟動(dòng)需要登錄校驗(yàn)身份,保存后要有禁止編輯功能,以防止結(jié)果中數(shù)據(jù)或檢驗(yàn)人員被篡改。
3.3 系統(tǒng)功能模塊
系統(tǒng)主要分為5個(gè)功能模塊:登錄、數(shù)據(jù)錄入/導(dǎo)入、計(jì)算、結(jié)果保存和管理。
登錄功能主要實(shí)現(xiàn)在安全模式下的身份驗(yàn)證。
數(shù)據(jù)錄入/導(dǎo)入功能主要用于手工錄入或從Excel文件導(dǎo)入實(shí)驗(yàn)數(shù)據(jù),錄入時(shí)需要檢驗(yàn)數(shù)據(jù)格式。
計(jì)算模塊主要根據(jù)引言中的模型計(jì)算待測(cè)樣品的穩(wěn)定性結(jié)果。
結(jié)果保存功能實(shí)現(xiàn)將實(shí)驗(yàn)數(shù)據(jù)和計(jì)算結(jié)果保存為Excel文件。如果是安全模式,則提供sheet頁(yè)的保護(hù)功能,即禁止編輯sheet頁(yè)。如果在普通模式下運(yùn)行,保存后的Excel文件可以自行修改。
管理模塊主要實(shí)現(xiàn)安全模式下的人員管理,包括新增檢驗(yàn)員、修改登錄密碼、鎖定/解鎖檢驗(yàn)員賬號(hào)和數(shù)據(jù)導(dǎo)出功能。所有的操作的日志記錄在數(shù)據(jù)庫(kù)中。
3.4 數(shù)據(jù)庫(kù)主要字段說(shuō)明以及ER圖
為了實(shí)現(xiàn)安全模式,需要使用數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中增加5張數(shù)據(jù)表,分別為:用戶表users、賬戶操作日志表userlog、保存日志表savelog、其他操作日志表otherlog和流水號(hào)計(jì)數(shù)器表serialcounter。
用戶表users的user_no字段為表userlog、savelog和actlog的user_no字段的外鍵。流水號(hào)計(jì)數(shù)器表serialcounter的serial_type字段為表userlog、savelog和actlog的serial_type的外鍵。
數(shù)據(jù)庫(kù)主要字段說(shuō)明如表3所示。
為避免數(shù)據(jù)冗余以及數(shù)據(jù)插入、刪除和更新異常,數(shù)據(jù)庫(kù)設(shè)計(jì)達(dá)到第三范式。數(shù)據(jù)庫(kù)ER圖如圖2所示。
4 系統(tǒng)實(shí)現(xiàn)
考慮到系統(tǒng)運(yùn)行在Windows環(huán)境中,且運(yùn)行環(huán)境配置較低,選擇開(kāi)發(fā)環(huán)境如下:
開(kāi)發(fā)語(yǔ)言:Visual Basic.net。
IDE: Microsoft Visual Studio 2019。
數(shù)據(jù)庫(kù): Access2010。
編譯環(huán)境:Windows10 32位操作系統(tǒng)。
系統(tǒng)功能較為單一,實(shí)現(xiàn)過(guò)程并不復(fù)雜,主要功能及界面實(shí)現(xiàn)如下。
4.1 加載配置文件
程序啟動(dòng)時(shí)加載配置文件config.xml,包括:程序運(yùn)行模式(安全模式、普通模式)、t分布(雙邊、單邊)、t分布置信區(qū)間(如95%)、計(jì)算過(guò)程中小數(shù)位數(shù)(3位)、安全模式下保存文件時(shí)是否記錄保護(hù)密碼(是、否)、本機(jī)用戶號(hào)號(hào)段范圍以及數(shù)據(jù)備份時(shí)需要導(dǎo)出的表名(users等)。
程序啟動(dòng)時(shí)加載t分布的文件t_d.xml,系統(tǒng)提供t分布備查表。
對(duì)配置文件的修改在程序下次啟動(dòng)時(shí)生效。
4.2 登錄功能
當(dāng)程序運(yùn)行在安全模式的時(shí)候,啟動(dòng)時(shí)默認(rèn)打開(kāi)登錄窗口,界面如圖3所示。
用戶編號(hào)和密碼文本框設(shè)置按鍵捕獲事件,按下回車鍵時(shí)調(diào)用“登錄”按鈕事件。用戶編號(hào)或密碼為空不能登錄。輸入后,前臺(tái)計(jì)算密碼hash值與數(shù)據(jù)庫(kù)中保存的hash值做比較,如果一致則認(rèn)為密碼時(shí)正確的。如果密碼正確且賬戶狀態(tài)為“正?!眲t登錄成功。登錄的信息保存在父窗體的全局變量中。
4.3 輸入/導(dǎo)入以及計(jì)算
直接輸入測(cè)量結(jié)果時(shí),第一列“分析時(shí)間”為固定列,其他的列可以自行增加或刪除。輸入列名點(diǎn)擊“增加列”即可增加一列。圖中的“苯”和“乙苯”列都是通過(guò)這種方式添加的。可以點(diǎn)擊“刪除列”從表格的最后一列開(kāi)始刪除手工添加的列。
數(shù)據(jù)輸入完畢后,點(diǎn)擊“開(kāi)始處理”按鈕開(kāi)始計(jì)算各項(xiàng)指標(biāo)。最后一行計(jì)算結(jié)果>0表示待測(cè)樣品較為穩(wěn)定。
點(diǎn)擊“繼續(xù)輸入”可以清除計(jì)算結(jié)果。
點(diǎn)擊“保存”按鈕將界面數(shù)據(jù)保存為Excel文件。如果檢測(cè)內(nèi)容文本框?yàn)榭栈驍?shù)據(jù)處理人文本框?yàn)榭談t不能保存。檢測(cè)內(nèi)容需要檢驗(yàn)員手工輸入作為保存后文件的標(biāo)題。安全模式下,數(shù)據(jù)處理人取自登錄信息,否則由檢驗(yàn)員手工輸入??紤]到用戶名可能重復(fù),在安全模式下數(shù)據(jù)處理人信息中應(yīng)包含用戶編號(hào),如上圖中數(shù)據(jù)處理人中括號(hào)內(nèi)的1即用戶編號(hào)。
在安全模式下保存時(shí),程序?qū)xcel的sheet頁(yè)增加保護(hù)功能,保護(hù)密碼為用戶的登錄密碼。
需要注意的是,為了避免檢驗(yàn)員遺忘密碼導(dǎo)致無(wú)法對(duì)Excel文件解除保護(hù),可以將保護(hù)密碼記錄在數(shù)據(jù)庫(kù)的savelog表中。是否記錄由配置文件config.xml中的配置項(xiàng)
可以采用導(dǎo)入Excel文件的方式導(dǎo)入數(shù)據(jù),如圖6所示。
點(diǎn)擊“打開(kāi)”按鈕選擇Excel文件,導(dǎo)入后在Excel中的數(shù)據(jù)在程序窗體中展示。導(dǎo)入后不能在界面上修改。加載完畢后點(diǎn)擊“開(kāi)始處理”計(jì)算穩(wěn)定性結(jié)果。
為了方便檢驗(yàn)員查表,系統(tǒng)提供t分布備查表,該表格由系統(tǒng)啟動(dòng)時(shí)加載t_d.xml生成。
4.4 管理功能
管理界面如圖8所示。
管理功能只有管理員(8888)可以使用。
新增用戶:輸入用戶名和密碼,點(diǎn)擊“增加”按鈕。增加成功后顯示對(duì)應(yīng)用戶號(hào)。考慮到用戶可能重名,所以單向增加的用戶編號(hào)是唯一標(biāo)識(shí)。用戶使用用戶號(hào)登錄,即上圖中的2號(hào)。由于各計(jì)算系統(tǒng)彼此獨(dú)立,為了防止用戶號(hào)重復(fù),增加時(shí)會(huì)讀取本機(jī)配置文件中的用戶號(hào)號(hào)段范圍,生成的用戶號(hào)不能超出此范圍。增加成功后記錄一條賬戶操作日志(userlog)。
修改密碼:輸入用戶號(hào)和新密碼后,點(diǎn)擊“修改”按鈕??紤]到只有管理員使用此功能,所以不要求輸入原密碼。修改成功后,將密碼的hash值存入用戶表users中,同時(shí)記錄一條賬戶操作日志(userlog)。
鎖定用戶:輸入用戶編號(hào)后,當(dāng)輸入框失去焦點(diǎn)時(shí),顯示對(duì)應(yīng)的用戶信息。點(diǎn)擊“鎖定”或“解鎖”后完成操作。被鎖定的賬號(hào)不能登錄??紤]到用戶表、相關(guān)日志表及歷史計(jì)算結(jié)果的關(guān)聯(lián)性,系統(tǒng)不提供用戶刪除功能,無(wú)效的賬戶可以通過(guò)鎖定的方式禁止使用。當(dāng)然這個(gè)功能僅限于安全模式。
導(dǎo)出數(shù)據(jù):選擇導(dǎo)出路徑后,根據(jù)配置文件config.xml導(dǎo)出指定的數(shù)據(jù)表為csv文件;這些數(shù)據(jù)有兩個(gè)作用,一是數(shù)據(jù)庫(kù)數(shù)據(jù)的備份,二是用于管理員查找操作日志記錄。
參考文獻(xiàn):
[1] 王承忠.實(shí)驗(yàn)室間比對(duì)的能力驗(yàn)證及穩(wěn)健統(tǒng)計(jì)技術(shù) 第四講 能力驗(yàn)證試樣的均勻性和穩(wěn)定性檢驗(yàn)[J].理化檢驗(yàn)(物理分冊(cè)),2004,40(10):533-538.
[2] 李寧,郭健,王倩,等.趨勢(shì)分析法評(píng)價(jià)苯系物標(biāo)準(zhǔn)氣體的時(shí)間穩(wěn)定性[J].中國(guó)環(huán)境監(jiān)測(cè),2012,28(5):130-133.
[3] CNAS-GL003:能力驗(yàn)證樣品均勻性和穩(wěn)定性評(píng)價(jià)指南.pdf[S].2018.
[4] 金獻(xiàn)忠,鄭曙昭,丘寅.能力驗(yàn)證樣品均勻性和穩(wěn)定性檢驗(yàn)的統(tǒng)計(jì)方法[J].現(xiàn)代測(cè)量與實(shí)驗(yàn)室管理,2003,11(4):35-37.
[5] 王冬妍,郭霞,李興權(quán).能力驗(yàn)證樣品均勻性、穩(wěn)定性檢驗(yàn)方法研究[J].品牌與標(biāo)準(zhǔn)化,2016(4):49-50.
[6] 李林元.能力驗(yàn)證評(píng)價(jià)及其結(jié)果在實(shí)驗(yàn)室質(zhì)量體系中的應(yīng)用[J].硬質(zhì)合金,2018,35(5):366-372.
[7] 張紅艷,王璐,華震宇,等.EXCEL在能力驗(yàn)證樣品均勻性和穩(wěn)定性評(píng)價(jià)中的應(yīng)用[J].冶金分析,2015,35(4):77-81.
[8] 李明貴.MATLAB在能力驗(yàn)證樣品均勻性和穩(wěn)定性評(píng)價(jià)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2016,12(13):233-234.
[9] 崔曉斌.基于Access數(shù)據(jù)庫(kù)企業(yè)計(jì)量管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].上海計(jì)量測(cè)試,2019,46(5):59-62.
【通聯(lián)編輯:謝媛媛】