大型软件开发过程的质量管理体系
软件开发过程的质量管理体系

软件开发过程的质量管理体系从需求分析开始,到设计、编码、测试、维护等各个阶段都需要考虑质量管理。
这是因为软件开发是一个复杂的过程,每个阶段的质量问题都会影响最终产品的质量。
2.软件质量管理需要有一套完整的体系,包括质量计划、质量保证、质量控制和质量评估等环节。
这些环节需要相互配合,形成一个完整的质量管理体系,才能有效地提高软件产品的质量。
3.软件质量管理需要注重过程控制,即在开发过程中及时发现和解决问题,防止问题扩大化。
同时,也需要注重结果控制,即在最终产品交付前对产品进行全面的测试和评估,确保产品质量达到预期标准。
4.软件质量管理需要注重持续改进,即在实践中不断总结经验,不断改进质量管理体系和流程,以逐步提高软件产品的质量水平。
5.软件质量管理需要注重团队合作,即在软件开发团队中,各个角色需要相互协作,形成一个高效的团队,共同推动软件质量的提高。
软件产品的质量是从六个方面来衡量的,分别是功能性、可靠性、可用性、效率、可维护性和可移植性。
与其他产品相比,软件产品的质量具有特殊性。
具体来说,软件产品的质量难以制定具体的、数量化的标准,没有相应的国际标准或行业标准。
软件产品的质量没有绝对的合格/不合格界限,而且软件产品之间很难进行横向的质量对比。
因此,软件产品的质量指标的量化手段需要在实践中不断总结。
软件产品的质量管理应该贯穿软件开发的全过程,需要注重过程控制和结果控制,持续改进和团队合作。
在软件开发过程中,除了编码和测试之外,还需要进行系统测试和回归测试,以确保软件的稳定性和缺陷修复。
然后才能考虑将软件交付出厂。
为了确保软件质量,需要掌握适当的放行标准。
然而,完全零缺陷的软件几乎是不可能的。
对于遗留的缺陷,需要进行充分的分析,并在今后的升级中解决。
只要能够满足用户需求,软件的遗留缺陷并不会对质量造成太大影响。
大型软件开发是一项资源消耗大、时间跨度长、技术复杂的过程。
例如,开发"NetGuard"告警监控软件需要30到40名软件工程师花费半年左右的时间。
软件开发过程中的质量管理

软件开发过程中的质量管理在现代社会中,软件已经成为人们工作、生活和娱乐中不可或缺的一部分。
要想开发出高质量的软件,质量管理是非常必要的。
本文将探讨软件开发过程中的质量管理。
一、需求分析阶段中的质量管理在软件开发的需求分析阶段,质量管理首先应该重视的是对用户需求的分析和确认。
这个阶段存在误差,就可能会对软件的开发过程产生一系列的影响。
在进行需求确认时,我们应该精确地理解用户的需求,建立文档以保证对每个需求的了解,并通过与客户进行沟通,确保他们的需求得到了充分的理解。
此外,需求分析过程中的变更也需要被考虑到,并在软件开发的整个过程中得到跟踪。
二、软件设计阶段中的质量管理在软件设计阶段,我们需要尽可能地详细描述各项功能的实现方法,确保系统可以达到用户需求预期。
在这一阶段中,我们可以采用多种工具和技术来进行软件设计的质量管理。
设计评审是保证软件设计质量的一个重要手段。
通过评审,我们可以发现设计过程中的缺陷并及时纠正,确保设计能够完全满足用户需求,提高软件质量,减少软件缺陷和故障。
三、软件开发阶段中的质量管理在软件开发过程中,我们需要及时对软件进行测试和调整。
测试阶段的质量管理尤其关键,因为软件测试的质量直接影响软件的稳定性和可靠性。
在进行测试前,我们应该准备好测试计划和测试用例,人员要素致力于覆盖所有可能出现的故障,尽可能准确地模拟软件的实际使用场景。
在软件测试阶段,我们需要关注以下几个方面:1. 测试环境的设置测试环境的仿真程度需要尽量接近实际使用情况,确保测试的真实性和可靠性。
2. 测试人员的素质和能力测试人员需要具有较高的素质和丰富的实际经验,能够利用各种测试工具进行测试工作,发现软件中的各种问题。
3. 测试用例的质量测试用例需要尽可能全面,准确覆盖软件使用环境,最好采用不同的测试技术进行测试。
四、软件发布和部署阶段中的质量管理在软件发布和部署阶段,我们需要确保软件整体的完整性和安全性。
发布前需要有足够的准备,包括消除所有的Bug,进行足够的测试,描述清楚下一阶段所需的软件实现,让所有相关人员都知晓软件的发布和部署情况。
质量管理体系在软件开发中的运用

