软件质量保障计划 软件质量保障方案 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

软件质量保障计划 软件质量保障方案

时间:2021-04-12 15:11:35
软件质量保证的成功之路有哪些方案? 1) RUP的质量保证思想之一:全过程质量保证思想 您当前浏览的文章来源于考试大项目管理站。 RUP把整个软件开发过程分解成:业务建模、需求管理、分析设计、实施、测
作者:

软件质量保障计划

软件质量保证的成功之路有哪些方案?

1) RUP的质量保证思想之一:全过程质量保证思想 您当前浏览的文章来源于考试大项目管理站。

RUP把整个软件开发过程分解成:业务建模、需求管理、分析设计、实施、测试、部署、配置与变更管理、项目管理和环境等九个核心工作规程。

每个核心工作规程由多个详细工作流程组成。

基于人类对软件工作过程最原始的感受,RUP使用角色、活动和作为输入输出的工件来组织每个详细工作流程,实现软件开发组织内部人、资源和流程的融合。

RUP通过建立完整的软件开发过程,使得产品的质量由项目团队的每个成员共同负责,具体体现在: 每个角色承担相应的质量任务 每个活动产生合格的工件 为每个工件建立指南、模板和检查点 每个工作流程设定相应的工作指南和检查点 在RUP中,整个软件开发过程如上图所示,它以指定的工件为输入,通过软件开发角色和标准化的软件开发活动,生产出满足质量要求的输出工件。

为确保每个工作环节的有效执行和每个工作环节产生的工件质量,RUP为主要工作流程提供了对应的工作指南和检查点,为每个工件建立指南、模板和检查点,从而保证了软件开发的过程质量。

2) RUP的质量保证思想之二:软件工程成功经验共同铸就软件质量的思想 激烈的市场竞争催生高质量的软件。

【软件质量是什么】什么是软件质量保证呢?

软件质量保证(SQA)是一种应用于整个软件过程的活动,它包含:⒈一种质量管理方法⒉有效的软件工程技术(方法和工具)⒊在整个软件过程中采用的正式技术评审⒋一种多层次的测试策略⒌对软件文档及其修改的控制⒍保证软件遵从软件开发标准⒎度量和报告机制SQA与两种不同的参与者相关 —— 做技术工作的软件工程师和负责质量保证的计划、监督、记录、分析及报告工作的SQA小组。

软件工程师通过采用可靠的技术方法和措施,进行正式的技术评审,执行计划周密的软件测试来考虑质量问题,并完成软件质量保证和质量控制活动。

SQA小组的职责是辅助软件工程小组得到高质量的最终产品。

SQA小组完成:⑴为项目准备SQA计划。

该计划在制定项目规定项目计划时确定,由所有感兴趣的相关部门评审。

·需要进行的审计和评审;·项目可采用的标准;·错误报告和跟踪的规程;·由SQA小组产生的文档;·向软件项目组提供的反馈数量。

⑵参与开发项目的软件过程描述。

评审过程描述以保证该过程与组织政策,内部软件标准,外界标准以及项目计划的其他部分相符。

⑶评审各项软件工程活动,对其是否符合定义好的软件过程进行核实。

记录、跟踪与过程的偏差。

⑷审计指定的软件工作产品,对其是否符合事先定义好的需求进行核实。

对产品进行评审,识别、记录和跟踪出现的偏差;对是否已经改正进行核实;定期将工作结果向项目管理者报告。

⑸确保软件工作及产品中的偏差已记录在案,并根据预定的规程进行处理。

⑹记录所有不符合的部分并报告给高级领导者。

如何保证软件质量?

软件在没有发布之前的开发过程主要分为需求分析、设计、编码和验证四个阶段,最终的软件质量与这四个阶段的各自质量之间的关系如果用C语言来表达的话应当是: 最终的软件质量 = 需求分析质量 && 设计质量 && 编码质量 && 验证质量 即,最终的质量来自于各阶段质量之“与”,只要其中一个环节质量是差,则产品的整体质量都将是差,千万不要认为是“或”的关系。

由此看来每一个阶段的质量都起着决定性的作用。

以上提及的四个阶段的质量将引出以下几个软件质量保证的关键要素。

完备的需求分析 需求分析的目的是让项目组明白要做什么,是决定所开发出来的软件应当是“长什么样的”,显然完备的需求分析是高质量软件的前提。

如果所开发出来的软件与用户所希望的并不一致,那不可能让用户说“这个软件的质量很好” 。

如果方向不对,软件开发得再“好”也没有意义。

需求分析失误所带来的开发成本是高昂的,这一点在《软件工程》这类书籍中都会提及,因此,整个行业对于需求分析的重要性都具有足够的认识。

当然,知道其重要性与如何获得完备的需求分析又是两回事,至于如何做好需求分析请读者参考相关书籍。

需求分析如果出现失误的话有一个特点 —— 它一定会暴露!只不过存在是暴露在软件开发过程中还是在用户手中之别。

因此,需求分析所造成的问题尽管严重,但它能被发现进而能得到项目组的重视,从而也一定能被修复,只是不同阶段发现这类问题所花费的成本将有所不同。

