收藏 分销(赏)

软件项目质量保证方案.pdf

上传人:曲**** 文档编号:260136 上传时间:2023-06-01 格式:PDF 页数:20 大小:1.81MB
下载 相关 举报
软件项目质量保证方案.pdf_第1页
第1页 / 共20页
软件项目质量保证方案.pdf_第2页
第2页 / 共20页
软件项目质量保证方案.pdf_第3页
第3页 / 共20页
软件项目质量保证方案.pdf_第4页
第4页 / 共20页
软件项目质量保证方案.pdf_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、软件质量保证方案目录1 总体介绍.21.1 公司简介.21.2 软件质量保证方案简介.32 配置管理.42.1 配置管理简介.42.2 配置管理在软件开发过程中的重要地位.52.3 配置管理的主要功能以及实施效果.62.4 太平洋软件公司配置管理引入实施方案.72.5 实施配置管理的必要条件.83 需求分析与需求管理.83.1 需求分析和软件设计.83.2 需求管理.104 质量保证.124.1 实现对代码、文档和过程的评审.134.2 通过软件测试实现对软件质量的监控.145 项目管理.175.1 项目管理的重要性.175.2 实施项目管理,保证软件质量.175.3 结论.20一4 rpu甘

2、叮;E软件质量保证方案总体介绍1总体介绍Li公司简介i.i.i 太平洋软件历史与现状太平洋软件(中国)有限公司是有近二十年历史的专业软件企业,总部设在北京,在上 海、广州、成都、南京、香港等地设有办事处,雇员总数超过200人。我公司早在八十年代 就成功引进了世界领先的数据库产品Oracle;随后又先后引进了世界领先的客户/服务器产 品Sybase;世界领先的客户端应用开发工具PowerBuilder;商务智能系统BusinessObjects 等。特别是二十世纪九十年代初,太平洋软件看到软件工程对于软件发展的重要性,围绕软 件生命周期超前引进了软件工程中的CASE工具:如软件配置管理工具PVC

3、S,数据库设计工 具ERwin,测试工具SQA、Pure系列等;并在服务过程中逐渐向国内介绍了一些先进的代表 软件发展方向的理念:如软件工程、00分析设计方法、测试方法、软件配置管理、软件质 量保证等,为国内软件产业的发展、软件工程的规范化做了一些工作,与此同时,积累了丰 富的软件工程理论和管理经验,并培养和锻炼出经验丰富、专业优秀的软件工程技术人员。随着计算机软件的发展和Internet的普及,我们在基于自身雄厚技术力量和丰富实践 经验基础上推出了与软件工程息息相关的咨询服务、项目实施,同时代理许多业界优秀的 CASE工具。通过咨询服务,我们可以为用户提供软件开发方法、软件配置管理、软件项目

4、 管理等方法的培训和指导,对用户在具体项目开发过程中遇到的问题提供咨询与监控,帮助 用户评估软件开发商的能力,对其软件开发过程的关键环节进行评审;在我们对软件工程规 范化的研究与咨询服务的实践的基础上,根据用户的需求,为用户提供项目实施服务,主要 包括帮助用户实施配置管理,进行软件测试以及数据采集和决策支持项目实施。1.1.2 太平洋软件与CMM、ISO我们在多年来为用户服务的过程中深深的体会到,软件产品的质量问题已经越来越引起 客户(软件的使用者)和软件开发企业的广泛关注。软件产品质量的优劣是客户满意程度的 一个决定因素。然而,令人感到遗憾和忧虑的是,目前的许多软件产品不能使客户满意,软 件

5、开发项目经常超支、超时,甚至中途夭折,有些项目即使按时完成也往往连客户的基本要 求都达不到,更谈不上什么质量了。这些问题给客户和软件开发企业都带来了巨大的风险。长久以来,软件开发企业将其自身产品和服务的质量置于不甚重要的地位,质量常常成为弥 补落后进度和减少超支的牺牲品。对质量的敷衍了事,本质上就是对客户的敷衍了事,而经 过市场的反馈作用,对质量的敷衍了事实际上就是对自身前途的敷衍了事。国外的经验教训表明,对于软件开发企业来说,采纳和借鉴IS09000和CMM质量模型是 保证软件质量的行之有效的途径。但是,鉴于目前我国软件界的状况,大多数软件开发企业 往往连最基本的企业管理制度都没有建立起来,

6、更不用说在产品的开发和维护上引入先进的 管理理念和做法了。因此,我们认为,在我国全面推广IS09000和CMM的时机尚不成熟,很 Http:2JilfK rpu寸犷2,津*+n.”软件质量保证方案 总体介绍容易流于形式。软件产品的质量,很大程度上取决于其生产过程。保证软件质量,不是CMM 评级,不是ISO认证,更不是一篇篇漂亮的计划和报告,而是让客户满意的强烈愿望和实 际行动。我们在保证软件质量的过程中要小心迷失方向,更不要为形式迷惑而忽略了本质。从我国软件开发企业的现状出发,保证软件产品质量,应当从软件开发过程中最基本、最关键的地方入手,建立和加强企业管理制度,规范软件开发过程,只有在严格管