质量管理体系在软件开发中的运用在当今信息技术高速发展的时代,软件开发已经成为各行各业发展所必需的一项重要技术。
而软件开发中有一个至关重要的环节,即质量管理。
质量管理体系的有效应用,对于保障软件开发的质量和用户满意度具有重要的意义。
本文将探讨质量管理体系在软件开发中的运用。
一、质量管理体系的概述质量管理体系(Quality Management System,QMS)指的是为了实现组织的质量方针和目标,通过规定质量政策、质量目标、质量流程和质量责任等,用以满足内外部需求的体系。
在软件开发中,质量管理体系通过定义、规范和改进各个环节的质量要求,以确保开发出高质量的软件产品。
二、质量管理体系在软件开发生命周期中的应用软件开发生命周期包括需求分析、设计、编码、测试、部署和维护等阶段,质量管理体系的应用贯穿整个流程。
1. 需求分析阶段需求分析是软件开发的首要步骤,而质量管理体系在需求分析中的应用主要包括以下几个方面:(1)明确需求:通过系统的需求收集和沟通,确保需求明确、准确,并与用户达成一致。
(2)需求规范化:将需求转化为明确、可量化的文档,以便于后续的开发和测试工作。
(3)需求验证:通过与用户的反馈和验证,确定需求的正确性和完整性。
2. 设计阶段在软件设计阶段,质量管理体系的应用主要体现在以下几个方面:(1)架构设计:制定清晰的系统设计架构,确保系统的稳定性、可扩展性和易维护性。
(2)模块划分:合理分解系统功能,划分可管理的模块,便于各个模块的开发和测试。
(3)设计评审:进行设计评审,发现和纠正设计中的问题和缺陷,确保设计的质量和可行性。
3. 编码阶段在软件编码的过程中,质量管理体系的应用主要包括以下几个方面:(1)编码规范:制定统一的编码规范,规范编码风格和命名规范,提高代码的可读性和可维护性。
(2)代码复审:进行代码复审,发现并修复潜在的问题和错误,提高代码的质量和可靠性。
(3)单元测试:进行单元测试,验证编码的正确性和功能的实现。
软件开发质量管理体系说明(模版)

软件开发质量管理体系说明(模版)软件开发质量管理体系说明(模板)1. 背景在软件开发过程中,质量管理是至关重要的。
一个良好的质量管理体系可以确保软件开发过程的顺利进行,并最终提供高质量的软件产品。
本文档旨在介绍软件开发质量管理体系的基本框架和要素。
2. 概述软件开发质量管理体系是一个由各项政策、流程和指导方针组成的框架。
它旨在引导软件开发团队在开发过程中遵循一系列的标准和最佳实践,以确保所开发的软件符合预期的质量要求。
3. 质量管理体系要素3.1. 质量政策软件开发质量管理体系的第一个要素是制定明确的质量政策。
质量政策应包括关于质量目标和承诺的陈述,以及组织对质量管理的重视和支持。
3.2. 质量流程质量流程是软件开发过程中的关键环节。
它涵盖了软件需求分析、设计、编码、测试和部署等各个阶段。
质量流程应包括具体的工作流程、质量控制点和质量评估方法。
3.3. 质量指导方针质量指导方针是帮助软件开发团队在实践中遵循最佳质量实践的指南。
它可以包括代码编写规范、测试方法、缺陷管理等方面的指导。
3.4. 质量评估和改进质量管理体系还应包括质量评估和改进的机制。
通过定期的质量评估,可以发现问题并及时采取措施进行改进。
这包括对开发流程、测试策略和团队绩效等方面的评估。
4. 监督和培训为了确保质量管理体系的有效实施,监督和培训是必不可少的。
监督包括定期的审核和检查,以确保各项质量管理要素得到遵循。
培训则是为团队提供必要的知识和技能,以便他们能够有效地实施质量管理要求。
5. 结论软件开发质量管理体系是一个关键的管理工具,它有助于保证软件开发过程中的质量和效率。
通过遵循质量管理体系的要素和原则,可以提高软件产品的质量,并满足用户的需求和期望。
以上是软件开发质量管理体系说明的基本模板,具体的实施细节需要根据组织的实际情况进行调整和补充。
软件开发过程中的质量管理与控制

