软件质量管理论文

2024-09-25 版权声明 我要投稿

软件质量管理论文(推荐8篇)

软件质量管理论文 篇1

终端药店拜访业务员如何管理?

医药行业的主要销售渠道之一就是药店销售,由于药店在城市比较分散,甚至会分布在不同的城市,需要业务员定期的拜访,查看终端产品陈列情况以及缺货断货情况。企效通药店终端拜访管理软件,既是一款医药销售人员的办公助手,也是企业的“千里眼”,它可以帮助企业查看药店拜访人员是否真正去了指定地点,还可以及时了解真实的终端药品陈列情况。

【软件名称】医药行业销售管理软件医药行业药店管理软件医药行业终端陈列管理软件

【技术支持】北京万特锐科技、LBS基站定位技术

【软件功能】

位置服务:立即定位、定时定位、查看定时定位、轨迹回放、历史记录、导出数据 位置服务地图标注管理:现有标注、新增标注

远程签到:查看签到记录、导出签到记录

行程管理:查看行程

工作日志:拍照上传、查看日志、导出日志

移动办公通知公告:通知公告列表、发布通知公告

信件管理:信件列表、发送信件

网点拜访:查看拜访记录

查看客户列表

客户管理导出客户数据

转移客户

接管客户

软件质量管理论文 篇2

软件产品质量的好坏直接决定着一个软件企业的命运。作为软件质量保障的重要手段, 软件测试成为了软件生命周期中一个重要环节。

“工欲善其事, 必先利其器”。要做好测试工作, 首先需要建立并维护一个高效的测试团队。

一、成功测试者的特质

人是测试工作中最有价值也是最重要的资源, 没有一个合格的、积极的测试团队, 测试就不可能实现。为高质高效地完成测试任务, 好的测试者应具有如下能力: (这份特质清单是基于经验和观察, 而不是基于严格的科学依据) 。

1. 自信心

2. 怀疑精神

3. 沟通能力

4. 技术能力测试团队需要许多领域的

专家, 诸如数据库、通信、网络、GUI测试、测试工具、自动化测试脚本和相关业务领域的专家。因此, 测试者须拥有一项或多项的技术专长。

5. 外交能力

6. 很强的记忆力一个理想的测试者应

该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来, 这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。

7. 自我督促能力

8. 洞察力和耐心

9. 组织技能每当执行一个软件项目的

测试计划, 几乎不可能不遇到至少会阻碍一些测试而必须解决的缺陷。一个测试者应当能灵活地停止测试产品的一部分而开始测试其他部分。灵活, 能够快速地转到测试一个新产品上, 甚至为了另一个优先级较高的产品而放下手头正在测试的产品。

1 0. 学习能力拥抱新技术的热望和知识面广而且能不断更新知识, 能够快速地学习新技术。

1 1. 计划能力能够设计和执行一步一步的过程。

1 2. 能够承受无休止的压力测试工作位

于开发过程的后半段, 将处在一种充满压力环境中。由于项目周期的安排, 产品交付的日期的临近, 测试者面临巨大的压力。如何在计划的时间内完成测试任务、交出合格的产品, 测试者需要能承受无休止的压力。

1 3. 既有大局观, 又能根据需要关注细节, 总体理解产品。

二、测试团队的组建可能在测试行业

中有一些耀眼的明星测试者, 他们是测试者的楷模。但更常见的情况是, 组成优秀测试团队的人员拥有各自不同的技能背景。有必要认识到的是没有一个人能全部拥有这些特质, 因此测试团队作为整体应该尽可能多地拥有这些特质。

明确测试团队内部各类测试人员的职责分工可以使测试团队内部各类测试人员能集中精力在较短的时间内完成特定岗位必需的知识储备和经验积累, 同时也使得测试团队的管理更科学, 真正做到“用其所长, 避其所短”。

三、测试团队制度建设

良好的制度可以规范测试团队的工作开展, 同时也便于对团队成员进行业绩考评。相反, 则很有可能导致人心涣散, 滋长负面风气。建设良好的测试团队制度, 可以考虑以下几个方面:

1. 汇报制度团队成员汇报本周工作情

况及下周工作计划、遇到的问题以及需要提供的帮助, 培养团队成员的汇报及计划习惯。

2. 工作总结制度成员每个阶段汇报上

阶段工作经验和教训, 并在部门例会上交流、分享经验及教训, 避免同样的问题重复出现。

3. 奖惩制度对于贡献突出的成员予以奖励, 对于业绩差的提出批评, 有效地保持测试团队的工作热情。

4. 测试件审核制度

对测试件进行审核, 去粗存精, 鼓励测试人员使用和提出改进, 保证提交到测试团队知识库的测试件的质量。

5. 会议制度

定期召开部门例会, 讨论、解决工作中的问题, 并提供部门内的学习平台。

四、团队成员能力的逐步提高

有了明确、合理的职责分工后, 需要针对这些分工对团队成员进行有意识的引导, 稳步提升团队成员的技能。测试团队负责人需要负起监督和促进员工能力提升的任务。监督和促进测试团队成员能力提高, 主要做好如下三个方面的工作:一是, 提倡资深测试人员在测试团队内部进行经常性的培训和测试经验交流, 通过该渠道帮助资历浅的测试人员大幅提升业务技能, 做到新老员工之间的知识传播和继承。二是, 测试团队应充分利用好测试件知识库, 对于纳入到测试团队知识库的测试件应充分消化和学习, 在此基础上进一步鼓励测试团队成员对这些测试件提出改进性意见。三是, 测试人员除了需要注重自身的测试技能提升, 在条件许可的情况还应适度开发部门的基本知识, 这样能减少与开发团队协同工作时的领域障碍。

五、测试技能培训

对于管理人员, 主要进行《软件测试管理与团队建设》、《职业经理人培训》。

对于测试工程师, 内部主要进行行业业务知识培训和软件工程方面的培训。外部主要进行测试基础理论知识、软件开发测试基本流程、软件同行评审、软件需求跟踪、软件缺陷管理、软件配置管理、软件系统测试计划、软件测试方案、软件测试日报和报告写作、软件需求评审、软件测试需求分析方法、软件系统测试用例设计、性能测试的基本概念、性能测试的重要性、性能测试的目的、常用性能测试工具介绍、性能测试的步骤、性能测试的种类、性能测试策略、用例设计、性能测试脚本开发、场景运行、性能测试结果分析等。

六、测试管理项目经理制

测试管理实行项目经理制, 每一个项目的测试工作做为一个项目来对待, 测试负责人即为此项目的项目经理, 对测试需求调研、测试设计、测试执行、测试验收、测试报告、测试满意度调查整个过程进行控制和管理。

七、完善公司测试知识库

