会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑编程 / 计算机程序 / 设计计算机程序

设计计算机程序

阅读:313发布:2020-05-11

IPRDB可以提供设计计算机程序专利检索,专利查询,专利分析的服务。并且设计计算机程序包括访问不变的域规则和显示可变的业务规则。响应于用户选择来选择一个或多个业务规则,并对业务规则进行定制。业务规则被与一个过程相关联,并且域规则被与该过程相关联。表示该过程的模型被显示,并且与该过程相对应的代码被生成以设计计算机程序。,下面是设计计算机程序专利的具体信息内容。

1.一种用于设计计算机程序的方法,包括:访问多个域规则,每个域规则是不变的;

显示多个业务规则,每个业务规则是可变的;

响应于用户选择来选择所述多个业务规则中的一个或多个业务规则;

定制所述一个或多个业务规则;

将所述一个或多个业务规则与过程相关联;

将所述域规则与所述过程相关联;

显示表示所述过程的模型;并且生成与所述过程相对应的代码以设计计算机程序。

2.如权利要求1所述的方法,还包括:收集所述域规则和所述业务规则;

将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

3.如权利要求1所述的方法,还包括:检查所述代码的语法;并且

如果检测到语法错误则提供通知。

4.如权利要求1所述的方法,还包括:检查所述代码的逻辑一致性;并且如果检测到逻辑不一致之处则提供通知。

5.如权利要求1所述的方法,还包括:检查所述模型和所述代码之间的兼容性;并且如果检测到不一致之处则提供通知。

6.如权利要求1所述的方法,其中所述模型是根据公共建模语言来表 达的。

7.用于设计计算机程序的逻辑,该逻辑被包含在介质中并且可操作以 用于:访问多个域规则,每个域规则是不变的;

显示多个业务规则,每个业务规则是可变的;

响应于用户选择来选择所述多个业务规则中的一个或多个业务规则;

定制所述一个或多个业务规则;

将所述一个或多个业务规则与过程相关联;

将所述域规则与所述过程相关联;

显示表示所述过程的模型;并且生成与所述过程相对应的代码以设计计算机程序。

8.如权利要求7所述的逻辑,还可操作以用于:收集所述域规则和所述业务规则;

将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

9.如权利要求7所述的逻辑,还可操作以用于:检查所述代码的语法;并且

如果检测到语法错误则提供通知。

10.如权利要求7所述的逻辑,还可操作以用于:检查所述代码的逻辑一致性;并且如果检测到逻辑不一致之处则提供通知。

11.如权利要求7所述的逻辑,还可操作以用于:检查所述模型和所述代码之间的兼容性;并且如果检测到不一致之处则提供通知。

12.如权利要求7所述的逻辑,其中所述模型是根据公共建模语言来 表达的。

13.一种用于设计计算机程序的系统,包括:数据库,其可操作以用于存储多个域规则,每个域规则是不变的;以 及服务器,其耦合到所述数据库并且可操作以用于:显示多个业务规则,每个业务规则是可变的;

响应于用户选择来选择所述多个业务规则中的一个或多个业务规 则;

定制所述一个或多个业务规则;

将所述一个或多个业务规则与过程相关联;

将所述域规则与所述过程相关联;

显示表示所述过程的模型;并且生成与所述过程相对应的代码以设计计算机程序。

14.如权利要求13所述的系统,所述服务器还可操作以用于:收集所述域规则和所述业务规则;

将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

15.如权利要求13所述的系统,所述服务器还可操作以用于:检查所述代码的语法;并且

如果检测到语法错误则提供通知。

16.如权利要求13所述的系统,所述服务器还可操作以用于:检查所述代码的逻辑一致性;并且如果检测到逻辑不一致之处则提供通知。

17.如权利要求13所述的系统,所述服务器还可操作以用于:检查所述模型和所述代码之间的兼容性;并且如果检测到不一致之处则提供通知。

18.如权利要求13所述的系统,其中所述模型是根据公共建模语言来 表达的。

19.一种用于设计计算机程序的系统,包括:用于访问多个域规则的装置,每个域规则是不变的;

用于显示多个业务规则的装置,每个业务规则是可变的;

用于响应于用户选择来选择所述多个业务规则中的一个或多个业务规 则的装置;

用于定制所述一个或多个业务规则的装置;

用于将所述一个或多个业务规则与过程相关联的装置;

用于将所述域规则与所述过程相关联的装置;

用于显示表示所述过程的模型的装置;以及用于生成与所述过程相对应的代码以设计计算机程序的装置。

20.一种用于设计计算机程序的方法,包括:收集多个域规则,将所述域规则分配给多个用例,实现所述用例,根 据所述实现评估所述域规则,并且访问所述域规则,其中每个域规则是不 变的;

显示多个业务规则,每个业务规则是可变的;

响应于用户选择来选择所述多个业务规则中的一个或多个业务规则;

