一种软件设计质量的评价和强制实行制造技术

技术编号:14813260 阅读:41 留言:0更新日期:2017-03-15 03:58
本发明专利技术涉及软件设计质量的评价和强制实行,其中,一种系统向软件应用的设计应用设计质量规则以检测违反,并提供描述所检测的对设计质量规则的一个或多个违反的输出。基于该输出,系统接收用户输入以解决对设计质量规则的一个或多个违反,以及在接收用户输入之后,针对对设计质量规则的违反来评价为软件应用开发的代码,以便基于该软件应用设计来评估为该软件应用开发的代码质量。

【技术实现步骤摘要】

本公开总体上涉及软件设计质量的评价和强制实行
技术介绍
应用可以提供一种建模和开发环境,其利用统一建模语言(UML)来设计软件应用和web服务的架构。应用可以包括这样的能力,即利用UML来关注架构代码分析和模型驱动的开发,以创建有复原能力的应用和web服务。
技术实现思路
在一方面,一种系统,包括至少一个计算机,以及耦合至该至少一个计算机的至少一个计算机可读介质,其具有存储于其上的指令,当该指令由该至少一个计算机执行时,导致该至少一个计算机执行操作。操作包括:在开发软件应用的代码之前,访问该软件应用的设计;以及访问被限定用于评价该软件应用的设计质量的设计质量规则。操作还包括:向所访问的软件应用设计应用所访问的设计质量规则,以检测对所访问设计质量规则的违反;以及提供描述所检测的对所访问设计质量规则的一个或多个违反的输出。操作进一步包括:基于该输出,接收用以解决对所访问设计质量规则的一个或多个违反的用户输入;以及在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,针对所访问设计质量规则的违反而评价为该软件应用开发的代码,以便基于该软件应用的设计来评估为该软件应用而开发的代码的质量。实现可以包括以下一个或多个特征。例如,操作可以包括:通过对为软件应用而开发的代码进行逆向工程来获得恢复的软件设计;以及向恢复的软件设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反。在此示例中,操作可以包括:将恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本进行比较;以及基于比较结果来检测恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本之间的不一致。可以提供输出,其描述恢复的软件设计与接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后存储的软件应用的设计版本之间的不一致。在某些实现中,操作可以包括:接收限定新设计质量规则的用户输入以便向所访问的软件应用设计应用;以及向所访问的软件应用设计应用新设计质量规则,以检测所访问的软件应用设计是否违反新的设计质量规则。操作还可以包括:接收限定对所访问设计质量规则的优先次序的用户输入;以及基于所限定的所访问设计质量规则的优先次序,向所访问的软件应用设计应用所访问设计质量规则。操作可进一步包括:接收限定所访问设计质量规则针对软件应用的特定适用准则的用户输入;基于所限定的特定适用准则,识别将要向所访问的软件应用设计应用的、所访问设计质量规则的子集;以及向所访问的软件应用设计应用所访问设计质量规则的该子集。此外,操作可以包括:接收限定所访问设计质量规则针对软件应用的排除准则的用户输入;基于该排除标准识别要向所访问的软件应用设计应用的、所访问设计质量规则的子集;以及向所访问的软件应用设计应用所访问设计质量规则的子集。在某些示例中,操作可以包括:初始化针对所访问的软件应用设计以及针对所访问设计质量规则中每个规则的违反列表;识别被应用以规则的设计元素的类型;以及在所访问的软件应用设计中识别所识别类型的设计元素。对于每个所识别设计元素,操作可以包括:向所识别设计元素应用规则;基于向所识别设计元素应用规则来确定所识别设计元素是否违反该规则;以及在确定所识别设计元素违反该规则的情况下,基于该规则和所识别设计元素向违反列表添加违反对于每个所识别设计元素,可以确定所识别设计元素是否被识别为排除在设计质量分析之外;以及在确定所识别设计元素未被识别为排除在设计质量分析之外的情况下,向所识别设计元素应用规则以及确定该规则是否被违反。此外,对于每个所识别设计元素,可以确定规则是否已被应用于所识别设计元素;以及在确定规则尚未应用于所识别设计元素的情况下,向所识别设计元素应用规则以及确定该规则是否被违反。在某些实现中,操作可以包括:从数据库访问与所检测的对所访问设计质量规则的违反相关的帮助信息;基于所访问帮助信息,生成针对所检测的对所访问设计质量规则的违反的上下文特定帮助消息;以及基于所生成的针对所检测的违反的上下文特定帮助消息而提供输出。操作还可包括:从数据库访问与所检测的对所访问设计质量规则的违反相关的重构(refactoring)信息;基于所访问重构信息,生成针对所检测的对所访问设计质量规则的违反的上下文特定重构建议;以及基于所生成的针对所检测的违反的上下文特定重构建议而提供输出。所生成的上下文特定重构建议可以描述用于纠正所检测的对所访问设计质量规则的违反的建议。操作可以包括:接收更新所访问的软件应用设计以纠正所检测的对所访问设计质量规则的违反的用户输入。在某些示例中,操作可以包括:接收用以忽略所检测的对所访问设计质量规则的违反的用户输入。在这些示例中,操作可以包括要求忽略所检测的违反以允许所检测的违反被忽略的理由的用户输入;接收描述忽略所检测的违反的理由的用户输入;以及在忽略所检测的违反时记录忽略所检测的违反的理由。此外,在这些示例中,操作可以包括:向活动日志添加指示所检测的违反已被忽略以及忽略所检测的违反的理由的条目;以及允许查看者查看活动日志,其包括指示所检测的违反已被忽略以及忽略所检测的违反的理由的条目。此外,操作可以包括:访问软件应用的部分设计;以及向软件应用的部分设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反。操作还可包括:在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,生成未解决违反报告,其指定软件应用的设计中尚未纠正的至少一个已检测的违反;以及向查看者提供未解决违反报告。在另一方面,一种方法,包括:在开发软件应用的代码之前,访问该软件应用的设计;以及访问被限定用于评价该软件应用的设计质量的设计质量规则。该方法还包括:向所访问的软件应用设计应用所访问设计质量规则,以检测对所访问设计质量规则的违反;以及提供描述所检测的对所访问设计质量规则的一个或多个违反的输出。该方法进一步包括:基于该输出,接收用以解决对所访问设计质量规则的一个或多个违反的用户输入;在接收用以解决对所访问设计质量规则的一个或多个违反的用户输入之后,针对所访问设计质量规则的违反而评价为该软件应用开发的代码,以便基于该软件应用的设计来评估为该软件应用而开发的代码的质量。在又一方面,编码有可执行指令的至少一个计算机可读存储介质,当该可执行指令由至少一个处理器执行时,致使该至少一个处理器执行操作。操作包括:在开发软件应用的代码之前,访问该软件应用的设计;以及本文档来自技高网...