完善公司测试知识库, 建立典型的软件故障模型库、公共测试用例库, 重点是W E B应用系统的故障模型库。建立成充实和完善故障模型库的机制, 使其在实际工作中不断被扩展和充实。

八、测试Q A制, 加强测试管理、缺陷跟踪与管理工作

利用TD软件的优势, 加强测试需求管理、测试用例管理、软件缺陷管理的一整化和统一集成, 创建统一的测试管理平台;监控测试工作质量;使测试管理工作科学化、信息化和高效化, 提升测试管理水平。

九、进行测试团队建设与组织机构调整、职业生涯规划

为了更好地发挥测试的软件质量保障作用, 公司需要在现有基础上, 进一步扩大测试队伍, 提高现有测试人员的测试水平;制定一套科学合理的测试人员职业生涯发展规划, 完成公司软件测试手册。

十、质量意识、测试知识宣传

通过电子期刊、报刊、壁板报、网站等方式进行质量意识、测试知识的宣传, 以提高整个胜软公司的质量管理意识, 增加相关人员的软件测试知识和水平。

十一、测试管理项目内部启动测试团队内部成立内部项目组, 利用业余时间对于测试工作进行需求调研分析, 并进行可行性分析, 准备用2年左右时间, 采用测试团队全员参与的方式, 将公司测试工作全部信息化。

十二、完成测试配置管理制定科学合理、可操作性强的测试团队配置管理规范, 做到使测试团队的工程师工作有依据, 过程有记录, 学习有资料, 经验有共享;完成测试配置管理员手册。

软件测试是提高软件质量的保证 篇3

【关键词】错误 测试 目的 质量

随着信息技术的发展,计算机的应用领域越来越广,软件对于人们生活所造成的影响是巨大的,软件的好坏直接关系着人们的日常生活。尤其是计算机网络迅速发展的今天,由于小的软件故障就有可能造成一些不必要的大损失。

现在人们已经逐步认识到:正是软件错误导致了软件开发在成本、进度和质量的失控。有错是软件的属性而且是无法改变的,因为软件是由人来完成的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使软件中的错误密度达到尽可能低的程度。“软件测试”为我们提供了这种可能。隐藏在软件中的错误可以依靠“软件测试”来揭示,软件中的错误密度也可以通过“软件测试”来进行估计。“软件测试”是信息技术的重要方面,是保证软件达到高质量和高可靠性的关键元素。

一、软件测试的目的

软件测试是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性,从而检测软件错误、修正软件错误的过程。

谈到软件测试,许多人都会引用Glenford J.Myers就软件测试目的提出的以下观点:

①测试是程序的执行过程,目的在于发现错误;② 一个好的测试用例在于能发现至今未发现的错误;③一个成功的测试是发现了至今未发现的错误的测试;

这是一种比较狭窄的观点。软件测试是以查找错误为中心,但发现错误并不是软件测试的惟一目的,查找不出错误的测试也不是没有价值的。

软件的测试,基于不同的立场,存在着完全不同的测试目的。从用户的角度出发,软件测试不是为了演示软件的正确功能,而是希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。从软件开发者的角度出发,应当从软件过程的角度来看软件测试。测试并不仅仅是为了要找出错误或缺陷,而是以查找错误为中心,分析错误产生的原因和错误在开发的哪一个阶段产生,这具有非常重要的意义。通过分析错误或缺陷的原因,可以立即在软件开发行动中对其进行改正,通过分析也能帮助推理出与所分析的错误或缺陷有关联的潜在错误或缺陷,从而有针对性地设计出检测潜在错误或缺陷的方法,改善测试的有效性。最终表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确保软件的质量。

软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。对于软件不足的测试,势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着软件具有一定的缺陷,软件产生的更大危险将要让用户承担。但是对软件进行完全测试是不可能实现的,因为会受到软件开发过程中人力和物力资源的影响。也有可能到了测试后期,即使找到了错误,然而修正错误需要付出了很高的代价。软件测试只能表明错误的存在,而不能表明错误不存在。可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。

因此,测试的目的是以最少的人力、物力和时间投入,尽可能多地找出软件中潜在的各种错误和缺陷,检验软件的功能和性能是否符合用户需求、确保软件产品中的问题在分发之前被准确定位、改进生产过程,提高用户满意度。

二、软件测试的原则

根据软件测试的目的,软件测试的原则应该是:

(1)应当把尽早地和不断地进行软件测试作为软件开发者的座右铭。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些隐患,提高软件质量。