定制所述一个或多个业务规则;

将所述一个或多个业务规则与过程相关联;

将所述域规则与所述过程相关联;

显示表示所述过程的模型,该模型是根据公共建模语言来表达的;

生成与所述过程相对应的代码以设计计算机程序;

检查所述代码的语法,并且如果检测到语法错误则提供通知;

检查所述代码的逻辑一致性,并且如果检测到逻辑不一致之处则提供 通知;并且检查所述模型和所述代码之间的兼容性,并且如果检测到不一致之处 则提供通知。

21.一种用于管理用于设计计算机程序的规则的方法,包括:访问多个规则;

分析所述规则以将多个域规则与多个业务规则分离开来,其中每个域 规则是不变的,每个业务规则是可变的;

存储所述业务规则;并且

响应于对业务规则的请求来提供来自所存储的业务规则中的一个业务 规则。

22.如权利要求21所述的方法,还包括:定制所提供的业务规则;

将定制后的业务规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

23.如权利要求21所述的方法,还包括:将所述域规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

24.如权利要求21所述的方法,还包括:将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

25.一种用于管理用于设计计算机程序的规则的系统,包括:数据库,其可操作以用于存储多个规则;以及服务器,其耦合到所述数据库并且可操作以用于:分析所述规则以将多个域规则与多个业务规则分离开来,其中 每个域规则是不变的,每个业务规则是可变的;

存储所述业务规则;并且

响应于对所述业务规则的请求来提供来自所存储的业务规则中 的一个业务规则。

26.如权利要求25所述的系统,其中所述服务器还可操作以用于:定制所提供的业务规则;

将定制后的业务规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

27.如权利要求25所述的系统,其中所述服务器还可操作以用于:将所述域规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

28.如权利要求25所述的系统,其中所述服务器还可操作以用于:将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

29.用于管理用于设计计算机程序的规则的逻辑,该逻辑被包含在介 质中并且可操作以用于:访问多个规则;

分析所述规则以将多个域规则与多个业务规则分离开来,其中每个域 规则是不变的,每个业务规则是可变的;

存储所述业务规则;并且

响应于对所述业务规则的请求来提供来自所存储的业务规则中的一个 业务规则。

30.如权利要求29所述的逻辑,还可操作以用于:定制所提供的业务规则;

将定制后的业务规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

31.如权利要求29所述的逻辑,还可操作以用于:将所述域规则与过程相关联;并且生成与所述过程相对应的代码以设计计算机程序。

32.如权利要求29所述的逻辑,还可操作以用于:将所述域规则和所述业务规则分配给多个用例;

实现所述用例;并且

根据所述实现评估所述域规则和所述业务规则。

33.一种用于管理用于设计计算机程序的规则的系统,包括:用于访问多个规则的装置;

用于分析所述规则以将多个域规则与多个业务规则分离开来的装置, 其中每个域规则是不变的,每个业务规则是可变的;

用于存储所述业务规则的装置;以及用于响应于对所述业务规则的请求来提供来自所存储的业务规则中的 一个业务规则的装置。

34.一种用于管理用于设计计算机程序的规则的方法,包括:访问多个规则;

分析所述规则以将多个域规则与多个业务规则分离开来,其中每个域 规则是不变的,每个业务规则是可变的;

将所述域规则和所述业务规则分配给多个用例;

实现所述用例;

根据所述实现评估所述域规则和所述业务规则;

存储所述业务规则;

响应于对所述业务规则的请求来提供来自所存储的业务规则中的一个 业务规则;

定制所提供的业务规则;

将定制后的业务规则与过程相关联;

将所述域规则与所述过程相关联;

生成与所述过程相对应的代码以设计计算机程序。

35.一种用于启动计算机程序设计的视图的显示的方法,包括:访问计算机程序设计的多个工件,所述多个工件中的每个工件是用公 共建模语言来表达的;

接收对来自多个视图中的第一视图的选择,所述多个视图中的每个视 图与对所述多个工件的子集的显示相关联;

根据所述第一视图组织工件的第一子集以供显示,该第一子集包括特 定工件;

根据所述第一视图启动所述工件的第一子集的显示;

接收对来自所述多个视图中的第二视图的选择;

根据所述第二视图组织工件的第二子集以供显示,该第二子集包括所 述特定工件;并且根据所述第二视图启动对所述工件的第二子集的显示。

36.如权利要求35所述的方法,其中所述多个工件中的工件包括所述 计算机程序设计的要求。

37.如权利要求35所述的方法,其中:接收对所述第一视图的选择还包括接收对高级工件视图的选择;并且组织所述工件的第一子集还包括根据所述高级工件视图组织所述多个 工件中的多个高级工件。

38.如权利要求35所述的方法,其中:所述第一视图包括高级工件视图,该高级工件视图包括结构视图;并 且所述第二视图包括所述结构视图。

