论文部分内容阅读
电子行业是个新产品快速迭代的行业,这决定了创新是该行业中各企业的求生之道。而创新离不开设计,设计离不开“设计文件的管理制度”。SJ/T 207标准(简称“SJ207”)就是我国针对电子行业其设计文件的管理制度而颁布实施的一整套标准。SJ207涵盖了设计文件管理的方方面面,其中就包括了产品的组成结构(简称“组构”)管理。组构就是器件之间的层次化依赖关系。SJ207定义了组构相关的概念,明确了组构所应遵循的原则,规范了组构方面的设计文件(简称“MXHZ”)。组构管理就是编制和维护MXHZ的业务,而根据MXHZ进行的采购或生产等活动则是组构管理应用业务。由于SJ207只是给出了MXHZ庞杂的合格性要求,却并未给出编制MXHZ的流程或方法,所以编制合格的MXHZ代价高昂;尤其是当组构发生变更或者多条产品线中有通用器件时,相应的MXHZ维护工作更是费时费力。这使得手工(指使用Excel、Word,AutoCAD等通用软件)编制MXHZ无法满足因产品升级换代周期越来越短而导致的组构管理动态化和持续化的要求。为了解决这个问题,开发了一款兼具MXHZ自动生成和组构版本控制功能的跨平台软件,从而免除了编制MXHZ方面的人力投入,显著降低了维护MXHZ的开销。在需求分析阶段,通过对甲方手工编制MXHZ业务和对版本控制的实际需要展开分析,明确了核心功能需求。同时掌握了器件之间关系分类、器件的计量类别以及各类别在组构历史数据中出现的频率高低等重要情况。通过对甲方已有的IT设施和用户使用习惯等情况进行考察,了解了甲方在跨平台支持和部署便利性等方面的非功能需求。在概要设计阶段,首先根据甲方的实际情况,设计了组构版本控制方案,并据此对组构管理应用业务流程进行了升级改造。在此基础上,进行了分层架构设计和技术选型,确立了使用有向无环图(即DAG)来抽象组构模型和版本集模型,并利用图论中已有算法来解决组构管理业务问题的指导思想。给出了多组构版本运行时数据并存于一个进程中的解决方案,并对核心功能和关键GUI进行了概要设计。在详细设计与实现阶段,给出了组构模型和版本集模型的实现,并且针对器件信息的特点,采用了flyweight模式、可空缺数据成员、基于编译时静态平衡二叉树的变体类,Bit-fields等手段进行了优化设计。之后给出了以自动生成MXHZ为代表的关键功能的实现,并且对求解MXHZ、PDF导出、版本比对等环节进行了并行化设计,提高了性能。在测试验证阶段,出于保护商业诀窍等因素,禁止使用实际的组构数据进行测试,所以设计并实现了一款组构版本生成器。该生成器使用选择性放样技术确保生成的组构DAG的主干部分(即由成套设备、整件、部件节点构成的子图)拥有良好的随机性,即没有偏好。在该主干部分上进一步随机播撒文件、零件、外购件、材料等节点即可获得较好的测试用例。通过利用该生成器,根据测试准则,进行了全面的测试。测试结果认定本工具满足需求规格,符合合格性判据。定量测定了生成MXHZ这个最核心的功能其操作响应时间,并分析了图的平均路径长度对响应时间的相关性系数。结果表明求解分类汇总表时,该相关性系数约为0.95,但对求解整件明细表的影响不大。从图论角度看SJ207对MXHZ求解边界的规定,该结果是与之相吻合的。最后,分析了本工具内存省、速度快、抗伪造,耐极端数据的原因;提炼了以图论为代表的技术要点所起到的作用;并初步分析了目前主要集中在MXHZ图纸编辑与比对方面的新需求,为未来的工作指明了方向。