(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。如果对测试输入数据没有给出预期的程序输出结果,那么就缺少了检验实测结果的基准,就有可能把一个似是而非的错误结果当成正确结果。

(3)程序员应避免检查自己的程序。如果由别人来测试程序员编写的程序,可能会更客观,更有效,并更容易取得成功。 

(4)制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

(5) 妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

(6)回归测试的关联性一定要引起充分的注意,修改一個错误而引起更多的错误出现的现象并不少见。

三、软件测试的方法

软件测试方法包括静态测试、动态测试两种。其中,静态测试包括代码审查、静态分析。动态测试包括黑盒测试、白盒测试。黑盒测试适用于单元测试到系统联试阶段,而白盒测试通常适用于单元测试、集成测试及部分软件的配置项测试阶段。

1、静态测试

在静态测试中,代码审查的针对性强,一般情况下能发现70%-75%的特定问题,而且还能发现许多隐藏很深但非常致命的缺陷。但这种方式对资源的耗费很大,过分地依赖代码审查人员的素质和表现,对有些软件不适用;静态分析自动化程度高、效率高,分析全面、准确,包括分析理解、质量度量、规则检查等,但它存在适用性有限,许多分析结果需要人工给予进一步的分析和确认。

所以,应该将代码审查和静态分析两者结合,在静态测试中做到:

能用工具做的尽量用工具进行静态分析;

对部分静态分析结果通过代码审查的方式进行进一步的确认;

先静态分析,再代码审查;

利用静态分析结果作为引导,使代码审查工作更为有效。

2、动态测试

在动态测试中,黑盒测试直接面向需求设计测试用例,把被测程序看成一个黑盒,只考虑数据输入与输出的关系,完全不考虑程序内部的结构和特征。测试者只是按照软件规格书内容导出测试数据,并将注意力集中在寻找程序未按规格运行的情况。白盒测试直接针对软件内部的控制流和数据流进行测试用例的设计,要求测试人员对软件源程序有较深入的了解,允许测试人员从程序的逻辑着手检查程序的内部结构和源代码,得出测试数据,但常常会忽略了软件规格书的要求。

所以,应该将黑盒测试和白盒测试两者结合,在动态测试中做到:

先黑盒,再白盒;

在软件各测试阶段都可以使用这样的测试策略。

在整个测试过程中,应注重动态测试和静态测试的互补,将静态测试和动态测试相结合,先静态测试后动态测试,先静态分析再代码审查,先黑盒测试再白盒测试。

四、软件测试与软件质量保证的关系

软件测试能够提高软件质量,但与软件测试和软件质量保证二者之间既存在包含又存有交叉的关系。

软件测试能够找出软件缺陷,确保软件产品满足需求。但是测试不是质量保证,二者并不等同。测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。

从共同点的角度看,软件测试和软件质量保证的目的都是尽力确保软件产品满足需求,从而开发出高质量的软件产品。两个流程都是贯穿整个软件开发生命周期中。正规的软件测试系统主要包括:制定测试计划、测试设计、实施测试、建立和更新测试文档。而软件质量保证的工作主要为:制定软件质量要求、组织正式审查、软件测试管理、对软件的变更进行控制、对软件质量进行度量、对软件质量情况及时记录和报告。软件质量保证的职能是向管理层提供正确的可行信息,从而促进和辅助设计流程的改进。软件质量保证的职能还包括监督测试流程,这样测试工作就可以被客观地审查和评估,同时也有助于测试流程的改进。

二者的不同之处在于软件质量保证工作侧重对软件开发流程中的各个过程进行管理与控制,杜绝软件缺陷的产生。而测试则是对已产生的软件缺陷进行修复。

五、结束语

在软件越来越普及的今天,对软件产品质量的度量、评估和保证,成了用户和软件开发企业都十分关注的问题。软件测试是保证软件产品质量的重要手段,但完全的软件测试也是不现实的,它不能保证发现软件中的所有问题,它不能取代其它质量保证手段,而且,软件测试过分是一种浪费。在系统条件人力和物力资源的允许下,软件测试只有经过有序地组织、管理,并在各个阶段的每一测试过程中,运用合理的测试原则、方法,才能做到测试最优,也即保证软件产品质量最优。

参考文献:

[1]刘琴等译 《软件测试基础教程》[M].北京:人民邮电出版社,2009:1

[2]何国伟 王纬 等编 软件可靠性[M]. 湖南 国防工业出版社,1998:1

[3] (美)Ron Patton 周予滨 姚静译《软件测试》[M]. 机械工业出版社,2002.1

作者简介:

有效的软件质量管理 篇4

51CMM.COM原创 作者:苏黎虹 [2004/02/16]

一、引言

随着社会信息化水平的不断提高,信息行业急速膨胀,信息企业快速成长,随之带来的信息市场竞争激烈,企业为了求生存,满足客户要求则成为各行各业的首要责任。依赖于质量、成本和进度的客户满意度,质量则是重点支撑之一,这样要求我们对质量管理需要加强认识。我们都知道pmbok把项目管理划分为9个知识领域,即范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。质量管理作为9大知识领域之一,可见其重要性。

质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。

二 质量管理责任分配

我们公司在开发项目上按照规范化软件的生产方式进行生产,在生产流程上采用ISO9000的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试小组和质量保证小组确保质量管理的实施,下面针对这三种角色进行说明:

1、配置管理小组职责

配置管理小组是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,配置管理小组还是保证质量保证小组得以发挥作用的基础。配置管理小组的主要职责包括: 完善各个部门发送需要存档和进行版本控制的代码、文档(包括外来文件)和阶段性成果; 对代码、文档等进行单向出入的控制; 对所有存档的文档进行版本控制; 提供文档规范,并传达到开发组中。

2、测试小组职责

测试小组作为质量控制的主要手段,负责软件的测试设计和执行工作。如同软件开发一样,测试在执行之前,同样需要进行测试计划和测试策略的设计,通常情况下测试可以分为如下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试小组成员进行测试用例编写和测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正确。测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的功能性测试。

测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本

项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系统使用安全可靠。

3、质量保证小组职责

质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。

在项目进度被延滞或质量保证小组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量保证是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户的需求; 软件执行体是否正确的实现了分析人员的设计思想; 测试人员是否进行了较为彻底的和全面的测试; 配置管理员是否对文档的规范化进行的比较彻底,版本控制是否有效。

三 质量管理实施

有了良好的资源配备,又如何在项目全生命周期内实施质量保证,让我们从以下几个方面来看质量保证的实施过程:

1、项目进度的质量保证

项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前,项目开发计划是必须的。如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能。可见要保证项目进度,首先要保证项目开发计划尽可能合理。

项目计划的合理程度与项目计划制定者从事类似规模和类似业务的项目的经验有直接关系,通过经验往往能够预见潜在的阻碍,这样要求项目计划制定者需要集众人之力来完善计划。当项目计划制定初期,由质量保证小组组织召开的项目计划评审会,邀请公司技术专家、用户以及项目组小组成员一起讨论项目计划的可行性,会议通常采用头脑风暴法,各抒己见,会后由指定的记录员形成质量记录,发送给相关人员,对其计划中不合理的地方进行修改完善,并由质量保证人员对其结果跟踪,以确保项目计划完整性、可行性,完善后的计划交由配置管理人员进行版本控制。

然而在计划实施过程中,计划不是“固定化”。常有人道,“计划赶不上变化”,但“要跟上变化”。项目计划以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种方式非常有利于整个项目计划的动态调整。也利于项目质量保证的实施。

实际运作中,当质保小组发现计划实施的差异后,报告项目经理,由项目经理组织负责对计划进行周期性维护,对于已经变动的计划由质保小组协助配置管理小组完成版本控制。本公司已经开发湖南移动的集中客服系统,开发中的子项目多达六个,历时十个月,目前多数项目已经开发完毕,系统正在试运行阶段,项目金额数千万元。在这样的项目中,从管理者到开发人员到测试人员都积累了较为丰富的经验,特别是项目开发计划的制定,和项目进度的控制。

有效的软件质量管理(下)

51CMM.COM原创 作者:苏黎虹 [2004/02/16]

2、项目开发各阶段的质量保证

a、需求分析

需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。

解决系统分析错误的方法我们公司通常采用邀请用户参与进行需求评定,然后对其用户的意见由质保成员跟踪检测是否纳入需求规格说明书,同时与用户签字确认形成需求基线,交由配置管理员放入配置管理库。

虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程存在的需求变动,我们要求用户填写变更申请单发送给项目配置管理员,在通过配置配置员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所带来的影响,小的变更则直接记录入变更记录原因分析项和风险项栏,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求规格说明书、详细设计文、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,讨论变更取舍问题或是项目进度变更问题。

决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字后同意方可上线。

b、系统设计

优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,自然设计选型成为了系统设计首要的工作,究竟是采用哪种设计方法好呢?

对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用户的需求来分析,同样也要考虑到参与项目小组成员的素质,如果其中大部分都没有从事过面向对象的设计且项目进对紧迫,这样没有多余的时间来培训小组成员来掌握面向对象的设计方法,尽管众所周知面向对象设计方法的优势,我们还是不如采用面向过程的方式(除用户指定开发设计方式外)可以减少项目承担的技术风险。

我们公司有过一个项目,用户指定需要采用面向对象分析、设计和开发,且开发周期短,在无赖的情况下,项目小组只能选用面向对象的软件开发过程,由于项目小组很少从事过面向对象的开发,经验缺乏,导致项目上马后项目进度延误,项目没有达到预期的效果。针对此次开发,我们分析其原因,发现小组成员在开发过程中对于新技术互相交流少,各自有各自的理解和想法,造成理解上的不一致性,导致工作重复性高,滞后项目进度。建议解决方法是项目组成员采用集中办公,分块学习,学习的成果马上向项目相关人员发布,再由配置管理员对其发布的文档进行整理、规类放入配置库以供大家共享。这样方便大家的互相学习,减少重复的工作。在这次开发中我们公司从管理人员、设计人员到开发人员都汲取了很多教训,同时经过此次项目的开发,小组成员也积累了丰富的面向对象的开发经验。除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类开发可以减少工作中的重复工作,降低开发成本。这要求我们再设计阶段通过对用户需求的仔细研究,尽可能的识别出公共类,并进行定义指定专人负责设计通知其它设计人员,以减少重复工作。对于项目组提供的设计文档,由质保小组组织技术专家、项目组设计人员、开发人员和测试人员对其设计文档的评审,检测设计文档对其下一阶段工作的可行性,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供切实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组或整个公司重用。最后交由配置管理员进行设计文档的版本控制。

c、实现

实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序,测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员进行程序正确性检测。

d、文档管理

文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。内部文档包括: 项目开发计划; 需求分析; 体系结构设计说明; 详细设计说明; 构件索引; 构件成分说明; 构件接口及调用说明; 组件索引; 组件接口及调用说明; 类索引; 类属性及方法说明; 测试报告; 测试统计报告; 质量监督报告; 源代码; 文档分类版本索引; 软件安装打包文件。

外部文档主要包括: 软件安装手册; 软件操作手册; 在线帮助; 系统性能指标报告; 系统操作索引。

如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题。解决此问题,其核心仍然是个“度”的问题。在本项目的开发中,配置管理小组的一个非常重要的任务还是书写文档规范和文档模板。当有文档模板后需要书写文档的人员只剩下“填空”的工作,从某种意义上讲,书写文档的速度会加快。如果书写文档的人员认为文档的更细致的部分可以由他人帮助完成,则该文档即交由他人完成,但此时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写者进行复审,复审通过后方可以正式提交,进入软件配置管理的循环中。

配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有些是通过质量保证小组经过复审之后转交给配置管理小组,有些则会直接从文档的出处到达配置管理小组。文档的管理是一个非常烦琐的工作,但是长远来看它不仅使项目的开发对单个主要人员的依赖减少,从而减少人员流动给项目的带来的风险,更重要的是在项目进行到后百分之十的时候起到拉动项目的作用。

从以往做大项目的经验来看,写作文档在项目开发的早期可能会使项目的进度比起不写文档要稍慢,但随着项目的进展,各个部门需要配合越来越多,开发者越来越需要知道其他人员的开发思路和开发过程,才能使自己的开发向前推进。一个明显的例子就是系统整合,或者某些环节是建立在其他环节完成的基础之上时,就更显现出文档交流的准确性和高效性。

3、系统维护质量保证

在我们公司,维护小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目其它的开发人员从项目中尽快的解脱出来以便投入到下一个项目的开发中。所以通常项目维护小组成员主要由项目组的少部分开发人员承担完成。他们不仅了解软件的核心内容,而且与客户也不陌生,以便能够以最快的速度修正错误。对于一般性的错误,如操作不当等引起的问题,全部由维护小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走

变更控制流程,用户或者维护人员填写变更申请,经专家会议讨论分析可行方案在由维护小组实施,通过测试后方可提交用户。

军用软件质量管理规定 篇5

第一章

总则

第一条

为了加强军用软件质量管理,保证军用软件质量,依据《装备条例》制定本规定。

第二条

本规定适用于作为装备或装备组成部分的软件质量管理。

本规定中所称的军用软件(以下简称软件)包括计算机程序、相关文档和数据,以及固化在硬件中的程序和数据。

第四条

总装备部按照国家军用标准和有关规定对软件研制单位进行软件研制能力评价,对软件测评机构进行认可,并以合格名录形式予以发布。未达到规定的软件研制能力要求的单位,不能承担软件研制任务;未经认可的软件测评机构不能承担软件测评任务。

第二章

职责

第七条承担软件研制任务的单位(以下简称研制单位)对软件研制和服务质量负责,履行下列职责:

(一)建立健全质量管理体系,保持和改进软件研制能力,明确各类人员的质量责任;

(二)实施软件工程化管理,制订本单位软件研制工作程序和规范,对软件研制过程实施质量控制;

(三)配备必要的人员、技术手段和设施等资源,建立本单位软件质量信息系统;

(四)对有缺陷的软件进行修复;

(五)承担软件的使用培训和技术服务;

(六)向软件测评机构提供软件测评所需的程序和文档资料。

第十条

软件测评机构对软件的测评质量负责,履行下列职责:

(一)建立健全质量管理体系,保持和改进软件测评能力,明确软件测评过程中各类人员的质量责任;

(二)承担软件定型、鉴定、验收和成果鉴定的测评,外购软件产品质量评价及选优工作;

(三)制定本单位软件测评工作的程序和规范,实施软件测评过程的质量控制;

(四)配置必要的软件测评资源,建立软件测评质量信息系统;

(五)开展软件测评理论、技术和方法的研究。

第四章

软件研制

第十七条装备主管部门在订立装备研制合同时,应当在合同中明确软件的级别、质量保证条款、测评项目、测评机构以及研制单位应当提供的测评保障条件。

第十八条

装备主管部门应当组织对研制单位制订的软件研制计划和软件质量保证计划进行审查和确认,并监督其实施。软件质量保证计划应当明确软件质量要求、软件质量保证的工作责任、控制项目和方法、编制的文档等。

第十九条

研制单位在进行软件需求分析时,应当广泛征求软件论证、使用、测评等单位的意见,按照国家军用标准要求的内容和格式,形成能够全面反映系统任务要求的软件需求说明。

第二十条

研制单位应当在软件研制的早期对软件保障进行规划,在软件需求说明中提出软件保障方案,并根据合同要求研制和交付软件保障所需要的各种资源。

第二十一条

研制单位应当制订和实施软件设计准则;开展软件可靠性和安全性设计;按照软件工程化方法和国家军用标准的要求,形成与软件需求说明一致的、可理解的和规范化的软件设计文档。

第二十二条

软件编码应当严格按照设计文档进行,确保编码和设计文档一致。

第二十三条

装备主管部门应当对研制单位编制的软件测试计划进行审查和确认,并监督其实施。软件测试过程应当完整、准确地记录所有测试结果,填写软件问题报告表,编制软件测试报告。

第二十四条

软件设计、编码和测试工作必须分别由不同的人员承担。

第二十五条

研制单位必须按照国家军用标准或相关标准要求的格式和内容,在软件研制过程中,同步完成各项文档的编制工作。软件文档编制项目的剪裁和合并必须经过装备主管部门确认。

第二十六条软件配置管理必须设立软件开发库、受控库和产品库,并规定相应的控制和管理程序。软件文档的修改和完善必须纳入软件配置管理。

第二十八条

研制单位应当建立并运行软件故障报告、分析和纠正措施系统,及时记录和报告软件故障,采取纠正措施。

第二十九条

装备主管部门应当对研制单位确定的转承包单位的软件开发能力和转承包合同进行审查。转承包合同中应当明确转承包软件质量保证条款、监督和控制措施。

第三十条研制单位需要外购软件产品的,应当按照要求进行测试或者选型,并对其正确使用负责。

第三十一条

研制单位应当根据合同要求,向软件测评机构提供测试所需要的软件需求说明、设计说明、源程序及开发过程测试文档等技术文件,使测评机构能够充分了解软件开发情况,保证软件测评质量。

第三十二条

研制单位应当编制软件使用培训教材,并根据合同要求对软件使用人员提供培训服务。

第五章

软件测评

第三十三条

关键软件和列入装备体制的软件,必须经总装备部认可的软件测评机构测评合格后,方可交付部队使用。

第三十四条

装备主管部门应当在确定软件研制任务的同时,确定软件测评任务并下达软件测评任务书。

第三十五条

软件测评机构应当从软件需求分析阶段开始进行测评准备工作,了解软件研制情况,参加软件评审;根据软件的级别编制软件测评计划和测评说明,经装备主管部门组织评审通过后实施。

第三十六条

软件测评机构应当根据测评计划建立软件测试环境,严格按照规程实施软件测评,及时、完整、准确地记录所有测试用例的测试结果。

对软件测评机构发现的软件问题,研制单位应当进行分析、修改、测试和评审后,送测评机构进行回归测试。

第三十七条

软件测评机构应当根据软件测评结果出具软件测评报告。软件测评报告由装备主管部门组织评审。

第七章

奖励与处分

第四十六条

对保证软件质量做出突出贡献的单位和个人,按照国家和军队有关规定,给予奖励。

第四十七条有下列行为之一的单位和个人,依照《中国人民解放军纪律条令》和其他有关规定对负有直接责任的主管人员和其他直接责任人员给予处分;构成犯罪的,依法追究刑事责任;对单位给予通报批评,并责令限期改正:

(一)滥用职权、徇私舞弊、弄虚作假的;

(二)违反工作程序、规章制度和操作规程,造成严重后果的;

(三)违反软件工程化管理要求,软件状态失控,质量问题突出,造成严重后果的;

(四)伪造测评结果或出具虚假证明的。

第四十八条

软件项目管理 篇6

许多人都以为项目经理总是与“理想与光荣”相伴的,其实作为一个有志于改进中国软件开发流程的项目经理来说,他们承担的更多的是“艰辛与痛苦”。

一个优秀的软件项目经理应该具备以下素质。

一、执着

可以这么说,在中国如果不执着是做不成任何事情的,因为在软件开发流程中推行各种规范和管理制度的时候,你可能遇到各种各样的阻力和障碍,如果没有应付挫折的思想和准备,你是很难推行成功的。要知道这样一个基本事实,项目管理成败的关键是:如果你不坚持,谁也不会坚持下去的。指望领导的扶持和群众的自觉是不可能的。只有坚定信念,努力打动别人,才能成功。

坚持到成功为止。只要决定上管理流程了,就不要后悔,唯有坚持,因为你拼命努力而实现了99%,你却不知,最后当你决定放弃的时候也许就是你要成功之时。要知道你准备放弃的时候可能正是对方也准备放弃之时,唯有坚持,你才能成功

二、亲和力

亲和力是指你和团队相互依赖,相互信任能力的大小。亲和力是你领导团队走向成功的基础,如果一个团队的向心力不够,各自为政,那么失败就会在身边陪伴你。要团队的每个成员都信任你,你必须要做到关心下属,主动与下属沟通,为下属争取合法权利等。关心下属就是在日常工作中对下属的工作状况,发展方向进行指导,避免其走弯路;在生活中也对其身体状况进行关心,促进身体和心理健康的恢复。

多找下属沟通是消除误会的润滑剂,同时也是了解下属内心真实想法唯一捷径。做项目经理的人,在某些事情上的处理的确会与人不同,也难以令人理解。这个时候只有多与下属沟通,逐步达成共识,争取大家的理解和支持。记住,没有下属的理解和支持,你永远无法实现项目管理的规范化。另外就是了解下属的真实想法,经常了解一下下属的真实想法有利于我们不断改进和调整流程,使生产流程更加符合本团队的实际。切记一点,做领导的一定要多尊重下属的想法,并且与之沟通,若一味等下属找自己,那么是一般下属与之水火不容要摊牌时,才会与你沟通,这样悔之晚矣。

为下属争取合法权利是项目经理的一项重要职责。敢负责任是项目经理基本素质,如果你不经常研究工作数据保障下属的合法权益时,你就很难让你的团队保持高效率。

三、品德高尚

“一撇一捺是个人,世世代代学做人。”在这个世界上最难做的就是做个品德高尚的人。试想一个思想猥亵的人很难取得成功,即使靠钻营取得也只是暂时的,他不可能取得长久的成功。只有品德高尚的人才能感染周围的人,使团队具有向心力,从成功走向成功。

人有三种,一种是仗势欺人,一种是持才压人,最后一种是以德服人。仗势欺人的人自持地位高而指三道四,自然是不可能团结人,更不可能获得成功;持才压人的人自持学识高而盛气凌人,或咄咄逼人。殊不知“闻到有先后,术业有专攻”,“尺有所长,寸有所短”,难以学到更高的知识,也就难以取得更大的成功。只有以德服人的人以自己的修养和品德感染人,勇于吃亏,乐于助人,以德报怨,只有这样才能使你对立面德人都不忍心伤害你,团结到一切可以团结到的人,拥有这样的环境,你怎么可能不成功。

勇于吃亏,首先要放下私心,如果一个人始终 围着自己转的人是不可能做到的。“人不为己,天诛地灭”是八十年代后出生的人心灵普遍反应;但是要记住人首先是社会中的人,如果脱离了社会,人恐怕已不会成其为人了。因此只有当你抛弃私心,主动为人,别人才会反过来支持你,帮助你。

乐于助人,是人类的一个良好品质,就象一首歌中所唱的“人字的结构就是相互支撑”。管理流程是不可能靠项目经理一个人维持的,必须要大家支持你。但是这却需要你多帮助别人,别人才会帮助你。不管团队成员发生什么事情,你要尽你所能去帮助他,这样团队才可能继续前进。

以德报怨,可能是人最难做到的。中国人就强调“人若犯我,我必犯人”,其实在这回中不会有真正的仇敌,大家明争暗斗的结果如果过20年后再去看的时候,保准一大半的人都会觉得不值得,许多人赌得就是一口气,将自己成功的希望给湮灭了。当你能用宽容喝善良对待你对立面的人的时候,还有什么东西能阻挡你成功?

“得道多助,失道寡助;多助之至,天下顺之,失道之至,亲戚叛之;以天下之所顺,攻亲戚之所叛;故君子有不战,战必胜矣。”

四、口才

良好的口才是项目经理打动项目成员的必备武器,当你拥有良好的口才将会使你无往不利。当年希特勒就是用他那天才般的口才征服了德国,使他的《我的奋斗》贯彻到每一个德国人的心中,从而成立了第三帝国。

要使自己的项目管理思想贯彻到每一个项目成员心中,就必须要做到以下的演讲原则:

1.根据项目成员的共同目标象他们制定演讲内容,只有让他们信服你才有意义;

2.调动听众的这种感官,诉之触觉、视觉、听觉,用黑板、姿势来辅助你的内容。

3.不断的总结效果,改进自己演讲宣传的接受度,如果效果不理想,尝试换一个方式来表达.调动听众的这种感官,诉之触觉、视觉、听觉,用黑板、姿势来辅助你的内容。

3.不断的总结效果,改进自己演讲宣传的接受度,如果效果不理想,尝试换一个方式来表达和描述。

4.让听众学以至用,只有他们积极反馈,才能更深入的听你的思想。

五、循序渐进

循序渐进,不急于求成是项目经理在项目管理中必需具备的品质,在中国CMM过程改进的热潮中,真正实现CMM管理的企业屈指可数,而以CMM改进过程实质性为企业带来质量提升和效益改进的公司更是寥落晨星。

为什么会出现这种情况?难道CMM真的不适应中国过情吗?不是,绝对不是。是这些企业的项目经理太心急,连CMM2还不知道怎么回事就直奔CMM3,他们忽视了事务发展的客观规律,凡事必须循序渐进。如果有一个企业在2年内通过了CMM4,我有十足的信心说,那是花钱买征;如果乐观一点,一个中小企业从CMM1走到CMM2大约要2年时间,大型企业只会更长,不会更短,因为他们需要在培训和沟通上付出更大的代价。

“循序渐进,循序渐进,再循序渐进。”这句巴斯德德经典名言同样适用于我们项目管理领域,他将逐步把我们带向成功。

六、持久求学

“书到用时方恨少,学至成时始知卑。”学无止境,我在生产实践中发现,整个项目管理过程改进就是“学习-培训-实施-发现问题-再学习”的循环过程,项目经理如果不学习将不能解决现实工作中出现的新问题,更不可能站在一个战略的角度来解决问题。

事实上,求学也不能没有目标,否则学到的知识太庞杂,而不能融会贯通,这样的知识对实际工作指导甚少,真正的知识是一个目标体系,严格按照流程来一步步的掌握我们所需要的知识。

最后,我总结一下中国项目经理所必需掌握的知识:

1.专业知识:数据结构、关系数据库、操作系统、软件工程、编译原理。(外国的项目经理可能不需要掌握)

2.管理知识:项目计划、项目配置管理、成本核算、风险预估、绩效考核。这是项目经理必须掌握的内容。

3.网络知识:服务器的架构、各种服务的配置。因为管理的大厦是基于软件的管理,没有一个服务管理的网络配合是不可以想象的。

4.“越过高峰,另一峰却又现”,这是中国项目经理在持续求学中会不停的挑战自我,向更高的山峰迈进。

七、敢负责任

一个人因为有责任才有生存的意义。一个人随着年龄的增长,责任感也会愈来愈重。成年时,法律也会赋予一些年少时没有的责任。同时地位逐渐提高,责任也会相对加重。

一个人惟有负责,才能产生做人的价值。所负责任愈大,价值就愈高。换句话说,有责任,生命才有意义。如果没有感受到自己该负的责任,即使年龄超过20岁,也不算是一个成年人。

因此,经理就是要负责任,如果不负责任就可以不要经理了!项目经理关系到一个项目的成败;对于公司他必须要承担及时汇报项目进度、成本核算和质量系数的责任,同时也必须保证项目组成员绩效考核,政策落实,预留人才储备等责任,是整个项目中责任最大的人,如果没有良好的心理素质和应对能力是无法担负责任的。

实际工作中项目经理主要要负责项目组的人员安排调度、工作分配、工作审核、工作跟踪、项目计划、项目汇报总结、成本核算、利润分配等职责。

八、以身作则

项目管理的一个重要工作就是定义各种规范和制定,但是这些规范和制度的执行除了靠项目经理的执着推行,口才宣传,力主培训、惩戒得当之外,关键还是在于项目经理的以身作则。如果项目经理自己都违反自己定义的条款的话,那么就别指望团队会自觉遵守这些规定。

作为一个管理者以身作则是最基本的素质,千万不要为自己违反规范和制度找各种借口,例如我我是公司只属考核,我因为某某更重要的事情而不得不违反。“只许周宫放火,不许百姓点灯”的话,是无法将规范和制度推入人心的。项目经理如果违反了规范,只有当众加重处罚,别无他法。

因此,鉴于规范制度的权威性主要还是靠项目经理自己,只有坚持以身作则,才能将自己优秀的管理思想贯穿下去,取得开发过程改进的成功。

九、要有威信

一个项目经理说话有没有人听,必须要靠威信,这种威信是靠自身的素质,而不是狐假虎威。靠高层领导的支持来强迫团队执行项目制度过程的话,是注定会失败的。因为团队成员不信任你,表面服从,实际消极怠工,就足以让流程实质瘫痪。

做事要有信用,说一不二,不能因为朋友关心就讲情面。公是公,私是私。平时可以稀稀拉拉,关键问题决不手软,不因为朋友关系妥协,这样才能树立威信,便于工作。

威信除了必要的威信之外,最主要的还是信用,项目经理在做事没有绝对把握的时候千万不要承诺,一旦承诺就无论如何一定要实现。否则,当实现不成功而丢失信用之后,再想让团队相信你,信任你就是非常困难的事情了。

十、善于总结

项目经理要善于总结,只有不断的总结才能不停的完善自己,成功的事情总结经验,失败的事情要总结教训,总结的过程就是不断改进的过程,这也是CMM规范所必需的素质。

总结

软件项目质量管理 篇7

软件行业是一个高智力密集型行业, 软件开发的过程会受多方面因素的影响。软件产品作为逻辑、智力产品, 更多呈现的是脑力劳动成果的形成。因此, 从软件项目的开始到结束过程中动态不确定的因素太多, 使得在按时提交软件产品的前提下有效保障软件质量成为一个比较棘手的问题。

软件质量对于软件成本与进度的影响是根本性。低质量的软件产品, 不仅会增加后期的经营成本, 加重后期维护任务, 更重要的可能会引起难以预料的后果。如软件行业著名的千年虫问题, 虽然解决的方法是非常简单, 但是由于一个小小的错误, 却带来了很大的麻烦和损害, 并为此付出巨大的代价。因此, 在软件开发过程中实施项目质量管理至关重要。

2 软件项目质量管理过程

软件项目的质量管理指的是保证项目满足其目标要求所需要的过程, 它包括编制质量计划、质量控制、质量保证等过程。

(1) 质量计划:质量管理的关键是预防重于检查, 一个清晰的质量计划能够指导项目的实施, 输出高质量的软件产品。在质量计划中应该根据所研发项目自身所具有的特征与实际情况来进行, 对于会影响质量问题如“环境、人员、设备”等各方面原因进行细致分析并且要制定出与其相应的预防措施。同时在编制计划过程中还应注意与需求相关的其他知识领域的协调。

(2) 质量保证:质量保证的主要任务是制定质量标准和质量控制流程、明确质量管理体系等。这一过程贯穿整个项目全生命周期, 经常性地对整个项目执行情况进行评估, 以确保项目质量与计划保持一致。质量保证过程不仅对整个项目的最终产品与整个开发过程承担质量责任, 而且向需求方和其他相关方提供信任。

(3) 质量控制:通过测试与控制两个阶段, 以确定特定的项目结果是否符合质量标准。而质量控制的主要用途应该是预防缺陷, 控制产品的质量, 及时纠正可能的缺陷, 确保项目质量与计划保持一致。

3 软件项目中质量管理的原则

现在国内很多软件企业都已经意识到了软件产品质量的重要性, 但同时也应意识到软件质量受进度、成本两大因素的影响。因此在项目实施中做好质量管理工作应该坚持自己的原则。

(1) 要将质量管理切实应用到实际项目实施中。在早期国内的很多企业里, 为了竞争, 采取“抢进度、降低成本、牺牲质量”等措施, 以致由于质量管理不当使许多软件公司难以维持, 甚至于破产, 使软件产业曾一度陷入恶性循环中。近几年, 许多企业都逐渐意识到质量管理的重要性, 可是由于种种原因, 只有少数企业将质量管理真正应用到项目开发中, 并发挥了其实际应有的效果。因此把质量管理切实贯彻到实际项目开发中还需不断的努力。

(2) 要尊重客户的需求, 建立良好的互利合作关系。在实际中有许多企业曾一度认为商业利益高于客户的利益。但是在软件产业发达的今天, 拥有高质量的产品、诚信于客户的企业, 一定会成为客户的第一选择, 因此, 处理好客户的需求, 建立良好的互利合作关系也是非常重要的。

(3) 建立系统的质量管理体系, 逐步促进软件开发良性循环。美国卡内基-梅隆大学软件工程研究所的“软件能力成熟度模型” (CMM) 和国际标准ISO9000, 都对质量管理做了详尽的描述, 但缺乏对于实际工程操作的详细指导。因而针对不同的企业, 应该建立一个符合企业自身管理水平的质量管理体系, 只有这样才能使质量管理的实际效果充分的发挥出来, 开发出高质量的软件, 从而促进软件开发的良性循环。

(4) 重视软件开发团队的团队精神。软件开发团队作为项目开发的基本工作单元, 团队的合作精神至关重要, 是确保项目能否顺利实施的基础平台。在一个软件开发团队中, 任何个人的能力是有限的, 做到人尽其才, 充分发挥个人的主观能动性, 打造有战斗力的开发团队, 不仅会对质量管理产生影响, 而且会直接影响整个项目的实施过程。

4 提高项目质量管理的方法

4.1 真正明确用户的需求

明确用户的真实需求是非常重要的, 在以往项目失败的案例中, 大部分是由于需求分析的不明确造成的。由于开发人员未能对用户的需求做实际调查, 而且对于实施项目的相关其他领域不是很了解, 这些有时不会影响项目的前期实施, 但是到了后期会有明显的影响, 甚至会导致项目的夭折。因此, 明确客户的真实需求, 是保证软件产品质量是否能合格使用的关键一环。

4.2 实行代码走查

代码的质量充分体现了软件的质量, 但由于项目组中各个成员的能力、编码习惯各有不同, 所开发的代码质量也不尽相同。因此, 在软件开发过程中引进代码走查是非常有必要的。在一段时间内或是规定的时间, 让程序员对其所开发代码的主要部分进行讲解, 不仅能促使开发人员自己提高开发代码的质量, 而且能够促进组内成员的交流和学习, 从而更有力促进软件质量的提高。

4.3 实施项目跟踪控制管理

项目跟踪控制管理主要是通过跟踪和控制两个环节, 对于项目实施的全过程进行跟踪控制。这一过程不仅反映出项目是否按计划的轨道行驶, 产品的性能是否合格, 而且也需要对于计划在项目实施过程中是否合理进行跟踪。然后通过反馈, 对于那些不合理的、存在潜在问题的因素进行纠正和更改。

4.4 项目实施中的软件测试

在项目实施的全部质量管理工作中, 测试活动是软件产品质量保障的最直接和最有效环节。由于很多项目在实施中非常不规范, 因此软件测试一定要把好关。软件测试不仅在于发现软件的缺陷, 而且为软件过程改进和管理提供确切的数据依据。软件测试应该重点做好测试用例设计、功能测试、性能测试、缺陷管理等工作。

4.5 常用技术和工具

(1) 帕累托分析 (Pareto Analysis) 。帕累托分析平常也称为“80对20”规则, 该方法强调80%的问题经常是由于20%的原因引起的。帕累托分析法首先找到原因并且收集与原因相关的信息, 然后通过绘制帕累托分析图找出的几个关键原因, 依据重要性排序, 最后采用改进技术消除产生问题的原因。

(2) 关联图法。关联图法是指用连线图来表示事物相互关系的一种方法, 通常用于对产生不合格品的原因分析或制定质量故障的对策分析等。关联图法主要是根据可能会产生问题的各种因素之间的因果关系, 检查有无不够确切或遗漏之处, 复核和认可上述各种因素之间的逻辑关系, 并指出重点, 确定从何处入手来解决问题。

常用的软件质量管理技术和工具还有:质量审计、过程分析、问题管理、不符合项的管理、质量功能图 (UDF) 、统计抽样、关联树图和方案效果分析法等。这些工具与技术对于质量管理提供了最有力的支持与保障。

结束语

近年来, 项目质量管理逐渐得到企业的重视, 但是要将项目质量管理恰如其分地运用到实际的项目中, 并且使各个企业能够依据自身的特点制定出适合自己的管理规定和制度, 还有待于软件行业的不断发展和规范。

摘要:从软件项目质量管理重要性谈起, 分别对项目质量管理的内容、原则、提高方法、常用的技术和工具进行了论述。

关键词:项目质量管理,软件质量,软件项目

参考文献

[1]陈明.软件工程实用教程[M].北京:清华大学出版社, 2005.[1]陈明.软件工程实用教程[M].北京:清华大学出版社, 2005.

[2]吴吉义.软件研发中的项目质量管理工具与技术[J].微型机与应用, 2007 (S1) :43-46.[2]吴吉义.软件研发中的项目质量管理工具与技术[J].微型机与应用, 2007 (S1) :43-46.

[3]栾跃.软件开发项目管理[M].上海:上海交通大学出版社, 2005.[3]栾跃.软件开发项目管理[M].上海:上海交通大学出版社, 2005.

[4]李彭, 高世臣.大型软件系统的项目管理研究[J].科技情报开发与经济, 2007, 17 (33) :195-196.[4]李彭, 高世臣.大型软件系统的项目管理研究[J].科技情报开发与经济, 2007, 17 (33) :195-196.

如何做好软件工程质量管理 篇8

关键词:软件工程管理

在实际的项目质量管理中,质量管理总是围绕着质量保证(Quality?Assurance)过程和质量控制(Quality?Control)过程两方面。这两个过程相互作用,在实际应用中还可能会发生交叉。正如引言所述,关于软件的质量,很难下一个非常明确的定义。本文主要针对软件工程中的质量管理来进行讨论。

1、做软件“大餐”的工序

软件质量保证(Software?Quality?Assurance,以下简称SQA)的目的是验证在软件开发过程中是否遵循了合适的过程和标准。软件质量保证过程一般包含以下几项活动:

首先是建立SQA组;其次是选择和确定SQA活动,即选择SQA组所要进行的质量保证活动,这些SQA活动将作为SQA计划的输入;然后是制定和维护SQA计划,这个计划明确了SQA活动与整个软件开发生命周期中各个阶段的关系;还有执行SQA计划、对相关人员进行培训、选择与整个软件工程环境相适应的质量保证工具;最后是不断完善质量保证过程活动中存在的不足,改进项目的质量保证过程。

独立的SQA组是衡量软件开发活动优劣与否的尺度之一。SQA组的这一独立性,使其享有一项关键权利——“越级上报”。当SQA组发现产品质量出现危机时,它有权向项目组的上级机构直接报告这一危机。这无疑对项目组起到相当的“威慑”作用,也可以看成是促使项目组重视软件开发质量的一种激励。这一形式使许多问题在组内得以解决,提高了软件开发的质量和效率。

选择和确定SQA活动这一过程的目的是策划在整个项目开发过程中所需要进行的质量保证活动。质量保证活动应与整个项目的开发计划和配置管理计划相一致。一般把该活动分为以下五类:

1)评审软件产品、工具与设施?

