APP下载

复杂产品协同设计过程管理系统的设计与实现

2013-10-16李晓娟郭银章

太原科技大学学报 2013年1期
关键词:访问控制协同功能

李晓娟,郭银章

(太原科技大学复杂系统与计算智能实验室,太原 030024)

机械制造业的竞争实质上就是产品设计的竞争[1]。现代机械产品设计突破了传统串行设计模式的设计思想,采用同步并行工程方法对问题进行求解,有效的满足了现代机械产品市场对设计产品的 T(Time)、C(Cost)、Q(Quality)、S(Service)的要求,以适应快速变化的经济全球化与市场国际化带来的竞争压力。在此背景之下,迅速发展的计算机支持的协同设计被认为是未来最具广泛性的新技术。网络环境下的机械产品协同设计是一种新兴的现代产品设计方法[2],它使得分布在不同位置的设计人员、设计资源能通过网络有机地整合起来,并以协作的方式参与设计任务,从而提高决策过程中决策的正确率、加速决策过程,从而提高产品设计的效率。

复杂机械产品协同设计是采用现代产品设计理论,基于分布网络环境下的一种产品设计理论及方法。它主要是指多学科群组人员,针对某一复杂产品的设计目标,通过任务分解、资源共享和远程通信,相互协作、互相协同地完成产品设计任务的过程。复杂产品的协同设计具有设计任务的并发多主体性和设计过程的动态不确定性的特点。如何有效地实现对协同设计的过程管理,是实现网络化产品协同设计的关键问题之一。近年来,众多学者在协同设计过程管理方面做了大量的研究:文献[3]以并行工程思想方法为指导,提出了一个产品设计过程管理的抽象模型,并针对抽象模型的应用提出了建立多级抽象层的方法;文献[4]提出了网络化协同设计过程管理方法的资源共享型管理、实时交互型管理和任务协调型管理三个层次结构;文献[5]通过分析活动的组成与建模的关系,提出了一种协同环境下设计过程管理的体系结构;文献[6]针对协同设计过程的复杂性、动态性和一致性等特点,研究了工作流技术在协同设计过程中的应用;文献[7]以约束为基础重新定义了协同设计过程及其中的主模型、客户端模型,建立了以约束满足等式为核心的冲突协调机制,给出了冲突协调的3个步骤,并给出了原型系统的运行实例;文献[8]针对分布式协同产品设计过程管理中过程协调与监控方面存在的问题,提出了整体规划与局部决策相结合的设计过程融合与控制机制;文献[9]针对目前协同设计中项目管理存在的问题,提出了协同设计中基于工作流的项目管理框架,实现了对项目的网络化管理。

本文在分析了网络化产品协同设计过程管理需求的基础上,针对复杂机械产品的协同设计过程管理问题,提出了整个系统的框架体系结构,并对过程管理的项目任务管理、设计资源管理、产品数据管理、过程建模与控制以及访问控制等功能模型进行了形式化描述。通过建立系统的数据库概念模型和物理模型,基于JAVA的MVC模式,实现了复杂产品协同设计的过程管理原型系统。

1 复杂产品协同设计过程管理系统的框架体系

本系统采用MVC模式下的的SSH框架结构和基于Web的B/S模式进行的开发。基于MVC模式的三层架构分别为用户访问层、业务逻辑层和数据服务层。在开发过程中利用Struts来实现Web用户访问层,并遵循经典的MVC模式,实现用户与应用逻辑结果的交互界面,它是由各种浏览器构成的用户与Internet之间进行信息交互的窗口;使用Hibernate来实现数据访问和持久化层,完成大量数据更新和检索以及数据的存储;使用Spring来实现业务逻辑层和整合工作,它根据客户端的请求启动相应的程序来完成事务的处理,并将处理结果发送给客户端浏览器。分层是一个很重要的设计方法,使结构更加清晰,在每层中只集中解决特定的问题,有利于发挥不同框架的作用,又可以提高系统的灵活性,提高代码的可扩展性、可维护性和可复用性等。具体架构如图1所示:

由图1可知,本文中基于挖掘机协同设计过程管理系统的三层架构分别是用户访问层、业务逻辑层、数据服务层。