7、理的基础 上,才能切实发挥出先进的方法和技术的优势,最大限度的保证软件产品质量。1.2软件质量保证方案简介我们认为,为了保证软件产品质量,应当从以下几个方面规范软件开发过程:1.2.1 实施配置管理通过实施配置管理,我们可以做到:对软件产品不同的版本进行管理,改善软件产品版本混乱的状况;对软件开发过程中对代码和文档的变更进行严格的控制,对不同开发人员之间的交流进 行协调,提高软件开发团队的工作效率;通过量化的数据和报表展现软件开发进度的状态。1.2.2 加强需求分析、软件设计管理采用规范、标准的分析设计方法,如结构化方法、面向对象方法等,保证软件项目对用 户需求的正确理解,促进软件开发团队与用

8、户、软件开发团队内部的交流,减少项目早期可 能发生的错误,为软件开发奠定良好的基础。1.2.3 实施需求管理通过实施需求管理,建立对软件需求的评审的机制,保证对软件需求的版本进行控制,实现对用户需求、软件需求、测试需求的跟踪。为此,建立需求管理,并不断进行维护,才能帮助我们:令沟通用户和设计人员之间的认识,使用户和软件项目人员对需求达成共识令改善开发团队通讯的交流,提高开发质量令缩短开发周期,降低开发成本使客户和设计人员之间很好的沟通行之有效的办法就是对需求进行管理,使客户和软件 项目人员之间达成共识,建立,维护和管理软件项目中的客户需求。需求管理强调:令控制对需求基线的变更令保持项目计划与需

9、求一致Http:3JilfK rpu寸犷2,津*+n“软件质量保证方案 配置管理令控制单个需求和需求文档的版本令管理需求与软件开发过程中其他产品之间的依赖关系令 跟踪基线中需求的状态1.2.4 质量保证令建立技术评审制度建立对代码、文档的技术评审制度,增强软件文档的可读性,避免软件文档空洞乏味的 问题,使之切实有效;建立代码、文档的风格的统一规范;通过评审,避免编码当中的错误,减少软件出错的可能性。令利用工具规范代码令全面加强产品测试我们认为,应当在软件开发的早期就引入软件测试,以便尽早发现代码中的错误;尽量利用工具进行自动化测试,提高测试的效率和质量;用白盒的方法保证测试的彻底性。1.2.5

10、 实施项目管理大多数软件开发项目的失败,并不是由于软件开发技术方面的原因。它们的失败是由于 不适当的管理造成的。遗憾的是,尽管人们对软件项目管理重要性的认识有所提高,软件项目管理包括进度管理、成本管理、质量管理、人员管理、资源管理、标准化管理。管理的对象是进度、系统规模及工作量估算、经费、组织机构和人员、风险、质量、作业和 环境配置等。软件项目管理所涉及的范围覆盖了整个软件生存期。为使软件项目开发获得成功,一个关键问题是必须对软件开发项目的工作范围、可能遇 到的风险、需要的资源(人、硬/软件)、要实现的任务、经历的里程碑、花费工作量(成本),以及进度的安排等等做到心中有数。而软件项目管理可以提

11、供这些信息。通常,这种管理在 技术工作开始之前就应开始,而在软件从概念到实现的过程中继续进行,并且只有当软件开 发工作最后结束时才终止。2配置管理2.1 配置管理简介随着计算机的发展,软件项目变得越来越复杂。无论在项目规模、复杂程度和所使用的 技术上,我们都可以说现在比以往任何时候都需要配置管理。现在的大多数软件产品可以满 足成千上万的用户,支持不同国家的语言,具有不同的大小和形式,如桌面版、标准版、专Http:4一4 rpu甘叮;E软件质量保证方案配置管理家版和企业版等等。例如,操作系统、字处理、甚至企业资源计划(ERP)包都支持多种语 言。几乎所有的软件产品运行在不止一种软件和硬件平台上。

12、另外,现在的用户更加成熟,他们所发现的错误和缺陷很快就可以通过Internet公之 于众。在今天的软件开发环境中,通讯能力加强了,有关产品的新闻能够以极快的速度传播。所以,公司为了维护自己的形象,必须具备快速的反应能力修复产品中的缺陷和分发修订版。并且保证在修复产品的过程中不产生新的问题,所有更改通过回归测试,将修订版以尽快的 速度交给客户。另外,今天的软件开发环境是非常复杂的,必须具备敏捷的反映能力,快速的响应时间。在竞争的市场上,开发组织更需要有序的管理机制,确保开发活动在管理控制之中,避免无 序和混乱导致产品和系统失败。软件配置管理(SCM)就是这样一种将软件开发过程引入控 制的过程。2

