软件工程第三次作业——关于软件质量保障初探
一、软件质量的介绍
1.软件质量是指:“对用户在功能和性能方面需求的满足、对规定的标准和规范的遵循以及正规软件某些公认的应该具有的本质”。该软件质量定义一共强调了根据质量术语“明确需要而规定的;是按术语“隐含需要”而提出的意即:用户的需求是软件质量评价的基础,不满足用户需求的软件是不能交付使用和走向市场的;其次为规定的标准和规范是软件开发的共同准则,不遵循这些标准和规范,就可能导致软件开发的无序和软件质量的低下。
2.可以套用此公式了解:
软件质量=程序质量+软件工程质量
(1)程序质量:体现在软件外在功能的质量;
(2) 软件工程的质量:软件开发过程主要三个特征:“好”,“快”,“便宜”,就是在各个方面都应满足利益相关者的需求。并且软件工程的质量体现在可见性,对风险的控制,中间阶段的交付质量,控制成本和完成情况。
二、影响软件质量的因素
1.确定性:是指系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度。它要求软件没有错误,能够满足用户的目标。
2.可靠性:是指在规定的时间和条件下,软件所能维持其性能水平的程度。
3.性能:性能通常是指软件的“时间一空间”效率,而不仅是指软件的运行速度。
4.易用性:指对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。
5.清晰性:清晰意味着所有的工作成果易读、易理解,可以提高团队开发效率,降低维护代价。
6.安全性:安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。
7.可扩展性:可扩展性反映软件适应“变化”的能力。
8.健壮性:指在异常情况下,软件能够正常运行的能力。
三、关于软件质量保障我的体会
1. 上面总结了软件质量的概念以及影响软件质量的因素,首先软件质量的保证需要团队合作。每个人都有自己的作用,独立工作是不可能的。
2.各种功能还有很多特性需要平衡。
3.实施CMMI是很有意义的,从阅读书本中的信息可以知道,CMMI的实施能够提高企业的管理水平,降低企业的成本。
4.“磨刀不误砍柴工”每个软件团队都应该在“磨刀”上多些投资,才能在“砍柴上”尽快或者说更大可能的看到回报。
5.过程中做好自己的事情,虽说人的才能具有自然差异,但多交流沟通增加信任度,是比较容易调节的。
四、如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
QA(QUALITY ASSURANCE)-质量保证
1.过程指导、过程度量和过程改进。
2.收集、统计、分析度量数据,以支持管理信息需求。
3.了解过程运行的情况,也就更容易发现“木桶中最短的那块”。
4.要明白自己项目的特点,避免照搬别人的做法。
5.要考虑如何保证程序的质量/软件工程的质量,以及达到这些质量,需要多少成本。
6.以让软件达到事先定义的质量标准为目标。
7.测试工作要同步,专人负责量化的Test,有条件多做测试自动化。考虑好以上所说的影响软件质量的各个因素。
五、如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?
如果我是一个项目经理,我认为项目中需要专职的QA。有专职的QA可以分担团队的工作量,且测试的方法和程度都有所区别,
独立的专职可以更好地进行测试工作。及时发现问题并解决。
六、如果一旦出现问题,你如何界定由谁担责?
我认为出现问题的责任应由团队人员一起承担,不是互相推让,这样更有利于问题解决。