(1)用户访问层:系统终端用户进行系统管理与信息交互的功能层面,用于显示数据和接受用户输入的数据,为用户提供了一种交互式的界面。主要由JSP来实现系统中各个页面。Struts是建立在MVC(Model-View-Controller)这种公认的好的模式上的,它主要是提供一个好的控制器和一套制定的标签库。Struts定义了具体的Model层的实现,在挖掘机协同设计过程管理系统中主要有JavaBean实现。

图1 协同设计过程管理系统总体架构图Fig.1 The framework chart of collaborative design process management system

(2)业务逻辑层:业务逻辑层作为应用程序中大部分特定功能的驻留之处,是针对具体问题的操作,即对数据服务层的操作和对数据业务逻辑的处理。主要为表示层提供服务和数据持久化进行数据交换,为协同设计提供项目任务管理、设计资源管理、产品数据管理等功能。Spring开源框架致力于解决J2EE应用的各层的解决方案,并且它不仅专注于某一层的方案,而是贯穿用户访问层、业务逻辑层、数据服务层且与其进行数据交互。

(3)数据服务层:数据服务层最基本的工就是完成对数据库的直接操作,即针对数据的增添、删除、修改、更新、查找等。数据库主要由表定义、表关系和组成数据库的数据项构成,同时还包括以自身的格式表示用于从数据库中检索信息的代码。Hibernate是面向对象的程序设计语言和关系数据库之间的桥梁,不仅管理Java类到数据库表的映射,并且提供了数据查询和获取数据的方法,大幅度减少了开发时人工使用SQL和JDBC处理数据的时间,完成数据持久化的重任。

2 复杂产品协同设计过程管理系统的功能模型描述

本文采用以模块分解设计为核心的结构化设计技术将系统进行分解。模块是系统功能结构图的主要元素,其设计思想是采用自顶向下、逐层分解的方法,先给出总的模块功能,在逐层分解为大小合适、功能明确,具有一定独立性且易于实现的子模块。

按照用户对复杂机械产品协同设计过程管理系统的功能需求,通过综合与分析、抽象与概况,结合协同设计过程管理的特性确定其基本功能模块,主要包括:项目任务管理、产品数据管理、设计资源管理、过程建模与分析和访问控制管理。项目任务管理包括:项目创建管理、任务分解管理、任务分配管理、进程控制管理;产品数据管理包括:产品结构管理、产品配置管理、产品零部件管理、产品特征管理、产品标准模型管理;设计资源管理包括:设计群组管理、设计版本管理、图纸文档管理、产品合同管理;过程建模与分析管理包括:设计单元模型定义、过程控制网模型定义、时间约束逻辑推理、资源约束可调度行分析、设计方案的评审决策管理;访问控制管理包括:访问控制基本要素管理、访问控制设计活动管理、访问控制权限分配管理、访问控制动态授权管理。系统的功能结构如图2所示:

图2 系统设计过程管理系统功能结构图Fig.2 Function architecture of collaborative design process management system

协同设计在功能上主要要求软件以过程管理为中心,整合所有的设计资源,并使其具备安全的权限管理功能。同时,在经过对挖掘机企业设计部门调研之后,高度抽取企业最迫切的需求,结合挖掘机协同设计过程的基本业务流程,将挖掘机协同设计过程管理系统分为5大功能模块:项目任务管理、产品数据管理、过程建模分析管理、设计资源管理和访问控制管理。其主要模块的具体功能如下:

(1)项目任务管理子系统:项目任务管理作为挖掘机协同设计过程管理的前提,是根据用户产品开发项目任务书的要求建立而成的。主要具备产品设计项目的创建管理、设计任务的分解管理、设计任务的分配管理以及进程控制管理等功能。其相关功能体系可描述为:

PTM::=(PCM ,TRM,TAM,PCOM)

(2)产品数据管理子系统:产品数据管理模块作为挖掘机协同设计过程管理的基础,主要负责过程管理中产品零部件的组成结构和关系、产品零部件的设计信息、产品零部件的设计形态信息进行描述。产品数据管理子系统主要完成产品的结构、配置、特征和零部件的管理,同时完成标准化的产品模型实现管理。其相关功能体系可描述为:

PDM::=(PSM,PCM,PPM,PFM,PMM)

(3)设计资源管理:设计资源管理模块对挖掘机协同设计过程中所涉及到的人力资源、文档资源、设计过程中的版本信息、挖掘机产品开发合同信息等实行有效管理。设计资源管理子系统主要完成设计过程中的群组管理、图纸文档管理、设计版本管理和开发合同管理。其相关功能体系可描述为:

