软件的可维护性可以从哪些方面来衡量?

可维护性作为软件质量属性之一,在军用软件开发的组织中却一直得不到重视。大概是因为这个质量属性主要影响维护成本,而这些组织更重视软件产品是否按期交付吧。

但是,随着竞争越来越激烈,软件开发和维护成本迟早要提上日程。

所以,我们还是有必要多了解一些可维护性方面的知识,为提高软件可维护性做好准备。

先让我们看看如何衡量软件的可维护性。

  1. 模块化水平

模块化设计可以使得软件部件之间的关系呈现出高内聚、低耦合的状态。这样一来,当一个软件部件发生更改的时候,其他的软件部件不会受到影响或者只受到很小的影响。所以,如果软件的模块化水平较高,软件部件之间是高聚合的,那么软件维护的成本就会较低。

  1. 灵活性

灵活性是指软件可以很方便地增加一个新的功能或新的数据,而不需要进行大量的代码修改或设计修改。如果软件的架构设计合理,有很好的扩展性,那么当维护需要增加新的功能或新的数据时,不需要进行大量的修改,也就是维护成本会较低。

  1. 可测试

这里的可测试并不关注需求是否可测,而是指测试查找缺陷的难易程度。如果软件设计实现时遵循了简单原则,软件的单元测试、功能测试、性能测试都能比较容易进行,那么当发生软件维护时所进行的测试验证的成本也会比较低。

  1. 可追溯性

这里的可追溯性是指任何一个需求的功能点都可以很容易地找到其对应的代码,同时,任何一个单元的代码都可以很容易地找到其对应的需求。这样就会使得进行维护时可以很容易地根据软件的功能障碍定位出错的代码位置。

  1. 简单性

简单性是指软件的设计遵循简单原则,如功能实现时尽量少用公共数据块,分离输入源和输出结果,避免重复代码等。遵循简单设计的软件相对来说可维护性也会较好。

  1. 自我描述性

软件可以通过文档自我描述,自我描述性反映的是可读性的好坏。软件的自我描述性是通过代码中有效的注释、有意义的变量命名等实现的。如果软件的自我描述性好,即使维护人员不是软件的开发人员,他也能很容易理解代码、理解设计,从而降低维护成本。

  1. 兼容性

兼容性是指软件能够在其外部环境发生一定程度变化时仍然能够正常工作。软件的兼容性越好,需要维护的状况越少。

  1. 文档的质量

进行软件维护时,少不了相关技术文档的支持。需求、设计以及测试文档是否齐全,是否符合标准、遵守模板,是否逻辑清楚、描述准确、用词恰当、容易理解,这些都影响维护的进程和成本。

软件的可维护性可以通过以上8个方面进行衡量。这也表明,如果软件在这8个方面都能做好,那么软件的可维护性必定会非常高。

这正是:

衡量好不好维护,八个方面可参照

如果这些都做好,维护成本不会高

参考书目:软件质量保证和管理,作者:朱少民,出版社:清华大学出版社

(0)

相关推荐

  • 如何评判代码质量

    代码质量的评价有很强的主观性. 从哪些维度评判代码质量的好坏 代码质量的评价有很强的主观性,描述代码质量的词汇也有很多,比如可读性.可维护性.灵活.优雅.简洁等,这些词汇是从不同的维度去评价代码质量的 ...

  • 整木定制实现快速交付的三大法宝!

    "定制"一词最初来源于法国的高级定制时装,量身定制代表的是高端的审美和尊贵的地位.而整木定制作为近年的热点,是以木质材料为载体的家装定制,同样呈现给消费者的也是高端的产品与服务. ...

  • 新产品开发与市场研究(7)

    ■标准(Criteria):决策人在决策关卡对采用标准(standards)的陈述.继续在开发的产品开发计划必须要达到或超越的性能范围.总的说来,这些标准(Criteria)反映了商业单位的新产品策略 ...

  • 要提高软件可维护性,需在各个阶段下功夫

    提到软件的可维护性,首先让人想到软件代码的可读性.代码的可读性越好,软件的可维护性越好. 可是,软件的可维护性不仅仅与代码的可读性有关.如果需求定义不清晰,没有详细的设计文档,测试也不充分,软件的可维 ...

  • 影响软件可维护性的7个因素

    什么是软件的可维护性? 软件的可维护性是指软件能够被正确理解,并能纠正软件出现的错误和缺陷,为满足新的要求进行修改.扩充或压缩的容易程度. 影响软件的可维护性有以下7个因素: 可理解性 一个可维护的软 ...

  • 提高软件可维护性的方法

    软件维护需要大量成本.若要降低维护成本,就要提高软件的可维护性. 提高软件的可维护性可以采用以下方法: 明确软件的质量特性优先级 软件的可维护性与其他质量特性息息相关. 如果软件的每种质量特性都很高, ...

  • 提高软件可维护性的几项措施

    典型的软件维护费用与开发费用的比例是2:1.所以,我们开发的软件要提高软件的可维护性,以降低软件的维护费用. 提高软件的可维护性可以采取以下几种措施: 建立完整.准确的开发文档 有过维护软件经验的人都 ...

  • 【软件推荐】顽固文件轻松解锁,真好用!

    【软件推荐】顽固文件轻松解锁,真好用!

  • 健康管理师搜题软件哪个好?真题难不难?备考有什么技巧?

    随着人们生活水平的日益提升,有关于健康服务方面的需求日益增加,相关行业也越来越需要专业人士的加入.健康管理师证书是进入健康管理行业的一个必要的前提条件,对于想要从事相关行业的小伙伴们来说是非常有必要的 ...

  • 5个良心的装机必备软件,知乎超10w人推荐,错过太可惜

    新买了电脑,不知道该装什么软件? 别纠结了,今天给大家梳理了几款实用的必备软件,都是知乎上很多人推荐且热度高的产品,话不多说,上软件! 一.录制神器-ScreenToGIF ScreenToGif是一 ...

  • 手机里自带的软件如何删除?

    手机里自带的软件如何删除?

  • 高质量工具 篇五十八:精心分享6个小巧却强大的电脑端小软件,让人大开眼界!

    谢邀!分享6个小巧却强大的电脑端小软件 1.PotPlayer PotPlayer是一款非常强大的PC端播放器软件,支持多种媒体格式,启动速度极快,播放稳定,还支持给视频加字幕,设置个性皮肤等. Po ...