39.如权利要求35所述的方法,其中:所述第一视图包括高级工件视图,该高级工件视图包括行为视图;并 且所述第二视图包括所述行为视图。

40.如权利要求35所述的方法,其中:所述第一视图包括结构视图,该结构视图包括主动类;并且所述第二视图包括行为视图,该行为视图包括所述主动类。

41.一种用于启动计算机程序设计的视图的显示的系统,包括:数据库,其可操作以存储计算机程序设计的多个工件,所述多个工件 中的每个工件是用公共建模语言来表达的;以及服务器,其耦合到所述数据库并且可操作以用于:接收对来自多个视图中的第一视图的选择,所述多个视图中的每个视 图与对所述多个工件的子集的显示相关联;

根据所述第一视图组织工件的第一子集以供显示,该第一子集包括特 定工件;

根据所述第一视图启动对所述工件的第一子集的显示;

接收对来自所述多个视图中的第二视图的选择;

根据所述第二视图组织工件的第二子集以供显示,该第二子集包括所 述特定工件;并且根据所述第二视图启动对所述工件的第二子集的显示。

42.如权利要求41所述的系统,其中所述多个工件中的工件包括所述 计算机程序设计的要求。

43.如权利要求41所述的系统,其中所述服务器还可操作以用于:通过接收对高级工件视图的选择来接收对所述第一视图的选择;并且通过根据所述高级工件视图组织所述多个工件中的多个高级工件来组 织所述工件的第一子集。

44.如权利要求41所述的系统,其中:所述第一视图包括高级工件视图,该高级工件视图包括结构视图;并 且所述第二视图包括所述结构视图。

45.如权利要求41所述的系统,其中:所述第一视图包括高级工件视图,该高级工件视图包括行为视图;并 且所述第二视图包括所述行为视图。

46.如权利要求41所述的系统,其中:所述第一视图包括结构视图,该结构视图包括主动类;并且所述第二视图包括行为视图,该行为视图包括所述主动类。

47.用于启动计算机程序设计的视图的显示的逻辑,该逻辑被包含在 介质中并且可操作以用于:访问计算机程序设计的多个工件,所述多个工件中的每个工件是用公 共建模语言来表达的;

接收对来自多个视图中的第一视图的选择,所述多个视图中的每个视 图与对所述多个工件的子集的显示相关联;

根据所述第一视图组织工件的第一子集以供显示,该第一子集包括特 定工件;

根据所述第一视图启动对所述工件的第一子集的显示;

接收对来自所述多个视图中的第二视图的选择;

根据所述第二视图组织工件的第二子集以供显示,该第二子集包括所 述特定工件;并且根据所述第二视图启动对所述工件的第二子集的显示。

48.如权利要求47所述的逻辑,其中所述多个工件中的工件包括所述 计算机程序设计的要求。

49.如权利要求47所述的逻辑,还可操作以用于:通过接收对高级工件视图的选择来接收对所述第一视图的选择;并且通过根据所述高级工件视图组织所述多个工件中的多个高级工件来组 织所述工件的第一子集。

50.如权利要求47所述的逻辑,其中:所述第一视图包括高级工件视图,该高级工件视图包括结构视图;并 且所述第二视图包括所述结构视图。

51.如权利要求47所述的逻辑,其中:所述第一视图包括高级工件视图,该高级工件视图包括行为视图;并 且所述第二视图包括所述行为视图。

52.如权利要求47所述的逻辑,其中:所述第一视图包括结构视图,该结构视图包括主动类;并且所述第二视图包括行为视图,该行为视图包括所述主动类。

53.一种用于启动计算机程序设计的视图的显示的系统,包括:用于访问计算机程序设计的多个工件的装置,所述多个工件中的每个 工件是用公共建模语言来表达的;

用于接收对来自多个视图中的第一视图的选择的装置,所述多个视图 中的每个视图与对所述多个工件的子集的显示相关联;

用于根据所述第一视图组织工件的第一子集以供显示的装置,该第一 子集包括特定工件;

用于根据所述第一视图启动对所述工件的第一子集的显示的装置;

用于接收对来自所述多个视图中的第二视图的选择的装置;

用于根据所述第二视图组织工件的第二子集以供显示的装置,该第二 子集包括所述特定工件;以及用于根据所述第二视图启动对所述工件的第二子集的显示的装置。

54.一种用于启动计算机程序设计的视图的显示的方法,包括:访问计算机程序设计的多个工件,所述多个工件中的每个工件是用公 共建模语言来表达的,所述多个工件中的工件包括所述计算机程序设计的 要求;

接收对来自多个视图中的第一视图的选择,所述多个视图中的每个视 图与对所述多个工件的子集的显示相关联,该第一视图包括高级工件视 图,该高级工件视图包括结构视图和行为视图;

