第二章 - 软件质量
1 软件特点
软硬件特征比较
特征 | 软件 | 硬件 |
---|---|---|
存在形式 | 虚拟、动态 | 固化、稳定 |
客户需求 | 不确定性 | 相对清楚 |
度量性 | 非常困难 | 正常 |
生产过程 | 逻辑性强 | 流水线、工序 |
逻辑关系 | 复杂 | 清楚 |
接口 | 复杂 | 多数简单、适中 |
维护 | 复杂、新的需求、可以不断打补丁 | 多数简单、适中、没有新的需求 |
软、硬件开发过程比较
2 软件过程
软件开发的基本过程
需求分析,设计,编程,测试,维护
需求分析
根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。
设计
根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。
编程
将设计转换成计算机可读的形式
测试
对设计、编程进行验证和用户需求确认的过程
维护
维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。
软件开发过程模型
V 模型的完整诠释
敏捷方法之极限编程
极限编程理念
- 个体和交互 胜过 过程和工具
- 可以工作的软件 胜过 面面俱到的文档
- 客户合作 胜过 合同谈判
- 相应变化 胜过 遵循计划
最简单的可能就是最有效的 沟通、简化、反馈、勇气
阶段性开发模型
3 软件缺陷
什么是软件缺陷
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
IEEE(1983)729软件缺陷一个标准的定义。
软件缺陷的表现形式
软件缺陷的产生
软件缺陷的分布
一般来说,占比如下:
4 软件质量
软件质量需求的背景
软件质量需求的内容
软件质量的定义
软件质量的特性
软件质量含义分析
用户要求与软件质量特性
5 软件质量的内容
软件不仅指软件产品,而且包括软件的发过程以及软件的运行或软件所提供的服务。
软件质量是由3部分构成。
- 软件产品的质量,即满足使用要求的程度
- 软件开发过程的质量,即能否满足开发所带来的成本、时间和风险等要求
- 软件在其商业环境中所表现的质量
软件产品质量
软件过程质量
软件商业环境质量
小结
- 软件质量的定义、特性
- 软件缺陷的产生、分类
- 软件质量的定义和软件质量不同视点,以及 3 维性和 3A 特性,并对软件质量的特性进行了分析
- 软件质量的内容,即软件产品质量,软件过程质量和软件商业环境质量