邵景峰,王崑凌,任克俭,陈金广
(1.西安工程大学教务处,陕西 西安 710048;2.陕西风轮纺织股份有限公司生产技术部,陕西 咸阳 712000)
疵点数据的管理与整合是纺织厂整理车间生产管理业务发展的一个重要分支,更是整个纺织企业生产管理与统计分析工作的一个重要组成部分.疵点数据的正确性直接关系着各个生产车间乃至企业的生产过程的管理和利润分析与统计.随着纺织厂的不断重组和生产管理方式的不断改革,疵点的管理与考核方式以及管理方式也在不断的细化,其传统的人工统计工作逐渐不能满足纺织厂生产管理的需求.开发疵点信息管理系统,不仅会给整理车间的业务工作和生产管理工作带来显著效益和成果,而且符合纺织厂信息化、网络化发展的方向.目前,在国外布匹疵点检测和疵点数据的管理发展到了比较成熟的阶段[1-2],但是尚未形成统一的管理标准;而在国内,一些专家、学者,主要针对布匹的疵点检测进行了大量的理论研究[3-5],但成功投入使用的系统相对较少,在技术上还处于研究阶段.此外,国内纺织厂在疵点数据的管理方面缺乏行业规范标准,虽然有的纺织厂开发了或正在研发符合本厂的疵点数据管理系统,但是只局限与单机状态和本厂使用,很难具有通用性,尤其当需要长期保存这些数据时,数据库的容量以及检索效率都难以保证.
本文针对现有系统在疵点数据处理和管理方面的不足,结合整理车间生产管理的需求,开发一种面向对象的疵点信息管理系统,利用UML(Unified Modeling Language,统一建模语言)[6]为系统建模,并给出其用例图、类图、活动图及序列图,详细分析创建这些图的要点及过程.
UML不仅支持面向对象的分析与设计,而且支持从需求分析到设计以及实现软件开发的全过程.UML还支持三种建模方式:功能性、静态及动态建模,其中功能性建模是描述系统提供的功能,静态建模是现实生活中各种对象以及它们之间的关系抽象,动态建模描述系统中的对象在执行期间不同的时间点的动态交互[7].
疵点数据管理系统的服务对象主要是厂级生产管理者,各个车间的主任、班长、系统管理员以及全体职工,而系统的使用对象为整个纺织厂的工作人员.用例用于描述用户需求的基本功能,使得系统主要完成以下功能:
(1)疵点编码:对各类疵点按照编码规则进行编码,从根本上保证疵点编码在系统数据库中的唯一性,以及消除疵点名称在各个车间重复的现象,从而保证系统数据库的稳定性.
(2)疵点数据管理:对已正式转入疵点历史数据库中的疵点数据进行录入、查询、删除、统计与分析、以及一致性校验等操作,从而形成生产管理与统计分析所需的各类报表.
(3)用户管理:由于系统的体系结构采取的是Client/Server模式,使系统内的所有用户通过局域网实现疵点数据的存取.因此,对各个客户端用户进行合理的管理,进行访问权限的分配和管理,以及IP地址的管理,保证系统数据库的安全性.
(4)参数设置:为保证系统的正常运行,必须为系统提供各类运转参数,诸如疵点数据考核指标、工作月首日的设置、各类报表格式的设置等.
(5)数据处理:根据纺织厂生产管理发展的要求,以及各个生产车间生产管理考核方式的不同,对一些不合理数据进行预处理,进而保证整个系统数据库中疵点数据统计结果的正确性,为各类报表的统计与分析提供最正确的基础数据.
(6)统计分析:通过一定的查询条件对系统数据库中的各类疵点数据进行查询、统计,使其形成生产管理所需的各类图、表、报表以及曲线,能够比较直观、清楚的形成各类参考依据,从中挖掘影响生产数据正确性的、干涉疵点数据完整性的隐形信息,从而达到为厂级生产管理者提供准确、及时、全面的决策依据,进而达到提高生产管理的目的.根据功能需求分析,定义的用例如图l所示.
图1 系统用例图
基于系统用例图,其系统数据流程为:首先由系统管理员在系统中设置系统使用权限,建立用户账户,并为相应的用户分配使用权限;然后当用户拥有相应的用户名、密码和使用权限后,在相应的权限范围内对系统中的基础数据(其中包括疵点信息编码规则的建立、疵点的编码、疵点数据的录入、导入导出、产量数据的获取,工作日志的建立,品种信息的获取、二次编辑等)进行维护.而对于局域网内的其他车间的系统管理员、数据库管理员而言,可通过局域网进行产量数据、品种信息以及疵点数据的录入、查询、统计、打印以及更新操作.同样,厂级领导、生产管理者也通过局域网对已交接班的产量数据、疵点数据根据需要进行统计与分析,形成比较直观的数据统计分析结果,并按考核指标和考核目的的不同,除去一定比例的不合理数据,使其形成比较接近实际需要的管理决策数据.
静态结构主要用类图和对象图来描述,其中对象图是类图的实例,几乎使用与类图完全相同的标识,其不同点在于对象图显示类的多个对象实例[8],而类图设计是面向对象方法的核心技术,通过类图将用例的实现具体到每个类中,从而完成从设计走向细化的过程[9].
1.2.1 系统对象
(1)类Persistent
主要用来支持对象的持久存储,具有将对象写入数据库文件的方法read()和从数据库读出对象的方法write(),通过OID检索对象,获得持久对象的OID,以及存储、删除、更新对象的方法[10].
(2)类OID
主要用来引用系统中的持久对象,使得从数据库文件中引用和检索对象变得容易,通过将OID传递给类Persistent的方法subject(),可以从数据库文件中读出对象,并将对象返回给调用者.
(3)类User
描述系统中的所有用户信息,其中主要包括用户名 、密码、姓名 、性别 、岗位 、所属车间、工种、工作号等,所有对象都是持久的(Persistent),继承了类Persistent并实现了读写操作.
(4)类Assortment
主要用例描述系统中的品种信息,包括品种编号、品种支数、品种英制名称、品种公制名称、纬密、匹长、计划单产、理论单产、计划车速等,它也继承了类Persistent并实现了读写操作.
(5)类Defect
代表疵点数据的基本信息,主要包括疵点编码、疵点名称、疵点匹数、所属车间等.
(6)类Yield
主要描述在品种的下机产量信息,其中主要包括品种编码、品种公制名称、品种英制名称、匹长、打包数、产量、日期、班次等信息,所有对象都是持久的(Persistent).
(7)类HistoryData
主要用来描述疵点数据的交接班数据信息,其中主要包括品种编码、品种公制名称、品种英制名称、匹长、疵点编码、疵点名称、疵点匹数、日期等,所有对象都是持久的(Persistent).
1.2.2 用户界面类
(1)类LoginDlg
提供系统登录界面,即当所有用户拥有职工号、密码以及系统用户权限后,通过系统登录界面可以登录到系统,进行权限范围内的系统操作.
(2)类UserDlg
进行职工信息的维护,并可执行诸如添加、删除、查询、统计操作等.
(3)类AssortmentDlg
进行品种数据的处理界面,数据库管理员以及拥有权限的普通用户可通过局域网实现品种信息的录入、查询、统计、分析等操作.
(4)类YieldDlg
进行产量数据的处理界面,整理车间的数据库管理员可对已交接班的产量数据进行预处理,并进行产量信息的录入、导入导出、增加、删除、一致性校验等操作.
(5)类DefectDlg
进行疵点数据的处理界面,整理车间的数据库管理员可对疵点数据信息进行增加、删除、查询、统计、分析等操作.
(6)类RearchDlg
信息综合查询界面,当系统中的用户拥有使用权限后,登录系统并进行验证,使合法用户在一定的权限范围内进行疵点数据信息查询、统计,此操作也可通过局域网来实现.
(7)类StaticsDlg
对已交接班的疵点数据信息按预设条件进行查询、统计,形成一定的数据结果,此功能仅限于权限级别较高的系统管理员、厂级生产管理者,他们可以在局域网内实现疵点数据信息的预处理、一致性校验,并以图、表、报表、曲线等形式对疵点数据进行统计与分析,从而形成管理决策数据依据.
静态建模以后,需要描述所建立的模型是否可以执行,以及执行时的时序状态或交互关系,以及显示系统的并发工作状况[11].
系统的动态建模可以用交互作用图、序列图、状态图和活动图来描述.其中序列图用来显示各个对象之间的动态合作关系,重点强调各对象之间消息的发生顺序,同时显示对象及它们之间的交互[12].图2给出了厂级生产管理者在疵点数据管理系统中进行查询统计疵点数据活动的序列图.整个消息的发送过程为:厂级生产管理者输入用户名和密码后,系统进行身份验证,当验证通过后,为其分配用户账户对应的系统权限,并启动系统的主界面;然后在统计分析子系统中选择需要查询统计的各种组合条件,当查询条件选定后,向服务器发送查询请求;而服务器接受请求后,在系统数据库中进行用户界面条件的查询、统计,并形成结果数据,再按条件形成图、表、报表或曲线等形式在系统终端显示;最后根据显示形式在系统数据参考依据中列出影响生产管理过程、产量数据正确性的主要因素以及最佳的决策数据依据.
图2 疵点数据统计与分析时序图
(1)系统的执行流程为:若在系统初始状态,系统数据库中的所有数据表均为空,则:
首先从整理车间的信息管理系统中检索所选日期的品种、产量信息,然后根据系统提示选取所需要的品种对应产量数据直接增加到产量临时表Yield-Temp中.
在品种临时表BreedTemp中对品种产量信息进行过滤、核对,并进行品种信息的更新,使其成为完整的、可满足疵点数据录入需要的品种信息.
根据BreedTemp中的品种信息利用疵点数据导入功能或手工录入功能将所选日期的疵点数据录入疵点临时表DefectTemp中,通过疵点人机界面对该表中的疵点数据进行核对、查询等;若疵点数据正确无误,则直接将这些数据导入疵点历史表DefectHistory中,同时,将DefectTemp中的数据同步备份到DefectBackup表中,进行永久性存储,为各类报表的产生与打印、疵点历史数据的分析与统计提供基础数据;最后将BreedTemp中的临时数据转入BreedHistory中,并YieldTemp中的临时数据转入YieldHistory中,进行永久性存储.
(2)若不在系统初始状态,系统的执行流程为:
首先判断疵点临时表DefectTemp中的疵点信息是否正式转入到疵点历史表DefectHistory中.若疵点历史表中已存在所选日期的疵点信息,则需要执行一致性校验操作,其主要是为了防止因人为的误操作而导致数据库中数据的不一致,从而保证系统数据库中数据的完整性和一致性;若不存在,则将疵点信息从疵点临时表DefectTemp直接转入历史表DefectHistory中.
系统自动选取新品种,并提示是否需要该品种和产量.若需要,则直接将该品种和产量信息增加到产量临时表YieldTemp中,若不需要,则放弃;而对于产量临时表中已存在的品种信息,系统所采取的方法是在该表中执行更新操作,将品种、产量、日期等数据信息进行更新,使其成为所选日期的最新数据;再根据品种历史表BreedHistory中的品种信息对该品种进行更新,使其成为完整的、可满足需要的品种信息;
在品种临时表BreedTemp中,对所选日期的品种、产量数据进行核对和新品种信息的修改,为后期疵点录入做准备.若品种、产量数据信息正确无误,同2.1节(1)中的操作,将疵点数据录入疵点临时表DefectTemp中.如果疵点数据正确无误,则直接将这些数据导入疵点历史表DefectHistory中,进行永久性存储,为各类报表的产生与打印、疵点历史数据的分析与统计提供基础数据;同时,将DefectTemp中的数据同步备份到DefectBackup表中;最后将BreedTemp中的数据导入BreedHistory中,并将YieldTemp中的数据导入YieldHistory中,也进行永久性存储.
根据系统功能设计原理,为了提高数据库中数据的运行或存储效率,在各数据表中,数据均以分品种的顺序存储.在数据更新和传输过程,对每条数据以一维数组的方式进行计算和传输,其数组的定义如下:
首先在读取产量信息的系统界面上获取所选日期T1,然后在产量临时表YieldTemp中读取日期T2,再判断T1与T2的大小.若T1>T2,则从整理车间信息管理系统数据库中以分品种的方式读取第m条品种、产量信息,并将品种名称、匹长、产量米数等值赋给数组B[i]进行暂存,直到检索完为止,其中i为指针.此时,如果YieldTemp中无任何数据,则根据用户需要判断是否需要录入第m条数据;若需要增加,则用数组B[i]中的数据按B[1](B[1]中存放的是品种英制名称)中的数据不断更新YieldTemp表中各字段的数据.如果YieldTemp中有数据,则判断所读取的数据中是否有新品种信息;若有,同样,根据B[1]中的品种数据不断更新YieldTemp表中个字段的数据;若无,则直接将B[i]中的数据增加到数据表中.若T1≤T2,则根据B[1]中的品种数据,用B[i]中的数据不断判断YieldTemp表中逐条记录的字段数据值,其算法的实现过程见表1.
表1 算法实现过程表
29 if(A[i]==C[i])30 break;31 end if 32 else 33 C[i]←A[i]//用疵点临时表中的数据更新疵点历史数据表中的数据34 end else 35 n++;36 i++;37 end while 38end else___39____e________________________________________ndelse
系统安全管理主要指权限管理,而权限管理主要指将选定的权限对象授权给相应的角色或用户,同时权限对象可以根据用户和角色两种方式进行分配[13].因此,在疵点数据管理系统中,由系统管理员对系统用户进行管理和审批,以确定用户享有信息的大小和类别,对不同级别的用户分配不同的使用权限,从而达到保护系统数据库的安全管理.
疵点数据管理系统的数据库管理包括系统运行参数的管理、疵点数据的管理、品种信息的管理、产量数据信息的管理、用户数据的管理和数据检索等主要部分组成.结合实际需求,以及系统功能的升级和集成需求,我们将系统的角色分为两类:
(1)系统管理员(administrator),其能够进行创建应用数据库(application database),能在应用数据库数据的基础上创建系统运行参数、品种信息、用户信息、产量数据信息、疵点数据信息、数据集成接口数据信息等,并对应用数据库进行多功能操作,以及删除应用数据库,导入规定格式的疵点数据、产量数据等;
(2)普通用户(user),其只能在权限范围内,在系统界面上进行一些疵点数据的录入、查询、统计和报表的打印.对其他车间的远程客户端而言,同样在权限范围内,通过局域网实现一些工艺参数、系统运转参数、产量数据、疵点数据的网上录入,查询,以及报表打印等操作.
用例是由系统完成的一组动作的描述,它产生对特定参与者有价值的结果,根据这个定义以及系统的功能需求分析,建立了系统的角色管理用例模型,如图3所示.有效地保证了系统数据库的安全性,以及数据库所有数据的正确性和一致性.
图3 角色管理用例
以UML建模理论为指导,设计了一个面向对象的疵点数据管理系统模型,并开发了相应的管理系统.经过实际应用证明,系统界面友好、功能强大、结构简洁灵活,主要管理满足了整理车间在疵点数据管理方面的实际需要,提高了车间的工作效率,减少了不必要的人工手工操作,优化了车间生产管理的工作流程,提高了信息来源的准确性和高效性,同时,其他生产车间和部门可通过局域网可实现疵点数据信息的共用共享,促进了纺织企业信息化的发展,并且疵点数据管理系统模型是可行的、合理的,具有一定的经济应用价值.
基于软件工程思想,利用UML分析设计疵点数据管理系统,可以对项目进行有效的计划和管理,同时降低风险、提高质量、降低软件开发复杂度、提高软件开发效率.使用UML建立系统模型,从不同的方面,采用不同的视图,全面地分析出系统的静态和动态结构,使疵点数据管理系统的开发流程变得十分清晰,有利于提供系统的稳定性、可维护行和重用性,并为系统开发人员、系统用户、分析人员、测试人员以及厂级生产管理者提供了一条标准的交流途径.
[1]Arivazhagan S,Ganesan L,Bama S.Fault segmentation in fabric images using Gabor wavelet transform[J].Machine Vision and Applications,2006,16(6):356-363.
[2]Bodmarova A,Bennamoun M,Kubik K K.Suitability analysis of techniques for flaw detection in tex tiles using tex ture analysis[J].Pattern Analysis&Applications,2000,3(3):254-266.
[3]刘建立,左保齐.BP神经网络在织物疵点识别中的应用[J].纺织学报,2008,29(9):43-46.
[4]陈俊杰,谢春萍.基于神经网络的织物疵点识别技术[J].纺织学报,2006,27(4):36-38.
[5]邹超,朱德森,肖力.基于类别共生矩阵的纹理疵点检测方法[J].华中科技大学学报:自然科学版,2006,34(6):25-28.
[6]Kuntimad G,Ranganath H S.Perfect image segmentation using pulse coupled neural networks[J].IEEE T ransactions on Neural Networks.1999,10(3):591-598.
[7]Kumar A,Pang G.Defect detection in textured materials using gabor filters[J].IEEE T ransactions on Industry Applications,2002,38(2):425-440.
[8]Antonio Tilocca.Detecting fabric defects with a neural network using two kings of optical patterns[J].T ex tile Research Journal,2003,72(6):545-550.
[9]Offutt A J,Abdurazik A.Using UM L collaboration diag rams for static checking and test generation[C]//Proc.3rd International Conference on the Unified Modeling Language.York,UK,2000:383-395.
[10]吴少刚.机群OpenMP系统的设计与实现[J].计算机学报,2004,27(7):904-911.
[11]汪文元,沙基昌,谭东风.基于Petri网和UM L活动图工作流建模比较[J].系统仿真学报,2006,18(2):504-510.
[12]Ryan J,Heavey C.Process modeling for simulation[J].Computers in Industry,2006,57(3):437-450.
[13]Malinowski E,Zimanyi E.Hierarchies in a multidimensional mode:From conceptual modeling to logical representation[J].Data&Knowledge Engineering,2006,59(2):348-377.