根据所述第一视图组织工件的第一子集以供显示,该第一子集包括特 定工件;

根据所述第一视图启动对所述工件的第一子集的显示;

接收对来自所述多个视图中的第二视图的选择,该第二视图包括所述 结构视图和所述行为视图中的至少一个;

根据所述第二视图组织工件的第二子集以供显示,该第二子集包括所 述特定工件;并且根据所述第二视图启动对所述工件的第二子集的显示。

说明书全文

技术领域

本发明一般地涉及计算机领域,更具体地涉及设计计算机程序

背景技术

设计计算机程序可能涉及生成阐明计算机程序的要求的域规则 (domain rule)集合。已知的用于设计计算机程序的技术通常涉及生成域 规则的有界集合。但是,域规则的有界集合可能导致效率低下且无效的计 算机程序设计。因此,已知的用于设计计算机程序的技术在某些情形下可 能是不能令人满意的。

发明内容

根据本发明,可减少或消除与现有的用于设计计算机程序的技术相关 联的缺点和问题。
根据本发明的一个实施例,设计计算机程序包括访问不变的域规则和 显示可变的业务规则。响应于用户选择来选择一个或多个业务规则,并对 业务规则进行定制。业务规则被与过程相关联,并且域规则被与该过程相 关联。表示该过程的模型被显示,并且与该过程相对应的代码被生成以设 计计算机程序。
根据本发明的另一个实施例,管理用于设计计算机程序的规则包括访 问多个规则。这些规则被分析以将域规则与业务规则分离开来,其中每个 域规则是不变的,每个业务规则是可变的。业务规则被存储。响应于对业 务规则的请求从所存储的业务规则中提供一个业务规则。
本发明的某些实施例可提供一个或多个技术优点。一个实施例的技术 优点是在生成最终代码前确定了域规则的完整集合。该完整集合可用于限 定问题空间,从而提供了对计算机程序的更高效和有效的设计。
本发明的某些实施例可不包括上述技术优点,或者包括上述技术优点 中的某些或全部。本领域的技术人员从这里包括的附图、说明书和权利要 求书中易于看出一个或多个其他技术优点。

附图说明

为了更全面理解本发明及其特征和优点,现结合附图参考以下描述, 附图中:
图1是示出用于设计计算机程序的系统的一个实施例的框图;
图2是示出用于设计计算机程序的方法的一个实施例的流程图;
图3是示出存储在数据库处的高级工件(artifact)之间的关系的一个 实施例的图;
图4是示出结构视图的一个实施例的图;
图5是行为视图的一个实施例的图;以及
图6是示出用于生成域规则的方法的一个实施例的流程图。

具体实施方式

通过参考附图中的图1至6可获得对本发明的实施例及其优点的最佳 理解,在各幅附图中相同的标号被用于类似和相应的部件。此文档中使用 的“每个”是指集合的每个成员或者集合的子集的每个成员。
图1是示出用于设计计算机程序的系统10的一个实施例的框图。一 般而言,在生成基本上完整的域规则集合以限定计算机程序设计的问题空 间时涉及到了系统10。不变的域规则和可定制的业务规则被用于设计程 序。
根据图示实施例,系统10包括一个或多个客户端系统20、服务器系 统24和数据库28,其耦合方式如图1所示。客户端系统20允许用户与服 务器系统24通信以便设计计算机程序。服务器系统24管理用于设计计算 机程序的应用,例如图形用户界面30、域规则生成模块34、业务规则编 辑器38、建模工具40、代码生成器44和报告生成器48。数据库28存储 可能被服务器系统24使用的数据。数据库28例如可以包括域规则50、业 务规则54、形式方法58、公共建模语言60、模型64和代码68。
在操作中,域规则生成模块34生成域规则50的基本上完整的集合, 该集合包括可用于限定域的不变规则。业务规则编辑器38被用于为特定 计算机程序定制业务规则54。建模工具40可以使用可根据公共建模语言 60来表达的域规则50、业务规则54和形式方法58,以生成模型64。用 户可操纵模型64以设计计算机程序。代码生成器44根据模型64生成代码 68,并且还可进行操作以便就语法兼容性和一致性对代码68和模型64进 行检查。报告生成器48可用于生成描述计算机程序的报告。
根据一个实施例,系统10可进行操作以利用面向对象的技术来设计 计算机程序。根据面向对象的技术,计算机程序可被视为代表实体的分立 对象的集合,其中实体是与其他对象交互的数据结构和例程的自包含集 合。面向对象的编程既涉及分析又涉及设计。面向对象的分析识别组件对 象和系统要求,并且描述组件对象和系统要求如何交互以执行特定任务。 通常,分析尝试再度使用现有方案。设计涉及创建这样一个计算机程序, 在该计算机程序中,对象可高效适用于执行任务。
根据图示实施例,客户端系统20可允许一个或多个用户同时设计计 算机程序。用户可包括设计者、利益相关者(stakeholder)或任何其他个 人或标识个人的标识物。利益相关者可包括来自诸如网络、硬件、软件、 人类因素或数据库领域之类的多个领域中的任何一个的工程师。图形用户 界面30允许客户端系统20的用户访问服务器系统24的应用。
域规则生成模块34生成域规则50。域规则50包括限定可用于确定问 题空间和方案空间的域的不变规则。域规则的基本上完整的集合可预期基 本上所有可能的域应用,并且可提供一个框架,方案空间的基本上所有方 案的都可从该框架生成。可根据任何适当的过程来选择域规则50,并且可 以通过设计进程的连续迭代来生成域规则50。
表1列出了来自会计理论的域规则50的示例。
表1
  域规则   规定性描述
  对偶性   用相应的减量抵销资源的每个增量,反之亦然。通过   传入采购和现金收入来表征增量,通过传出销售和现   金支付来表征相应的减量   会计方程   确保资产=债务+所有者的资产净值   收益方程   确保收入-支出=净收益(或净亏损)   会计周期   确保会计周期结束日期和会计周期开始日期之间的交   易有效日期   权责发生制   基于发生相应采购或销售事件的时间而不是基于收入   或支付现金的时间来计算支出或收入部分   实现   基于接收物理项目或服务的时间来识别发生支出的时   间   匹配   以相关联的支出匹配会计周期中发生的收入   货币度量   通过将所有度量翻译成货币单位来为所有计算提供公   共度量单位   实体   限定为其保持账目并做出报告的组织的界限   持续经营   基于组织将会无限期地继续其当前操作这一假设而不   是基于当前清算价值来准备金融报告   成本   基于原始成本而不是当前价值或者为通货膨胀或通货   紧缩而调整后的价值的价值资产   一致性   在不同的会计周期中对于一种事件或资产不改变会计   方法   保守性   识别收入和增益的速度慢于识别支出和亏损的速度   实质性   不度量或记录不重要的事件,应用一致性和保守性来   确定重要性