软件开发过程中的质量管理与控制在软件开发过程中,质量管理与控制是确保软件产品达到预期质量标准的重要环节。
质量管理与控制涵盖了从需求分析到测试、发布和维护的各个阶段,旨在提高软件的可靠性、可用性和性能,为用户提供优质的软件产品。
第一步是建立明确的质量目标。
在软件开发过程中,明确的质量目标对于指导团队的努力至关重要。
质量目标应该具体、可度量和可追踪。
例如,质量目标可以是软件的稳定性要求、界面的友好性以及响应时间的快速性等方面。
团队成员应该了解这些目标,并努力达到或超越它们。
第二步是制定详细的质量计划。
质量计划是一份详细的文件,描述了在软件开发过程中实施的质量管理策略和活动。
质量计划应该包括质量标准和指标、质量保证活动、质量控制活动、测试计划和质量培训计划等内容。
通过制定详细的质量计划,团队可以有条不紊地推进质量管理和控制工作。
第三步是进行质量保证活动。
质量保证活动旨在确保软件产品符合质量标准和用户要求。
其中一个关键的活动是质量审查。
质量审查包括对需求、设计和代码的审查,旨在发现和纠正潜在的问题和缺陷。
质量审查需要严格的标准和流程,并由经验丰富的团队成员进行。
第四步是进行质量控制活动。
质量控制活动旨在监控和评估软件开发过程中的质量状态,并及时采取措施纠正问题。
其中一个重要的活动是测试。
测试是评估软件产品质量的有效手段,可以发现和修复潜在的缺陷和错误。
测试应该覆盖软件的各个方面,包括功能测试、性能测试、安全测试等。
此外,质量控制还包括配置管理、变更管理和故障管理等活动,旨在确保软件开发过程的可控性和稳定性。
最后,需要持续监控和改进质量管理和控制过程。
在软件开发过程中,质量管理和控制是一个不断改进的过程。
团队应该收集和分析质量相关数据,并根据数据的分析结果采取相应的改进措施。
此外,团队应该加强经验总结和知识分享,以提高整个团队的质量意识和能力。
总之,质量管理与控制在软件开发过程中至关重要。
通过建立明确的质量目标、制定详细的质量计划、实施质量保证和控制活动,并持续监控和改进质量管理过程,团队可以提高软件产品的质量,满足用户的需求和期望。
软件开发流程中的质量管理