设计 设计阶段是通过设计方法找出软件实现更好的方法,注意这里是“更好”两个字,而不是强调最好。

不良设计并不会象需求分析失误那样很容易暴露出其本质,相反,它所暴露出的更多是表象,比如逻辑复杂、维护时举步为艰等等。

如果参与者不具备一定的洞察力以发现隐藏在现象背后的不良设计本质,则很有可能身受其害却不能自拔,还以为“本来就有那么复杂”。

项目的开发是一个逐步演进的过程,项目组成员对于需求的理解也是逐步加深的,一开始合适的设计到后面看来很有可能就不够全面或显得力不从心,如果仍沿用以前的设计则自然将暴露出它的不足,进而会出现需要更高的维护成本。

重构思想的提出,就是用于帮助项目演进设计的,当然,在运用重构方法时,应尽可能保证项目有足够的单元测试用例,以预防重构时又引入新的缺陷。

重构不只是一个词,其核心应当是一个方法论,一个用于优化设计的方法论。

编程好习惯 设计阶段输出的结果就是蓝图,但好的蓝图并不能保证最后的质量一定就好。

拿造房子打个比方,图纸设计得再好,如果建造时用的材料不过关,那最终的房子一定好不了。

那软件开发中的“建筑材料”又是什么呢?就是程序员所编写的代码。

如何保证其质量呢?这需要通过良好的编程习惯去保证。

在现实的项目中,设计有可能与编码会有一定的揉合,即通过进行一定的编码来辅助设计。

这种实践方式并不影响这里将设计与编码分为两个质量保证关键要素。

验证 验证很容易让人想到质量保证的常用方法之一,即测试。

但验证应当包含更多的内涵,比如求证软件需求是用户所希望的就是其中的一种。

对于验证的理解仍需要拿房屋的建造作为一个比方,以便加深理解。

在房屋的建造过程中,当建筑材料到了工地以后,需要对其进行检验,以保证它的质量是合格的,否则不能用于建造。

对应于软件开发,这个阶段就是单元测试。

当软件工程师编写了代码以后如何保证代码的行为是其所希望的呢?那只能通过单元测试去验证。

房子建造好了以后,还得对房子进行整体的验收以确保其最终是合格的。

软件项目质量保证方案是什么?

通常在一般的中小企业中会不将软件测试与软件质量保证加以细分,软件测试人员也叫做质量保证人员即QA,我所在公司也是如此。

其实软件测试与软件质量保证是软件质量工程的两人不同层面的工作。

质量保证(QA)是通过预防,检查与改进来保证软件质量的。

QA所关注的是软件质量的检查和测量,他的工作是软件生命周期的管理以及验证软件是否满足质量和用户需求,主要着眼于软件开发活动中的过程、步骤和产物,而不对软件进行剖析找出问题。

一般情况下,QA应独立于项目之外,以第三方的姿态来对整个开发过程进行评审,检查开发和管理活动是否与已定的过程策略、标准和流程一致,检查工作产品 是否遵循模板规定的内容和格式。

所以,质量保证是通过过程改进来保证软件质量的。

软件测试关注的不是过程活动,而是每个过程活动的产出物。

它对活动的产物进行剖析,检测以期发现更多的问题,从而保证软件质量。

所以软件测试是保证软件质量的一个重要环节,但不是质量保证的一个环节。

对软件测试与软件质量保证进行区分并不是闲聊而咬文嚼字,而是要知道他们都是为了保证软件质量的两个不同层面的工作,他们对保证软件质量有着不可替代的作用。

但现实中大部分中小企业都只知道软件测试而没有专门的质量保证,即使有也是虚设,其实这是本末倒置。

软件测试只是项目中的一个流程或是环节,只是对个别项目。

所以个别项目如果取得成功,质量得到了很好的保证,可能是因为项目的个别因素,如项目需要做得较好或是测试人员水平较高等个别因素。

所以一个项目做得好不能保证别的项目也做得好,即是公司的开发水平,产品的质量水平能够提高。

这就需要通过质量保证来提取成功的因素而上升到流程规范上来规范所有项目,从而提高公司产品质量水平。

一个公司的好的管理标准就是有个好的规章流程得以执行,所以一个好的项目管理,质量保证也在于规章流程,这些也是共性的东西,才不会以项目中的个别因素改变而改变。

当然,也并不是说有好的质量保证就有好的产品质量,他们之间不是充分的关系,而是必要。

求gb/t 12504

可划分为三组,分别反应用户在使用软件产品时的三种观点。

正确性、健壮性、效率、可维修性、灵活性、可测试性(产品修改)、完整性、实践和方法能够正确地被所有项目所采用。

软件质量保证的目的是使软件过程对于管理人员来说是可见的。

它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。

软件质量保证组在项目开始时就一起参与建立计划、可用性、以及所有专业开发的软件都应具有的隐含特征的程度。

影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。

这些将使软件项目满足机构方针的要求软件质量管理可以说是一个制度或者一个体系、互运行性(产品转移)。

软件质量保证是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、标准和过程、风险(产品运行);可理解性,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”;可移植性、可再用性。

具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准...

大家还关注
    
阅读排行
推荐阅读