13、.2 配置管理在软件开发过程中的重要地位配置管理在软件的开发管理中的重要地位在软件的开发过程中实施配置管理,可以帮助我们解决以下问题:1.信息沟通问题:信息流通不畅,对需求、设计的变更无法及时通知整个团队,客户 的要求处理不及时;或者过于通畅,本来需要经过一定审批流程才能够实施的变更 请求,直接反映到了最基层的程序员的手里,以至于变更失控;2.数据共享问题:由于数据(包括但不限于文档、代码等)被几个人、甚至多个项目 共享,管理不善会造成数据残缺、冗余等混乱;3.多重维护问题:由于数据的共享以及版本升迁导致多重维护不可避免,没有有效的 控制手段将导致版本的混乱;4.同步更新问题:多个人对同一个文

14、件的同步更新时,如果没有有效的控制手段将会 导致“脏写”而丢失数据。我们知道,软件开发的最终产品是软件(文档、代码、数据),而中间产品也是这些“软 性”的内容;而这些内容正是我们管理的核心。正如硬件的生产线上有原料的输入装置、各 个环节的加工设备、以及传送装置,软件的生产也要有一条无形的生产线,建立类似硬件生JilfK rpu寸犷2,津*+n“软件质量保证方案 配置管理产的原料输入、加工、检测等环节,使软件的“原材料”一用户需求、变更请求、问题反馈 等信息,有序的流过我们的软件生产线,最终生产出合格的产品。建立了完整的配置管理系统,就解决了软件开发中输入信息以及其中间产品的存储、标 识、流转等

15、问题;而其他方面,比如分析设计、评审、测试等,都是软件开发过程的一些环 节,都要以配置管理为基础。上图是太平洋软件公司提出的“软件开发规范化”解决方案,由此可以看出软件配置管 理的基础地位。2.3 配置管理的主要功能以及实施效果配置管理的主要功能按照IEEE STD 828-1998的标准,综合业务平台系统的配置管理工作应该完成下功能:(1)配置标识:是为系统所选的配置项组成的配置管理的元素,和在技术文档中记录 的它们的功能和物理的特性。配置标识是软件配置管理的基础。配置标识的过程包括选择、设计和描述软 件配置项。选择是指将软件按某个主题划分,组成软件配置项;设计就是为软件 组件和相关的文档编

16、号和命名;描述提供每个软件组件的功能、性能和物理特性 方面的说明。配置标识实际上是从空间上将项目划分成可管理的部分。综合业务平台系统 开发过程的成功管理也要建立在合理划分配置项的基础上。(2)配置控制:是包括评估、协调、认可和否决的配置管理的元素,和对配置项的变 更的实现。IEEE将配置控制定义为配置管理一个元素:配置控制是在正式配置标识建立 后,由对配置标识的评估、协调、认可或否决和实现等活动组成。所以,一旦项 目或系统的配置项已经标识,下一步就是引入控制的程度。简单来说,配置控制 规定了关于谁可以对这些配置项做什么的规则。在软件开发的过程中,对于所有变更必须定义手续,实现准则,定义角色和

17、权限,对于实现所有变更管理系统的工作流过程也要进行规划并记录在案。例如 如何变更标识、提交变更请求、变更认可/否决、变更实现、测试等等。同时,也 要规定同样手续和准则如何应用在不同的配置项中,例如源代码、文档、说明、第三方软件和子承包商来完成的模块等(3)状态统计:包括有效管理配置所需的信息的记录和报告。该信息列出了认可标识、对配置建议变更的统计和认可变更的实现状态。配置状态统计是配置管理活动中一个基本的任务。包括记录和报告有效地管 理软件系统和特性所需的信息。统计的内容包括配置标识,建议变更配置的状态,Http:6JilfK rpu寸犷2,津*+n“软件质量保证方案 配置管理允许变更的需求所

18、处的状态。状态统计功能用于记录和报告管理配置项需要的信 息。状态统计系统能够回答以下问题:a.配置项的状态是什么?b.某一个CR是否允许修改?其状态是什么?c.某一个CR相关的项是哪些?d.某一个CR在何时通过修改?谁批准的?e.某一个CR将由谁执行变更?何时结束?谁来验证?谁来审批?f.配置项的哪个版本实现一个被批准的CR?g.每个月有多少CR提出?批准的概率是多少?h.每个月有多少问题报告,每个的状态如何?i.引起问题/缺陷的主要原因是什么?(4)配置审核:审核是实施来确保SCM系统功能正确性,和测试配置以论证其达到功 能要求和包括所有的发布的实体。功能配置审核应确信软件和要求及文档中标识