DRM::=(DOM,DVM,DDM,DCM)

(4)过程建模与分析管理子系统:过程建模与分析模块主要对协同设计过程进行动态建模、实现过程控制模型描述、过程控制网性能分析、时间约束分析与推理、资源约束可调度行分析等功能。过程建模与分析管理子系统主要包括:设计单元元模型定义、过程控制网模型建立、时序一致性分析、资源约束可调度性分析、方案评审与决策。其相关功能体系可描述为:

PMA::=(DUMC,PCNC,TCLR,RCS,DPRM)

(5)访问控制管理子系统:访问控制按是照用户身份及其所属的某项定义组来准许或限制用户对某些信息项的访问,从而限制对关键资源的访问,防止非法用户的入侵或者是合法用户的越权操作。协同设计过程的设计活动之间具有明显的约束依赖关系和状态迁移变化,所以对于访问控制的安全策略的研究,不仅要考虑访问数据的安全问题,而且要涉及到权限的周期时间约束、权限的激活次数限制、动态授权控制的问题。访问控制管理子系统主要实现设计任务、设计用户、角色与权限之间的控制与关联。系统主要完成功能为:访问控制基本要素管理、访问控制设计活动管理、访问控制的权限分配管理、访问控制的动态授权管理四部分。其相关功能体系可描述为:

ACM::=(ACEM ,ACDAM,ACPDM,ACDAM)

3 复杂机械产品协同设计过程管理系统的数据库建模

通过对系统的主要业务流程及功能模块分析之后,按照软件开发的设计思想,将需求分析过程中的各种业务流程及功能的相关信息抽象成相应的实体及其属性。根据系统的功能模块及其系统的流程分析,提取出相应的实体,得到如下主要实体及其属性:

(1)项目(项目编号,项目名称,项目类型,项目状态,项目内容,设计说明,性能指标,创建时间,执行时间,预计完成时间,实际完成时间,项目负责人,审核负责人,审核结果,分解任务数)

(2)项目任务(任务编号,任务名称,任务执行状态,包含子任务,依赖约束关系,开始执行时间,预计完成时间,实际完成时间,父任务编号,上一任务输入编号,下一任务输出编号,任务难度,任务优先级,任务执行角色)

(3)设计人员(设计人员编号,设计人员姓名,设计人员性别,设计人员年龄,设计人员职称,联系电话,家庭住址,邮箱,设计人员类型,设计人员权限,承担任务编号)

(4)设计团队(组织机构代码,组织机构名称,组织机构功能,组织机构负责人,组织机构地址,联系电话,人员集)

(5)设计权限(权限编号,权限名称,权限状态,权限依赖关系,权限访问周期,权限访问次数)

(6)产品特征(特征编号,特征名称,特征类型,特征构造,特征关系,几何要素,特征尺寸,形位公差)

(7)设计角色表(角色编号,角色名称)

(8)任务标书(标书编号,任务组编号,设计组编号,综合能力,兴趣程度,工作经验,繁忙程度,任务难度,紧急程度)

(9)任务组(任务组编号,任务组名称,任务集,任务难度,紧急程度)

(10)产品(产品编号,产品名称,规格型号,成组代码,功能要求,产品变量,生产单位,任务编号)

(11)产品零部件(零部件编号,零部件名称,零部件规格号,规格型号,成组代码,功能描述,部件尺寸,特征总数,生产单位)

(12)产品特征(特征编号,特征名称,特征类型,特征构造,特征关系,几何要素,特征尺寸,形位公差)

(13)设计版本(版本号,父版本号,子版本号,生成者,创建时间,存储位置,存储类型)

(14)设计图纸(图纸编号,图纸名称,图纸版本号,设计组,审核者,生成日期)

(15)设计合同(合同编号,合同名称,委托方,开发方,设计项目编号,合同金额,完成时间,负责人,签订时间,签订地点,约定条款)

(16)产品模型(标准模型编号,标准模型名称,标准模型类型,是否关键模型,模型功能结构,标准模型结构)

(17)产品标准模型(模型编号,模型名称,模型类型,模型规格号)

4 机械产品协同设计过程管理原型系统的实现

