高质量程序设计指南——C++.C语言(第3版)(修订版)[精品]
林锐 韩永泉
§ 1.1 软件质量基本概念
>>消除软件缺陷也有三种基本方式: (1)在开发过程中有效地防止工作成果产生缺陷,将高质量内建于开发过程之中。
>>2)当工作成果刚刚产生时马上进行质量检查,及时找出并消除工作成果中的缺陷—这种方式效果比较好,人们一般都能学会。最常用的方法是技术评审、测试和质量保证等
>>(3)当软件交付给用户后,用着用着就出错了,赶紧请开发者来补救,这种方式的代价最高
§ 1.2 细说软件质量属性
>>正确性是指软件按照需求正确执行任务的能力。
>>健壮性是指在异常情况下,软件能够正常运行的能力。
>>健壮性有两层含义:一是容错能力,二是恢复能力。
>>可靠性是一个与时间相关的属性,指的是在一定环境下,在一定的时间段内,程序不出现故障的概率
>>通常用平均无故障时间(MTTF,mean-time to fault)来衡量。
>>性能通常是指软件的“时间—空间”效率,而不仅是指软件的运行速度。
>>性能优化的目标是“既要马儿跑得快,又要马儿吃得少”,关键任务是找出限制性能的“瓶颈”
>>易用性是指用户使用软件的容易程度。
>>清晰意味着工作成果易读、易理解,
>>信息安全
>>可扩展性反映了软件适应“变化”的能力。
>>可扩展性是系统设计阶段重点考虑的质量属性
>>兼容性是指两个或两个以上的
>>软件相互交换信息的能力。
>>兼容性的商业规则是:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将被瓜分
>>软件的可移植性指的是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译器)的能力,主要体现为代码的可移植性。
§ 1.3 人们关注的不仅仅是质量
>>高生产率必须以质量合格为前提。
>>软件过程能力比较低的企业(如低于CMM 2级),应该将质量放在第一位,生产率放在第二位,只有这样才可能持久地提高质量和生产率(
>>过程的3个基本要素是:人、方法与规程、技术与工具,
>>CMM将软件过程能力分为5个级别,最低为1级,最高为5级。
>>“费用高、难度大、见效慢”
>>企业至少要做3件最重要的事情: (1)制定适合于本企业的软件过程规范。 (2)对员工们进行培训,指导他们依据规范来开发产品。 (3)购买或者开发一些软件工程和项目管理工具,提高员工们的工作效率。
§ 1.4 高质量软件开发的基本方法
>>瀑布模型的精髓是“线性顺序”地开发软件。
>>“精简并行过程”(
>>精简并行过程(SPP)模型
>>SPP过程域分类
网友评论