表2列出来自军事理论的域规则50的示例。
表2
  域规则   规定性描述   设定目标   将每个军事任务都对准一个明确限定的、决定性的、可达   的目标。战斗中的适当目标是摧毁敌人的战斗力。但是,   为了完成这一点,必须给予下属指挥官他们朝其移动的地   面目标   采取进攻   抓住、保持和发挥主动权。进攻行动是达到明确限定的共   同目标的最有效和决定性的方式。   集结效果   集结在决定性的地点和时间同步采用压倒性的战斗力的效   果以赢得目标。在决定性的地点和时间实现军事优势。集   结一般是通过调遣获得的。   经济地使用武   力   以可能实现的最有效的方式采用所有可用的战斗力来赢得   目标。为次要努力分配最小限度的基本战斗力。   调遣战斗力   通过灵活应用战斗力将敌人置于不利位置。定位军事资源   以帮助完成任务。   利用命令统一   性   指派负责与军事行动相关的所有活动的单个决策者。将所   有活动集中在单个目标上。   万无一失   决不允许敌人获取意外优势。   利用突袭   在敌人没有准备的时间、地点或者以敌人没有准备的方式   发动攻击。在敌人能够做出有效反应之前实现目的。   利用简单性   准备清楚不复杂的计划和清楚简洁的命令以确保彻底理解
域规则生成模块34可识别域的边界,并且确定符合要求的系统间的 共同点和变化。可以按照域规则和功能来限定域的边界和要求。功能可包 括相关子功能、方法、进程和过程(procedure)。
业务规则54包括可被定制以适应特定应用的规则。业务规则例如可 包括作战规则、任务计划或资源管理规则。虽然域规则50是不变的,但 是业务规则54是可定制的。例如,域规则可包括战争原则,而业务规则 54可包括作战规则。
表3给出用于会计理论的示例性业务规则。
表3
  业务规则   规定性指示   金融性的-遵循预算   政策   如果请求导致所负担的总货币量大于预算,则拒   绝请求   运营性的-遵循授权   政策   如果采购订单量超过采购代理的签署权力,则拒   绝该采购订单   规章性的-遵循税法   和规章   如果对于明细分类账户指定的资产类型不匹配折   旧方法的资产类型,则拒绝该交易。   欺诈-遵循法律和政   策要求   选择指定明细分类账户在指定时段中超过指定货   币量的所有交易,然后处理这些交易的细节以检   测欺诈活动的模式。
