首页 软件项目质量保证方案

软件项目质量保证方案

举报
开通vip

软件项目质量保证方案软件项目质量保证方案 软件质量保证方案 目 录 1 总体介绍 ................................................................................................................................... 2 1.1 公司简介 .....................................................................................

软件项目质量保证方案
软件项目质量保证 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 软件质量保证方案 目 录 1 总体介绍 ................................................................................................................................... 2 1.1 公司简介 ................................................................................................................... 2 1.2 软件质量保证方案简介 ........................................................................................... 3 2 配置管理 ................................................................................................................................... 4 2.1 配置管理简介 ........................................................................................................... 4 2.2 配置管理在软件开发过程中的重要地位 ............................................................... 5 2.3 配置管理的主要功能以及实施效果 ....................................................................... 6 2.4 太平洋软件公司配置管理引入实施方案 ............................................................... 7 2.5 实施配置管理的必要条件 ....................................................................................... 8 3 需求分析与需求管理 ............................................................................................................... 8 3.1 需求分析和软件设计 ............................................................................................... 8 3.2 需求管理 ................................................................................................................. 10 4 质量保证 ................................................................................................................................. 12 4.1 实现对代码、文档和过程的评审 ......................................................................... 13 4.2 通过软件测试实现对软件质量的监控 ................................................................. 14 5 项目管理 ................................................................................................................................. 17 5.1 项目管理的重要性 ................................................................................................. 17 5.2 实施项目管理,保证软件质量 ............................................................................. 17 5.3 结论 ......................................................................................................................... 20 软件质量保证方案 总体介绍 1 总体介绍 1.1 公司简介 1.1.1 太平洋软件历史与现状 太平洋软件(中国)有限公司是有近二十年历史的专业软件企业,总部设在北京,在上海、广州、成都、南京、香港等地设有办事处,雇员总数超过200人。我公司早在八十年代就成功引进了世界领先的数据库产品Oracle;随后又先后引进了世界领先的客户/服务器产品Sybase;世界领先的客户端应用开发工具PowerBuilder;商务智能系统BusinessObjects等。特别是二十世纪九十年代初,太平洋软件看到软件工程对于软件发展的重要性,围绕软件生命周期超前引进了软件工程中的CASE工具:如软件配置管理工具PVCS,数据库设计工具ERwin,测试工具SQA、Pure系列等;并在服务过程中逐渐向国内介绍了一些先进的代表软件发展方向的理念:如软件工程、OO分析设计方法、测试方法、软件配置管理、软件质量保证等,为国内软件产业的发展、软件工程的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化做了一些工作,与此同时,积累了丰富的软件工程理论和管理经验,并培养和锻炼出经验丰富、专业优秀的软件工程技术人员。 随着计算机软件的发展和Internet的普及,我们在基于自身雄厚技术力量和丰富实践经验基础上推出了与软件工程息息相关的咨询服务、项目实施,同时代理许多业界优秀的CASE工具。通过咨询服务,我们可以为用户提供软件开发方法、软件配置管理、软件项目管理等方法的培训和指导,对用户在具体项目开发过程中遇到的问题提供咨询与监控,帮助用户评估软件开发商的能力,对其软件开发过程的关键环节进行评审;在我们对软件工程规范化的研究与咨询服务的实践的基础上,根据用户的需求,为用户提供项目实施服务,主要包括帮助用户实施配置管理,进行软件测试以及数据采集和决策支持项目实施。 1.1.2 太平洋软件与CMM、ISO 我们在多年来为用户服务的过程中深深的体会到,软件产品的质量问题已经越来越引起客户(软件的使用者)和软件开发企业的广泛关注。软件产品质量的优劣是客户满意程度的一个决定因素。然而,令人感到遗憾和忧虑的是,目前的许多软件产品不能使客户满意,软件开发项目经常超支、超时,甚至中途夭折,有些项目即使按时完成也往往连客户的基本要求都达不到,更谈不上什么质量了。这些问题给客户和软件开发企业都带来了巨大的风险。长久以来,软件开发企业将其自身产品和服务的质量置于不甚重要的地位,质量常常成为弥补落后进度和减少超支的牺牲品。对质量的敷衍了事,本质上就是对客户的敷衍了事,而经过市场的反馈作用,对质量的敷衍了事实际上就是对自身前途的敷衍了事。 国外的经验教训表明,对于软件开发企业来说,采纳和借鉴ISO9000和CMM质量模型是保证软件质量的行之有效的途径。但是,鉴于目前我国软件界的状况,大多数软件开发企业往往连最基本的企业 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 都没有建立起来,更不用说在产品的开发和维护上引入先进的管理理念和做法了。因此,我们认为,在我国全面推广ISO9000和CMM的时机尚不成熟,很 Http://www.pts.com.cn 2 软件质量保证方案 总体介绍 容易流于形式。软件产品的质量,很大程度上取决于其生产过程。保证软件质量,不是CMM 评级,不是ISO 认证,更不是一篇篇漂亮的计划和报告,而是让客户满意的强烈愿望和实际行动。我们在保证软件质量的过程中要小心迷失方向,更不要为形式迷惑而忽略了本质。 从我国软件开发企业的现状出发,保证软件产品质量,应当从软件开发过程中最基本、最关键的地方入手,建立和加强企业管理 制度 关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载 ,规范软件开发过程,只有在严格管理的基础上,才能切实发挥出先进的方法和技术的优势,最大限度的保证软件产品质量。 1.2 软件质量保证方案简介 我们认为,为了保证软件产品质量,应当从以下几个方面规范软件开发过程: 1.2.1 实施配置管理 通过实施配置管理,我们可以做到: 对软件产品不同的版本进行管理,改善软件产品版本混乱的状况; 对软件开发过程中对代码和文档的变更进行严格的控制,对不同开发人员之间的交流进行协调,提高软件开发团队的工作效率; 通过量化的数据和报表展现软件开发进度的状态。 1.2.2 加强需求分析、软件设计管理 采用规范、 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的分析设计方法,如结构化方法、面向对象方法等,保证软件项目对用户需求的正确理解,促进软件开发团队与用户、软件开发团队内部的交流,减少项目早期可能发生的错误,为软件开发奠定良好的基础。 1.2.3 实施需求管理 通过实施需求管理,建立对软件需求的评审的机制,保证对软件需求的版本进行控制,实现对用户需求、软件需求、测试需求的跟踪。 为此,建立需求管理,并不断进行维护,才能帮助我们: , 沟通用户和设计人员之间的认识,使用户和软件项目人员对需求达成共识 , 改善开发团队通讯的交流,提高开发质量 , 缩短开发周期,降低开发成本 使客户和设计人员之间很好的沟通行之有效的办法就是对需求进行管理,使客户和软件项目人员之间达成共识,建立,维护和管理软件项目中的客户需求。 需求管理强调: , 控制对需求基线的变更 , 保持项目计划与需求一致 Http://www.pts.com.cn 3 软件质量保证方案 配置管理 , 控制单个需求和需求文档的版本 , 管理需求与软件开发过程中其他产品之间的依赖关系 , 跟踪基线中需求的状态 1.2.4 质量保证 , 建立技术评审制度 建立对代码、文档的技术评审制度,增强软件文档的可读性,避免软件文档空洞乏味的问题,使之切实有效; 建立代码、文档的风格的统一规范; 通过评审,避免编码当中的错误,减少软件出错的可能性。 , 利用工具规范代码 , 全面加强产品测试 我们认为,应当在软件开发的早期就引入软件测试,以便尽早发现代码中的错误; 尽量利用工具进行自动化测试,提高测试的效率和质量; 用白盒的方法保证测试的彻底性。 1.2.5 实施项目管理 大多数软件开发项目的失败,并不是由于软件开发技术方面的原因。它们的失败是由于不适当的管理造成的。遗憾的是,尽管人们对软件项目管理重要性的认识有所提高, 软件项目管理包括进度管理、成本管理、质量管理、人员管理、资源管理、标准化管理。管理的对象是进度、系统规模及工作量估算、经费、组织机构和人员、风险、质量、作业和环境配置等。软件项目管理所涉及的范围覆盖了整个软件生存期。 为使软件项目开发获得成功,一个关键问题是必须对软件开发项目的工作范围、可能遇到的风险、需要的资源(人、硬,软件)、要实现的任务、经历的里程碑、花费工作量(成本),以及进度的安排等等做到心中有数。而软件项目管理可以提供这些信息。通常,这种管理在技术工作开始之前就应开始,而在软件从概念到实现的过程中继续进行,并且只有当软件开发工作最后结束时才终止。 2 配置管理 2.1 配置管理简介 随着计算机的发展,软件项目变得越来越复杂。无论在项目规模、复杂程度和所使用的技术上,我们都可以说现在比以往任何时候都需要配置管理。现在的大多数软件产品可以满足成千上万的用户,支持不同国家的语言,具有不同的大小和形式,如桌面版、标准版、专 Http://www.pts.com.cn 4 软件质量保证方案 配置管理 家版和企业版等等。例如,操作系统、字处理、甚至企业资源计划(ERP)包都支持多种语言。几乎所有的软件产品运行在不止一种软件和硬件平台上。 另外,现在的用户更加成熟,他们所发现的错误和缺陷很快就可以通过Internet公之于众。在今天的软件开发环境中,通讯能力加强了,有关产品的新闻能够以极快的速度传播。所以,公司为了维护自己的形象,必须具备快速的反应能力修复产品中的缺陷和分发修订版。并且保证在修复产品的过程中不产生新的问题,所有更改通过回归测试,将修订版以尽快的速度交给客户。 另外,今天的软件开发环境是非常复杂的,必须具备敏捷的反映能力,快速的响应时间。在竞争的市场上,开发组织更需要有序的管理机制,确保开发活动在管理控制之中,避免无序和混乱导致产品和系统失败。软件配置管理(SCM)就是这样一种将软件开发过程引入控制的过程。 2.2 配置管理在软件开发过程中的重要地位 配置管理在软件的开发管理中的重要地位 在软件的开发过程中实施配置管理,可以帮助我们解决以下问题: 1. 信息沟通问题:信息流通不畅,对需求、设计的变更无法及时通知整个团队,客户 的要求处理不及时;或者过于通畅,本来需要经过一定审批流程才能够实施的变更 请求,直接反映到了最基层的程序员的手里,以至于变更失控; 2. 数据共享问题:由于数据(包括但不限于文档、代码等)被几个人、甚至多个项目 共享,管理不善会造成数据残缺、冗余等混乱; 3. 多重维护问题:由于数据的共享以及版本升迁导致多重维护不可避免,没有有效的 控制手段将导致版本的混乱; 4. 同步更新问题:多个人对同一个文件的同步更新时,如果没有有效的控制手段将会 导致“脏写”而丢失数据。 我们知道,软件开发的最终产品是软件(文档、代码、数据),而中间产品也是这些“软性”的内容;而这些内容正是我们管理的核心。正如硬件的生产线上有原料的输入装置、各个环节的加工设备、以及传送装置,软件的生产也要有一条无形的生产线,建立类似硬件生 Http://www.pts.com.cn 5 配置管理 软件质量保证方案 配置管理 产的原料输入、加工、检测等环节,使软件的“原材料”—用户需求、变更请求、问题反馈等信息,有序的流过我们的软件生产线,最终生产出合格的产品。 建立了完整的配置管理系统,就解决了软件开发中输入信息以及其中间产品的存储、标识、流转等问题;而其他方面,比如分析设计、评审、测试等,都是软件开发过程的一些环节,都要以配置管理为基础。 上图是太平洋软件公司提出的“软件开发规范化”解决方案,由此可以看出软件配置管理的基础地位。 2.3 配置管理的主要功能以及实施效果 配置管理的主要功能 按照IEEE STD 828-1998的标准,综合业务平台系统的配置管理工作应该完成下功能: (1) 配置标识:是为系统所选的配置项组成的配置管理的元素,和在技术文档中记录 的它们的功能和物理的特性。 配置标识是软件配置管理的基础。配置标识的过程包括选择、设计和描述软 件配置项。选择是指将软件按某个主题划分~组成软件配置项,设计就是为软件 组件和相关的文档编号和命名,描述提供每个软件组件的功能、性能和物理特性 方面的说明。 配置标识实际上是从空间上将项目划分成可管理的部分。综合业务平台系统 开发过程的成功管理也要建立在合理划分配置项的基础上。 (2) 配置控制:是包括评估、协调、认可和否决的配置管理的元素,和对配置项的变 更的实现。 IEEE将配置控制定义为配置管理一个元素:配置控制是在正式配置标识建立 后~由对配置标识的评估、协调、认可或否决和实现等活动组成。所以~一旦项 目或系统的配置项已经标识~下一步就是引入控制的程度。简单来说~配置控制 规定了关于谁可以对这些配置项做什么的规则。 在软件开发的过程中~对于所有变更必须定义手续~实现准则~定义角色和 权限~对于实现所有变更管理系统的工作流过程也要进行规划并记录在案。例如 如何变更标识、提交变更请求、变更认可/否决、变更实现、测试等等。同时~也 要规定同样手续和准则如何应用在不同的配置项中~例如源代码、文档、说明、 第三方软件和子承包商来完成的模块等 (3) 状态统计:包括有效管理配置所需的信息的记录和报告。该信息列出了认可标识、 对配置建议变更的统计和认可变更的实现状态。 配置状态统计是配置管理活动中一个基本的任务。包括记录和报告有效地管 理软件系统和特性所需的信息。统计的内容包括配置标识~建议变更配置的状态~ Http://www.pts.com.cn 6 软件质量保证方案 配置管理 允许变更的需求所处的状态。状态统计功能用于记录和报告管理配置项需要的信 息。 状态统计系统能够回答以下问题: a. 配置项的状态是什么, b. 某一个CR是否允许修改,其状态是什么, c. 某一个CR相关的项是哪些, d. 某一个CR在何时通过修改,谁批准的, e. 某一个CR将由谁执行变更,何时结束,谁来验证,谁来审批, f. 配置项的哪个版本实现一个被批准的CR, g. 每个月有多少CR提出,批准的概率是多少, 每个月有多少问题报告,每个的状态如何, h. i. 引起问题/缺陷的主要原因是什么, (4) 配置审核:审核是实施来确保SCM系统功能正确性,和测试配置以论证其达到功 能要求和包括所有的发布的实体。 功能配置审核应确信软件和要求及文档中标识的相一致,物理标识审核确信 分发的组件确实存在和它们包括所需的项~例如~适当的源代码和目标代码的版 本、文档和安装指令。 事实上,在SCM功能中,配置控制是执行频率最高的。配置标识只在SCM执行开始做一次;状态统计,作为SCM活动的记录和报告,可能要定期或者根据需要做;配置审核在一个配置项完成时或系统发布前执行。而在软件系统开发阶段和系统发布后,变更的需求是十分经常的。对新特点的需求、功能增强和错误缺点的报告都会引起变更,因此这是配置管理的重要部分。但是国内大多数软件组织恰恰缺乏这方面的管理。 实施配置管理的效果 (1)大大改善中间产品版本混乱情况。(通过配置标识) (2)变更得到有效控制。(通过配置控制) (3)信息流动有序,有统一的信息收集、处理渠道;最后发布的产品都是经过检测 的。(通过配置标识、控制、审核) (4)可以清晰了解项目进展状态。(通过状态统计) 2.4 太平洋软件公司配置管理引入实施方案 我公司有多年的配置管理实施经验,已成功帮助多家公司引入软件配置管理体系。实施软件配置管理,要经过以下几个步骤: Http://www.pts.com.cn 7 软件质量保证方案 需求分析与需求管理 , 调研需求:对以下方面进行了解: , 开发商组织情况, , 项目开发情况, , 项目管理状况; , 需求整理确认:确认项目的配置管理需求,并编写需求说明书; , 编写配置管理计划(SCMP); , 部署实施:依据SCMP,根据所选用的配置管理工具的特点进行客户化,并部署配置管 理环境以试运行; , 策略调整:根据试运行阶段的情况和问题,对不合适的地方进行调整。 2.5 实施配置管理的必要条件 就像分析设计、测试等技术一样,配置管理也已经发展为一门学科。因此要想把这门技术在软件项目中运用得当,也不是一蹴而就的事。根据我们的经验,实施SCM需要如下条件: 领导层有配置管理意识,项目负责人对配置管理理论知识较为熟悉; 1. 2. 项目组成员对配置管理的标准有一定的了解; 3. 项目组至少有一位熟练掌握所选用的配置管理工具,并且能够进行日常系统管理; 4. 全体参与人员(项目组、SQA、测试甚至客户代表)了解所制定的配置管理计划,以 及日常操作规程。 另外,需求的调研和计划的编制需要有这方面经验的人员参与进行。太平洋软件公司已经在这方面积累了丰富的经验。 3 需求分析与需求管理 需求是任何软件开发过程的起点,我们认为,在系统开发过程的需求阶段,应当严格按照规范、标准的方法进行需求的获取,需求的分析,需求规格说明和需求的验证,还要加强对需求的管理。 3.1 需求分析和软件设计 3.1.1 需求分析和软件设计的重要性 目前大多数软件开发项目在需求分析和软件设计阶段存在以下问题: , 对用户需求的大量文字描述会产生二义性,无法达到用户和系统开发人员之间的共 同理解。 , 缺乏统一、标准的描述方法。 , 需求获取、分析和软件设计过程随意、不规范。 , 在需求开发阶段产生的文档不符合标准,有时甚至没有文档。 , „ „ Http://www.pts.com.cn 8 软件质量保证方案 需求分析与需求管理 由此会产生这样的后果:需求分析阶段的错误会导致错误的设计,进而使最后交付的软件产品不能满足用户的需要。尽管在软件测试阶段可以发现并改正很多错误,然而在分析设计阶段发生的错误往往很难被测试出来,即使它们被测试出来,要修正这些错误,也要付出巨大的代价。 因此,高质量的需求分析以及在此基础上的系统设计是减少软件错误,保证软件质量的前提。 在需求开发过程中,需求分析是核心工作,对后续的工作起着指导性的作用,并对软件产品的最终交付具有评价、审定、鉴定性的作用,因而,需求分析在整个软件工程中的地位日益突出,受到了越来越多的重视。 我们认为,只有在需求分析阶段采用一系列规范、标准的方法,才能够避免很多早期的错误,提高需求分析与设计质量,从而在根本上保证软件系统的质量。 3.1.2 需求分析和软件设计方法 在软件的开发过程中,我们可以采用符合IEEE标准的IDEF方法和业界流行的面向对象方法来进行需求的开发工作。 , 需求获取 使用功能建模方法(IDEF0)描述系统的功能和非功能需求,通过功能分解的方法构造系统模型,并使用IDEF3方法描述业务的工作流程,使得开发人员更好地理解业务需求。 , 需求分析 采用IDEF方法、DFD方法和面向对象方法向结合工作进行需求分析。功能建模方法已经通过IEEE认证(ANSI/IEEE1320.1-1998,功能建模语言标准―――IDEF0),成为业界公认的规范、标准的功能建模标准。用IDEF0进行功能分解,有助于清晰地分析系统功能,建立的需求分析文档。采用面向对象建模语言UML与IDEF0方法相结合,可以将需求分析的结果平滑地转入面向对象设计,提高系统的开发效率。 , 需求规格说明 使用IDEF方法、DFD方法以及面向对象方法,在相应工具的支持下,可以自动生成符合规范、标准的文档---需求规格说明书等。 , 软件设计 上述方法不仅仅可以用于需求获取和分析,还可用于软件的设计,包括体系结构设计和详细设计。我们可以用IDEF0设计系统的总体功能模块结构,用IDEF3设计应用流程,用DFD设计系统的数据流程,用最流行的已经成为业界公认的规范、标准的信息建模标准IDEF1x构造系统的数据模型,进行数据库的设计,并且,在系统开发完成以后,仍然可以用IDEF1x方法和相应工具对数据库进行维护,用支持UML的工具进行应用程序的维护。同样,可以很方便地生成标准的设计文档---概要设计说明书和详细设计说明书。 在需求分析和设计阶段,采用上述的规范、标准的分析设计方法和相应工具,可以获得以下效果: Http://www.pts.com.cn 9 软件质量保证方案 需求分析与需求管理 , 极大地提高需求分析与设计的效率, , 促进开发人员对需求的理解, , 最大限度地减少前期可能发生的错误, , 生成高质量的系统开发文档, , 为系统的开发和维护奠定坚实的基础,从根本上保证软件的质量。 3.2 需求管理 现实中的任何软件项目均有需求变更,如何对需求的变更进行管理和控制,是在规范系统开发过程中,保证软件质量的关键问题之一。 3.2.1 需求管理的重要性 在任何一个软件开发过程中,对需求缺乏管理会带来以下问题: , 由于对需求版本不加控制,开发人员根据最新的需求进行编码,而测试人员却拿着 过时的需求进行测试,结果可想而知。 , 由于在需求获取和分析阶段缺乏有效的验证,导致当产品发布时,用户却问道:“为 什么我想要的功能在系统中不能实现,”。 , 对需求随意进行变更,不加控制,为开发过程带来很多不必要的耗费,降低产品的 质量。 , 由于对需求没有进行跟踪,当需要变更一项需求时,没有人能够知道变更这项需求 的风险又多大,有没有可行性。 , „ „ 由此我们可以看出,需求管理的混乱,必将导致开发过程的混乱,这样的开发过程生产出的软件质量又怎么能够让用户满意呢, 因此,在软件项目开发过程中,一定要建立需求管理制度,管理需求的不同版本、对需求进行跟踪、加强对需求变更的控制,才能避免开发过程的混乱,使软件的质量得到保证。 3.2.2 实施需求管理,保证软件质量 我们认为,在软件项目中实施需求管理,首先应制订需求管理的目标、计划,并建立相应的需求管理制度,必要时可以和配置管理相结合。 , 系统需求管理应当包括在软件开发过程中维持需求约定集成性、一致性和 正确性的所有活动。我们认为,在需求管理中应完成版本控制是需求管理 的一个必要方面。 在需求开发过程中得到的相关文档,如软件需求规格说明书等,经过需求验证,评审批准,就形成了软件开发过程中的需求基线(BaseLine)。这个基线在客户与软件开发人员之间构筑了对系统功能需求和非功能需求的共同理解。这个基线是需求开发和需求管理之间的桥梁。 在软件开发过程中需求文档的每一个版本必须被统一确定。开发组内每个成员必须能够得到需求的当前版本,必须清楚地将变更写成文档,并及时通知到项目开发所涉及的人员。 Http://www.pts.com.cn 10 软件质量保证方案 需求分析与需求管理 为了尽量减少困惑、冲突、误传,应仅允许指定的人来更新需求。这些策略也同样适用于所有关键项目文档。每一个公布的需求文档的版本应该包括一个修正版本的历史情况,即已做变更的内容、变更日期、变更人的姓名以及变更的原因。应该使用标准修改符,可以考虑给每个需求标记上版本号,当修改需求后就增加版本号。 , 管理需求属性 除了文本,在系统开发过程中每个需求应该有一些相关的信息或称之为属性与之相联系。这些属性在它的预期功能性之外为每个需求建立了一个上下文和背景资料。因此,在软件开发系统的每个需求文档中可以考虑是否有如下的属性: , 创建需求的时间 , 需求的版本号 , 创建需求的作者 , 负责认可该需求的人员 , 需求状态 , 需求的原因或根据(或信息的出处) , 需求涉及的子系统 , 需求涉及的产品版本号 , 使用的验证方法或接受的测试标准 , 产品的优先级或重要程度 , 需求的稳定性 定义和更新这些属性值是需求管理成本的一部分。 , 需求跟踪 在系统开发过程中,跟踪每个需求的状态是需求管理的一个重要方面。需求跟踪包括编制每个需求同系统元素之间的联系文档。这些元素包括系统中别的需求、系统的体系结构、其他设计部件、源代码模块、测试、帮助文件、文档等。跟踪能力信息使变更影响分析十分便利,有利于确认和评估实现某个建议的需求变更所必须的工作。 在系统开发过程中可以使用需求跟踪能力矩阵表示需求和别的系统元素之间的联系链。 , 需求变更控制 在系统开发过程中还应严格控制对需求的变更。变更管理策略可以减少变更造成的混乱,在需求变更控制过程应当建立正式的建议需求变更机制。通过这些处理过程,项目负责人(leader)可以在信息充分的条件下做出决策,通过变更控制过程来跟踪已建议变更的状态,确保不会丢失或疏忽已建议的变更。在确定了一个需求集合的基线,应该对所有已建议的变更都遵循变更控制过程。 控制需求变更同项目其它配置管理决策紧密相连。管理需求变更类似于跟踪错误和做出相应决定过程,在系统开发过程中应成立变更控制委员会(CCB)管理变更控制。 , 影响分析 影响分析是需求管理的一个重要组成部分。影响分析可以提供对建议的需求变更的准确理解,帮助做出信息量充分的变更批准决策。通过对变更内容的检验,确定对现有的系统做出是修改或抛弃的决定,或者创建新系统以及评估每个任务的工作量。进行影响分析的能力依赖于跟踪能力数据的质量和完整性。 Http://www.pts.com.cn 11 软件质量保证方案 质量保证 , 需求管理工具 在系统开发过程中还应使用需求管理工具来提高需求管理的效率,以下是需求管理工具可以执行的任务: , 管理版本和变更项目应定义需求基线。 , 存储需求属性 , 帮助影响分析 , 跟踪需求状态 , 访问控制可以对个人、用户小组确定访问权限。 , 与风险承担者进行沟通 , 重用需求 太平洋软件在需求分析、软件设计和需求管理领域对有关标准、方法和技术进行了大量的研究,积累了丰富的实践经验,并且掌握了许多优秀的工具,可以为软件项目的开发提供咨询、服务、指导和监督。 4 质量保证 软件项目的目标是生产高质量的软件。高质量的软件应该具备下列三个条件: 1、满足软件需求定义的功能和性能; 2、文档符合事先确定的软件开发标准; 3、软件的特点和属性遵循软件工程的目的和原则。 如何检查和验证软件是否具备这些条件呢,实践证明,软件质量保证活动在提高软件质量方面卓有成效。对任何制造业企业来说,质量保证活动都是必不可少的。在软件越来越普及的今天,“软件质量保证”更成为软件开发企业和最终用户所关心的问题。针对软件项目的开发,为提高软件质量,必须进行有系统、有计划的软件质量保证(SQA)活动。 SQA组织并不负责生产高质量的软件产品和制定质量计划,这些都是软件开发人员的工作。SQA组织的责任是审计软件经理和软件工程组的质量活动和产品并鉴别活动中出现的偏差。 软件质量保证的目标是以独立审查的方式监控软件生产任务的执行,给开发人员和管理层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品。软件质量保证的主要任务有以下方面: ? SQA审计与评审 ? 发现与处理缺陷 ? SQA报告 因此,太平洋软件针对质量保证的活动主要从以下两个方面阐述。 Http://www.pts.com.cn 12 软件质量保证方案 质量保证 4.1 实现对代码、文档和过程的评审 对新开发的或正在开发过程中的各个子系统,都要按照进行定期的或阶段性的各项评审工作。就整个软件开发过程而言,要进行软件需求、概要设计、详细设计、软件验证和确认、功能审核、物理审核、综合审核等的评审和对代码是否符合编程规则和质量定义的评审。评审分成三次进行。有每次评审之后,要对评审结果作出明确的管理决策。下面给出每次评审应该进行的工作。 1第一次评审 第一次评审要对软件需求、概要设计以及验证与确认方法进行评审。 a. 软件需求评审:确保在软件需求规格说明书中规定的各项需求的合理性。 b. 概要设计评审:评价软件设计说明书中的软件概要设计的技术合适性。 c. 软件验证和确认评审:评价软件验证和确认计划中确定的验证和确认方法的合适性 和完整性。 2第二次评审 第二次评审要对详细设计、测试进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照《软件配置管理计划》的规定处理。 a. 详细设计评审:确定软件设计说明书中的详细设计在满足软件需求规格说明书中的 需求方面的可接受性。 b. 测试文档评审:对测试计划、测试设计、测试开发等部分的文档进行评审。 c. 编程规则评审:确保所有编码采用规定的工作语言,能在规定的运行环境中运行, 并且符合团队的编程风格。 d. 测试工作评审:检查所进行的测试工作是否满足测试要求。 3第三次评审 第三次评审会要进行功能审核、物理审核和综合审核。 a. 功能审核:验证所开发的软件已满足在软件需求规格说明书中规定的所有需求。 b. 物理审核:对软件进行物理审核,以验证程序和文档已经一致,并已做好了交付的 准备。 c. 综合审核:验证代码和设计文档的一致性、接口规格说明的一致性(硬件和软件)、 设计实现和功能需求的一致性、功能需求和测试描述的一致性。 由此可以看出质量保证的正式技术评审是软件工程的重要环节,它用于软件开发的各个阶段。通过太平洋软件质量保证解决方案中质量评审这一活动,能够帮助及时揭示项目开发时软件的代码、文档和过程中的缺陷。尽早发现并消除这些缺陷,不仅可以提高软件的质量,而且还可以有效的减少软件开发及维护费用。 Http://www.pts.com.cn 13 软件质量保证方案 质量保证 4.2 通过软件测试实现对软件质量的监控 评审是对软件工程各个阶段的结果进行评测,而如何去探测并发现缺陷的执行过程是由软件测试来实现的。软件测试是保证软件质量的重要手段。没有测试的开发是不完整的软件开发过程。 狭义的软件测试只是指程序测试,而实际上软件包括与计算机系统的操作有关的计算机程序、规程、规则,以及任何与之有关的文档,因此软件测试作为软件质量保证中最常用的手段,应该贯穿于软件开发的全过程中。由于软件开发各阶段成果(测试对象)的形式不同,相应软件测试采用的方法和技术也有所不同。 太平洋软件的测试解决方案,立足于最终用户,通过测试不同的执行方式和完整的测试流程,帮助用户最大限度的发现开发过程中软件的错误和缺陷。 4.2.1 测试的执行方式 测试按照执行的方式主要分为静态分析和动态测试。 静态分析不需要执行所测试的程序,它扫描所测试程序的正文,对程序的数据流和控制流进行分析,然后提出测试报告。 动态测试就是通过选择适当的测试用例,实际运行测试程序,比较运行结果,动态测试能使所测程序有控制地运行,自动地监视、记录、统计程序的运行情况。 4.2.2 测试开发生命周期以及测试相关内容 软件测试是一个极为复杂的过程。我们在进行软件开发的时候都不可避免的经历软件的开发生命周期,即需求分析,系统分析,编码,维护,和修订。同样,软件的测试也具有生命周期,一个规范化的软件测试过程应按测试计划,测试设计,测试开发,测试执行,测试评估,以及贯穿整个测试生命周期的缺陷跟踪这样的步骤完成对软件的测试。 软件测试过程与整个软件开发过程基本上是同时进行的。在测试生命周期中,每一阶段都有相应的任务需要完成,测试生命周期中各阶段的工作目标和具体工作任务如下: 4.2.2.1 测试计划: 测试计划在需求分析阶段即应开始制定。它说明了在进行软件测试过程中的目标、范围、方法、和重点。鉴于测试成员要严格按测试计划实施,项目管理人员要对测试进度进行管理和与开发人员沟通,所以测试计划制定的好坏将直接影响应用的测试实施。计划做的越准确要越细致越好,所以要花费一定的时间和精力去进行计划的定制。 4.2.2.2 测试设计: 测试计划完成以后,可以根据计划的内容进行测试的设计,软件测试设计大纲是软件测试的依据,是一份有关测试方法的文件。一份好的测试设计大纲应涉及测试类型、特点、功 Http://www.pts.com.cn 14 软件质量保证方案 质量保证 能、过程、系统、模块等,它必须明确详尽地规定在测试中针对系统的每一项功能或特性所要完成的基本测试项目和测试标准以及测试用例的制定。无论是自动测试还是手动测试,都必须符合测试设计大纲的要求。 4.2.2.3 测试开发: 在确定了应用应该测试什么后,测试的开发无疑是很重要的。在以往的测试过程中,测试人员一般是在代码编写到一定程度后,在测试执行之前临时定制一些测试驱动脚本,然后再根据结果制定下一批的测试用例,这样的结果是测试的执行没有参照的标准,往往使测试不够系统化,不够完全,测试的质量大打折扣。而我们建议在软件代码开始编写的同时,根据测试设计大纲的要求建立测试脚本。 4.2.2.4 测试执行: 对某个测试应用运行一系列的测试过程并记录结果,包括缺陷报告和测试日志。测试执行尽可能做到自动化,因为一个测试过程的执行次数难以预计,可能在某个测试周期内被执行几十次到上百次。 测试执行的每个阶段有不同的测试目标,因此将使用不同的技术、资源和指导策略。 4.2.2.4.1 编码规范化以及代码静态度量: 在代码编制之前进行规则和度量标准的建立,依照这些规则和标准通过静态分析的方式对代码程序进行审核和评估。编码质量的优劣将直接影响到软件产品的质量。而且,如果编码的可测试性、可维护性不好,将会给测试、维护工作带来很大的麻烦。为了避免这些问题需要在代码编制之前进行规则和度量标准的建立来规范代码。 4.2.2.4.1.1编码规范化 为了帮助程序员在编码中避免许多潜在的错误隐患,提高程序的可靠性、可维护性等多方面的质量指标,并且约束开发风格使团队内部、之间更容易交流,应当在开发之前定义编程规则,在代码完成时通过静态走查的方式,查出每个有偏差的规则,提供改进源代码的解释和建议。 4.2.2.4.1.2代码静态度量 任何产品的生产必须遵循标准。软件产品也是同样,没有标准可依自然谈不上质量的好坏。所有关心软件开发质量的组织,都要定义或了解软件的质量标准、模型,以保证公司实践的均匀性,产品的可维护性、可靠性以及可移植性等。我们可以通过定义软件的质量参考模型,以静态分析的方式检查标准的遵循情况,达到改进代码的质量的目标。 Http://www.pts.com.cn 15 软件质量保证方案 质量保证 4.2.2.4.2 应用程序的动态测试: 应用程序通过静态测试,保证其代码的质量符合质量模型,编程规则也得以实施和检查。那么应用程序在运行的状态下是否存在问题,这种问题是否能被检查出来,遗留下来是否对应用程序有很大的影响,应用程序的执行覆盖情况如何,还存在多少未被测试的代码,应用程序的执行效率如何,以上这些问题都是在应用程序运行的情况下才能发生,只有通过动态测试的方式才能发现这些问题。 4.2.2.4.2.1单元测试: 是动态测试阶段最早期进行的测试,面向软件设计中最小的可测试单位——软件组件,进行正确性检验的测试工作。单元测试应用于软件模块或函数,检查程序的控制流和数据流,其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 在该阶段我们主要关注模块的可靠性、稳定性、执行性能,局部数据结构、边界条件、覆盖条件等。 4.2.2.4.2.2集成测试: 在单元测试的基础上将模块组装成子系统或系统,测试各单元之间的互操作性。这是一个随集成程度的不断提高而迭代进行的过程。常常组成系统的各单元来自于不同的开发部门,不完整的或错误单元将在集成测试中暴露出来。 集成测试主要测试模块连接中可能出现的问题,一般需要进行以下几方面的测试:(1) 集成之后的模块接口测试;(2) 模块性能测试,测试是否对其余的子模块产生不良的影响; (3) 功能测试,测试各个子功能连起来,能否达到预期要求的父功能;(4) 人机界面测试等。 4.2.2.4.2.3系统测试: 系统测试是在具备整体功能的软件上进行的。它包括从最终用户的角度检查系统的功能,由开发组织或最终用户完成。如系统测试由用户进行,也称做验收测试。 系统测试的内容是测试该构造是否达到了系统需求和功能规格说明中的要求,一般需要进行功能测试、性能测试、外部接口测试、人机界面测试、强度测试、冗余测试、可靠性测试、安全性测试、恢复测试等。 4.2.2.5 测试评审: 测试评审是软件测试的一个阶段性的结论,用所生成的测试评审报告,来确定测试是否达到完全和成功的标准。通过测试报告,验证测试结果是否符合测试计划中制定的测试标准。根据缺陷报告提供的测试结果数据,给出软件质量和测试完整性的评审报告。(见4.1评审) 4.2.2.6 缺陷跟踪: 软件测试并不是一个简单的过程,在经历了一个完整的测试生命周期之后,每一个阶段都会有相应的结果文档、脚本程序、日志报告、缺陷记录产生,那么针对这些内容我们如何 Http://www.pts.com.cn 16 软件质量保证方案 项目管理 管理,如何让这些测试的资产在后期的维护阶段发挥作用是很重要的。在测试的管理中,缺陷跟踪是一个很重要的组成部分。 另外,我们根据CMM中对软件配置管理的要求,将软件测试过程中产生的资源作为软件的配置项进行管理,将测试发现的缺陷定制出严重等级,通过分发的机制交由开发人员改进,再通过配置管理机制传递给测试人员进而展开进一步的测试,从而建立缺陷跟踪的良性机制。(在测试方面配置管理的实施见本方案“配置管理部分”) 太平洋软件的测试部门是专业的软件测试机构,以掌握深厚软件工程理论、具有丰富软件开发实践经验的技术人员为基础,辅以必要的软件应用领域知识和先进的软件测试工具,对开发的软件进行严格认真的测试,提供客观真实的测试报告,有利于用户选择最合适的产品,保障了用户的投资利益。 5 项目管理 5.1 项目管理的重要性 软件开发项目的最终目的是要在满足用户需求的条件下,尽可能产生高质量的软件产品。然而,几乎所有的软件开发项目都受到成本和交付期的限制: , 项目严重超过预算。 , 项目严重延期。 , 在项目开发过程无法了解项目进展情况。 , „ „ 这些问题使得在软件开发过程中的项目管理的尤为突出。 为了使软件开发项目获得成功,软件开发企业在开发过程中我们必须对项目的工作范围、可能遇到的风险、保证开发过程顺利进行所需的资源(包括人、硬件、软件等)、要实现的任务、经历的里程碑、需要花费的工作量(成本)以及开发的进度进行合理的安排。 5.2 实施项目管理,保证软件质量 经过我们对国际通行的软件规范化标准(如ISO、CMM)的研究,我们认为,在软件项目开发中应当在以下几个方面加强项目管理: , 制定项目计划 , 项目估算 , 项目风险管理 , 项目跟踪和监督 Http://www.pts.com.cn 17 软件质量保证方案 项目管理 5.2.1 合理制订项目计划 在制定软件项目计划之前,必须先明确项目的目标和范围、考虑候选的解决方案、标明技术和管理上的要求。有了这些信息,才能确定合理、精确的成本估算,实际可行的任务分解以及可管理的进度安排。 在制定项目计划时,应以软件需求基线为基础, 制定计划的任务包括: , 估算在项目开发过程中所需要的人力(通常以人月为单位)、项目持续时间(以年份 或月份为单位)、成本(以元为单位)。 , 作出进度安排,分配资源,建立项目组织及任用人员(包括人员的地位、作用、职责、 规章制度等),根据规模和工作量估算分配任务。 , 进行风险分析,包括风险识别、风险估计、风险优化、风险驾驭策略、风险解决和 风险监督。这些步骤应贯穿在整个项目开发过程中。 , 制定系统质量管理指标:如何识别定义好的任务,管理人员对结束时间如何掌握, 并如何识别和监控关键路径以确保结束,对进展如何度量,以及如何建立分隔任务 的里程碑。 , 编制系统开发预算和成本。 , 准备系统开发环境和基础设施等。 5.2.2 项目资源估算 项目管理工作的一个主要任务是对完成该软件项目所需的资源进行估算。 在软件项目开发过程中所需的资源主要有:人、硬件资源、软件资源等。对每一种资源,应说明4个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。 , 人力资源 在软件开发的各种资源中,人是最重要的资源。在进行估算时,必须考虑人员的技术水平、专业、人数以及在开发过程中对各种人员的需要。 , 硬件资源 , 软件资源 , 软件复用性 5.2.3 项目成本估算 软件开发过程中的成本主要指开发过程中所花费的工作量及相应的代价,即人的劳动的消耗。开发成本的估算,应当是以软件计划、需求分析、软件设计、编码、测试等整个软件开发过程中所花费的人工代价为依据的。 Http://www.pts.com.cn 18 软件质量保证方案 项目管理 5.2.4 风险管理 所有软件项目管理中均存在着风险,如果我们提前重视风险,并且有所防范,就可以最大限度减少风险的发生。进行风险管理是有效的手段。 5.2.4.1 风险的分类 根据风险内容,我们可以将软件开发项目中的风险分为项目风险(成本提高,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)、预算风险(预算是否准确等)等。 另外,我们还可以将风险分为已知风险(如员工离职等)、可预报风险(从以往经验得出可能有风险的)和不可预知风险。 5.2.4.2 风险的识别 在软件开发项目中识别风险的有效方法是建立风险项目检查表。主要涉及以下几方面检查: *产品规模风险检查 *业务影响风险检查 *与客户相关的风险检查 *过程风险检查 *技术风险检查 *开发环境风险检查 *与人员的模式和经验有关的风险检查 5.2.4.3 风险评估 软件开发项目风险评估主要从下面七个方面进行: *发生的可能性 *发生的结果(影响) *建立一个尺度表示风险可能性(如,极罕见、罕见、普通、可能、极可能) *描述风险带来的后果 *估计对产品和项目的影响 *确定风险评估的正确性 *根据影响排定有限队列 另外,要对每个风险的表现、范围、时间做出尽量准确的判断。 Http://www.pts.com.cn 19 软件质量保证方案 项目管理 5.2.4.4 风险的评价 对风险的评价主要依据三个因素:风险描述、风险概率和风险影响。从成本、进度及性能三个方面对风险进行评价。确定项目的中止点,在中止点再一次进行风险评价。 5.2.4.5 风险的驾驭和监控 在软件开发项目中,风险的驾驭与监控主要要靠管理者的经验来实施。如,某开发人员的离职概率是0.7,离职后会对项目造成一定的影响,则该风险驾驭和监控的策略如下: *与在职人员协商,确定流动原因。 *在项目开始前,把影响这些流动原因的工作列入风险驾驭计划。 *项目开始时,作好人是会流动的准备,采取一些措施确保人员一旦离开时,项目仍能继续。 *制定文档标准,并建立一种机制,保证文档及时产生。 *对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。 *对每个关键性技术人员培养后备人员。 在实际软件开发项目中,应根据风险成本决定是否采用上述策略。 5.2.5 跟踪和监督项目进展情况 一旦建立了进度安排,就可以开始着手对软件开发项目进行追踪和控制。由项目管理人员负责在过程执行时监督过程的实施,提供开发过程进展的内部报告,并按合同规定向需方提供外部报告。对于在进度安排中标明的每一个任务,如果任务实际完成日期滞后于进度安排,则管理人员可以使用一种自动的项目进度安排工具来确定在项目的中间里程碑上进度误期所造成的影响,可对资源重新定向,对任务重新安排,或者(做为最坏的结果)可以修改交付日期以调整已经暴露的问题。 5.3 结论 太平洋软件多年来结合国内软件开发的现状,在研究国际流行的项目管标准和成功经验的同时,在为客户实施服务的过程中,积累了丰富的项目管理经验,可以保证软件开发项目的顺利完成。 Http://www.pts.com.cn 20
本文档为【软件项目质量保证方案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:111KB
软件:Word
页数:34
分类:企业经营
上传时间:2017-10-06
浏览量:211