[发明专利]用于代码开发的方法及其系统有效
申请号: | 201310326818.8 | 申请日: | 2013-07-31 |
公开(公告)号: | CN104346152B | 公开(公告)日: | 2018-10-30 |
发明(设计)人: | 党亚斌;李少春;周欣;李峰;陈昊 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邸万奎 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 代码 开发 方法 及其 系统 | ||
1.一种用于代码开发的方法,包括:
a.获得总非功能性需求NFR;
b.在代码设计架构中确定多个模块,所述总非功能性需求NFR将在所述多个模块间进行分配;
c.确定所述多个模块的特征,所述特征包括输入输出IO类型;以及
d.根据所述特征将所述总非功能性需求NFR自动分配到所述多个模块中的至少一个模块,作为模块非功能性需求NFR,其中所述IO类型包括下列各项中的至少一种:内存访问、数据库访问、文件访问、网络访问,并且IO类型权重值从大到小的顺序为:网络访问的IO类型权重值、文件访问的IO类型权重值、数据库访问的IO类型权重值、内存访问的IO类型权重值,并且
其中所述总非功能性需求NFR及模块非功能性需求NFR包括下列各项中的至少一项:响应时间、吞吐量,
步骤d进一步包括根据下列各项中的至少一项计算所述模块非功能性需求NFR:
如果所述模块非功能性需求NFR为响应时间,则所述模块非功能性需求NFR与所述IO类型权重值成正比;
如果所述模块非功能性需求NFR为吞吐量,则所述模块非功能性需求NFR与所述IO类型权重值成反比。
2.如权利要求1所述的方法,步骤d进一步包括下列各项中的至少一项:
如果所述至少一个模块为非调用模块,则所述模块非功能性需求NFR表示执行该模块所需满足的非功能性需求NFR;
如果所述至少一个模块为调用模块,且其调用的被调用模块在所述多个模块之内,则所述模块非功能性需求NFR表示执行所述至少一个模块自身代码需要满足的非功能性需求NFR;
如果所述至少一个模块为调用模块,且其调用的被调用模块在所述多个模块之外,则所述模块非功能性需求NFR表示执行所述至少一个模块项下所有模块所需要满足的非功能性需求NFR,所述至少一个模块项下所有模块包括所述至少一个模块以及其直接或间接调用的所有被调用模块。
3.如权利要求1所述的方法,其中所述特征进一步包括代码规模,所述方法进一步包括:
获得预估的所述多个模块的总代码规模以及预估的所述至少一个模块的代码规模。
4.如权利要求1所述的方法,其中步骤b进一步包括:
根据所述代码设计架构的逻辑关系自动确定所述多个模块。
5.如权利要求4所述的方法,其中根据所述代码设计架构的逻辑关系自动确定所述多个模块进一步包括:
根据预定的最大调用级别确定所述多个模块,从而使得在所述最大调用级别内的同一级上且被同一模块所调用的所有被调用模块都被确定到所述多个模块之内。
6.如权利要求1所述的方法,其中步骤c进一步包括:
根据所述代码设计架构中的IO类型关键词自动确定所述多个模块中每个模块的IO类型。
7.如权利要求1所述的方法,其中步骤d进一步包括:
根据匹配的历史模块所能达到的非功能性需求NFR确定所述至少一个模块的模块非功能性需求NFR,其中所述匹配的历史模块在所述特征上与所述至少一个模块匹配,并且其中所述特征包括IO类型及下列各项中的至少一项:
代码规模、成熟度、行业领域、业务流程领域、系统架构、技术类别、编程语言、运算环境。
8.如权利要求7所述的方法,其中步骤d进一步包括:
如果所述多个模块中每一个模块的模块非功能性需求NFR之和未能满足总非功能性需求NFR,则执行下列各项操作中的至少一项:
放弃根据匹配的历史模块所能达到的非功能性需求NFR确定所述至少一个模块的模块非功能性需求NFR,
发出报错通知。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310326818.8/1.html,转载请声明来源钻瓜专利网。