19、的相一致;物理标识审核确信 分发的组件确实存在和它们包括所需的项,例如,适当的源代码和目标代码的版 本、文档和安装指令。事实上,在SCM功能中,配置控制是执行频率最高的。配置标识只在SCM执行开始做一 次;状态统计,作为SCM活动的记录和报告,可能要定期或者根据需要做;配置审核在一个 配置项完成时或系统发布前执行。而在软件系统开发阶段和系统发布后,变更的需求是十分 经常的。对新特点的需求、功能增强和错误缺点的报告都会引起变更,因此这是配置管理的 重要部分。但是国内大多数软件组织恰恰缺乏这方面的管理。实施配置管理的效果(1)大大改善中间产品版本混乱情况。(通过配置标识)(2)变更得到有效控制。(

20、通过配置控制)(3)信息流动有序,有统一的信息收集、处理渠道;最后发布的产品都是经过检测 的。(通过配置标识、控制、审核)(4)可以清晰了解项目进展状态。(通过状态统计)2.4 太平洋软件公司配置管理引入实施方案我公司有多年的配置管理实施经验,已成功帮助多家公司引入软件配置管理体系。实施 软件配置管理,要经过以下几个步骤:Http:7JilfK rpu寸犷2,津+”=”软件质量保证方案 需求分析与需求管理 调研需求:对以下方面进行了解:令 开发商组织情况,令 项目开发情况,令 项目管理状况;需求整理确认:确认项目的配置管理需求,并编写需求说明书;编写配置管理计划(SCMP);部署实施:依据SC

21、MP,根据所选用的配置管理工具的特点进行客户化,并部署配置管 理环境以试运行;策略调整:根据试运行阶段的情况和问题,对不合适的地方进行调整。2.5 实施配置管理的必要条件就像分析设计、测试等技术一样,配置管理也已经发展为一门学科。因此要想把这门技 术在软件项目中运用得当,也不是一蹴而就的事。根据我们的经验,实施SCM需要如下条件:1.领导层有配置管理意识,项目负责人对配置管理理论知识较为熟悉;2.项目组成员对配置管理的标准有一定的了解;3.项目组至少有一位熟练掌握所选用的配置管理工具,并且能够进行日常系统管理;4.全体参与人员(项目组、SQA、测试甚至客户代表)了解所制定的配置管理计划,以 及

22、日常操作规程。另外,需求的调研和计划的编制需要有这方面经验的人员参与进行。太平洋软件公司已 经在这方面积累了丰富的经验。3需求分析与需求管理需求是任何软件开发过程的起点,我们认为,在系统开发过程的需求阶段,应当严格按 照规范、标准的方法进行需求的获取,需求的分析,需求规格说明和需求的验证,还要加强 对需求的管理。3.1 需求分析和软件设计3.1.1 需求分析和软件设计的重要性目前大多数软件开发项目在需求分析和软件设计阶段存在以下问题:令对用户需求的大量文字描述会产生二义性,无法达到用户和系统开发人员之间的共 同理解。令缺乏统一、标准的描述方法。令 需求获取、分析和软件设计过程随意、不规范。令在

23、需求开发阶段产生的文档不符合标准,有时甚至没有文档。Http:8JilfK rpu寸犷2,津+”=”软件质量保证方案 需求分析与需求管理由此会产生这样的后果:需求分析阶段的错误会导致错误的设计,进而使最后交付的软 件产品不能满足用户的需要。尽管在软件测试阶段可以发现并改正很多错误,然而在分析设 计阶段发生的错误往往很难被测试出来,即使它们被测试出来,要修正这些错误,也要付出 巨大的代价。因此,高质量的需求分析以及在此基础上的系统设计是减少软件错误,保证软件质量的 前提。在需求开发过程中,需求分析是核心工作,对后续的工作起着指导性的作用,并对软件 产品的最终交付具有评价、审定、鉴定性的作用,因而

24、,需求分析在整个软件工程中的地位 日益突出,受到了越来越多的重视。我们认为,只有在需求分析阶段采用一系列规范、标准的方法,才能够避免很多早期的 错误,提高需求分析与设计质量,从而在根本上保证软件系统的质量。3.1.2 需求分析和软件设计方法在软件的开发过程中,我们可以采用符合IEEE标准的IDEF方法和业界流行的面向对象 方法来进行需求的开发工作。今需求获取使用功能建模方法(IDEFO)描述系统的功能和非功能需求,通过功能分解的方法构造 系统模型,并使用IDEF3方法描述业务的工作流程,使得开发人员更好地理解业务需求。令需求分析采用IDEF方法、DFD方法和面向对象方法向结合工作进行需求分析。

25、功能建模方法已 经通过IEEE认证(ANSI/IEEE1320.1-1998,功能建模语言标准-IDEFO),成为业界公认的规范、标准的功能建模标准。用IDEFO进行功能分解,有助于清晰地分析系统功能,建立 的需求分析文档。采用面向对象建模语言UML与IDEFO方法相结合,可以将需求分析的结果 平滑地转入面向对象设计,提高系统的开发效率。令需求规格说明使用IDEF方法、DFD方法以及面向对象方法,在相应工具的支持下,可以自动生成符 合规范、标准的文档一-需求规格说明书等。令软件设计上述方法不仅仅可以用于需求获取和分析,还可用于软件的设计,包括体系结构设计和 详细设计。我们可以用IDEFO设计系

