一种基于软件元模型构造软件模型的通用软件建模方法技术

技术编号:12798785 阅读:112 留言:0更新日期:2016-01-30 20:06
本发明专利技术公开了一种基于软件元模型构造软件模型的通用软件建模方法,在确定软件元模型基础组元后通过以软件层级模型、软件接口模型、软件交互模型、软件算法模型、软件流程模型、软件传输模型为步骤要素构造软件模型,为各个领域提供具有运算性、通用性、易用性优点的软件建模规范:本发明专利技术构造的软件模型结构清晰,层次可调,建模粒度可控,具有可被运算的充分一致性;方法统一,既方便自顶向下分析设计,也方便自底向上实现集成,适用于各种软件系统建模;建模要素数量少,建模方法简单,即使不了解建模语言和计算机程序语言的普通领域人员,也能独立轻松构造软件模型,免除了对专业建模人员或程序开发人员的依赖和沟通,建模时间大大缩短。

【技术实现步骤摘要】
一种基于软件元模型构造软件模型的通用软件建模方法
本专利技术涉及软件工程
,具体是一种基于软件元模型构造软件模型的通用软件建模方法和计算机程序产品。
技术介绍
在信息技术高度发达的今天,软件对人类的生活和发展起着越来越重要的作用。软件方法在经历了面向函数、面向过程等发展阶段之后,面向对象的软件方法已经相当成熟,并成为当前的主流软件方法。随着软件系统越来越复杂,面向对象的方法暴露出越来越多的不足,模型驱动方法成为人们追求的理想软件设计方法。模型驱动的软件方法的核心思想是:开发者专注于构造软件模型,将知识表达为软件模型,软件模型转化为计算机可运行的程序的代码工作交给计算机自动完成。模型驱动的理念虽然早就提出,最近二十年的努力之下,模型驱动方法在业界还基本上存在于理念和口号与探索层面,实际应用还是采用面向对象方法。模型驱动发展缓慢的根本原因是缺乏一个能够支持简单有效地构造软件模型的方法。其实,不管是那种软件方法,软件建模都是软件开发的核心活动。在软件建模的实践活动中,人们发现这些软件模型共享了很多共同的构造,通过对这些软件模型进行抽象,可以得到这些软件模型都遵循的模型,称为软件元模型。软件元模型是关于软件模型的模型,是软件模型的抽象,提供一套构造软件模型所需要的基本要素和规则,用作软件建模的规范,自然对于软件模型的质量和软件建模的效率具有决定性的作用。因此,人们一直致力于软件元模型的研究。OMG提出的MOF是关于软件建模的系统研究,被业界广泛认同。MOF包含一套四层模型描述机制,其中的M1层即为软件元模型。UML(统一建模语言,UnifiedModelingLanguage)属于M1层,是当前主流的面向对象可视化建模语言工业标准。UML虽然明确地声明不是一种方法论,不提供任何软件建模方法,只是一种描述建模方法的图形式描述语言配合软件建模方法,但实际上很大程度上被人们当成软件元模型来使用。遗憾的是,UML存在如下的缺陷:第一,非运算性:UML声称为创建模型提供了大量的灵活性,但其本质是由于缺乏严谨的理论支撑,无法保证利用UML能够获得足够完整的一致性模型。利用UML构造的软件模型不具有可运算性,即缺乏采用自动代码生成技术自动转换成计算机可运行软件的充分和一致性信息,要获得可以计算机可运行软件必须最终由人工通过代码的形式进行编辑;这个缺陷也使得UML只能成为一种软件模型的辅助性表示工具,而不能成为真正的软件元模型;第二,代码导向:虽然UML声称是独立于具体语言和平台的模型描述语言,但本质上UML基本上是面向程序员采用面向对象的编程语言进行程序分析和设计的表达工具。这种面向程序员的代码导向特点,使得“重实现、轻业务”成为软件开发的行业痼疾。第三,难以使用:UML创造了的概念、大量的关系和大量的图。这些概念、关系、图之间的关系又多又松散。UML本意是面向程序人员所设计,其复杂和混乱不仅程序员很难掌握,领域人员更无法理解,远不能满足软件建模实践的需要。随着知识工程的潮流的逐渐兴起,本体元模型最近成为研究热点。本体被定义为概念模型的明确的规范说明。本体元模型以概念为核心要素,以形式语言为描述手段,以形式逻辑为推理手段,可以有效地确定领域内共同认可的概念,并给出这些概念和概念之间相互关系的明确定义。本体元模型侧重于概念体系的建立,应用与信息知识分类、表达、推理。本体元模型理论的建模元语包括概念、关系、函数、公理、实例,从知识管理的角度提供了一个理论框架;国际标准ISO/IEC19763(互操作性元模型框架MFI)提供了从以概念本体、过程本体为核心知识管理规范,以及以本体注册元模型、过程模型注册元模型为核心的信息共享规范;而中国专利申请200610125050.8提供了基于ISO/IEC19763中的本体注册元模型、过程模型注册元模型和Protege本体描述工具面向WEB服务进行领域需求建模的应用方法。从软件建模的观点来看,第一,本体元模型侧重于知识管理和信息共享,并不侧重于通用性的软件建模;第二,本体元模型采用费解的形式化语言,不容易被领域人员掌握。总的看来,尽管模型驱动方法用作一种理想的软件开发方法得到普遍的认同,但是目前还缺乏一种容易被普通领域人员理解和掌握的软件元模型,提供通用性的软件建模规范,支持各种领域软件建模活动,以构造具有可运算性的软件模型,以便通过自动代码生成技术将软件模型自动转换成计算机可以运行的软件,使模型驱动软件方法落到实处。
技术实现思路
鉴于现有技术的以上缺点,本专利技术的目的是提供一种基于软件元模型构造软件模型的通用软件建模方法,在确定软件元模型基础组元后通过软件层级模型、软件接口模型、软件交互模型、软件算法模型、软件流程模型、软件传输模型为步骤要素构成的软件模型完成构造;采用跨领域的基础性模件,构造各种特定领域的软件模型;为各种领域建模活动提供了一种容易被普通领域人员理解和掌握的通用性软件建模规范。本专利技术的目的是通过如下的手段实现的。一种基于软件元模型构造软件模型的通用软件建模方法,基于一个含有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包含一组可以被计算机的处理器所执行的指令,通过对一个软件元模型定义的用作描述软件模型的数据进行处理来构造软件模型,所述的软件模型是描述软件系统的模型,其所用的软件元模型包含如下组元:软件层级模件:以由软件构件类型为节点的树形结构描述软件模型的软件层级模型,并在实际软件建模环境中用作模板配置形成软件模型的软件层级模型;所述软件层级模型是指软件模型中以软件构件类型为节点组成的层级关系;所述软件构件类型是指一组具有相同外部特征的软件构件实例;所述由软件构件类型为节点的树形结构称为层级树;软件接口模件:以属性集、功能集、事件集三部分结构描述软件接口模型,并在实际软件建模环境中用作模板配置形成软件接口模型;所述软件接口模型是指软件构件类型的外部特征;所述功能集中的功能包括软件交互功能、软件算法功能、软件流程功能三种形式;软件交互功能的实现方式由软件交互模型提供;软件算法功能的实现方式由软件算法模型提供;软件流程功能的实现方式由软件流程模型与传输模型相组合提供;软件交互模件:以交互元为节点的树形结构描述软件交互模型,并在实际建模环境中用作模板配置形成软件交互模型;所述软件交互模型是指利用交互元组合实现软件交互功能的方式描述;所述交互元是指具有与实际软件建模环境进行信息交互的功能单元;软件算法模件:以算元为节点的树形结构描述软件算法模型,并在实际软件建模环境中用作模板配置形成软件算法模型;所述软件算法模型是指利用算元组合实现软件算法功能的算法描述;所述算元是指预先实现的具有特定功能的构件;软件流程模件:以活动为节点进行组合描述软件流程模型,并在实际软件建模环境中用作模板配置软件流程模型;所述软件流程模型是指利用活动组合实现软件流程功能的方式描述;所述活动是指功能的一次执行;软件传输模件:采用包括输入传输集、输出传输集的两各传输集描述软件传输模型,并在实际软件建模环境中用作模板配置形成软件传输模型;所述软件传输模型是指所涉活动的数据传递关系;所述传输集中的传输为一个属性和另一个属性之间的数据传递关系;采用上述六个模件构造软件模型的具体步骤如下:1)本文档来自技高网
...
一种基于软件元模型构造软件模型的通用软件建模方法

