首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> 桌面开发 >> 工程管理 >> 正文
安全组项目质量管理经验
来源:ChinaItLab 作者:佚名 时间:2007-4-7

  在软件产品的研发过程中,软件质量一直处于最为核心的地位。软件企业能否顺利发展需要多方面的努力,其中软件质量保障在其发展过程中占有非常重要的位置。对于一个软件项目而言,由于所呈现的大多是脑力劳动成果的形式,很大程度上取决于项目组成员的集体智慧、编码水平和群体贡献。所以从软件项目的开始到结束(发布)过程中的动态不确定因素很多,这必然极大地增加了项目质量控制的难度,使得在按时提交软件产品的前提下有效保障软件质量成为了一个比较棘手的问题。
 
  不同的项目组对质量保障问题的解决方法肯定不尽相同,下面我将我们安全小组的一些项目质量管理经验整理出来,其中一定有片面和不足之处,还请大家批评指正。
 
  第一点:重视项目启动前的规模估计为了按时提交软件产品,必然需要有一个切实可行的项目进度计划,在这个计划里还要能考虑到保障软件质量的工作量。而产生这个计划的基础就是对整个项目工作的规模估计。在我们组的软件规模估计中,是小组成员共同参加的。每个人都对即将开始的工作做出工作量估计,然后对大家的估计结果进行加权和平均,形成项目组的共同规模估计结果。这有助于小组对项目工作量和工作难度有共同的认识,并对维护软件质量的工作量也有相应的准备。一定程度上避免了由于项目进度计划不合理而可能造成的对软件产品质量上的影响。
 
  第二点:项目确定共同的编码基本要求软件的质量也就是代码的质量,对于提高代码的整体质量而言,开发人员遵循共同的基本编码规范是很有好处和必要的。我们安全组在平时的编码经验积累和参考了网上的技术文档基础上,提出了《安全组编程基本要求》。这个要求并不是面面俱到,但一定要对提高编码质量有实际的推动。为了增加灵活性,《要求》中还区别出了“必须遵守”和“推荐遵守”两种级别,供小组成员选择。
 
  这里列举几条编程要求如下:1.尽可能在定义变量的同时初始化该变量,指针必须在定义时初始化;2.使用显式数据类型转换,避免让编译器进行隐式数据类型转换;3.在函数体的“入口”处,必须对参数的有效性进行检查;4.指针定义时初始化为NULL;在使用内存之前检查指针是否为NULL;在释放内存前检查指针是否为NULL;释放完内存后,将指针赋值为NULL;5.使用“匈牙利”命名规则,模仿IBM代码的编程风格和注释风格;第三点:严格遵循公司的CMM过程管理这一点不用多说,引入CMM的过程管理经验是公司为各个项目组提供的极大帮助,为项目组及时预见和规避风险提供了有效的途径。通过CMM的各个里程碑检查,SQA人员的参与和监督,SCM人员的配置项统一管理,小组每周的周例会等等方法,为项目的顺利进行奠定了基础。而且在CMM严格的过程控制之下,通过对需求的明确定义,相应设计、测试阶段对需求的对应跟踪,对软件BUG的统一受控管理和跟踪等等,这些都为项目组软件产品的质量提供了有力的保障。
 
  第四点:重视测试活动并引入工具以提高测试能力大家都知道,测试活动是软件产品质量保障的最直接和最有效环节,按照测试所处研发层次的不同,又可以细分为:单元测试、集成测试和系统(总体)测试。另外在这种分法之外,还可根据测试的偏重点分为异常测试、压力测试、性能测试等。单从这么细致的测试划分就可以看出测试工作在软件生产过程中的无比重要性了。可以说测试能力的高低直接决定了最终软件产品质量的高低。
 
  在提高测试能力方面,我们组首先是做到让测试都处于方案和计划的控制之中,包括集成测试方案/计划、系统测试方案/计划等。测试过程的BUG也都纳入了CMM的BUG管理过程,进行了跟踪和监督,确保发现的BUG都得到有效的改进和管理。
 
  其次我们还引入了专门的测试工具来提高测试环节的能力和效率,比如:我们采用ParaSoft公司的C++ Test工具来进行严格的单元测试,自动对参数和指针进行有效性检查,并对设定的编码风格进行静态检查;采用Bounds Checker来进行内存泄漏检查;采用Iris来对网络上传递的数据包进行截获和分析,以检验程序数据传递的正确性等等。通过对这些测试工具的使用,很大程度上提高了我们组整体的测试能力,使测试中的深度和广度都有了定量的保障。

 

[1] [2] 下一页

【责编:Lili】
中国IT教育热线咨询
相关文章
并发工程原则应用到软件项目中
Visual Basic构建线程安全的Singleton…
走活项目管理这盘棋
软件项目管理中的风险管理研究
SCM项目背景与开发思路
怎样使用Eclipse平台调试您的软件项目
网站项目系统分析及软件建模
软件项目管理的质量保证
软件项目质量管理
如何利用PVCS进行项目文档管理
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·框架:J2EE WEB应用架构分析…03-13
·几种VC++数据库开发技术的相对比…03-13
·利用C#实现标注式消息提示窗口03-13
·用C#创建COM对象03-13
·Visual C#多线程参数传递浅析…03-13
·Visual C#多线程参数传递浅析…03-13
·基于HOOK和MMF的Win密码渗透技术11-15
·Visual C++设计超强仿QQ自动伸缩…11-15
·Java SE 6.0实现高质量桌面集成开…11-15
·史玉柱东山再起幕后高人11-15
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视…07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05