表4给出用于军事理论的示例性业务规则。
表4
  作战规则   规定性指示   将武装力量用作最后   的手段   可能时将首先警告敌人并允许其投降。   武装平民只从事自卫。   在没有上级批准的情况下,平民飞机将不会被卷   入战争中,除非它在自卫。   除非挽救US生命需要   否则避免伤及平民   如果可能的话,在任何US攻击之前安排平民撤   退。   如果区域中有平民,则在没有地面调遣指挥官、   LTC或更高级官员的许可的情况下,不对已知或   可疑目标使用炮、迫击炮、武装直升机、AC-   130、管发射式或火箭发射式武器或M551主枪。   如果区域中有平民,则所有空中攻击都必须由   FAC或FO控制。
  如果区域中有平民,则在没有上级批准的情况   下,禁止近距空中支援(CAS)、白磷和燃烧武   器。   如果区域中有平民,则只向已知的敌人位置射   击。   如果区域中没有平民,则可以向可疑敌人位置射   击。   除非挽救US生命需要   否则避免伤及平民财   物   如果没有上级批准,诸如电站、水处理厂、水坝   或其他公用设施之类的公用工程不能被卷入战争   中。   除非在自卫,否则医院、教堂、神殿、学校、博   物馆或其他历史或文化场所将不会被卷入战争   中。   尊重所有平民及其财   物   在使用私有财物之前,检查是否有公有财物可   用。   在没有连级指挥官的批准且没有给出收据的情况   下,不征用平民财物。   如果发出命令的军官能够就财物签订合约,则不   征用该财物。   不掠夺。   如无必要不强行入室。   不睡在平民家中。如果必须睡在私有建筑物中,   让发出命令的军官就其签订合约。   控制参与掠夺的平民   年长的负责人可命令开警告枪。   用最小限度的武力而不是致命的武力来阻止掠夺   者。   必要时用最小限度的武力(包括致命武力)保护   巴拿马人(及其他)