26、统的总体功能模块结构,用IDEF3设计应用流程,用 DFD设计系统的数据流程,用最流行的已经成为业界公认的规范、标准的信息建模标准 IDEFlx构造系统的数据模型,进行数据库的设计,并且,在系统开发完成以后,仍然可以 用IDEFlx方法和相应工具对数据库进行维护,用支持UML的工具进行应用程序的维护。同 样,可以很方便地生成标准的设计文档一一概要设计说明书和详细设计说明书。在需求分析和设计阶段,采用上述的规范、标准的分析设计方法和相应工具,可以获得 以下效果:Http:9JilfK rpu寸犷2,津+”=”软件质量保证方案 需求分析与需求管理令极大地提高需求分析与设计的效率,令促进开发人员对需

27、求的理解,令最大限度地减少前期可能发生的错误,令生成高质量的系统开发文档,令为系统的开发和维护奠定坚实的基础,从根本上保证软件的质量。3.2 需求管理现实中的任何软件项目均有需求变更,如何对需求的变更进行管理和控制,是在规范系 统开发过程中,保证软件质量的关键问题之一。3.2.1 需求管理的重要性在任何一个软件开发过程中,对需求缺乏管理会带来以下问题:令由于对需求版本不加控制,开发人员根据最新的需求进行编码,而测试人员却拿着 过时的需求进行测试,结果可想而知。令由于在需求获取和分析阶段缺乏有效的验证,导致当产品发布时,用户却问道:“为 什么我想要的功能在系统中不能实现?”。令 对需求随意进行变

28、更,不加控制,为开发过程带来很多不必要的耗费,降低产品的 质量。令由于对需求没有进行跟踪,当需要变更一项需求时,没有人能够知道变更这项需求 的风险又多大,有没有可行性。由此我们可以看出,需求管理的混乱,必将导致开发过程的混乱,这样的开发过程生产 出的软件质量又怎么能够让用户满意呢?因此,在软件项目开发过程中,一定要建立需求管理制度,管理需求的不同版本、对需 求进行跟踪、加强对需求变更的控制,才能避免开发过程的混乱,使软件的质量得到保证。3.2.2实施需求管理,保证软件质量我们认为,在软件项目中实施需求管理,首先应制订需求管理的目标、计划,并建立相 应的需求管理制度,必要时可以和配置管理相结合。

29、令系统需求管理应当包括在软件开发过程中维持需求约定集成性、一致性和 正确性的所有活动。我们认为,在需求管理中应完成版本控制是需求管理 的一个必要方面。在需求开发过程中得到的相关文档,如软件需求规格说明书等,经过需求验证,评审批 准,就形成了软件开发过程中的需求基线(BaseLine)0这个基线在客户与软件开发人员之 间构筑了对系统功能需求和非功能需求的共同理解。这个基线是需求开发和需求管理之间的 桥梁。在软件开发过程中需求文档的每一个版本必须被统一确定。开发组内每个成员必须能够 得到需求的当前版本,必须清楚地将变更写成文档,并及时通知到项目开发所涉及的人员。Http:10JilfK rpu寸犷

30、2,津+”=”软件质量保证方案 需求分析与需求管理为了尽量减少困惑、冲突、误传,应仅允许指定的人来更新需求。这些策略也同样适用于所 有关键项目文档。每一个公布的需求文档的版本应该包括一个修正版本的历史情况,即已做 变更的内容、变更日期、变更人的姓名以及变更的原因。应该使用标准修改符,可以考虑给 每个需求标记上版本号,当修改需求后就增加版本号。令管理需求属性除了文本,在系统开发过程中每个需求应该有一些相关的信息或称之为属性与之相联 系。这些属性在它的预期功能性之外为每个需求建立了一个上下文和背景资料。因此,在软 件开发系统的每个需求文档中可以考虑是否有如下的属性:创建需求的时间 需求的版本号 创

31、建需求的作者 负责认可该需求的人员 需求状态 需求的原因或根据(或信息的出处)需求涉及的子系统 需求涉及的产品版本号 使用的验证方法或接受的测试标准 产品的优先级或重要程度 需求的稳定性定义和更新这些属性值是需求管理成本的一部分。今需求跟踪在系统开发过程中,跟踪每个需求的状态是需求管理的一个重要方面。需求跟踪包括编 制每个需求同系统元素之间的联系文档。这些元素包括系统中别的需求、系统的体系结构、其他设计部件、源代码模块、测试、帮助文件、文档等。跟踪能力信息使变更影响分析十分 便利,有利于确认和评估实现某个建议的需求变更所必须的工作。在系统开发过程中可以使用需求跟踪能力矩阵表示需求和别的系统元素