【技术保护点】
一种用于评价和强制实行软件设计质量的系统,包括:用于访问软件应用的设计的装置;用于访问与至少一个设计质量属性相关联的设计质量规则的装置,所访问设计质量规则被限定用于从所述至少一个设计质量属性的方面来评价软件应用的设计的质量;用于向所访问的所述软件应用的设计应用所述所访问设计质量规则以检测对所述所访问设计质量规则的违反的装置;用于针对所述至少一个设计质量属性而累积通过向所访问的所述软件应用的设计应用所述所访问设计质量规则而检测的违反的装置;用于基于所累积的违反计算针对所访问的所述软件应用的设计的设计质量指标的装置;以及用于基于所计算的设计质量指标,提供与所述软件应用的设计质量相关的输出的装置。

【技术特征摘要】
1.一种用于评价和强制实行软件设计质量的系统,包括:
用于访问软件应用的设计的装置;用于访问与至少一个设计质量属性相关联的设计质量规
则的装置,所访问设计质量规则被限定用于从所述至少一个设计质量属性的方面来评价软件
应用的设计的质量;用于向所访问的所述软件应用的设计应用所述所访问设计质量规则以
检测对所述所访问设计质量规则的违反的装置;用于针对所述至少一个设计质量属性而累
积通过向所访问的所述软件应用的设计应用所述所访问设计质量规则而检测的违反的装置;
用于基于所累积的违反计算针对所访问的所述软件应用的设计的设计质量指标的装置;以及
用于基于所计算的设计质量指标,提供与所述软件应用的设计质量相关的输出的装置。
2.根据权利要求1所述的系统,其中用于访问与至少一个设计质量属性相关联的设计质量
规则的装置包括:用于识别被分类为涉及所述至少一个设计质量属性的设计质量规则的子集
的装置;其中用于向所访问的所述软件应用的设计应用所述所访问设计质量规则以检测对
所述所访问设计质量规则的违反的装置包括:用于向所访问的所述软件应用的设计应用所识
别的设计质量规则,以检测对所述所识别设计质量规则的违反的装置;以及其中用于针对所
述至少一个设计质量属性而累积通过向所访问的所述软件应用的设计应用所述所访问设计质
量规则而检测的违反的装置包括:用于累积通过向所访问的所述软件应用的设计应用所述所
识别设计质量规则而检测的所有违反的装置。
3.根据权利要求1所述的系统:其中用于访问与至少一个设计质量属性相关联的设计质
量规则的装置包括:用于访问被限定用于评价软件应用的设计质量的所有设计质量规则的装
置;以及其中用于针对所述至少一个设计质量属性而累积通过向所访问的所述软件应用的
设计应用所述所访问设计质量规则而检测的违反的装置包括:用于识别涉及所述至少一个设
计质量属性的所检测违反的装置;以及用于累积涉及所述至少一个设计质量属性的所识别
的违反的装置。
4.根据权利要求1所述的系统,其中用于针对所述至少一个设计质量属性累积通过向所访
问的所述软件应用的设计应用所述所访问设计质量规则而检测的违反的装置包括:用于针对
所述至少一个设计质量属性跨所访问的所述软件应用的设计中包括的每个类而聚集所检测
的违反的装置;以及用于针对所述至少一个设计质量属性使用针对所访问的所述软件应用的
设计中包括的每个类的聚集违反,跨所述软件应用的设计来累积所检测的违反的装置。
5.根据权利要求1所述的系统,其中用于针对所述至少一个设计质量属性累积通过向所访
问的所述软件应用的设计应用所述所访问设计质量规则而检测的违反的装置包括:用于对
涉及所述至少一个设计质量属性的所检测违反进行计数的装置。
6.根据权利要求1所述的系统,其中用于访问与至少一个设计质量属性相关联的设计质量
规则的装置包括用于访问
涉及多个不同设计质量属性的设计质量规则的装置;其中用于针对所述至少一个设计质量
属性累积通过向所访问的所述软件应用的设计应用所述所访问设计质量规则而检测的违反的
装置包括:用于针对所述多个不同设计质量属性的每一个而累积涉及相应设计质量属性的
所检测违反的装置;以及其中用于基于所累积的违反计算针对所访问的所述软件应用的设计
的设计质量指标的装置包括:用于针对所述...

【专利技术属性】
技术研发人员:李东
申请(专利权)人:青岛金讯网络工程有限公司
类型:发明
国别省市:山东;37

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

1