软件开发流程中的质量管理一、引言软件质量管理在软件开发流程中扮演了至关重要的角色。
一个好的软件产品必须始终保持高质量的状态,因此质量管理必须贯穿整个软件开发过程。
本文将从需求分析、设计、编码、测试与维护等方面阐述软件开发流程中的质量管理。
二、需求分析阶段的质量管理在需求分析阶段,质量管理主要是针对需求的正确性和完整性。
需求的质量对于软件开发的成功至关重要,因此,需求分析阶段的质量管理必须严格按照标准化的要求进行。
具体而言,需求管理必须采用全方位的方法,包括需求的收集、确认、分析和审核等环节。
只有将需求确切明确,才能够保证软件在后续开发阶段能够得到正确的开发、测试和交付。
三、设计阶段的质量管理设计阶段是软件开发流程中较为关键的一个环节。
在设计阶段,软件的总体框架和组成部分得到明确的定义,因此,设计的质量必须得到高度重视。
在设计阶段,质量管理主要包括以下几个方面。
首先,设计必须符合概念的完整性和正确性的要求。
其次,设计的过程必须严格按照设计规范和标准化要求进行。
最后,设计的工具和环境必须得到充分的保障和支持。
四、编码阶段的质量管理在编码阶段,质量管理必须重点关注代码的正确性、可维护性和可验证性。
要保证代码质量,首先必须使用优秀的开发工具和环境,其次必须严格遵守编码规范和标准化要求,保证代码的规范性和可读性。
此外,在编码阶段,必须采用相应的测试手段和工具,对编码进行严格的测试和评估,确保编码的质量。
五、测试阶段的质量管理测试阶段是软件开发流程中最后一个阶段,也是软件质量管理的最后一道关卡。
在测试阶段,质量管理重点关注测试用例的设计和执行,测试结果的分析和评估,错误的跟踪和解决等问题。
测试用例的质量必须得到充分保证,测试结果必须经过严格的验证和评估。
一旦发现错误,必须尽快实施正确的修复措施。
六、维护阶段的质量管理维护阶段是软件开发流程中的最后一个环节,同样也需要进行质量管理。
在维护阶段,质量管理应该关注软件性能的优化、故障的分析和定位、系统的更新和完善等方面。
软件研发质量管理体系

软件研发质量管理体系
软件研发质量管理体系是指在软件开发过程中,通过一系列的规定、流程和标准来保证软件研发的质量。
这种管理体系可以帮助研发团队在开发过程的各个阶段中发现和解决问题,从而提高软件的质量和可靠性。
软件研发质量管理体系包括以下几个方面:
1.质量管理原则:制定质量管理方针和目标,确保软件开发符合规定的质量标准。
2.质量管理计划:制定软件研发的计划,包括质量保证和质量控制计划,以便保证软件开发质量。
3.质量保证:采用质量管理工具和技术,确保软件研发过程中的质量。
4.质量控制:在整个软件开发过程中对软件进行测试和验证,以确保软件满足用户的需求和质量标准。
5.质量改进:通过对软件开发过程的监测和改进,不断提高软件研发的质量和效率。
软件研发质量管理体系的实施可以带来以下好处:
1.提高软件研发的质量和可靠性,从而满足用户的需求和期望。
2.降低软件开发过程的风险,减少软件开发的成本和时间。
3.增强软件开发团队的凝聚力,促进团队间的协作和沟通。
4.提高组织的声誉和品牌价值,为企业带来更多的商业机会。
综上所述,软件研发质量管理体系是软件开发过程中非常重要的
一环,它对于提高软件研发的质量和效率具有重要的意义。
通过实施软件研发质量管理体系,可以提高软件开发的质量和可靠性,降低开发成本和风险,从而为企业带来更多的商业机会和竞争优势。
软件开发过程中的质量管理