32、之间的联系链。令需求变更控制在系统开发过程中还应严格控制对需求的变更。变更管理策略可以减少变更造成的混 乱,在需求变更控制过程应当建立正式的建议需求变更机制。通过这些处理过程,项目负责 人(leader)可以在信息充分的条件下做出决策,通过变更控制过程来跟踪已建议变更的状 态,确保不会丢失或疏忽已建议的变更。在确定了一个需求集合的基线,应该对所有已建议 的变更都遵循变更控制过程。控制需求变更同项目其它配置管理决策紧密相连。管理需求变更类似于跟踪错误和做出 相应决定过程,在系统开发过程中应成立变更控制委员会(CCB)管理变更控制。令影响分析影响分析是需求管理的一个重要组成部分。影响分析可以提供对

33、建议的需求变更的准确 理解,帮助做出信息量充分的变更批准决策。通过对变更内容的检验,确定对现有的系统做 出是修改或抛弃的决定,或者创建新系统以及评估每个任务的工作量。进行影响分析的能力 依赖于跟踪能力数据的质量和完整性。Http:11JilfK rpu寸犷2,津*+n“软件质量保证方案 质量保证令需求管理工具在系统开发过程中还应使用需求管理工具来提高需求管理的效率,以下是需求管理工具 可以执行的任务:管理版本和变更项目应定义需求基线。存储需求属性 帮助影响分析 跟踪需求状态 访问控制可以对个人、用户小组确定访问权限。与风险承担者进行沟通 重用需求太平洋软件在需求分析、软件设计和需求管理领域对有

34、关标准、方法和技术进行了大量 的研究,积累了丰富的实践经验,并且掌握了许多优秀的工具,可以为软件项目的开发提供 咨询、服务、指导和监督。4质量保证软件项目的目标是生产高质量的软件。高质量的软件应该具备下列三个条件:1、满足软件需求定义的功能和性能;2、文档符合事先确定的软件开发标准;3、软件的特点和属性遵循软件工程的目的和原则。如何检查和验证软件是否具备这些条件呢?实践证明,软件质量保证活动在提高软件质 量方面卓有成效。对任何制造业企业来说,质量保证活动都是必不可少的。在软件越来越普 及的今天,“软件质量保证”更成为软件开发企业和最终用户所关心的问题。针对软件项目的 开发,为提高软件质量,必须

35、进行有系统、有计划的软件质量保证(SQA)活动。SQA组织并不负责生产高质量的软件产品和制定质量计划,这些都是软件开发人员的工 作。SQA组织的责任是审计软件经理和软件工程组的质量活动和产品并鉴别活动中出现的偏 差。软件质量保证的目标是以独立审查的方式监控软件生产任务的执行,给开发人员和管理 层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品。软件质量保证 的主要任务有以下方面:SQA审计与评审 发现与处理缺陷 SQA报告因此,太平洋软件针对质量保证的活动主要从以下两个方面阐述。Http:12JilfK rpu寸犷2,津*+n“软件质量保证方案 质量保证4.1实现对代码、文档和

36、过程的评审对新开发的或正在开发过程中的各个子系统,都要按照进行定期的或阶段性的各项评 审工作。就整个软件开发过程而言,要进行软件需求、概要设计、详细设计、软件验证和确 认、功能审核、物理审核、综合审核等的评审和对代码是否符合编程规则和质量定义的评审。评审分成三次进行。有每次评审之后,要对评审结果作出明确的管理决策。下面给出每次评 审应该进行的工作。1第一次评审第一次评审要对软件需求、概要设计以及验证与确认方法进行评审。a.软件需求评审:确保在软件需求规格说明书中规定的各项需求的合理性。b.概要设计评审:评价软件设计说明书中的软件概要设计的技术合适性。c.软件验证和确认评审:评价软件验证和确认计

37、划中确定的验证和确认方法的合适性 和完整性。2第二次评审第二次评审要对详细设计、测试进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照软件配置管理 计划的规定处理。a.详细设计评审:确定软件设计说明书中的详细设计在满足软件需求规格说明书中的 需求方面的可接受性。b.测试文档评审:对测试计划、测试设计、测试开发等部分的文档进行评审。c.编程规则评审:确保所有编码采用规定的工作语言,能在规定的运行环境中运行,并且符合团队的编程风格。d.测试工作评审:检查所进行的测试工作是否满足测试要求。3第三次评审第三次评审会要进行功能审核、物理审核和综合审核。a.功能

