黄家奇,刘雪峰,孙启林,程健
(1.安徽江淮汽车集团股份有限公司 技术中心,安徽 合肥 230601;2.中国汽车技术研究中心 数据资源中心,天津 300171)
在现代汽车开发研制中,一套优秀的设计方案应建立在先进的设计理念、精确的工程计算和雄厚的数据基础之上。新车型项目开发进程中,结构分析、仿真分析和材料定义等工作必须依赖大量和详实的材料性能数据。汽车材料品种繁多,性能各异,常见的有钢铁、铝合金、塑料、橡胶、织物、复合材料等,对不同类型的材料建立不同的数据集合,便于整车、整机零件材料的管理,也有利于设计知识的复用。
C#[1](C Sharp)是一种类型安全、面向对象的语言,简单却功能强大,可让程序设计人员构建范围广泛的应用程序。Visual C# 2008和.NET Framework的结合,让您能够创建Windows应用程序、Web 服务、数据库工具、组件、控件等。
B/S结构[2](Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如 Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
材料数据库系统的 B/S 结构如图 1 所示。服务器端是整个系统的核心,主要完成用户管理和材料库的浏览、查询、管理等业务逻辑功能。
本文开发的材料数据库 MDD(Material Definition Database)可实现在研新车型项目材料正向设计、选择的“专家知识库”支持,同时为在线量产车型材料“共用化”提供了决策依据。
图1 B/S模式的三层结构
由于数据的复杂性以及需求的动态性,因此可采用树状关系组织产品分类和建立产品数据库关系模型,按照无穷级概括映射规则设计产品分类的超类表和子类表,在防止约束循环的前提下建立约束关系等规则, 并按上述规则开发动态数据处理器,通过Web方式操作动态数据处理器来设计和修改产品数据库结构和管理产品数据[3]。
为满足上述需求,本文开发了基于B/S三层架构的、采用C#和Oracle9i技术、通过网络动态实现材料数据维护和零部件材料选材系统。
该系统包括材料库浏览、试验库浏览、典型零件选材、材料库查询、用户留言、扩展阅读、数据管理、用户管理等8个功能模块。系统后台管理员具备全部功能模块权限,数据库普通用户可使用前6个模块。其中,用户管理模块主要功能是设置数据库使用者的管理和阅读权限,数据管理模块的功能是实现数据的录入、修改、删除等。材料库查询模块具有关键字检索、组合检索、产品结构树查询等功能。
非材料数据库涉及的数据在种类上有金属材料、工程塑料、橡胶、织物、复合材料等,根据使用部位分类有车体材料、底盘材料、动力总成、内饰材料、外饰材料、声学材料等。本文所研究的材料数据库中包含的数据种类如图2所示。
图2 材料数据库数据种类
数据库设计就是将数据库中的数据对象以及这些数据对象之间关系,进行规划和结构化的过程。一般数据库设计分为五个阶段,分别为需求分析阶段、概念设计阶段、详细设计阶段、代码编写阶段、软件测试阶段。
在概念设计阶段,常用E-R方法进行概念模型的建立,E-R方法是由 RS.Chen于 1976年提出的实体—联系方法(Entity-Relation Approach),简称E-R方法。即要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律,这是数据库设计的重点,也是数据库设计的难点。
本文材料数据库主要包括5类信息,包括基本信息,物理性能、化学性能,文档类信息,自定义数据信息。图3表达了数据表与数据表之间的关系。
图3 材料数据库系统E-R图
其中,1)基本信息,包括品级编号、材料名称、所属类别(父类材料)、供方名称、材料价格等;2)物理性能,包括材料密度、拉伸强度、拉断伸长率、热变形温度等;3)化学性能,包括耐腐蚀性、耐侯性、耐臭氧、耐紫外线等;4)文档类信息,包括以JPG、XLS或PDF等各种文档形式存储的材料认可信息、材料试验大纲、技术标准等;5)自定义数据,即随着技术的发展,每种品级材料可扩充的属性和特性信息,例如耐刮擦、气味VOC指标等。
在Oracle9i中,使用DML(Data Manipulation Language)语言进行材料数据的录入、修改或者删除等操作。以材料数据录入为例,核心命令语句为:
INSERT语句说明,table字段为要插入数据的表名,db_link字段为数据库链接名,column字段为表的列名,express字段为表达式,Values命令引入要插入的数据值的列表。当对表中所有的列进行赋值时,列名列表可以省略,小括号也随之省略,但必须对表中的非空字段进行赋值。具有默认值的字段可以不提供值,此时列名列表中的相对应的列名也要省略。
数据库检索是常用的、典型的信息拉取技术[4],主要优点是:针对性好,用户可针对自己的需求有目的地去查询、搜索所需的信息。材料库检索是材料数据库使用最频繁的功能模块之一,数据检索是通过SELECT语句进行实现,其隶属于DML语言。
SELECT核心命令语句为:
SELECT语句说明,[]方括号为可选项,[GROUP BY(分组表达式)[HAVING(分组条件表达式)]]指将结果按(分组表达式)的值进行分组,该值相等的记录为一组,带HAVING短语则表示只有满足指定条件的组才会输出。[ORDER BY(字段)[ASC | DESC]]指显示结果要按(字段)值进行升序或降序排列。
在新产品开发过程中,材料定义工作一般分为两步,材料定义第一步,即材料规格、种类(例如 PP、PVC、ABS等)选择应由材料工程师与产品工程师共同商讨确定,第二步,材料属性(机械性能、物理性能、热性能、流动性能等)定义由材料工程师主控定义,并负责解释。
对于第二步材料属性确定,基本原则为在参考竞标车材料应用性能指标的基础上,结合产品零件使用技术条件和环境,通过横纵向对比,确保待选材料既能满足产品性能要求,又不产生明显的性能富余。本文大型数据库系统的创新引入,为第二步材料属性确定工作带了革命性变革。
在Oracle9i中,创新的使用SELECT命令,跨数据表查询可达成满意的候选结果,同时可使查询结果高亮显示,便于使用者分析和判断,部分高亮显示源代码如下:
在期望输出的内容中,将要高亮显示的部份如上例的keyName,替换成"",通过浏览器Html解析后,即加上了颜色(红色),最终在客户端网页上输出的效果自然就是高亮效果。
本文所研究开发的材料数据库已应用到新车型产品材料定义和方案设计之中。用户可以根据需要随时查阅、检索不同关键字的材料数据、标准,如图 4。对于特定车型项目,用户可使用零件选材功能模块如图5所示,快速实现某产品材料属性定义。
图4 材料及标准查询导航页面
图5 车型用材零部件管理导航页面
本文采用C# & Oracle9i技术方案,基于B/S架构, 实现了汽车材料数据库的建立、维护和应用功能。在本数据库系统开发中遵循实用性、先进性、可扩充性原则,创新建立了一套新产品材料快速选材、定义的方法。该系统界面友好,操作简单,查询直观准确,实用性较强。同时该系统的成功应用,对主机厂材料管理、材料“共用化”工作,提供了系统平台支撑。
[1] 微软(中国)有限公司.Visual C#入门[EB/OL].http://msdn. micros-oft.com/zh-cn/vcsharp/dd919145.aspx, 2011-07-10.
[2] 百度百科.BS架构[EB/OL].http://baike.baidu.com/view/4281465.htm, 2011-07-10.
[3] 李真春,盛步云,罗丹,等.采用动态数据库结构的产品管理技术[ J].微计算机信息,2006,4(3):241-243.
[4] 周雯.浅谈网络信息检索技术[ J].中国科技博览,2011,第 8期:303-303.