D0I:10.13374/i.issn1001053x.2002.06.004 第24卷第6期 北京科技大学学报 Vol.24 No.6 2002年12月 Journal of University of Science and Technology Beijing Dec.2002 应用组件技术开发矿山管理信息系统 侯运炳曹文虎张成伟 中国矿业大学(北京校区).北京100083 摘要采用软件组件和系统构架的设计思想开发矿山管理信息系统.根据管理角色与业务 的关系,提取功能独立的管理角色组件模型和业务组件模型,作为重构管理流程的基本组件, 建立组件的消息触发机制控制组件的运行顺序,有利于增强系统的可重构性, 关键词矿山信息系统:软件组件;系统重构 分类号TP311 中国矿业管理信息系统(M$)的开发和应 COM/DCOM的组件/构架开发技术,使之能够 用存在的主要问题是:(1)矿业MS日趋复杂, 适应企业的发展变化,延长生命周期,同时为矿 软件开发周期长;(2)低水平重复开发现象严重, 业信息系统的软件复用积累经验 开发出的产品质量难以提高;(3)开发出的系统 不能适应企业的发展变化,生命周期短;(4)由于 1 系统框架结构及组件模型 缺乏统一的标准和规范,导致软件的通用性和 该矿共有10余个物资仓库,存储了万余种 商品化程度极低. 材料.材料管理信息系统的主要功能包括:①日 软件复用被认为是推动软件行业走向工业 常业务;②材料库管理;③查询;④统计;⑤报表 化的有效途径.通过软件复用,在应用系统的开 输出;⑥系统管理. 发中可以直接利用已有的开发成果,从而提高 系统采用3层结构体系,从逻辑上分为用 开发效率并避免了低水平重复开发, 户界面层、业务应用层和后台数据服务层.相应 基于组件技术的复用技术是软件复用的主 组件分为客户端用户界面组件、中间层业务组 流技术.组件是软件具有可复用特性的基本部 件和数据处理组件.系统框架结构如图1所示. 件,一经产生,就与具体实现语言无关,无需编 程而直接作为功能模块用于软件系统的装配 领导查询 业务操作 系统管理员 (即插即用).基于组件的软件开发是提高软件 系统生产效率和产品质量的有效途径.而且,当 权限控制 消息分配与管理 应用系统随着时间的变化功能需要增加或某些 局部需要修改(即系统重构)时,只需增加、修改 业 报 或更换相应的组件即可,因此大大增加了应用 软件系统的柔性和可重构性.目前,组件技术领 件管理 方式 打 系统维 询操作 域比较成熟并获得广泛应用的技术规范主要有 定义 微软的COM/DCOM、对象管理组(OMG)制定的 CORBA和SUN发布的JavaBeans等四,' 矿业信息系统领域存在着大量的可复用软 ,数据通讯及管理 件对象,具备软件复用的良好条件.本文在进行 某矿材料管理信息系统的开发时,采用了基于 数据库 收稿日期20020808侯运炳男,40岁,教授,博士 图1系统结构 *国家自然科学基金资助项目No.50074031) Fig.1 System structure
第 卷 第 期 年 月 北 京 科 技 大 学 学 报 。 应用组件技术开发矿 山管理信息 系统 侯运炳 曹文虎 张成伟 中国矿业大学口匕京校 区 , 北京 摘 要 采用 软件组件和 系统构架 的设计思 想开发矿 山管理信息 系统 根据管理角色与业务 的关系 , 提取功能独立 的管理角色组件模型 和业务组件模型 , 作为重构管理流程 的基本组件 , 建立组件的消息触发机制控制组件 的运行顺序 , 有利于增强系统 的可 重构性 关键词 矿山信息 系统 软件组件 系统重构 分类号 中 国矿业管理信息系统 的开 发和 应 用存在 的主要 问题是 矿业 日趋复杂 , 软件开发周期长 低水平重 复开发现象严重 , 开 发 出的产 品质量难 以 提高 开发 出的 系统 不 能适应企业 的发展变化 , 生命周期短 由于 缺乏 统一 的标准 和规范 , 导致软件 的通用 性 和 商 品化程度极低 软件复用 被认为是推动软件行业走 向工业 化 的有效途径 通过软件复用 , 在应用 系统 的开 发 中可 以直接利用 已 有 的开 发成果 , 从而提高 开 发效率并避免 了低水平重复开 发 基于组件技术 的复用技术是软件复用 的主 流技术 组件是软件具有可 复用特性 的基本部 件 , 一 经产生 , 就与具体实现语言无关 , 无需 编 程 而 直接作为功 能模块 用 于 软件 系统 的装 配 即插 即用 基于 组件 的软件开发是提高软件 系统生产效率和产品质量 的有效途径 而且 , 当 应用 系统随着时间的变化功能需要增加或某些 局 部需要修改 即系统重构 时 , 只需增加 、 修改 或更换相 应 的组 件 即 可 , 因此大大增加 了应 用 软件系统的柔性和 可 重构性 目前 , 组件技术领 域 比较成熟并获得广泛应用 的技术规范主要有 微软 的 、 对象管理组 制定 的 和 发布的 等 〔 ‘ 矿业信息 系统领域存在着大量 的可复用 软 件对象 , 具备软件复用 的 良好条件 本文在进行 某矿材料管理信息 系统 的开 发 时 , 采 用 了基于 的组 件 构 架开 发技术 , 使之能够 适应企业 的发展变化 , 延长生命周期 , 同时为矿 业信息系统 的软件复用 积 累经验 系统框架结构及组件模型 该矿共有 余个物资仓库 , 存储 了万余种 材料 材料管理信息系统的主要功能包括 ① 日 常业务 ②材料库管理 ③查询 ④统计 ⑤报表 输 出 ⑥系统管理 系统采用 层 结构 体系 , 从逻 辑上 分为用 户界面层 、 业务应用层和后 台数据服务层 相应 组件分为 客户 端用 户界面组 件 、 中间层业务组 件和数据处理组 件 系统框架结构如图 所示 竖 匡权塑限控控 噩 制金一竖吧巨消堑 竺 显息分坦配夔与 翌 夔管鑫理里 文件 业务 查 系 管 方 询 统 理 式 操 维 定 作 护 义 数据通讯及管理 数据库 收稿 日期 一 一 侯运炳 男 , 岁 , 教授 , 博士 国家 自然科学 基金资助项 目困 图 系统 结构 · DOI :10.13374/j .issn1001-053x.2002.06.004
·594 北京科技大学学报 2002年第6期 首先通过建立工作流模型描述系统框架, 质检合格 盘点 在工作流系统框架的基础上,采用面向对象分 析方法提取组件模型四.组件模型的划分采用以 申请入(出)库单 上验收单 领料单 下原则:对于业务或流程比较固定的部分,组件 出售单 库存帐 模型采用较大的划分粒度;对于业务或流程易 调拨单 退料单 变的部分,将大粒度组件模型进一步划分为较 小粒度的模型,以便通过基本功能组件的重组 图2材料管理业务 实现重构工作流程的目的 Fig.2 Workflow of material management 用户界面类组件提供用户交互界面,主要 包括用户查询界面组件、业务操作界面组件和 领用、出租、出借、委托加工、盘亏等.月底可按 系统管理界面组件、权限控制和消息分配与管 领用部门和用途进行汇总. 理等组件 业务内容基本上是稳定不变的,但业务流 中间层业务类组件主要包括文件管理、业 程则可能发生变化.例如,对于领料单的处理, 务方式定义、日常业务、报表打印、查询操作及 原先的流程为:供应计划员→供应主管→保 系统维护等组件 管→稽核;而随着管理结构的调整,处理流程又 文件管理组件主要实现密码设置及打印设 变为:科室操作员→部门主管→供应主管→保 置等功能;业务方式定义组件主要实现定义出 管.为了适应这种变化,在建立组件模型时,首 入库方式和结算方式功能;查询组件实现出入 先提取领料单、退料单、调拨单、出售单、验收 库查询和库存查询功能;系统维护组件主要实 单、库存等基本实体对象模型,然后建立各个管 现期初库存及数据库设置等功能;报表打印组 理角色(如科室操作员、部门主管、供应主管、保 件主要用于打印各种报表(如主要材料消耗表、 管员等)组件模型,将各个角色的操作内容封装 收销存报表等),该组件可以自定义方式打印任 在组件中,这样就实现了业务内容、角色与工作 意格式的报表,具有较大的灵活性例.日常业务 流程的分离.当需要改变工作流程时,只需改变 组件是多个组件的集合,用于实现材料管理的 组件的工作顺序即可.图3所示为保管员组件 日常业务功能. 与验收业务组件之间的关系. 数据通讯与管理组件主要实现数据通讯、 数据库管理、并发控制及查询优化等功能 保管员 验收单 属性1,…,n 属性1,,m 2基于角色的组件模型 验收签字 签字 日常业务管理是管理信息系统的重要内 保管签字 审核 科长签字 容,在图1中用了大粒度概念性模型表示(即日 4用果年0 常业务组件),其基本任务如图2所示,包括: (1)核实采购部门填写的申请入库单,对质 图3角色模型与业务模型的关系 Fig.3 Relation between the role and the work model 检合格的材料办理正式入库手续;对质检不合 格的材料办理暂入库手续,并由采购部填写退 3组件的消息驱动 货单. (2)材料入库方式有采购、自制、退货、委托 组件实现的功能是相对独立的.为了使组 加工收回、受托加工、租用、借用、盘盈等 件之间能够相互协调工作,在建立组件模型时 (3)退料单由领用部门填写,仓库点数并办 设计了组件的消息触发和处理功能仰.其基本工 理人库手续. 作原理是:当某个(或数个)组件处于某种状态 (4)调拨单是指本矿内部相互调用材料时办 时,向相应的组件发送消息,并根据消息触发机 理的手续,包括调拨入库和调拨出库 制驱动执行一个或多个组件.消息的描述为: (5)领料单是各部门领用材料出库所办理的 MESSAGE:(Destination,Operation,Arguments) 手续.材料出库分为生产领用、销售、维修、办公 其中,Destination定义了接受消息的对象,Oper-
· 北 京 科 技 大 学 学 报 年 第 期 首先通 过建立 工作 流 模型 描述 系统框架 , 在工作 流 系统框架 的基础 上 , 采用 面 向对象分 析方法提取组 件模型〔 组件模型 的划 分采用 以 下 原则 对于业务或 流程 比较 固定 的部分 , 组件 模型 采用 较大 的划 分粒度 对于业务或流程易 变 的部分 , 将大粒度组件模型 进一步划分为 较 小粒度 的模型 , 以 便通过基本功能组件 的重组 实 现重构工作流程 的 目的 用 户界面类组件提供用 户交互界面 , 主要 包括用 户 查询 界 面组件 、 业务操作界 面组件和 系统管理界 面组件 、 权 限控制 和 消息分配 与管 理等组件 中间层 业务类组件主要 包括文件管理 、 业 务方式定义 、 日常业务 、 报表打印 、 查询操作及 系统维护 等组件 文件管理组件主要实现密码设置及打印设 置等功能 业务方式 定义组件 主要实 现定义 出 人库方式和结算方式功能 查询组件实现 出人 库查 询 和 库存查 询功能 系统维护 组件主要实 现期 初库存及数据库设置等功能 报表打 印组 件主要用于 打印各种报表 如主要材料消耗表 、 收销存报表等 , 该组件可 以 自定义方式打印任 意 格 式 的报表 , 具有较大 的灵活 性 口〕 日常业务 组件是 多个组件 的集合 , 用 于实现材料管理 的 日常业务功能 数据通讯 与 管理组件主要实现数据通讯 、 数据库管理 、 并发控制及查询优化等功能 质检合格 盘点 申请入 出 库单 验收革 领料单 出售单 库存帐 调拨单 一 退料单 图 材料 管理业 务 · 、 领用 、 出租 、 出借 、 委托加工 、 盘亏 等 月 底可 按 领用 部 门和用途进行汇 总 业务 内容基本上是稳定不变 的 , 但业 务流 程则可 能发生 变化 例如 , 对于领料单 的处理 , 原 先 的流 程 为 供应 计 划 员 。 供应 主 管。 保 管。 稽核 而 随着管理结构 的调 整 , 处理流程又 变为 科室 操作员 。 部 门主 管。 供应 主管、 保 管 为 了适应这种变化 , 在建立 组件模型 时 , 首 先提取领料单 、 退料单 、 调拨单 、 出售单 、 验收 单 、 库存等基本实体对象模型 , 然后建立各个管 理角色 如科室操作员 、 部门主管 、 供应 主管 、 保 管员 等 组件模型 , 将各个角色的操作 内容封装 在组件 中 , 这样就实现 了业务 内容 、 角色与工作 流程 的分离 当需要改变工作流程时 , 只需改变 组件 的工作顺序即可 图 所示 为保管员组件 与验收业务组件之 间 的关系 基于角色的组件模型 日常业 务 管理 是 管理信息 系 统 的 重 要 内 容 , 在 图 中用 了大粒度概念性模型 表示 即 日 常业 务组件 , 其基本任务如 图 所示 , 包括 核实采购 部 门填写 的 申请人库单 , 对质 检合格 的材料办理正式人库手续 对质检不 合 格 的材料办理暂人库手续 , 并 由采购部填写退 货单 材料人库方式有采购 、 自制 、 退货 、 委托 加工 收 回 、 受托加工 、 租用 、 借用 、 盘盈等 退料单 由领用部 门填写 , 仓库点数并办 理人库手续 调拨单是指本矿 内部相互调用 材料时办 理 的手续 , 包括调拨人库和 调 拨 出库 领料单是各部 门领用材料 出库所办理的 手续 材料 出库分为生产领用 、 销 售 、 维修 、 办公 属性 , … , 属 性 , … , 签字 验收签字 审核 保管签字 科长签字 图 角 色模型 与业 务模型 的关 系 幻汗 组件的消息驱动 组件实现 的功能是相对独立 的 为 了使组 件之 间能够相互协调 工作 , 在建立 组 件模型 时 设计了组件的消息触发和处理功能 其基本工 作原理是 当某个 或数个 组件处于某种 状态 时 , 向相应 的组件发送消息 , 并根据消息触发机 制驱动执行一个 或多个组件 消息 的描述为 , , 其 中 , 定义 了接受 消息 的对象
Vol.24 侯运炳等:应用组件技术开发矿山管理信息系统 ·595· ation指定了接受消息的操作,Arguments为完成 科长,而根据管理结构的调整可重新分配消息 操作所需的参数。 的触发顺序,将业务流程改为供应计划员→科 例如,供应计划员组件处理完领料单后,通 长,从而去掉“供应主管”这个环节(图中虚线所 过一定途径发送消息给供应主管组件并触发该 示部分),反之亦然 组件进行处理,以此类推,直至该业务处理完 毕.消息包括用户界面输入的消息和组件间传 4 结论 递的消息.根据需要,组件的消息触发可以有一 提高矿业管理信息系统的柔性和可重构性 对一(一个组件触发另一个组件)、一对多等几 以及组件的复用性,对于延长系统生命周期、提 种形式. 高系统建设效率具有重要意义.采用组件开发 基于软件系统构架和软件总线的设计思 技术,提取和建立功能独立的软件组件模型,作 想,并根据组件的消息驱动机制,建立了软件系 为重构管理流程的基本组件,并通过组件的消 统的消息控制和管理组件(见图1).该组件规定 息触发机制构造软件系统,是解决上述问题的 了消息的分配方案和触发顺序,用于对整个系 有效途径. 统的组件进行协调和管理,实际上起到了控制 组件技术带来的效率和质量的提高,需要 系统结构和业务流程的作用. 通过组件的可复用程度来体现.目前还很难评 组件的消息驱动机制为系统的重构提供了 估矿业信息系统采用组件技术提高开发效率的 一种途径.当需要调整某些业务流程,增加或删 程度,但这种技术具有的潜力是显而易见的 改某些业务功能时,可通过消息控制和管理组 件的用户界面修改消息分配方案和组件触发顺 参考文献 序,即可实现系统重构的目的.例如,在图4中, 1吴明晖,基于构件的框架开发方法及其特定域应用 调拨单的处理顺序为供应计划员→供应主管→ [).计算机工程,1999,25(10):86 2侯运炳,王炳文,任勇.基于工作流和面向对象的矿 供应计划员 供应主管 科长 山物资管理信息系统.北京科技大学学报,2001, 23(6):554 3侯运炳,饶运章,张福平,矿山报表通用可视化生成 调拨单 方法】.中国矿业大学学报,2001,30(4):403 4宋豫川,阁春平.基于COM/DCOM和消息驱动的企 图4消息分配与管理 业可重构信息系统[U.重庆大学学报,2001,24(3):15 Fig.4 Message distribution and management Development of Mine Management Information System Based on Software Components HOU Yunbing,CAO Wenhu,ZHANG Chenwei China University of Mining Engineering and Technology,Beijing 100083,China ABSTRACT A management information system is developed based on components and architecture.Ac- cording to the relationship between the management role and the work,the role components and work com- ponents with independent functions are built which will be used as basic components to re-organize the man- agement work flower,and the message activating mechanism of components is built to control the component activity order.The methods above-described can improve the re-organizing property of the management in- formation system. KEY WORDS mine anagement information system;component;system re-organizing
侯运炳等 应 用 组件技术 开 发矿 山管理信 息 系统 指定 了接受消息 的操作 , 为完成 操作所需 的参数 。 例如 , 供应计划员组件处理完领料单后 , 通 过一定途径发送消息给供应 主管组件并触发该 组 件进行处理 , 以此类推 , 直 至该业务处理完 毕 消息包括用户界 面输人 的消息和 组件 间传 递 的消息 根据需要 , 组件的消息触发可 以有一 对一 一 个组 件触发另 一个组件 、 一对多等几 种形式 基 于 软件 系统 构架 和 软件 总 线 的设计思 想 , 并根据组 件的消息驱动机制 , 建立 了软件系 统 的消息控制和管理组件 见 图 该组件规定 了消息 的分配方案和触发顺序 , 用 于对整个系 统 的组 件进行协调 和 管理 , 实 际上起到 了控制 系统结构和业务流程 的作用 组 件的消息驱动机制为系统 的重构提供了 一种途径 当需要调整某些业务流程 、 增 加或删 改某些业务 功能时 , 可通 过消 息控制和 管理组 件的用户界面修改消息分配方案和组件触发顺 序 , 即可 实现系统重构 的 目的 例如 , 在 图 中 , 调拨单的处理顺序为供应计划员斗供应 主管斗 科长 , 而根据管理结构 的调整 可重 新分配 消息 的触发顺序 , 将业 务流程 改为供应计划 员。 科 长 , 从而 去掉 “ 供应 主管 ” 这个环节 图 中虚线所 示 部分 , 反 之亦然 结论 提高矿业管理信息 系统 的柔性和 可 重构性 以及组件的复用性 , 对于延长 系统生命周期 、 提 高系统建设效率具有 重要意义 采 用 组 件开 发 技术 , 提取和建立功能独立 的软件组件模型 , 作 为重构管理流程 的基本组件 , 并通 过组件 的消 息触发机制构造软件系统 , 是解决上述 问题 的 有效途径 组件技术带来 的效率和 质量 的提高 , 需 要 通 过组件 的可 复用 程度来体现 目前还很难评 估矿业信息系统采用组件技术提高开发效率的 程度 , 但这 种技术具有 的潜力是显 而易见 的 · 供应计划员 供应主管 科长 一 调拨单 卜 · 图 消息分 配与管理 参 考 文 献 吴 明晖 , 基于构件的框架开发方法及其特定域应用 计算机工程 , , 侯运炳 , 王 炳文 , 任勇 基于工作流 和 面 向对象的矿 山物资管理信息系统 北京科技大学学报 , , 侯运炳 , 饶运章 , 张福平 矿 山报表通用 可 视化生成 方法 中国矿业 大学学报 , , 宋豫川 , 阎春平 基于 心 和消息驱动 的企 业可重构信息系统 重庆大学学报 , , 巧 月〔 , 确 , 乙阮咬刀 田 , , , 一 , 一 一 允 一