38、审核:验证所开发的软件已满足在软件需求规格说明书中规定的所有需求。b.物理审核:对软件进行物理审核,以验证程序和文档已经一致,并已做好了交付的 准备。c.综合审核:验证代码和设计文档的一致性、接口规格说明的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。由此可以看出质量保证的正式技术评审是软件工程的重要环节,它用于软件开发的各个 阶段。通过太平洋软件质量保证解决方案中质量评审这一活动,能够帮助及时揭示项目开发 时软件的代码、文档和过程中的缺陷。尽早发现并消除这些缺陷,不仅可以提高软件的质量,而且还可以有效的减少软件开发及维护费用。Http:13JilfK rpu寸

39、犷2,津*+n“软件质量保证方案 质量保证4.2通过软件测试实现对软件质量的监控评审是对软件工程各个阶段的结果进行评测,而如何去探测并发现缺陷的执行过程是由 软件测试来实现的。软件测试是保证软件质量的重要手段。没有测试的开发是不完整的软件 开发过程。狭义的软件测试只是指程序测试,而实际上软件包括与计算机系统的操作有关的计算机 程序、规程、规则,以及任何与之有关的文档,因此软件测试作为软件质量保证中最常用的 手段,应该贯穿于软件开发的全过程中。由于软件开发各阶段成果(测试对象)的形式不同,相应软件测试采用的方法和技术也有所不同。太平洋软件的测试解决方案,立足于最终用户,通过测试不同的执行方式和完

40、整的测试 流程,帮助用户最大限度的发现开发过程中软件的错误和缺陷。421测试的执行方式测试按照执行的方式主要分为静态分析和动态测试。静态分析不需要执行所测试的程序,它扫描所测试程序的正文,对程序的数据流和控制 流进行分析,然后提出测试报告。动态测试就是通过选择适当的测试用例,实际运行测试程序,比较运行结果,动态测试 能使所测程序有控制地运行,自动地监视、记录、统计程序的运行情况。4.2.2测试开发生命周期以及测试相关内容软件测试是一个极为复杂的过程。我们在进行软件开发的时候都不可避免的经历软件的 开发生命周期,即需求分析,系统分析,编码,维护,和修订。同样,软件的测试也具有生 命周期,一个规范

41、化的软件测试过程应按测试计划,测试设计,测试开发,测试执行,测试 评估,以及贯穿整个测试生命周期的缺陷跟踪这样的步骤完成对软件的测试。软件测试过程与整个软件开发过程基本上是同时进行的。在测试生命周期中,每一阶段 都有相应的任务需要完成,测试生命周期中各阶段的工作目标和具体工作任务如下:4.2.2.1 测试计划:测试计划在需求分析阶段即应开始制定。它说明了在进行软件测试过程中的目标、范围、方法、和重点。鉴于测试成员要严格按测试计划实施,项目管理人员要对测试进度进行管理 和与开发人员沟通,所以测试计划制定的好坏将直接影响应用的测试实施。计划做的越准确 要越细致越好,所以要花费一定的时间和精力去进行

42、计划的定制。4.2.2.2 测试设计:测试计划完成以后,可以根据计划的内容进行测试的设计,软件测试设计大纲是软件测 试的依据,是一份有关测试方法的文件。一份好的测试设计大纲应涉及测试类型、特点、功 Http:14JilfK rpu寸犷2,津*+n“软件质量保证方案 质量保证能、过程、系统、模块等,它必须明确详尽地规定在测试中针对系统的每一项功能或特性所 要完成的基本测试项目和测试标准以及测试用例的制定。无论是自动测试还是手动测试,都 必须符合测试设计大纲的要求。4.2.2.3 测试开发:在确定了应用应该测试什么后,测试的开发无疑是很重要的。在以往的测试过程中,测 试人员一般是在代码编写到一定程

43、度后,在测试执行之前临时定制一些测试驱动脚本,然后 再根据结果制定下一批的测试用例,这样的结果是测试的执行没有参照的标准,往往使测试 不够系统化,不够完全,测试的质量大打折扣。而我们建议在软件代码开始编写的同时,根 据测试设计大纲的要求建立测试脚本。4.2.2.4 测试执行:对某个测试应用运行一系列的测试过程并记录结果,包括缺陷报告和测试日志。测试执 行尽可能做到自动化,因为一个测试过程的执行次数难以预计,可能在某个测试周期内被执 行几十次到上百次。测试执行的每个阶段有不同的测试目标,因此将使用不同的技术、资源和指导策略。4.2.2.4.1 编码规范化以及代码静态度量:在代码编制之前进行规则和

44、度量标准的建立,依照这些规则和标准通过静态分析的方式 对代码程序进行审核和评估。编码质量的优劣将直接影响到软件产品的质量。而且,如果编 码的可测试性、可维护性不好,将会给测试、维护工作带来很大的麻烦。为了避免这些问题 需要在代码编制之前进行规则和度量标准的建立来规范代码。4.2.2.4.1.1 编码规范化为了帮助程序员在编码中避免许多潜在的错误隐患,提高程序的可靠性、可维护性等多 方面的质量指标,并且约束开发风格使团队内部、之间更容易交流,应当在开发之前定义编 程规则,在代码完成时通过静态走查的方式,查出每个有偏差的规则,提供改进源代码的解 释和建议。4.2.2.4.1.2 代码静态度量任何产

