南京千度软件科技有限公司
摘要
摘要:软件产品是软件项目的最终结果,其功能度和复杂性要比制造业的产品高得多,而且在投入使用后,软件发挥的功效也是其它任何形式的硬件产品所无法比拟的。为了保证软件产品在交付后能够按照用户的需求发挥正常的功效,因此在项目实施过程中进行有效的质量管理是很有必要的。本文结合千度科技公司软件项目中的质量管理做了一些探讨。
关键字:千度科技、软件质量管理、质量管理、CMMI
词典对质量的定义是:① 典型的或本质的特征;② 事物固有的或区别于其他事物的特征或本质;③ 优良或出色的程度。
国际标准组织对质量的定义是:“反映实体满足主体明确和隐含需求的能力的特性总和”。
CMM对质量的定义是:① 一个系统、组件或过程符合特定需求的程度;② 一个系统、组件或过程符合客户或用户的要求或期望的程度。
上述定义很抽象,我们可以这样理解软件质量:
软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无从下手)。
软件的质量属性很多,1994年ISO9000-3软件质量国际标准(ISO的软件质量评价模型)给出了 6个软件质量特性和与其相关的21个质量子特性的明确定义,其中第一层:质量特性包括功能性、可靠性、可维护性、高效性、可使用性、可移植性。表1是常见软件质量属性的描述。
质量属性 |
描述 |
正确性 |
正确性是指软件按照需求正确执行任务的能力。“正确性”的语义涵盖了“精确性”。正确性无疑是第一重要的软件质量属性。 |
健壮性 |
健壮性是指在异常情况下,软件能够正常运行的能力。正确性与健壮性的区别是:前者描述软件在需求范围之内的行为,而后者描述软件在需求范围之外的行为。健壮性有两层含义:一是容错能力,二是恢复能力。 |
可靠性 |
可靠性是一个与时间相关的属性,指的是在一定环境下,在一定的时间段内,程序不出现故障的概率,因此是一个统计量,通常用平均无故障时间来衡量。软件可靠性问题通常是由于设计中没有料到的异常和测试中没有暴露的代码缺陷引起的。 |
性能 |
性能通常是指软件的“时间—空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。 |
易用性 |
易用性是指用户使用软件的容易程度。软件的易用性要让用户来评价。 |
清晰性 |
清晰意味着工作成果易读、易理解,开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。 |
安全性 |
安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。一般地,如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好处,那么这样的系统就可以认为是安全的。 |
可扩展性 |
可扩展性反映了软件适应“变化”的能力。在软件开发过程中,“变化”是司空见惯的事情,如需求、设计的变化,算法的改进、程序的变化等。可扩展性是系统设计阶段重点考虑的质量属性。 |
兼容性 |
兼容性是指两个或两个以上的软件相互交换信息的能力。兼容性的商业规则是:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将被瓜分。 |
可移植性 |
软件的可移植性指的是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译器)的能力,主要体现为代码的可移植性。 |
表1 常见质量属性的描述
而在传统的软件工程中,由于没有完全吸收CMMI和ISO9000的质量管理思想,质量属性的定义还是过于抽象,因而对软件质量的定义是较模糊。
软件企业一般从四个方面来改进软件质量:
(1) 从编程语言上实现突破。已经从机器语言、汇编语言、面向过程的语言、面向数据的语言,发展到面向对象、面向构架的语言。
(2) 从工具上实现突破。这些工具有:OracleDesigner、PowerDesigner、Erwin、Rose、San Francisco。
(3) 从软件过程管理上实现突破。如CMM、CMMI、ISO9000、六西格玛、微软企业文化、IBM企业文化。
(4) 从测试与纠错上实现突破。先后出现了各种测试方法、工具和纠错手段。
本文仅从软件过程管理上讨论软件质量管理。
公司成立的专门的质控部门,对公司项目的全生命周期进行管理、监控。按照生命周期不同过程的特点及要求。制定了每个过程的作业规范、流程、检查内容。并结合公司产品的优势,在公司OA建立工作流程进行约束。对生产过程的每一个环节进行监督,及时发现问题并总结改进。
2.1.1 完善的市场调研及合同评审体系,规范的项目启动流程
公司制定了标准的项目启动过程,对市场调研及合同评审纳入作业规范。并规定市场调研及合同评审记录以文档形式输出。千度公司项目启动标准作业流程如下:
1. 进行市场调研,建立项目
2. 项目启动文档移交
3. 选择合适的软件开发生命周期
4. 确认项目利益相关人、项目资源及关键的依赖关系
5. 对项目进行可行性分析、初始估算,并形成项目可行性分析报告
6. 准备项目任务书
7. 与客户召开项目启动会,对合同进行详细评审,并完成评审记录。双方签字。
8. 合同签订
9. 召开公司内部项目启动会议
项目启动过程中,公司内部会积极配合,并按规范进行内部的项目启动流程,以最快的速度了解项目、进行资源分配并启动项目,为合同的签订提供估算依据及参考:
项目启动过程中,规定了相关人员的职责:
角色 |
职责 |
市场人员 |
确定目标项目 联系客户、了解客户需求 进行项目可行性分析 编写项目任务书 |
候选项目经理 |
了解项目初始需求 进行项目可行性分析 项目初步估算 参与编写项目任务书 |
开发部门经理 |
指定候选项目经理 参与项目立项评审 |
总经理 |
立项审批 |
PPQA |
评审/审核项目启动过程和相关工作产品 参与项目立项评审 |
CM |
把项目启动过程的工作产品纳入配置管理 |
公司对项目生命周期活动有标准的过程剪裁,定义了项目生命周期中的所有过程。尤其是项目计划阶段,对于每一个活动都进行了详细的规定。并对项目计划过程进行了规范。
1. 有标准的项目计划过程
2. 有详细而有效的检查规则
3. 项目资源分配合理
4. 项目计划输出文档规范
5. 项目计划评审
1.1.1.2 遵照规范的工作流程执行需求、设计及开发,并由专门人员负责变更管理及控制
为保证项目开发的顺利进行,在需求开发与管理、分析与设计过程投入充分的时间及人力。
1.1.1.3 按照规定要求进行设计评审、验证和确认,确保产品符合规定的要求
项目生产过程,组织制定了五大评审的规范及作业流程。
? 技术评审指南
公司根据技术评审的特点,在每个项目重要阶段结束前,安排评审。并由专门的技术评审操作指南及工作规范:《KD-ENG-VER-G01技术评审操作指南.doc》、《技术评审会议规范(公司).doc》。
? 技术评审过程
? 技术评审跟踪及解决
技术评审形成评审报告:《KD-ENG-VER-T03技术评审报告.xls》。有质量控制人员跟踪检查,直至问题解决。并对评审内容进行分析,形成过程改进方案,为提高工作效率提供素材。
1.1.1.1 做好新品投产前生产技术准备和过程控制策划,提供必备的条件,确保新品符合设计要求
公司为确保项目的顺利上线,对项目的上线进行了规范及控制。并形成了规范的作业流程:
? 项目发布前控制
? 实施人员
? 现场测试
? 作业指导
? 公司回访
公司为保证产品按时按质交付,成立了专门的质量控制部门及测试部门。
1. 质量控制部门:
? 工作指南
《KD-SPT-PPQA-G01质量保证指南.doc》、《KD-SPT-MA-G01度量指南.doc》、《KD-SPT-DAR-G01DAR指南.doc》、《KD-SPT-CM-G01配置管理指南.doc》
? 项目监控
根据每个项目的项目计划,制定专门的质量保证计划。从技术评审、项目监控、项目风险、配置管理、变更管理、度量与分析、决策分析、质量保证八个方面进行监督控制。
? 过程改进
建立并维护了一套有用的组织过程资产,将公司的质量改进过程本身置于良好的过程管理体系内,保证整个过程在PCDA圈中不断良好循环,高效高质地达成过程改进目标。
2. 测试部门
? 部门组成
测试部门人员配备齐全,有专业及资深的测试工程师。
包括:测试经理、测试主管、测试设计人员/资深测试工程师、性能测试工程师、自动化测试工程师、高级测试工程师、中级测试工程师、初级测试工程师等多个岗位。
测试部门经过以下三种测试:
1) 单元测试
2) 集成测试
3) 系统测试
根据测试结果,有测试部门统计,提交测试报告。
? 交付的控制
根据测试部门测试结果及质控部门风险跟踪监控,提交测试报告及风险跟踪表。如果测试报告不通过,产品不得发布。如果存在严重未关闭的风险,产品不得发布。
? 交付后的活动
项目交付后,一般会为客户提供半年到一年的维护期。期间客户提出的问题及变更,项目组会在尽快时间进行解决。客户可登陆在线运维系统提交问题。整个问题会有规范的响应流程。
交付后的质量跟踪,如图:
千度科技公司在质量管理的上严格按照CMMI4级标准和ISO9000要求,注重研发过程标准化及过程改进;在人员管理、持续改进、质量管理体系建设上也非常重视,形成了一系列创新的方式方法,在具体实践中得到良好的应用。
【1】 Willianm E. Lewis .Software Testing and Continuous Quality Improvement Second Edition
【2】 南京千度软件科技有限公司自我评价报告
【3】 南京千度软件科技有限公司质量手册V2.0
【4】 李帜、林立新、曹亚波 软件工程项目管理:功能点分析方法于实践【M】清华大学出版社 2005
【5】 于波、姜艳 软件质量管理实践【M】电子工业出版社 2008