软件开发过程中的质量管理一、引言软件开发过程中的质量管理是确保软件产品能够满足用户需求、功能完整、系统稳定以及符合设计要求的关键环节。
在软件开发的整个过程中,质量管理从需求分析开始直至软件交付使用都贯穿其中,是构建高质量软件产品的基石。
本文将依次介绍软件开发过程中的质量管理的几个关键方面。
二、需求管理软件项目开始之初,需求管理是关键的一环。
在需求管理中,重要的是明确用户需求、功能要求、性能要求和界面要求等方面。
通过与用户的充分沟通,准确理解用户需求,并借助适当的需求管理工具,可以有效降低需求变更的风险,提高软件开发过程的效率和质量。
在需求管理中,需求评审和需求跟踪是两个不可忽视的环节。
需求评审可以确保需求的准确性和可行性,而需求跟踪可以追踪每个需求的实现情况,及时发现并解决需求的问题,保证软件产品能够满足用户期望。
三、设计管理设计管理是软件开发过程中的另一个重要环节。
软件设计的质量直接影响着产品的可靠性和可维护性。
在设计管理中,需要关注软件体系结构设计、模块设计和界面设计等。
软件体系结构设计要合理划分各个模块的职责,确保整个系统的稳定性和可扩展性。
模块设计要符合高内聚低耦合的原则,保障代码的可重用性和可维护性。
界面设计要符合用户友好的原则,提升软件的易用性。
通过设计评审和代码静态检查等手段,可以及时发现设计问题,确保软件设计的质量。
四、编码管理编码管理是软件开发的核心环节之一。
在编码管理中,代码的质量和规范性是关键。
编码规范的定义和执行可以统一团队的编码风格,提高代码的可读性和可维护性。
代码审查是编码管理的重要手段之一,通过对代码的检查和评审,可以及时发现潜在的问题和错误,提升代码的质量。
在编码管理过程中,还应该关注代码的性能优化、异常处理和安全防御等方面,以确保软件在运行过程中的稳定性和安全性。
五、测试管理测试管理是软件开发过程中的关键环节。
软件测试的目的是发现并修复软件中的缺陷和问题,保证软件的质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
—89—大型软件开发过程的质量管理体系韩思音弋陪余国信朗讯科技网络技术有限公司是中国电信和朗讯科技合资的专业从事通信网络管理软件开发的高科技企业,公司位于上海浦东,注册资金2 980 万美元,员工达150 人,本科以上学历超过95%。
公司在1999 年成立后就开展了ISO9001 贯标活动,并于2000 年8 月通过了ISO9001 认证。
公司以贝尔试验室的大型软件开发管理流程为基础,建立了自己的ISO9001 质量管理体系。
三年来已经开发了“传输网络集中监控系统NetGuard”、“电信网络资源管理系统NetMaster”两个大型软件系统。
通过ISO9001 的贯标活动,加强了公司全体员工的质量意识,强化了软件开发过程的规范性,改进了软件开发过程,保证了软件开发的质量,对加强公司实力、提高市场形象起了很好的推动作用。
通过了ISO9001 认证后,审核机构每年要进行一次复查,即监督审核。
如果公司质量体系运行得不好,就可能被暂停证书;如发生重大事故,证书可能被撤消。
除此以外,公司每年还进行一次内审,即公司内部对质量体系运行是否符合ISO9001 标准进行的检查,各部门对内审发现的不符合项进行认真整改,由质量管理部验收。
各部门对本部门的工作定期提出改进措施,由质量管理部对其进行验证,使质量体系不断改进。
所以ISO9001 的认证对企业的质量体系是有严格管理的,是有保证的。
1 软件产品质量的特点按照ISO9126 的定义,软件的质量通常可以从以下六个方面去衡量(定义)。
1)功用性(Functionality),即软件是否满足了客户功能要求。
2)可靠性(Reliability),即软件是否能够一直在一个稳定的状态上满足可用性。
3)可用性(Usability),即衡量用户能够使用软件需要多大的努力。
4)效率(Efficiency),即衡量软件正常运行需要耗费多少物理资源。
5)可维护性(Maintainability),即衡量对已经完成的软件进行调整需要多大的努力。
6)可移植性(Portability),即衡量软件是否能够方便地部署到不同的运行环境中。
可见,同其它产品相比,软件产品的质量有其明显的特殊性。
—90—1)很难制定具体的、数量化的产品质量标准,所以没有相应的国际标准、国家标准或行业标准。
对软件产品而言,无法制定诸如“合格率”、“一次通过率”、“PPM”、“寿命”之类的质量目标。
每千行的缺陷数量是通用的度量方法,但缺陷的等级、种类、性质、影响不同,不能说每千行缺陷数量小的软件,一定比该数量大的软件质量更好。
至于软件的可扩充性、可维护性、可靠性等,也很难量化,不好衡量。
软件质量指标的量化手段需要在实践中不断总结。
2)软件产品质量没有绝对的合格与不合格界限,软件不可能做到“零缺陷”,对软件的测试不可能穷尽所有情况,有缺陷的软件仍然可以使用。
软件产品的不断完善通过维护和升级问题来解决。
3)软件产品之间很难进行横向的质量对比,很难说哪个产品比哪个产品好多少。
不同软件之间的质量也无法直接比较,所以没有什么“国际领先”、“国内领先”的提法。
4)满足了用户需求的软件质量,就是好的软件质量。
如果软件在技术上很先进,界面很漂亮,功能也很多,但不是用户所需要的,仍不能算软件质量好。
客户的要求需双方确认,而且这种需求一开始可能是不完整、不明确的,随着开发的进行不断调整。
5)软件的类型不同,软件质量的衡量标准的侧重点也不同。
例如,对于实时系统而言,效率(Efficiency)会是衡量软件质量的首要要素,公司的集中告警监控软件NetGuard 往往对效率就有相当的要求;对于一些需要软件使用者(用户)与软件本身进行大量交互的系统,如公司的资源管理软件NetMaster,对可用性(Usability)就提出了较高的要求。
2 软件产品质量管理的特点2.1 软件质量管理应该贯穿软件开发的全过程,而不仅仅是软件本身软件质量不仅仅是一些测试数据、统计数据、客户满意度调查回函等等,衡量一个软件质量的好坏,首先应该考虑完成该软件生产的整个过程是否达到了一定质量要求。
例如在公司软件开发实践中,软件质量控制主要是靠流程管理(如缺陷处理过程、开发文档控制管理、发布过程等),严格按软件工程执行,就能保证质量,例如:1)通过从“用户功能确认书”到“软件详细设计”过程的过程定义、控制和不断改善,确保软件的“功用性”;2)通过测试部门的“系统测试”、“回归测试”过程的定义、执行和不断改善,确保软件的可靠性和可用性;—91—3)通过测试部门的“性能测试”,确保软件的效率;4)通过软件架构的设计过程及开发中代码、文档的实现过程,确保软件的可维护性;5)通过引入适当的编程方法、编程工具和设计思路,确保软件的“可移植性”等等。
2.2 对开发文档的评审是产品检验的重要方式由于软件是在计算机上执行的代码,离开软件的安装、使用说明文档等则寸步难行,所以开发过程中的很多文档资料也作为产品的组成部分,需要像对产品一样进行检验,而对文档资料的评审就构成了产品检验的重要方式。
2.3 通过技术手段保证质量利用多种工具软件进行质量保证的各种工作,如用CVS 软件进行配置管理和文档管理、用MR 软件进行变更控制、用RATIONAL ROSE 软件进行软件开发等。
采用先进的系统分析方法和软件设计方法(OOA、OOD、软件复用等)来促进软件质量的提高。
2.4 软件质量管理的指导思想2.4.1 缺陷预防分析过去遇到过的缺陷并采用响应的措施以避免这些类型的缺陷以后再次出现。
这些缺陷可能在当前项目的早期阶段或任务中被确定,也可能是被其它项目所确定。
缺陷预防活动也是项目间汲取教训的一种机制;规划缺陷预防活动;找出并确定引起缺陷的通常原因;对引起缺陷的通常原因划分优先级并系统地消除。
2.4.2 紧紧扣住用户需求用户分为两种:CUSTOMER 和END USER。
前者是付钱的,而后者才是使用者。
两者的要求有时是不同的,所以两方面的要求都要满足。
但是,有时两方面的要求并不一致。
因此,应采取以下方式:1)采用快速原型法,尽快提供用户软件原型,并及时获取用户的反馈,根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。
否则,要改的地方可能很多,甚至推翻重来。
2)充分设计之后再编码,防止因考虑不周而返工。
3)牢牢控制对缺陷的修改。
要用专门的软件,记录和跟踪软件缺陷的修复。
缺陷跟踪记录包括:发现人、缺陷描述、修复人、修复记录、确认人、确认结论,通过后才关闭该记录。
4)充分进行软件的系统测试。
软件编码、单元测试、集成测试后,还要进—92—行充分的系统测试、回归测试,待软件稳定、不再出新的缺陷后,再考虑软件出厂。
5)恰当掌握软件的放行标准。
并不是零缺陷的软件才是质量高的软件,软件零缺陷几乎是不可能的,对遗留的缺陷要充分进行分析,只要能满足用户需求,软件遗留的缺陷可以通过今后升版解决。
3 大型软件开发流程所谓“大型软件开发”,通常指那些开发过程资源消耗较大、开发时间跨度长、技术复杂的软件开发过程。
例如“传输网络集中监控系统NetGuard”在开发过程中,需要30~40 名软件工程师花费半年左右的时间;技术上,NetGuard与其他多达20 多家的电信设备提供商的系统的接口进行互联,并且,作为告警集中监控系统,实时性要求很高。
公司大型软件开发流程示意如图1 所示,采用螺旋式增量开发方式。
1 2 3 4 5 6 7图1 大型软件开发流程示意图图中1~7 是各阶段的输出点,也是质量控制点,有相应的输出文档和软件代码,均需要得到QM 的确认。
除了上述7 个阶段外,还有项目管理(PM)、变更控制、需求控制、文档控制、用户满意度管理等流程贯穿全部阶段。
为保证大型软件的开发能够顺利进行,在实践中,公司的开发流程设置具有以下特点:1)项目驱动 由于软件开发过程几乎涉及内部的各个部门,所以采取项目驱动机制来管理软件开发过程,即把为不同客户提供的各个版本的软件开发过程纳入项目管理机制中,以项目的方式来进行各版本软件的开发过程。
内部管理架构采取矩阵方式,纵向以职能为驱动建立各个职能部门(产品管理部、项目开发部、系统测试部、工程部等),横向以项目为驱动,确保职能部门对同时开发的多项目进行支持。
PM(Project Manager)作为项目驱动的主导者,获得公司管理高层的授权和各管理层的认可。
用户需求产品需求分析软件设计软件实现系统测试工程安装与验收售后服务—93—项目驱动机制能够确保更加高效、合理地使用公司内部资源,对开发过程中的问题能够及时响应,使各个职能部门能够更加紧密地合作。
2)有完整的质量管理体系作依托。
建立独立的、代表公司高层实施质量监控的质量管理部门,通过建立ISO9001 质量体系,并吸收CMM 的做法,对整个开发过程不断进行优化。
3)相当规模的软件测试手段。
拥有相当规模的专业软件测试部门,从客户的角度对软件进行严格的测试,确保软件的功能、性能能够满足客户的要求。
4 大型软件开发的质量管理体系实施ISO9001,首先要求总经理亲自抓质量体系。
总经理要制定企业的质量方针和质量目标,配备足够的人力、物力资源,明确各岗位的质量职责,并保证质量体系的运行。
质量方针要反映对顾客的承诺。
公司的质量方针是:“科技领先、科学管理、精益求精、用户满意”,从技术、管理、产品质量和满足顾客方面作出了承诺。
总经理通过管理评审对公司的质量体系是否适用、有效作出评价,这样就从组织上保证了质量体系的运行.实施ISO9001 还建立了文件化的操作规程,即根据ISO9001 标准的要求,建立了程序文件、操作指导书和质量记录,对公司运行的主要过程规定了操作的规范,并在工作中严格执行。
对ISO9001 的审核,一是看企业的运行流程规范是否包括了ISO9001 标准的要求,二是看这些流程是否被有效执行。
对开发人员、测试人员和内审员进行各自专业的培训,是质量体系运行和产品质量的保证。
公司在培训方面舍得投资,技术人员的年培训费用很高。
公司内部还经常进行技术培训和质量培训。
4.1 质量管理部门的职责由于软件质量管理的专业性和复杂性,公司实行“检、监、控”三分离的职责设置:“质量检验”部门是“系统测试部”,负责软件质量的检验(功能、性能测试、回归测试等);“质量管理部”的角色和功能定位为:在管理者代表的领导下,独立于企业的运行之外,规划、监督、指导和改进公司质量体系的运行,检查开发结果是否符合规定,可以更全面、客观、公正地观察企业的运行;而各部门经理推动该部门的质量管理工作,负行政责任。
这是一种借鉴跨国企业做法的设置。
质量管理部的具体职能是:制定质量管理工作计划;对各部门的质量管理工作提出建议指导;跟踪、内审、分析质量体系的运行;控制软件和开发文档的版本;确认软件产品的测试结果;组织质量体系的改进。