WHAT & WHY ?

软件质量的特性

外在特性

  • 正确性(Correctness)
  • 可用性(Usability)
  • 效率(Efficiency)
  • 可靠性(Reliability)
  • 完整性(Integrity)
  • 适应性(Adaptability)
  • 精确性(Accuracy)
  • 健壮性(Robustness)

内在特性

  • 可维护性(Maintainability)
  • 灵活性(Flexibility)
  • 可移植性(Portability)
  • 可重用性(Reusability)
  • 可读性(Readability)
  • 可测试性(Testability)
  • 可理解性(Understandability)

HOW?

改善软件质量的技术

  • 软件质量目标:根据外在特性与内在特性,明确定义出软件质量的目标
  • 明确定义质量保证工作
  • 测试策略:制订出一套与产品需求、架构及设计相关联的测试策略
  • 软件工程指南
  • 非正式技术复查/正式技术复查/外部审查

开发过程

  • 控制变更
  • 量化结果
  • 制作原型

组合使用测试方法,包括让两个独立的小组使用相同的方法,都能将发现缺陷的数量提高

软件产品的业界平均生产效率是每人每天10到50行最终交付代码(包括所有的非编码开支)

先进的软件质量计划把投入到调试和重构的资源分配到前期的质量保证工作中去,所体现的作用比后期工作更为明显——减少后期成本

《Code Complete》ch.20 软件质量概述的更多相关文章

  1. code complete part1

    最近在看code complete,学习了一些东西,作为点滴,记录下来. 关于类: 类的接口抽象应该一致 类的接口要可编程,不要对类的使用者做过多的假设.不要出现类似于:A的输入量一定要大于多少小于多 ...

  2. 重读 code complete 说说代码质量

    重读code complete 说说代码质量 2014年的第一篇文章本来计划写些过去一年的总结和新年展望,但是因为还有一些事情要过一阵才能完成,所以姑且不谈这个,说说最近重读code complete ...

  3. Code Complete 读后总结和新的扩展阅读计划

    Code Complete 读后总结和新的扩展阅读计划 用了一年时间终于将代码大全读完了,在这里做一个简单的总结,并安排下一阶段的扩展阅读计划. 1.选择代码大全作为我程序员职业入门的第一本书,我认为 ...

  4. ORA-00600: internal error code, arguments: [13030], [20]一例解决

    两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...

  5. 《Code Complete》ch.24 重构

    WHAT? 重构(refactoring),Martin Fowler将其定义为“在不改变软件外部行为的前提下,对其内部结构进行改变,使之更容易理解并便于修改”. WHY? 神话:一个管理很完善的软件 ...

  6. 《Code Complete》ch.23 调试

    WHAT? 调试——发现错误的一种手段 WHY? 相对于不善于调试的程序员,善于调试的程序员只需要前者1/20的时间就可以找出问题所在 HOW? 科学的调试方法 把错误的发生稳定下来:假设-证实/证伪 ...

  7. 《Code Complete》ch.21 协同构建

    WHAT? 所有的协同构建技术都试图通过这样那样的途径,将展示工作的过程正式化,以便将错误暴露出来 WHY? 提高缺陷检出率,从而缩短开发周期,降低开发成本 发现不明显的错误信息,如不恰当的注释.硬编 ...

  8. 《Code Complete》ch.25 代码调整策略

    WHAT? 本章讨论程序性能调整问题.但是对用户来说,程序员按时交付软件,提供一个清爽的用户界面,避免系统经常死机常常比程序性能更加重要 WHY? 在程序设计这种文化中,编写出能够节省几微秒的代码可以 ...

  9. 《Code Complete》ch.11 变量名的力量

    What? 如何给变量命名 Why? 易读(你三个月前的代码=别人的代码),易记,恰如其分 整齐的命名具有美感,强迫症患者居家旅行杀人放火之必备 How? 以问题为导向 好名字反映的是问题(what) ...

随机推荐

  1. Phonegap通过JS访问本地接口的两种方法

    Phonegap为跨设备的应用开发提供了一个解决方案.如果某个应用只有js和html,则可以通过Phonegap的在线build工具,编译出多个平台的app安装包.当然通过Phonegap提供的js可 ...

  2. LintCode "Count of Smaller Number before itself"

    Warning: input could be > 10000... Solution by segment tree: struct Node { Node(), left(nullptr), ...

  3. Koala logoJava EE 应用开发平台 Koala

    Koala (考拉) 是一款应用在 Java EE 企业级应用开发领域,用于帮助架构师简化系统设计,降低框架耦合度,提高系统灵活性,提供开发工程师工作效率,降低成本的平台工具. 为什么使用 Koala ...

  4. flash bulider 无法启动

    更新airsdk后无法启动,google下http://www.25kx.com/art/1826181有n种方法,怀疑是.metadata目录原因,可能是旧版的airsdk和新版的airsdk在.m ...

  5. FlashBuilder(FB/eclipse) 打开多个无效

    FB也即Eclipse. 想要打开多个FB,只需要新建多个FB的快捷方式,然后在路径上面加上参数 -data "具体路径" 再打开即可. 如: "C:\Program F ...

  6. MapReduce编程实现学习

    MapReduce主要包括两个阶段:一个是Map,一个是Reduce. 每一步都有key-value对作为输入和输出. Map阶段的key-value对的格式是由输入的格式决定的,如果是默认的Text ...

  7. spark on hive 配置hive的metastore为mysql

    <property><name>hive.metastore.uris</name><value></value><descripti ...

  8. ADF_Starting系列1_JDeveloper IDE开发环境简介

    2013-05-01 Created By BaoXinjian

  9. centos7编译安装nginx1.8

    安装pcre wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz tar -zxvf pcre-8. ...

  10. centos7加固手册

    转自:http://www.centoscn.com/CentosSecurity/CentosSafe/2015/0315/4880.html