zoukankan      html  css  js  c++  java
  • 软件质量思考

    引言

            作为一个软件工程师,我们天天生产着代码。看着满天飞的软件技术。突然回过头来看看,感觉到迷茫的走了很多路,缺少了思考。

            最近一个月一直在思考,我们的制造的代码和软件技术是为了什么?我们应该从哪里思考我们的目标?当然最基本的出发点还是赚钱。

            我们制造软件的目的是赚钱。因此我们的软件必须能够满足我们的最终目的——赚钱。而只有满足用户的要求才能把产品卖给用户。

            怎么满足用户的要求?依赖于软件质量。

    软件质量

           怎么评价软件质量呢?ISO/IEC 9126-1定义了一种软件质量评价模型。

            ISO9162标准定义的质量模型包括内部质量(internal quality), 外部质量(external quality)和使用中质量(quality
    in use)。如下图所示:

        

        从软件的生命周期来看,三种质量具有如下关系:

        

        外部质量和内部质量划分为6个特征,其中每个特征又包括子特征,如下图所示:

        

         使用中的质量划分为4个特征:

         

             根据ISO9162标准,我们写代码的目标也就明确多了。代码质量和软件的质量如下:

        


    软件质量与代码

         软件质量各个特征之间是可能是矛盾的,因此在编码过程中必须做出平衡决策。

         具体的来说:

         1.可维护性

           可维护性几乎贯穿了整个过程,包括编码规范、面向对象设计技术等。所有规定和技术的目的是使得软件维护简单和直观。

         2.可移植性

           可移植性是可以通过软件设计方法和编译工具来保证。

         3.效率

           效率则要依赖于软件设计。

         4.可靠性

           可靠性依赖于软件设计和单元测试。尤其是错误错里特别重要。错误处理并不是可有可无的,它是逻辑处理的有益补充。但是过多的错误处理会使得维护性和效率下降。因此必须加以权衡。

         5.可用性

           可用性则依赖于人机交互设计。

         6.功能性

           功能性是最核心的要求,很大程度上依赖于黑盒测试,单元测试只能保证部分正确性。

    相关工具

         代码质量工具有很多相关工具,例如java的工具如下:

         

  • 相关阅读:
    node 安装及环境配置
    vue 多级嵌套组件的通信方式
    uniapp 直播(推流)
    css3 弹出层居中(防止穿透滚动)
    uniapp App打开没有关掉后台,去查看其它东西一段时候回来后,页面会变空白
    uniapp 根据给定的经纬度、地址address,调取地图导航
    208道面试题,答案
    十分钟了解单元测试
    异常处理的一些见解
    MySQL(MariaDB)常用DOM命令
  • 原文地址:https://www.cnblogs.com/blockcipher/p/2912976.html
Copyright © 2011-2022 走看看