到货管理模块支持MDA的PIM建模

2011-03-14 06:44李颖颖张俭鸽
网络安全技术与应用 2011年7期
关键词:采购员规约语法

李颖颖 张俭鸽

解放军信息工程大学电子技术学院 河南 450004

0 前言

平台独立模型是具有高抽象层次、独立于任何实现技术的模型。模型描述了支撑某些业务的软件系统,系统的建模视角是“系统如何才能最好地支撑业务”。至于系统具体的实现细节,并不是此模型所关心的内容。

平台相关模型是为某种特定的实现技术量身定做的模型。模型使用技术中可用的实现构造来描述系统,也就是相关平台的技术术语,因而可看作是系统的详细设计模型。但是模型只对了解相应平台的开发者有意义。

MDA的核心即PIM和PSM。PIM是需求的建模,PSM是应用具体技术后的建模;PIM是分析模型,PSM是实现模型。然而,PIM和PSM之间并非有很明确的界限,只能说,一个模型相对于另一个模型更加平台相关(或平台无关)。

在MDA中,开发人员建立表达业务逻辑的PIM,定义由PIM变换成PSM的变换规则,而后系统自动将PIM变换成一个或多个对应的PSM,再根据PSM自动生成代码。描述业务逻辑的 PIM 将具有长久的价值,而针对特定平台的PSM则可能随着平台技术的进步而快速的迁移。即当平台技术变更时,PIM始终保持不变,仅需改变PIM到PSM的变换规则。纵观 MDA的开发过程,系统开发的最终产品是PIM,而PIM到PSM以至到代码的实现都是由第三方自动化工具实现的。如图1所示。

图1 MDA开发过程的3个主要步骤

1 UML统一建模语言

MDA的核心技术即基于广泛使用的可视化、存储、交换软件设计和模型的业界标准。OMG定义的一系列MDA标准中,最著名的即统一建模语言(Unified Modeling Language, UML)。UML提供了单一、标准化、强大的语言来全面描述系统,是关注系统的所有人之间交流的一种统一语言。

那么UML在MDA中扮演着什么角色?MDA核心工件PIM和PSM的建模都是通过UML定义的,UML即MDA的基础。

(1) UML分离抽象语法和具体语法

UML早期着力于图形表示法,规定了不同图形和线条的语义;而今,UML包含了自身语义的形式化模型,模型定义了UML建模者使用概念,并将其赋予抽象语法,图形表示法仅是表示抽象语法的一种具体语法。UML元模型是UML形式化模型,即模型的模型。元模型为构成模型的东西建模,是UML元模型抽象语法的一部分。灵活性的关键在于元模型用抽象语法和语义定义了UML建模属性。元模型通过非形式化文本和形式化约束描述建模结构的语义。MDA关键需求之一即抽象语法和具体语法的关注点清晰分离,意味着用某种特定具体语法编码的UML模型没有“永不分离”的绑定到具体语法上。基于MDA的视角,最重要的是模型的属性,而非模型可视化的图表布局。

(2) UML具有内置的扩展机制

机制允许建立特定的基于UML的语言,即UML profile。为系统某一方面定义特定语言,每一语言支持系统特定方面的规约,既是MDA关键需求之一,也是UML profile机制对MDA的贡献。MDA定义profile的同时也定义了一个映射,以指明如何遵从profile模型变换为profile所处理的系统工件。

(3) UML支持独立于平台的建模

UML生来支持创建独立于平台的系统规约,且规约足够形式化、精确、可驱动生成器。UML支持形式化、独立于平台的建模的一种手段是允许语义规约和实现规约的分离。UML以说明性的方式形式化、简洁的对需求做出规约,而不必说明如何实现。UML还可以表述独立于平台的不变式、先验条件和后验条件。UML可扩展性也为支持独立于平台的建模做出了贡献,profile机制为独立于平台的建模量身定做语言。

2 到货管理模块的建模

到货管理模块主要实现三大功能:到货登记及查询、到货检验接收和检验结果维护。本文以到货登记及查询为例,进行PIM建模。

2.1 功能描述

到货登记的信息分为到货信息和明细信息两部分。采购员首先登记到货信息,此信息必须一次性填写;由于每次到货的数量较大,采购员无法一次完成所有到货信息及明细信息的登记,因而明细信息可以稍后录入。

在明细信息的登记中,采购员可以选择到货的物料是否需要检验,如需检验,则此物料的信息被送到检验部门,等待接收;如不需要,则此物料的信息直接送至库房调度管理部门,等待入库调度。