【技术保护点】
一种基于软件元模型构造软件模型的通用软件建模方法,基于一个含有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包含一组可以被计算机的处理器所执行的指令,通过对一个软件元模型定义的用作描述软件模型的数据进行处理来构造软件模型,所述的软件模型是描述软件系统的模型,其所用的软件元模型包含如下组元:软件层级模件:以由软件构件类型为节点的树形结构描述软件模型的软件层级模型,并在实际软件建模环境中用作模板配置形成软件模型的软件层级模型;所述软件层级模型是指软件模型中以软件构件类型为节点组成的层级关系;所述软件构件类型是指一组具有相同外部特征的软件构件实例;所述由软件构件类型为节点的树形结构称为层级树;软件接口模件:以属性集、功能集、事件集三部分结构描述软件接口模型,并在实际软件建模环境中用作模板配置形成软件接口模型;所述软件接口模型是指软件构件类型的外部特征;所述功能集中的功能包括软件交互功能、软件算法功能、软件流程功能三种形式;软件交互功能的实现方式由软件交互模型提供;软件算法功能的实现方式由软件算法模型提供;软件流程功能的实现方式由软件流程模型与传输模型相组合提供;软件交互模件:以交互元为节点的树形结构描述软件交互模型,并在实际建模环境中用作模板配置形成软件交互模型;所述软件交互模型是指利用交互元组合实现软件交互功能的方式描述;所述交互元是指具有与实际软件建模环境进行信息交互的功能单元;软件算法模件:以算元为节点的树形结构描述软件算法模型,并在实际软件建模环境中用作模板配置形成软件算法模型;所述软件算法模型是指利用算元组合实现软件算法功能的算法描述;所述算元是指预先实现的具有特定功能的构件;软件流程模件:以活动为节点进行组合描述软件流程模型,并在实际软件建模环境中用作模板配置软件流程模型;所述软件流程模型是指利用活动组合实现软件流程功能的方式描述;所述活动是指功能的一次执行;软件传输模件:采用包括输入传输集、输出传输集的两个传输集描述软件传输模型,并在实际软件建模环境中用作模板配置形成软件传输模型;所述软件传输模型是指所涉活动的数据传递关系;所述传输集中的传输为一个属性和另一个属性之间的数据传递关系;采用上述六个模件构造软件模型的具体步骤如下:1)构造软件层级模型:软件层级模件读入从实际软件建模环境送来的软件层级模型操作信息,所述软件层级模型操作信息是指如新建软件构件类型、添加软件构件类型、选择软件构件类型、命名软件构件类型、删除软件构件类型的操作信息,软件层级模件响应软件层级模型操作信息对层级树的软件构件类型节点进行相应操作而获得软件层级模型;2)构造软件接口模型:对步骤1)得到的软件层级模型中的软件构件类型逐一构造软件接口模型,各软件接口模型的构造步骤包括:软件接口模件读入从实际软件建模环境送来的软件接口模型操作信息;所述软件接口模型操作信息是指对属性、功能、事件进行如新建、命名、删除的操作信息,软件接口模件响应软件接口模型操作信息进行相应操作而获得软件接口模型;实现软件交互功能的软件交互模型由步骤3)构造,实现软件算法功能的软件算法模型由步骤4)构造,实现软件流程功能的软件流程模型由步骤5)构造;3)构造软件交互模型:对步骤2)中得到的软件交互功能逐一构造软件交互模型,各软件交互模型的构造步骤包括:软件交互模件读入从实际软件建模环境送来的软件交互模型操作信息;4)构造软件算法模型:对步骤2)中得到的软件算法功能逐一构造软件算法模型,各软件算法模型的构造步骤包括:软件算法模件读入从实际软件建模环境送来的软件算法模型操作信息;5)构造软件流程模型:对步骤2)中得到的软件流程功能逐一构造软件流程模型,各软件流程模型的构造步骤包括:软件流程模件读入从实际软件建模环境送来的软件流程模型操作信息;6)构造软件传输模型:对步骤5)中得到的软件流程模型中的活动逐一构造软件传输模型,各软件传输模型的构造步骤包括:软件传输模件读入从实际软件建模环境送来的软件传输模型操作信息;所述软件传输模型操作信息是指如添加传输、选择传输、删除传输的操作信息,软件传输模件响应软件传输模型操作信息进行相应操作而获得软件传输模型;至此,由软件层级模型、软件接口模型、软件交互模型、软件算法模型、软件流程模型、软件传输模型为要素所构成的软件模型构造完成。...

