一种软件设计质量的评价和强制实行的制作方法

文档序号:9865385阅读:413来源:国知局
一种软件设计质量的评价和强制实行的制作方法
【技术领域】
[0001]本公开总体上涉及软件设计质量的评价和强制实行。
【背景技术】
[0002]应用可以提供一种建模和开发环境,其利用统一建模语言(UML)来设计软件应用和web服务的架构。应用可以包括这样的能力,即利用UML来关注架构代码分析和模型驱动的开发,以创建有复原能力的应用和web服务。

【发明内容】

[0003]在一方面,一种系统,包括至少一个计算机,以及耦合至该至少一个计算机的至少一个计算机可读介质,其具有存储于其上的指令,当该指令由该至少一个计算机执行时,导致该至少一个计算机执行操作。操作包括:在开发软件应用的代码之前,访问该软件应用的设计;以及访问被限定用于评价该软件应用的设计质量的设计质量规则。操作还包括:向所访问的软件应用设计应用所访问的设计质量规则,以检测对所访问设计质量规则的违反;以及提供描述所检测的对所访问设计质量规则的一个或多个违反的输出。操作进一步包括:基于该输出,接收用以解决对所访问设计质量规则的一个或多个违反的用户输入;以及在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,针对所访问设计质量规则的违反而评价为该软件应用开发的代码,以便基于该软件应用的设计来评估为该软件应用而开发的代码的质量。
[0004]实现可以包括以下一个或多个特征。例如,操作可以包括:通过对为软件应用而开发的代码进行逆向工程来获得恢复的软件设计;以及向恢复的软件设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反。在此示例中,操作可以包括:将恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本进行比较;以及基于比较结果来检测恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本之间的不一致。可以提供输出,其描述恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本之间的不一致。
[0005]在某些实现中,操作可以包括:接收限定新设计质量规则的用户输入以便向所访问的软件应用设计应用;以及向所访问的软件应用设计应用新设计质量规则,以检测所访问的软件应用设计是否违反新的设计质量规则。操作还可以包括:接收限定对所访问设计质量规则的优先次序的用户输入;以及基于所限定的所访问设计质量规则的优先次序,向所访问的软件应用设计应用所访问设计质量规则。
[0006]操作可进一步包括:接收限定所访问设计质量规则针对软件应用的特定适用准则的用户输入;基于所限定的特定适用准则,识别将要向所访问的软件应用设计应用的、所访问设计质量规则的子集;以及向所访问的软件应用设计应用所访问设计质量规则的该子集。此外,操作可以包括:接收限定所访问设计质量规则针对软件应用的排除准则的用户输入;基于该排除标准识别要向所访问的软件应用设计应用的、所访问设计质量规则的子集;以及向所访问的软件应用设计应用所访问设计质量规则的子集。在某些示例中,操作可以包括:初始化针对所访问的软件应用设计以及针对所访问设计质量规则中每个规则的违反列表;识别被应用以规则的设计元素的类型;以及在所访问的软件应用设计中识别所识别类型的设计元素。对于每个所识别设计元素,操作可以包括:向所识别设计元素应用规则;基于向所识别设计元素应用规则来确定所识别设计元素是否违反该规则;以及在确定所识别设计元素违反该规则的情况下,基于该规则和所识别设计元素向违反列表添加违反对于每个所识别设计元素,可以确定所识别设计元素是否被识别为排除在设计质量分析之外;以及在确定所识别设计元素未被识别为排除在设计质量分析之外的情况下,向所识别设计元素应用规则以及确定该规则是否被违反。此外,对于每个所识别设计元素,可以确定规则是否已被应用于所识别设计元素;以及在确定规则尚未应用于所识别设计元素的情况下,向所识别设计元素应用规则以及确定该规则是否被违反。
[0007]在某些实现中,操作可以包括:从数据库访问与所检测的对所访问设计质量规则的违反相关的帮助信息;基于所访问帮助信息,生成针对所检测的对所访问设计质量规则的违反的上下文特定帮助消息;以及基于所生成的针对所检测的违反的上下文特定帮助消息而提供输出。操作还可包括:从数据库访问与所检测的对所访问设计质量规则的违反相关的重构(refactoring)信息;基于所访问重构信息,生成针对所检测的对所访问设计质量规则的违反的上下文特定重构建议;以及基于所生成的针对所检测的违反的上下文特定重构建议而提供输出。所生成的上下文特定重构建议可以描述用于纠正所检测的对所访问设计质量规则的违反的建议。操作可以包括:接收更新所访问的软件应用设计以纠正所检测的对所访问设计质量规则的违反的用户输入。
[0008]在某些示例中,操作可以包括:接收用以忽略所检测的对所访问设计质量规则的违反的用户输入。在这些示例中,操作可以包括要求忽略所检测的违反以允许所检测的违反被忽略的理由的用户输入;接收描述忽略所检测的违反的理由的用户输入;以及在忽略所检测的违反时记录忽略所检测的违反的理由。此外,在这些示例中,操作可以包括:向活动日志添加指示所检测的违反已被忽略以及忽略所检测的违反的理由的条目;以及允许查看者查看活动日志,其包括指示所检测的违反已被忽略以及忽略所检测的违反的理由的条目。
[0009]此外,操作可以包括:访问软件应用的部分设计;以及向软件应用的部分设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反。操作还可包括:在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,生成未解决违反报告,其指定软件应用的设计中尚未纠正的至少一个已检测的违反;以及向查看者提供未解决违反?艮告。
[0010]在另一方面,一种方法,包括:在开发软件应用的代码之前,访问该软件应用的设计;以及访问被限定用于评价该软件应用的设计质量的设计质量规则。该方法还包括:向所访问的软件应用设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反;以及提供描述所检测的对所访问设计质量规则的一个或多个违反的输出。该方法进一步包括:基于该输出,接收用以解决对所访问设计质量规则的一个或多个违反的用户输入;在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,针对所访问设计质量规则的违反而评价为该软件应用开发的代码,以便基于该软件应用的设计来评估为该软件应用而开发的代码的质量。
[0011]在又一方面,编码有可执行指令的至少一个计算机可读存储介质,当该可执行指令由至少一个处理器执行时,致使该至少一个处理器执行操作。操作包括:在开发软件应用的代码之前,访问该软件应用的设计;以及访问被限定用于评价该软件应用的设计质量的设计质量规则。操作还包括:向所访问的软件应用设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反;以及提供描述所检测的对所访问设计质量规则的一个或多个违反的输出。操作进一步包括:基于该输出,接收用以解决对所访问设计质量规则的一个或多个违反的用户输入;以及在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,针对所访问设计质量规则的违反而评价为该软件应用开发的代码,以便基于该软件应用的设计来评估为该软件应用而开发的代码的质量。在另一方面,一种系统,包括至少一个处理器,以及耦合至该至少一个处理器的存储器,其具有存储于其上的指令,当该指令由该至少一个处理器执行时,致使该至少一个处理器执行操作。操作包括:访问软件应用的设计;以及访问与至少一个设计质量属性相关联的设计质量规则。所访问的设计质量规则被限定用于从至少一个设计质量属性方面评价软件应用的设计质量。操作还包括:向所访问的软件应用设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反;以及针对至少一个设计质量属性,累积通过向所访问的软件应用设计应用所访问设计质量规则而检测的违反。操作进一步包括:基于所累积的违反计算针对所访问软件应用设计的设计质量指标;以及基于所计算的设计质量指标提供与软件应用的设计质量相关的输出。
[0012]实现可以包括以下一个
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1