概念模型设计,用概念模型(概念程序模型解析构件化过程与原则)

摘要:基于组件的开发是提高软件生产率的有效技术。概念程序构件可以为大纲设计提供可重用的资源,而概念程序模型的分析构件为构件库的建立和概念智能辅助提供了基础资源,为实现概念模型融合创造了必要的条件。以骰子游戏程序为例,介绍并展示了如何将概念编程图所代表的概念程序模型分析成不同层次的可重用组件的过程和原理。

1.概念程序模型的表示

概念编程思维导图是描述概念编程模型的有效工具。它是程序大纲设计或程序逆向工程的产物。概念编程图是一个独立于平台的模型(PIM模型),它基于各种程序组件的名称,如程序、包、类、属性、方法、参数、变量和操作。概念编程地图是用概念编程动作语言和自然语言表达大纲编程语义的思维地图。它不涉及类型和可见性等细节。它已成为程序概念层抽象模型和程序大纲设计工具的表示形式。

骰子游戏程序的概念规划图如下:

以下将以该模型为例,介绍并展示基于组件的项目概念模型分析的层次、过程和原则。

2.成分分析水平

它由包、类、方法和过程组成。因此,基于组件的概念程序模型的分析层次可以分为五个基本的规范层次:程序、包、类、方法和过程。为了表达程序从属包与类从属方法之间的从属关系,规定在包和方法定义语句前,程序名和类名应分别用中文“=”作为包和方法的从属标记。

对于上述骰子游戏程序概念模型,添加了带有包和方法成员标记的概念编程图,如下所示:

程序组件是最高级别的组件,它被表示为以程序名为根、程序描述和包定义为子节点的层次结构。骰子游戏程序组件的分析表示如下图所示:

Packagecomponent是一个次高级组件,它由以programmembership作为根标记的包名表示,导入节点和类定义用作子节点的层次结构。骰子游戏程序的唯一默认包组件的分析表示如下:

类组件是一个中间级组件,它被表示为一个两级层次结构,类名作为根,成员属性和方法定义作为子节点。骰子游戏程序默认包下三个类组件的解析表达式如下:

方法组件是一种低级组件,它以类成员标记的方法为根,操作和过程为子节点,表示为一个多级层次结构。三类骰子游戏的所有四种方法组件的分析表示如下:

流程是由基本操作和子流程组成的操作片段。流程组件是最底层的组件,它以流程描述为根,操作和子流程为子节点,表示为一个多级层次结构。骰子游戏方法共有10个过程组件,其分析表达式如下:

3.分析组件化过程

概念性项目模型的分析和组件化过程可分为以下七个步骤:

第一步:获取概念规划图。如果有程序代码,可以通过北软逆向工程和正向工程智能服务,将程序源代码智能转化为初始概念编程图,然后通过手动添加程序名的过程语义,得到一个更具可重用性的概念编程图模型,程序描述和操作片段。

第2步:在概念编程图上的包和方法节点中添加一个带有“”的成员标记。在包中添加“程序名”成员标记,在方法中添加“类名”成员标记。

第3步:分析流程组件。从底部流程分析流程组件,并从概念程序模型中剪切分析流程组件的子节点。如果存在流程嵌套,则重复此步骤,直到解析所有流程组件。

第4步:分析方法组件。从顶层流程开始,逐个分析方法组件,并从概念程序模型中剪切分析方法组件的子节点。如果有多个方法,则迭代此步骤,直到解析所有方法组件。

概念模型设计

第5步:分析类组件。从步骤4中的概念程序模型中,逐个分析类组件,并从概念程序模型中剪切分析类组件的子节点。如果有多个类,则迭代此步骤,直到解析所有类组件。

第6步:解析包组件。从步骤5中的概念程序模型中,逐个分析包组件,并从概念程序模型中剪切包组件的子节点。如果有多个包,则重复此步骤,直到解析所有包组件。

第7步:解析程序组件。第6步结束时留下的概念程序模型是最终解决的程序组件。

4.分析组件化原理

概念程序模型的分析组件化应遵循以下原则:

(1)分层规范分析原则:程序是由五个不同级别的程序组件组成的规范层次结构:自身、包、类、方法和过程。程序组件的分析还应反映程序组件的规范级要求。

(2)相邻层分析原则:对程序、包、类、方法和过程进行多级组件分析的基本要求是相邻层分析原则,即程序组件只解析为包,不能包含包下的内容;包组件只能解析为类,不能包含类以下的内容;类组件只能解析为其属性和方法,不能包含以下内容;方法组件只解析到其基本操作和最高级别的流程,不能包含低于最高级别流程的内容;流程组件只解析其基本操作和子流程,不能包含子流程的以下内容。底部流程组件仅包括其基本操作。

(3)会员标识原则:为了解决同名包和方法的标识和误匹配问题,要求在定义包和方法之前添加会员标识。

(4)实例分析原理:对于程序、包、类和方法组件,需要分析基于组件名称的实例组件。

(5)模式分析原则:尽可能提取和参数化流程组件的更改部分,并将其定义为流程模式组件,以提高可重用性。

5.结论

基于构件的概念程序模型分析将得到不同层次的实例构件和模式构件。通过进一步的自动处理,将这些组件转化为可重用组件的识别和转换规则,并放入支持辅助设计的组件知识库中。

开发的概念程序模型分析组件自动提取工具和组件到重用规则的自动转换工具将为组件知识库的构建提供自动化和工业化的生产条件,有助于快速实现可重用构件库的大规模、实用化建设。

您可以还会对下面的文章感兴趣

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友