软件产品常被称为“无形”的产品。评审时难度更大。在此要注意的一点是:在评审时不能只对最终的软件代码进行评审,还要对软件开发计划、标准、过程、软件需求、软件设计、数据库、手册以及测试信息等进行评审。评估软件工具主要是为了保证项目组采用合适的技术和工具。评估项目设施的目的是保证项目组有充足设备和资源进行软件开发工作。这也为规划今后软件项目的设备购置、资源扩充、资源共享等提供依据。

2)SQA活动审查的软件开发过程

SQA活动审查的软件开发过程主要有:软件产品的评审过程、项目的计划和跟踪过程、软件需求分析过程、软件设计过程、软件实现和单元测试过程、集成和系统测试过程、项目交付过程、子承包商控制过程、配置管理过程。特别要强调的是,为保证软件质量,应赋予SQA阻止交付某些不符合项目需求和标准产品的权利。

3)参与技术和管理评审

参与技术和管理评审的目的是为了保证此类评审满足项目要求,便于监督问题的解决。

4)做SQA报告

SQA活动的一个重要内容就是报告对软件产品或软件过程评估的结果,并提出改进建议。SQA应将其评估的结果文档化。

5)做SQA度量

SQA度量是记录花费在SQA活动上时间、人力等数据。通过大量数据的积累、分析,可以使企业领导对质量管理的重要性有定量的认识,利于质量管理活动的进一步开展。