业务规则54可被保存在数据库28处,并且由业务规则编辑器38定 制。例如,业务规则54可被存储在表中,用户可通过修改该表来定义业 务规则54。业务规则编辑器38可用于对业务规则54执行安全性审核、分 析业务规则54、在将新规则添加到数据库28之前检查它们以及将业务规 则54应用到决策支持工具。
形式方法58是可以用形式语法来指定的规则,所述形式语法例如是 一阶或二阶逻辑或集合理论。图形用户界面30可用于利用可视模型来表 示形式方法。
建模工具40生成表示正在设计的计算机程序的模型64,并且例如可 以包括表示具有由计算机程序执行的操作的对象的节点和表示对象间的关 系的支路。代码68包括执行由模型64表示的计算机程序的代码。
建模工具40例如可以包括由RATIONAL SOFTWARE提供的建模工 具,例如RATIONAL ROSE REAL-TIME(RRT)建模和代码生成工具。 建模工具40还可以包括处理要求管理、配置管理、测试、性能优化和文 档编制的工具。
模型64可有效链接到代码68,以使建模工具40可提供模型64的动 态视图,以帮助设计计算机程序。例如,在代码68被运行时,可突出显 示模型64的与正在运行的代码68相对应的节点,例如可以用绿色显示该 节点。又例如,如果在代码68中发现不一致,则可突出显示模型64的与 具有不一致性的代码68相对应的节点。例如,可以用红色显示该节点。 在代码执行时提供的可视指示物可允许对代码68进行可视验证和确认。 结合发表-预订接口使用的可视验证和确认可为保持互用性提供保证。
不同模型64可给出计算机程序的不同视图。模型64例如可以包括确 立程序的上下文的域模型、确立与程序相关联的组织的抽象概念的业务模 型、确立程序的功能性和非功能性要求的用例(use case)模型以及确立程 序的概念性设计的分析模型。模型可以彼此有效链接以反映彼此的各个方 面。例如,域模型可以与较低级模型有效链接,以使较低级模型要求反映 域模型的要求。参考图3至5更详细描述视图的示例。
域规则50、业务规则54和形式方法58可根据公共建模语言60来表 达,该公共建模语言60提供了系统10所使用的数据的公共表示。公共建 模语言60例如可以包括OBJECT MANAGEMETN GROUP支持的统一建 模语言(UML)。
公共建模语言60可被用于通过语法操作或执行组件根据宽泛陈述的 语义要求来表示程序设计的工件,并且可被用于表达来自程序设计的各种 阶段的工件。这些阶段可包括设计的早期阶段,例如,对于使操作自动化 或改变现有自动化系统的请求,这些阶段通常被表达为叙述性描述。诸如 概念探究和定义、要求分析、程序设计和验证以及软件编码和测试之类的 后续阶段也可用公共建模语言60来表达。公共建模语言60提供了设计的 任何阶段的用户都能够理解的工件。因此,用户可以确定程序是否已捕捉 了要求,并且阶段之间的不一致之处可被更有效地解决。
代码生成器44与建模工具40可联合用于以迭代方式生成计算机程序 的代码68。建模工具40可用于生成模型64,代码68是在一次迭代中从 该模型中生成的。在后续的迭代中,可以修改模型64并生成新代码68。 在每次迭代中,可以添加细节或调整要求。每次迭代生成可执行代码68, 该代码可被测试,以提供程序的早期视图,这些早期视图可用于确认程序 的正确操作。早期反馈通过在进程中的早期识别问题,从而可帮助降低风 险。
代码生成器44可包括调试器,该调试器可用于检查代码68的语法, 并且还可用于检测模型64和代码68之间的逻辑不一致处。调试器还可用 于检查代码68是否正确实现了模型64并且满足了形式陈述。
客户端系统20和服务器系统24各自可在一个或多个计算机上操作, 并且可包括适当的输入设备、输出设备、大容量存储介质、处理器、存储 器或其他的用于根据系统10的操作接收、处理、存储和传输信息的组 件。本文档中使用的术语“计算机”是指任何适当的可操作以用于接收输 入、根据预定义的规则处理输入并产生输出的设备,例如个人计算机、工 作站、网络计算机、无线电话、个人数字助理、这些或其他设备内的一个 或多个微处理器或者任何其他适当的处理设备。
根据特定需求,可集成或分离客户端系统20和服务器系统24。例 如,本发明设想利用诸如单个个人计算机这样的单个计算机系统来提供客 户端系统20和服务器系统24二者的功能。如果客户端系统20和服务器系 统24是相分离的,则客户端系统20可用一个或多个局域网(LAN)、城 域网(MAN)、广域网(WAN)、诸如因特网这样的全球计算机网络或 任何其他适当的有线、无线或其他链路被耦合到服务器系统24。
数据库28相对于服务器系统24可以是本地的或远程的,并且可用一 个或多个局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如因 特网这样的全球计算机网络或任何其他适当的有线、无线或其他链路被耦 合到服务器系统24。数据库28的工件可被有效链接以便允许更高效地从 工件生成产品。有效链接可被用于综合计算机程序的分析、设计和实现。
可对该系统进行修改、添加或省略,而不会脱离本发明的范围。另 外,系统的操作可由更多或更少的模块来执行。例如,建模工具40和代 码生成器44的操作可由一个模块来执行,或者建模工具40的操作可由多 于一个模块来执行。此外,可以用包括软件、硬件、其他逻辑或它们的任 何适当的组合在内的任何适当的逻辑来执行功能。
图2是示出用于设计计算机程序的方法的一个实施例的流程图。方法 开始于步骤70处,在这里模型64被显示给用户。在步骤71处,域规则 50被访问。模型表示用户设计的计算机程序。在步骤72处,业务规则54 被显示给用户。在步骤74处,响应于用户的选择来选择业务规则54。在 步骤76处,响应于用户的选择,业务规则54被定制。
在步骤78处,业务规则54被与模型64相关联。如果在步骤80处要 选择下一个业务规则,则方法返回步骤74,在这里下一个业务规则被选 择。如果在步骤80处没有下一个业务规则要选择,则方法前进到步骤 84。在步骤86处,从模型64生成代码68。在每次迭代期间,可对模型 64执行修改。
如果在步骤88处有下一次迭代,则方法返回步骤70,在这里业务规 则54被显示。如果在步骤88处没有下一次迭代,则方法前进到步骤90, 在这里结果被报告。结果可包括从最终确定的模型64生成的代码68。在 报告结果之后,方法终止。
可对该方法进行修改、添加或省略,而不会脱离本发明的范围。另 外,可以按任何适当的顺序执行步骤,而不会脱离本发明的范围。
图3是示出存储在数据库28处的高级工件之间的关系的图100。图 100可被显示在客户端系统20处。文件夹102表示可用于收集包括其他包 (package)在内的元素以便组织开发项目的包。箭头104表示包之间的关 系。注释106表示开发项目期间使用的信息。线105表示对注释106应用 到的文件夹的连接,并且可用于表示业务规则和模型之间的关联。
根据图示实施例,模型元素数据库文件夹102a与用例文件夹102b、 行为视图文件夹102c、部署系统文件夹102d、操作或执行组件文件夹 102e和结构视图文件夹102f相关。部署系统文件夹102d引用操作或执行 组件102e,而操作或执行组件102e又引用行为视图文件夹102c,行为视 图文件夹102c引用用例文件夹102b。
要求注释106a的源向要求标识方法和要求管理器106b提供信息,而 要求标识方法和要求管理器106b又向用例文件夹102b提供信息。综合文 档编制和配置管理工具106c向模型元素数据库102a提供能力和信息,综 合目标平台工具106d向操作或执行组件102e提供信息和能力。
图4和5示出建模工具40可能给出的视图的示例。图4是示出结构视 图120的一个实施例的图。图5是行为视图140的一个实施例的图。视图 120和140是相同程序的不同视图。例如,结构视图120的导出的主动类2 对应于行为视图140的导出的主动类2的实例。
图6是示出用于生成域规则的方法的一个实施例的流程图。该方法通 过捕捉用例中的域规则并在用例实现中分析域规则来生成域规则。可以为 诸如会计信息系统和命令、控制、通信、计算机、智能、监视和侦察 (C4ISR)系统之类的域生成域规则。
在步骤200处域规则被收集。用于会计信息系统的域规则的示例可包 括确保借方金额和贷方金额平衡,用于C4ISR系统的域规则可包括通过灵 活应用战斗力将敌人置于不利位置。可根据理性统一进程(RUP)和统一 开发进程(USDP)来收集域规则。
在步骤202处,从补充源中提取要求。补充源例如可以包括:域的显 式限定;传统子域、功能、方法、进程和过程;以及已确立的处理周期、 业务进程或模式。域的显式限定例如可以包括自然或法定规律、专业组织 发布的标准或规章或被广泛认可的研究者或从业者的作品。可根据与域相 关联的功能将域划分成子域。
处理周期和模式建议应当实现什么功能以及功能及其内的组件应当如 何交互。表5列出用于会计信息系统的处理周期的示例。
表5
  周期名称   描述   花费和现金支付   请购单、采购订单、供应商或销售商发票、接收报   告、书面支票   销售和现金收入   客户订单、提货单发票、客户支票、银行汇票   工资   记时卡片、薪水支票   产品   领料单、人工时间卡片、产品订单、作业清单   设施   支持财物采购的文档、工厂和设备   总分类帐   调整、关闭和更正来自各种馈送周期的条目和输入,   例如来自花费和销售周期的条目和输入   资金筹措   融资,例如钞票、债券协议、普通股发行   投资   股票、债券、CD、回购协议