首先,针对产品协同设计过程管理系统的用户需求和业务分析,采用面向对象的统一建模语言UML进行系统总体需求分析与设计;其次,通过分层设计思想并结合基于Web的B/S模式给出系统总体架构图;再次,采用结构化的设计思想,按照用户对挖掘机协同设计过程管理系统的功能需求,通过综合与分析、抽象与概况来提取系统的对象模型给出系统的功能结构图并完成各个模块的功能描述与设计,基于UML给出UseCase用例图,采用Sequence时序控制图描述系统间数据及信息流的控制顺序;然后,通过在需求分析阶段抽取出的实体类,在PowerDesigner15.0环境中完成数据库的建模与设计;最后,在J2EE开发工具Myeclipse9.0的平台上,采用基于MVC模式的SSH框架结构完成进行本系统的开发和测试。用户通过对界面的直接操作使得系统能够正常运行,从而实现系统的各个模块的功能,完成整个系统的开发。下面列出几个主要功能模块的界面。

以项目任务管理模块为例简单描述系统的功能实现。点击左侧的项目创建管理,可以看到所有的项目按照:正在执行的设计项目、已经完成的设计项目和未开始执行的设计项目三种类型分别在显示在页面中,在此可以进行项目任务的查看、增加、变更和删除操作。项目任务管理模块如图3所示。

点击左侧的任务分解,可显示任务分解页面,具体根据产品的功能结构树,将一个复杂的设计任务划分为耦合度较小的子任务。这些子任务构成了产品协同设计过程的基本设计单元,成为产品协同设计过程建模的元模型。在此页面可对子任务进行添加、修改、删除操作。项目任务分解页面如图4所示。

图3 项目任务管理页面Fig.3 Management Interface of project task

图4 项目任务分解管理页面Fig.4 Management interface of project task decomposition

图5 项目任务分配管理页面Fig.5 Management Interface of project task distribution

完成项目任务的分解之后,按照一定的项目任务分配原则将合适的任务分配给合适的设计承担者进行设计。点击左侧任务分配管理可完成任务的分配,并将分配的结果存入数据库。项目任务分配页面如图5所示。

5 结束语

产品协同设计过程管理系统是对产品协同设计过程所做的重要工作,对其实施有效的管理将大大提高设计的效率,同时也对设计过程中出现的许多动态的不确定性的问题有了良好的控制和解决方法。所以,针对分布式环境下产品开发过程的特点,本文对产品协同设计中的过程管理问题进行了较为细致的研究,以理论研究为基础成功实现了基于J2EE平台的Struts+Spring+Hibernate轻量级框架的协同设计过程管理系统,对的协同设计的过程管理起到了重要的作用,对于提高整个协同设计过程的效率、提升了产品设计质量、缩短了产品设计时间具有重要的实际工程应用价值。

[1]谢友柏.现代设计理论和方法的研究[J].机械工程学报,2004,40(4):1-9.

[2]殷国富,于静,胡晓兵.面向信息时代的机械产品现代设计理论与方法研究进展[J].四川大学学报:工程科学版,2006,38(5):38-41.

[3]卢正鼎,汪涛,曹化工,等.面向并行工程的产品设计过程管理的抽象模型[J].计算机辅助设计与图形学学报,2000,12(2):121-126.

[4]钱亚东,郑国君,战洪飞,等.网络化协同设计过程管理方法和工具[J].科研管理,2004,25(1):90-95.

[5]郝永平,张建富,史春景,等.基于活动方法的协同设计过程管理系统研究[J].中国工程科学,2005,7(12):69-73.

[6]张君君,郭银章.基于工作流技术的协同设计过程管理系统研究[J].太原科技大学学报,2010,31(5):360-363.

[7]黄琦,孙守迁,许宇荣.基于约束的协同设计过程中的冲突协调研究[J].中国机械工程,2006,17(2):160-164.

[8]陈景霞,陈桦,张鹏伟.Internet环境下协同产品设计过程融合与监控[J].制造技术与机床,2006(8):88-91.

[9]谷秀才,孙桓五.产品协同设计中基于工作流的项目管理研究[J].机械管理开发,2008,24(2):97-99.

猜你喜欢

访问控制协同功能
也谈诗的“功能”
一种跨策略域的林业资源访问控制模型设计
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
“四化”协同才有出路
关于非首都功能疏解的几点思考
ONVIF的全新主张:一致性及最访问控制的Profile A
三医联动 协同创新
动态自适应访问控制模型
中西医结合治疗甲状腺功能亢进症31例