需要说明的是,并不是每个项目的质量保证过程都必须包含上述这些活动或仅限于这些活动,要根据项目的具体情况来定。

SQA计划中必须明确定义在软件开发的各个阶段是如何进行质量保证活动的。它通常包含以下内容:质量目标;定义每个开发阶段的开始和结束边界;详细策划要进行的质量保证活动;明确质量活动的职责;SQA组的职责和权限;SQA组的资源需求,包括人员、工具和设施;定义由SQA组执行的评估;定义由SQA组负责组织的评审;SQA组进行评审和检查时所参见的项目标准和过程;需由SQA组产生的文档。

选择合适的SQA工具并不是试图通过选择SQA工具来保证软件产品的质量,而是用以支持SQA的活动。选定SQA工具时,首先需要明确质量保证目标。根据目标制定选择SQA工具的需求并文档化,包括对平台、操作系统以及SQA工具与软件工程平台接口的要求等。

1、如何使白壁“无瑕”

按工序去做也不一定能得到一盘完美的“大餐”,因为火侯等因素实在很难掌握。万一掌握不好怎么办?软件质量控制主要就是发现和消除软件产品的缺陷。对于高质量的软件来讲,最终产品应该尽可能达到零缺陷。而软件开发是一个以人为中心的活动,所以出现缺陷是不可避免的。因此,要想交付一个高质量的软件,消除缺陷的活动就变得很重要。缺陷消除是通过“评审”和“测试”这类质量控制活动来实现的。

缺陷在软件开发的任何阶段都可能会被引入。项目质量管理过程包含了许多可以识别缺陷、消除缺陷的过程。“识别缺陷”和“消除缺陷”本来是两个不同的过程,但在这里为了简便统一用“消除”来代表它们。潜在的缺陷越大,用来消除它所花的费用越高。因此成熟的软件开发过程在每一个可能会引入潜在缺陷的阶段完成之后都会开展质量控制活动。这些为了消除缺陷的活动包括:需求评审、设计评审、代码走查、单元测试、集成测试、系统测试以及验收测试等。

质量控制的任务就是策划可行的质量管理活动,然后正确地执行和控制这些活动以保证绝大多数的缺陷可以在开发过程中被发现。

上一篇:高中美术湘教版设计课下一篇:学区年度工作总结