【技术特征摘要】
1.一种基于软件元模型构造软件模型的通用软件建模方法,基于一个含有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包含一组可以被计算机的处理器所执行的指令,通过对一个软件元模型定义的用作描述软件模型的数据进行处理来构造软件模型,所述的软件模型是描述软件系统的模型,其所用的软件元模型包含如下组元:软件层级模件:以由软件构件类型为节点的树形结构描述软件模型的软件层级模型,并在实际软件建模环境中用作模板配置形成软件模型的软件层级模型;所述软件层级模型是指软件模型中以软件构件类型为节点组成的层级关系;所述软件构件类型是指一组具有相同外部特征的软件构件实例;所述由软件构件类型为节点的树形结构称为层级树;软件接口模件:以属性集、功能集、事件集三部分结构描述软件接口模型,并在实际软件建模环境中用作模板配置形成软件接口模型;所述软件接口模型是指软件构件类型的外部特征;所述功能集中的功能包括软件交互功能、软件算法功能、软件流程功能三种形式;软件交互功能的实现方式由软件交互模型提供;软件算法功能的实现方式由软件算法模型提供;软件流程功能的实现方式由软件流程模型与传输模型相组合提供;软件交互模件:以交互元为节点的树形结构描述软件交互模型,并在实际建模环境中用作模板配置形成软件交互模型;所述软件交互模型是指利用交互元组合实现软件交互功能的方式描述;所述交互元是指具有与实际软件建模环境进行信息交互的功能单元;软件算法模件:以算元为节点的树形结构描述软件算法模型,并在实际软件建模环境中用作模板配置形成软件算法模型;所述软件算法模型是指利用算元组合实现软件算法功能的算法描述;所述算元是指预先实现的具有特定功能的构件;软件流程模件:以活动为节点进行组合描述软件流程模型,并在实际软件建模环境中用作模板配置软件流程模型;所述软件流程模型是指利用活动组合实现软件流程功能的方式描述;所述活动是指功能的一次执行;软件传输模件:采用包括输入传输集、输出传输集的两个传输集描述软件传输模型,并在实际软件建模环境中用作模板配置形成软件传输模型;所述软件传输模型是指所涉活动的数据传递关系;所述传输集中的传输为一个属性和另一个属性之间的数据传递关系;采用上述六个模件构造软件模型的具体步骤如下:1)构造软件层级模型:软件层级模件读入从实际软件建模环境送来的软件层级模型操作信息,所述软件层级模型操作信息是指如新建软件构件类型、添加软件构件类型、选择软件构件类型、命名软件构件类型、删除软件构件类型的操作信息,软件层级模件响应软件层级模型操作信息对层级树的软件构件类型节点进行相应操作而获得软件层级模型;2)构造软件接口模型:对步骤1)得到的软件层级模型中的软件构件类型逐一构造软件接口模型,各软件接口模型的构造步骤包括:软件接口模件读入从实际软件建模环境送来的软件接口模型操作信息;所述软件接口模型操作信息是指对属性、功能、事件进行如新建、命名、删除的操作信息,软件接口模件响应软件接口模型操作信息进行相应操作而获得软件接口模型;实现软件交互功能的软件交互模型由步骤3)构造,实现软件算法功能的软件算法模型由步骤4)构造,实现软件流程功能的软件流程模型由步骤5)构造;3)构造软件交互模型:对步骤2)中提到的软件交互功能逐一构造软件交互模型,各软件交互模型的构造步骤包括:软件交互模件读入从实际软件建模环境送来的软件交互模型操作信息;4)构造软件算法模型:对步骤2)中提到的软件算法功能逐一构造软件算法模型,各软件算法模型的构造步骤包括:软件算法模件读入从实际软件建模环境送来的软件算法模型操作信息;5)构造软件流程模型:对步骤2)中提到的软件流程功能逐一构造软件流程模型,各软件流程模型的构造步骤包括:软件流程模件读入从实际软件建模环境送来的软件流程模型操作信息;6)构造软件传输模型:对步骤5)中得到的软件流程模型中的活动逐一构造软件传输模型,各软件传输模型的构造步骤包括:软件传输模件读入从实际软件建模环境送来的软件传输模型操作信息;所述软件传输模型操作信息是指如添加传输、选择传输、删除传输的操作信息,软件传输模件响应软件传输模型操作信息进行相应操作而获得软件传输模型;至此,由软件层级模型、软件接口模型...

【专利技术属性】
技术研发人员:符长明龙春生唐鸿
申请(专利权)人:成都普中软件有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1