一、 引言
产品生命周期管理(PLM-Product Lifecycle Management)涉及产品从需求、规划、设计、生产、销售、运行、使用、维护、直到回收再用处置的全生命周期中的信息与过程。既是技术,又是制造理念。支持与产品相关的协作 研发、管理、分发和使用产品定义信息,研究和开发产品全生命周期管理系统具有重要意义。
随着管理全球化的深入和网络技术的发展,开发出与平台无关、支持分布式技术、面向对象、基于Web技术、自适应性强的软件系统是PLM发展的方向。
柔性软件系统(FSS-Flexible Software System)是指在一定范围内能够满足和适应用户不断变化的需求的应用软件系统,在使用环境和用户需求发生变化时,不修改或者稍加修改就能满足用户的新需求,这些特性与PLM系统的要求不谋而合。因此,开发出基于柔性软件理论与技术的PLM系统具有广阔前景。
本文结合软件柔性理论,对基于工作流的柔性PLM系统作模型化的分析与设计。
二、 柔性软件的体系结构
依据柔性软件系统的定义,我们不难得出这个体系结构的要求,应该是面向对象的、构件支持的、层次化的框架式管理,此框架的层次逻辑模型分为:环境层、环境层、环境抽象层、业务抽象层、应用层、表示层等。在这几个层次中,上层是下层的客户,下层是上层服务的提供者,如图1。
从图1流程看出,柔性软件体系结构(FSSA)的主要特征为:
(1) FSSA的组成成分为对象、构件和框架。
(2) FSSA是层次化体系结构,不同层次是整个系统的功能抽象。
(3) FSSA是一种半层次化体系结构。除应用层可实现跨层交互以外,其他层只能做到与相邻层的交互,并且每层只可以从下层得到服务并向上层提供服务。
(4) 层次的交互机制采用消息发送机制、BS模式。
(5) 各层内部采用框架结构为基础,以对象指导、以构件为部件的方式进行构造。
(6) 从各个角度采用面向对象的技术。一般地,一个软件在逻辑上可划分为三层,即表示层、业务逻辑层和数据层。在FSSA中,业务逻辑层被划分成业务抽象层、业务层、应用层,数据层变成环境层的一部分,并由环境抽象层封装。这种多层结构模式突破了两层模式和三层模式的限制,具有良好的可伸缩性。
依据FSSA开发的柔性软件,应具有如下特点:
(1) 快速建模性
FSSA对业务领域进行了深入分析,创建了具有柔性业务领域的构架,因此用户业务领域的要求很容易与FSSA构架匹配,统筹UML和petri建模特性,快速完成软件建模。
(2) 快速动态配置性
在FSSA中引入了柔性软件系统操控平台(FSSCP),用户和开发人员都可以完成调整和配置操作,使柔性软件的适应过程需要的时间缩短。
(3) 可重构性
FSSA采用多层框架结构为核心的构件构建方式开发软件,使开发人员变动软件功能和结构变得容易。
(4) 可集成性
FSSA采用了环境抽象层,使处于不同运行环境和开发环境的软件组合在一起成为可能。
注:LU-Low-level User HU-High-level User DU-Developing-level User