45、品的生产必须遵循标准。软件产品也是同样,没有标准可依自然谈不上质量的好 坏。所有关心软件开发质量的组织,都要定义或了解软件的质量标准、模型,以保证公司实 践的均匀性,产品的可维护性、可靠性以及可移植性等。我们可以通过定义软件的质量参考 模型,以静态分析的方式检查标准的遵循情况,达到改进代码的质量的目标。Http:15JilfK rpu寸犷2,津*+n“软件质量保证方案 质量保证4.2.2A.2 应用程序的动态测试:应用程序通过静态测试,保证其代码的质量符合质量模型,编程规则也得以实施和检查。那么应用程序在运行的状态下是否存在问题,这种问题是否能被检查出来,遗留下来是否对 应用程序有很大的影响,

46、应用程序的执行覆盖情况如何,还存在多少未被测试的代码,应用 程序的执行效率如何,以上这些问题都是在应用程序运行的情况下才能发生,只有通过动态 测试的方式才能发现这些问题。4.2.2.4.2.1单元测试:是动态测试阶段最早期进行的测试,面向软件设计中最小的可测试单位软件组件,进行正确性检验的测试工作。单元测试应用于软件模块或函数,检查程序的控制流和数据流,其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计 测试用例。多个模块可以平行地独立进行单元测试。在该阶段我们主要关注模块的可靠性、稳定性、执行性能,局部数据结构、边界条件、覆盖条件等。422.422集成测试:在单

47、元测试的基础上将模块组装成子系统或系统,测试各单元之间的互操作性。这是一 个随集成程度的不断提高而迭代进行的过程。常常组成系统的各单元来自于不同的开发部 门,不完整的或错误单元将在集成测试中暴露出来。集成测试主要测试模块连接中可能出现的问题,一般需要进行以下几方面的测试:(1)集成之后的模块接口测试;(2)模块性能测试,测试是否对其余的子模块产生不良的影响;(3)功能测试,测试各个子功能连起来,能否达到预期要求的父功能;(4)人机界面测试等。4.2.2.4.2.3系统测试:系统测试是在具备整体功能的软件上进行的。它包括从最终用户的角度检查系统的功 能,由开发组织或最终用户完成。如系统测试由用户

48、进行,也称做验收测试。系统测试的内容是测试该构造是否达到了系统需求和功能规格说明中的要求,一般需要 进行功能测试、性能测试、外部接口测试、人机界面测试、强度测试、冗余测试、可靠性测 试、安全性测试、恢复测试等。4.2.2.5 测试评审:测试评审是软件测试的一个阶段性的结论,用所生成的测试评审报告,来确定测试是否 达到完全和成功的标准。通过测试报告,验证测试结果是否符合测试计划中制定的测试标准。根据缺陷报告提供的测试结果数据,给出软件质量和测试完整性的评审报告。(见4.1评审)4.2.2.6 缺陷跟踪:软件测试并不是一个简单的过程,在经历了一个完整的测试生命周期之后,每一个阶段 都会有相应的结果

49、文档、脚本程序、日志报告、缺陷记录产生,那么针对这些内容我们如何 Http:16JilfK rpu寸犷2,津*+软件质量保证方案 项目管理管理,如何让这些测试的资产在后期的维护阶段发挥作用是很重要的。在测试的管理中,缺 陷跟踪是一个很重要的组成部分。另外,我们根据CMM中对软件配置管理的要求,将软件测试过程中产生的资源作为软件 的配置项进行管理,将测试发现的缺陷定制出严重等级,通过分发的机制交由开发人员改进,再通过配置管理机制传递给测试人员进而展开进一步的测试,从而建立缺陷跟踪的良性机 制。(在测试方面配置管理的实施见本方案”配置管理部分”)太平洋软件的测试部门是专业的软件测试机构,以掌握深厚

50、软件工程理论、具有丰富软 件开发实践经验的技术人员为基础,辅以必要的软件应用领域知识和先进的软件测试工具,对开发的软件进行严格认真的测试,提供客观真实的测试报告,有利于用户选择最合适的产 品,保障了用户的投资利益。5项目管理5.1 项目管理的重要性软件开发项目的最终目的是要在满足用户需求的条件下,尽可能产生高质量的软件产 品。然而,几乎所有的软件开发项目都受到成本和交付期的限制:令 项目严重超过预算。令项目严重延期。令 在项目开发过程无法了解项目进展情况。令 这些问题使得在软件开发过程中的项目管理的尤为突出。为了使软件开发项目获得成功,软件开发企业在开发过程中我们必须对项目的工作范 围、可能遇

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 报告/总结

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服