APP下载

样品稳定性计算系统的设计与实现

2020-06-07吴芾陈立刘一丹曹永志

电脑知识与技术 2020年35期

吴芾 陈立 刘一丹 曹永志

摘要:组织能力验证的机构在向参测实验室发送样品时,必须检验样品的稳定性特性。为了减少能力验证机构在计算稳定性时的人工差错并提高检测工作效率,在样品稳定性研究模型的基础上,设计并实现了样品稳定性计算系统。首先整理了业务需求和安全需求,在此基础上设计了系统流程图、数据字典和数据库ER图并完成系统开发。系统交付后总体运行良好,符合需求方预期。

关键词:能力验证;样品稳定性;稳定性计算系统

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2020)35-0074-04

开放科学(资源服务)标识码(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 背景

能力验证是利用实验室间比对确定实验室的检测或校准能力的过程。能力验证机构组织实验室参加能力验证测试时,需要向所有实验室提供检测样品。在稳定的待测样品的基础上产生的可疑结果才能反应实验室能力的差异,因此用于能力验证的试样的稳定性很重要[1]。在向实验室发送样品前必须测量计算一定时间段内的样品稳定性,为此相关组织制定了评估样品稳定性的研究模型[2]:

Y=[β0+β1X+ε]                    (1)

在进行稳定性研究时,X为时间,Y为标准样品的特性量值。对于稳定的标准样品,[β1]的期望值为0。

                         (2)

[β0=Y-β1X]                                     (3)

線性回归各点的标准差为:

                               (4)

[β1]的标准偏差:

                          (5)

如果[β1]小于t[(α,n-2)]×s([β1]),表示样品稳定,反之则不稳定,其中n为稳定性检验的次数,[α]为t检验分位数置信水平。

文章将介绍在以上研究模型的基础上,设计和开发稳定性检验系统的过程。

2 需求整理

文章中的需求方原来使用Excel完成稳定性计算工作,当数据行数,列数发生变化的时候需要手工调整公式,可能带来的人为的差错。而且各次测量计算结果的保存格式可能不一致,导致发布结果时产生歧义。经过沟通,整理需求如表1所示。

需求方未提及安全需求,在国家和个人日益重视信息安全的背景下,建议程序增加安全运行模式。是否启用安全模式由使用人员自行决定,默认使用。比较如表2所示。

3 系统设计

3.1 系统架构

由于系统功能较为单一,不需要多人协作,且运行在个人电脑上,所以采用Windows桌面应用程序实现需求。

3.2 系统流程图

根据需求分析,设计流程图如图1。

系统在登录和保存结果两个结点出现分支,安全模式将提供更安全的处理方式。系统运行在安全模式时,系统启动需要登录校验身份,保存后要有禁止编辑功能,以防止结果中数据或检验人员被篡改。

3.3 系统功能模块

系统主要分为5个功能模块:登录、数据录入/导入、计算、结果保存和管理。

登录功能主要实现在安全模式下的身份验证。

数据录入/导入功能主要用于手工录入或从Excel文件导入实验数据,录入时需要检验数据格式。

计算模块主要根据引言中的模型计算待测样品的稳定性结果。

结果保存功能实现将实验数据和计算结果保存为Excel文件。如果是安全模式,则提供sheet页的保护功能,即禁止编辑sheet页。如果在普通模式下运行,保存后的Excel文件可以自行修改。

管理模块主要实现安全模式下的人员管理,包括新增检验员、修改登录密码、锁定/解锁检验员账号和数据导出功能。所有的操作的日志记录在数据库中。

3.4 数据库主要字段說明以及ER图

为了实现安全模式,需要使用数据库。数据库中增加5张数据表,分别为:用户表users、账户操作日志表userlog、保存日志表savelog、其他操作日志表otherlog和流水号计数器表serialcounter。

用户表users的user_no字段为表userlog、savelog和actlog的user_no字段的外键。流水号计数器表serialcounter的serial_type字段为表userlog、savelog和actlog的serial_type的外键。

数据库主要字段说明如表3所示。

为避免数据冗余以及数据插入、删除和更新异常,数据库设计达到第三范式。数据库ER图如图2所示。

4 系统实现

考虑到系统运行在Windows环境中,且运行环境配置较低,选择开发环境如下:

开发语言:Visual Basic.net。

IDE: Microsoft Visual Studio 2019。

数据库: Access2010。

编译环境:Windows10 32位操作系统。

系统功能较为单一,实现过程并不复杂,主要功能及界面实现如下。

4.1 加载配置文件

程序启动时加载配置文件config.xml,包括:程序运行模式(安全模式、普通模式)、t分布(双边、单边)、t分布置信区间(如95%)、计算过程中小数位数(3位)、安全模式下保存文件时是否记录保护密码(是、否)、本机用户号号段范围以及数据备份时需要导出的表名(users等)。

程序启动时加载t分布的文件t_d.xml,系统提供t分布备查表。

对配置文件的修改在程序下次启动时生效。

4.2 登录功能

当程序运行在安全模式的时候,启动时默认打开登录窗口,界面如图3所示。

用户编号和密码文本框设置按键捕获事件,按下回车键时调用“登录”按钮事件。用户编号或密码为空不能登录。输入后,前台计算密码hash值与数据库中保存的hash值做比较,如果一致则认为密码时正确的。如果密码正确且账户状态为“正常”则登录成功。登录的信息保存在父窗体的全局变量中。

4.3 输入/导入以及计算

直接输入测量结果时,第一列“分析时间”为固定列,其他的列可以自行增加或删除。输入列名点击“增加列”即可增加一列。图中的“苯”和“乙苯”列都是通过这种方式添加的。可以点击“删除列”从表格的最后一列开始删除手工添加的列。

数据输入完毕后,点击“开始处理”按钮开始计算各项指标。最后一行计算结果>0表示待测样品较为稳定。

点击“继续输入”可以清除计算结果。

点击“保存”按钮将界面数据保存为Excel文件。如果检测内容文本框为空或数据处理人文本框为空则不能保存。检测内容需要检验员手工输入作为保存后文件的标题。安全模式下,数据处理人取自登录信息,否则由检验员手工输入。考虑到用户名可能重复,在安全模式下数据处理人信息中应包含用户编号,如上图中数据处理人中括号内的1即用户编号。

在安全模式下保存时,程序对Excel的sheet页增加保护功能,保护密码为用户的登录密码。

需要注意的是,为了避免检验员遗忘密码导致无法对Excel文件解除保护,可以将保护密码记录在数据库的savelog表中。是否记录由配置文件config.xml中的配置项控制。

可以采用导入Excel文件的方式导入数据,如图6所示。

点击“打开”按钮选择Excel文件,导入后在Excel中的数据在程序窗体中展示。导入后不能在界面上修改。加载完毕后点击“开始处理”计算稳定性结果。

为了方便检验员查表,系统提供t分布备查表,该表格由系统启动时加载t_d.xml生成。

4.4 管理功能

管理界面如图8所示。

管理功能只有管理员(8888)可以使用。

新增用户:输入用户名和密码,点击“增加”按钮。增加成功后显示对应用户号。考虑到用户可能重名,所以单向增加的用户编号是唯一标识。用户使用用户号登录,即上图中的2号。由于各计算系统彼此独立,为了防止用户号重复,增加时会读取本机配置文件中的用户号号段范围,生成的用户号不能超出此范围。增加成功后记录一条账户操作日志(userlog)。

修改密码:输入用户号和新密码后,点击“修改”按钮。考虑到只有管理员使用此功能,所以不要求输入原密码。修改成功后,将密码的hash值存入用户表users中,同时记录一条账户操作日志(userlog)。

锁定用户:输入用户编号后,当输入框失去焦點时,显示对应的用户信息。点击“锁定”或“解锁”后完成操作。被锁定的账号不能登录。考虑到用户表、相关日志表及历史计算结果的关联性,系统不提供用户删除功能,无效的账户可以通过锁定的方式禁止使用。当然这个功能仅限于安全模式。

导出数据:选择导出路径后,根据配置文件config.xml导出指定的数据表为csv文件;这些数据有两个作用,一是数据库数据的备份,二是用于管理员查找操作日志记录。

参考文献:

[1] 王承忠.实验室间比对的能力验证及稳健统计技术 第四讲 能力验证试样的均匀性和稳定性检验[J].理化检验(物理分册),2004,40(10):533-538.

[2] 李宁,郭健,王倩,等.趋势分析法评价苯系物标准气体的时间稳定性[J].中国环境监测,2012,28(5):130-133.

[3] CNAS-GL003:能力验证样品均匀性和稳定性评价指南.pdf[S].2018.

[4] 金献忠,郑曙昭,丘寅.能力验证样品均匀性和稳定性检验的统计方法[J].现代测量与实验室管理,2003,11(4):35-37.

[5] 王冬妍,郭霞,李兴权.能力验证样品均匀性、稳定性检验方法研究[J].品牌与标准化,2016(4):49-50.

[6] 李林元.能力验证评价及其结果在实验室质量体系中的应用[J].硬质合金,2018,35(5):366-372.

[7] 张红艳,王璐,华震宇,等.EXCEL在能力验证样品均匀性和稳定性评价中的应用[J].冶金分析,2015,35(4):77-81.

[8] 李明贵.MATLAB在能力验证样品均匀性和稳定性评价中的应用[J].电脑知识与技术,2016,12(13):233-234.

[9] 崔晓斌.基于Access数据库企业计量管理系统设计与开发[J].上海计量测试,2019,46(5):59-62.

【通联编辑:谢媛媛】