表6列出用于C4ISR系统的模式的示例。
表6
  名称   描述   计划   在压缩计划周期中将更高级指挥官的意图翻译成特定行动方案   (COA),以便下属元素准备和执行。限定行动的战斗空间区域以   便同步和控制。生成备用行动方案,并对照最可能发生的最危险的   敌对行动对其进行评价。开发任务和活动的同步时间安排以便下属   准备和执行。开发综合联合效果行动计划以包括所有战场功能区
  域。   准备   单位在执行之前进行的改进其实施所计划的行动的能力的活动,包   括计划细化、武力保护、演习、侦察、战士和资源的综合和协调、   视察和移动到计划的位置。   执行   应用战斗力以完成计划的任务,通过评估战斗区域以理解形势来施   加控制以便为战斗管理做出执行和调整决策   评估   在计划、准备和执行期间始终持续监控和评价当前形势和行动进   展。对照成功标准进行评价以做出决策和调整。
在步骤204处,要求被分配给用例。要求可包括功能性和非功能性域 规则。功能性域规则包括由特定功能实现的规则,非功能性域规则包括不 由特定功能直接实现的系统属性。非功能性域规则可以与其他非功能性实 现要求一起被分配给用例,并且可分配给他们影响到的用例。例如,性能 要求可被分配给具有将会影响性能标准的功能性要求的用例。如果受影响 的用例随后被实现,则非功能性要求可被分配给分析类,以作为标记值、 约束或文档编制符号。
在步骤206处,跟踪对用例的要求以确定域规则是否已被分配给了适 当的用例。在步骤210处,通过整合实现用例以便识别下一级别上的任何 差距。如果来自补充源的能力看起来超过了域规则,则可以确定隐式域规 则是否被嵌入在能力中或者能力是否是不必要的,例如它们位于域外、它 们是冗余的或者它们是过时的。
在步骤208处可修改或添加用例。添加或修改可发生在此次迭代或后 续迭代中。在步骤210处通过识别分析类和创建整合来实现用例。可以先 为某些要求实现用例,再为其他要求实现用例。例如,可以为与对于启动 程序开发的请求相关的要求实现用例。这些要求可以是面向方案的,并且 往往可能集中于特定应用。但是,为了完成问题空间可考虑其他要求。在 步骤212处,域规则被分配给分析类。
在步骤214处,分析类的共同点被识别。共同点是通过确定出现在多 个用例中的分析类来识别的。在步骤216处,分析类的稳定变动被识别, 识别方式可以是通过对公共类的后续分析和设计。在步骤218处,捕捉程 序的易失性变动的业务规则被确定。在确定业务规则后,该方法终止。
可对该方法进行修改、添加或省略,而不会偏离本发明的范围。另 外,可以按任何适当的顺序来执行步骤,而不会偏离本发明的范围。
本发明的某些实施例可提供一个或多个技术优点。一个实施例的技术 优点是在生成最终代码前确定了域规则的完整集合。该完整集合可用于限 定问题空间,从而提供了对计算机程序的更高效和有效的设计。
虽然详细描述了本发明的实施例及其优点,但是本领域的技术人员能 够做出各种更改、添加和省略,而不会偏离所附权利要求书所限定的本发 明的精神和范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用