到货查询提供到货信息、到货细目信息和到货不合格信息的查询。

2.2 用例图

图2 到货管理模块到货登记及查询用例图

用例描述(如图2):

(1) 到货登记用例

① 登记到货时的基本信息和明细信息到货以后,采购员首先登录到货登记主界面;

② 根据员工号+日期+流水号,自动生成到货登记号;

③ 输入物料、供应商及提货的基本信息;

④ 采购员点击“到货细目登记”标签,进入到货明细信息登记界面;

⑤ 根据到货登记号找出所要登记的货物;

⑥ 输入到货明细信息;

⑦ 到货登记完成。

(2) 到货查询用例

① 查询到货信息员工想查询到货信息;

② 登录到货登记查询界面;

③ 可输入到货登记号、凭证号或登记人等信息;

④ 按照相应输入为关键字找出到货信息;

⑤ 还可点击每行后面的按钮查询到货明细信息;

⑥ 点击“不合格信息”标签,查询不合格信息;

⑦ 可以打印或导出所查到的信息;

⑧ 完成查询到货信息。

2.3 时序图

图3 到货登记时序图

图4 到货查询时序图

(1) 到货登记时序图描述

采购员在登录界面输入信息(用户ID和密码等),系统判断用户输入,如果正确则进入系统。采购员进入到货登记界面,填写到货登记信息和明细信息。触发保存后,由到货登记控制完成到货信息的保存,并自动检查所填信息是否满足格式要求等信息验证,如果满足则保存至数据库。操作完成后登出系统(如图3)。

(2) 到货查询时序图描述

员工在登录界面输入信息(用户ID和密码等),系统判断用户输入,如果正确则进入系统。员工进入到货登记信息查询界面,填写要查询的到货登记信息。触发查询后,由查询控制完成对到货登记信息的查询,并显示在查询窗口;若查询到货明细信息,由查询窗口触发查询,查询控制获得到货明细信息,并显示在查询窗口;若查询不合格信息,由查询窗口触发查询,查询控制获得不合格信息,并显示在查询窗口。操作完成后登出系统(如图4)。

2.4 类图(如图5)

图5 到货登记类图

(1) 实体类

到货登记信息类:记录到货登记的基本信息和明细信息。

(2) 控制类

业务控制类:到货登记控制类的基类。

到货登记控制类:控制到货信息的录入和查询。

3 结论

MDA技术是将基于组件开发、设计模式、中间件、说明性规约、企业构架、企业应用集成和契约式设计等一系列新的趋势性技术整合到一起的开发方法,其核心工件是模型。MDA的开发过程即构建PIM、构建PSM和生成Code。MDA采用了广泛使用的可视化、存储、交换软件设计和模型的业界标准:统一建模语言、元对象设施、XML元数据交换和公共仓库元模型。本文利用MDA的核心技术之一统一建模语言,对到货管理模块进行了PIM建模。下一步的工作是基于已经构建的PIM,实现PIM到PSM、PSM到Code的模型变换。

[1]Anneke Kleppe,Jos Warmer著.鲍志云译.Wim Bast.解析MDA.北京:人民邮电出版社.2004.

[2]David S.Frankel,鲍志云译.应用 MDA.北京:人民邮电出版社.2003.

[3]Chris Raistrick,Paul Francis,John Wright.赵建华,张天等译.MDA与可执行UML.北京:机械工业出版社.2006.

[4]OMG Model Driven Architecture.MDA Guide. Version: 1.0.1.2007.http://www.omg.org/mda.

[5]Unified Modeling Language (UML).Version:2.1.1.2007. http://www.omg.org.

[6]David Akehurst.Model Translation:A UML-based specification technique and active implementation approach. PhD thesis. University of Kent at Canterbury.2000.

[7]Shane Sendall and Wojtek Kozaczynski.Model transformation: The heart and soul of model-driven software development.IEEE Software.2003.

[8]郭宁.基于MDA的软件设计与实现研究[DB/OL].信息系统协会中国分会第一届学术年会.2005.

[9]张小华,韩永生,余军合.模型驱动体系综述.计算机工程.2004.

猜你喜欢
采购员规约语法
传统自然资源保护规约的民俗控制机制及其现实意义
基于无线自组网和GD60规约的路灯监控系统的设计
跟踪导练(二)4
一种在复杂环境中支持容错的高性能规约框架
Book 5 Unit 1~Unit 3语法巩固练习
一种改进的LLL模糊度规约算法
Instacart帮你打酱油
浅析出口外贸采购员岗位工作的重点与难点
退休老人当“采购员”1分钟赚1元
工作经验