首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

JAVA高级编程--软件项目质量管理随想

http://www.oklinux.cn  2008-01-20  来源: 赛迪网 chenb  会员收藏  游客收藏  【 】 

软件项目质量治理随想
中国软件评测中心 陈 兵
早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏治理。其结果就是软件功能薄弱、漏洞众多等问题频频出现,后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中碰到的问题。但是直至80年代还是没有提出一套治理软件开发的通用原则,软件治理不善、质量低下的问题依旧在大范围内存在。随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件质量的重要性,因此治理学和质量治理的思想逐渐融入软件开发过程中

序曲:软件质量的困境
2005年11月1日,日本东京证券交易所股票交易系统发生大规模系统故障,导致所有股票交易全面告停,短短2个小时造成了上千亿元的损失。经查明,故障的“元凶”是今年10月为增强系统处理能力而更新的交易程序存在缺陷。
耗费了巨额投入的信息化系统,在预想中本应是提高企业工作效率、为企业创造价值的“法宝”,但为什么转瞬就变成了灾难之源?一切症结都指向了根本问题?软件质量。假如软件质量不过关,后果将不堪想象!!!因此在我们对许多软件开发者(非凡是产品提供者)提供的保证进行考察时可以发现一个相似的保证模式:
有限保证
XXXX公司不为任何特定目的提供有关YYYY产品的性能、可靠性或适用性的的保证。XXXX公司不保证该软件及其文档满足你的需求。虽然XXXX公司已对该软件进行了彻底的测试,并评审了文档,但XXXX公司不提供任何有关软件及其文档无错的保证。XXXX公司不对任何意外的、直接的损坏、间接的或随后的损坏、由损伤数据带来的损坏、恢复费用、利润存食和第三方要求承担责任。软件“按现状”登记许可。购买人承担YYYY程序的应用、质量和性能的完全风险。
若在文档或含有YYYY的光盘上发现物理缺陷,XXXX公司将在购买后的180天之内无偿更换该文档或CD,只需提供购买的证实。
在这里,开发者都不声明软件没有缺陷,多数计算机硬件制造商惯常也这样声明。这种拒绝实际上反映了软件质量同其他制造产品(如汽车、洗衣机或录音机)的基本本质不同。这些不同可分类如下:
(1) 产品的复杂性:产品复杂性能够用产品许可的操作方式的数目来度量。工业产品,即便是高级的机器,也不答应由其不同的机器设置组合建立的几千钟以上的操作方式。看一下典型的软件包,人们可以发现上百万的软件操作可能性。确保正确确定大量的操作可能性,对软件产业来说是一个重大挑战。
(2) 产品的可见性:工业产品是看的见的,而软件产品不可见。工业产品中的大多数缺陷可在制造过程中检测出来。此外,通常工业产品中部件的缺失很轻易看到(想象一下你的新车缺了一扇门)。然而,软件产品(不管是存放在光盘上还是在硬盘上)的缺陷是看不见的,软件包中的部件可能从一开始就缺失了。
(3) 产品开发与生产过程:工业产品有可能检测到缺陷的阶段是:产品研发、指定产品计划、制造。同工业产品相比,软件产品不能在生产过程的所有三个检测缺陷。能够检测缺陷的唯一阶段是开发阶段。

存在解决之道?
目前,我国软件业正处于高速发展的时期,许多企业已经从艰苦的创业阶段步入到快速成长期。伴随着这一进程,“成长的烦恼”开始困扰着企业。一个个曾一度被放置一边还没来得及解决的“小问题”,已经逐渐演变成妨碍企业进一步发展的“绊脚石”。我国已经入世多年,信息产业竞争更加严重和激烈,很多企业的高层领导在这种压力下,已经感到企业治理问题业已成为影响企业发展的要害因素,但是由于外部其它因素的影响,又不可能全身心投入到企业质量治理体系的建立和完善工作中去。怎样才能切实有效地解决这些问题,促进产品质量上台阶,成为目前很多软件企业关注的焦点。
企业希望寻求一种简单易行,且一朝投入就可以持之以恒的方式来进行企业的过程改进和质量保证工作。存在这样的方法吗?
曾经有企业熟悉到"质量"对客户以及对公司的盈利水平的意义,同时专家告诉他们,没有SPC怎么能够叫做现代质量治理呢?他们决定用世界上最先进的软件度量方式来"做"质量。他的确感到自得,因为他们用昂贵的投资博得了客户的青睐与订单;可没有多久,他们的笑脸消失了,因为几个月过后,积累了大量的数据,可没有人对它们感爱好;效果没有想象的那么好,没能使他们达到所想的"质量"优势。他们开始陷入困惑。
这时,ISO 9000风头渐起。他们又一次兴奋起来,决定与"国际接轨",并花高价让国外的认证公司来"保证"公司的质量。证书挂了起来,他们开始在广告中自得地宣称:我们是业内首家……,我们有了"国际质量"。但是,又没有过多久,他们开始沮丧地换掉了广告语,坐在窗前发呆:我不明白,为什么大家一下子都有了证书?具有国际认证就能够"保证"具有"国际质量"吗?ISO 9000的效果怎么又让我们失望了呢!!!
CMM的渐行渐近再次让他们看到了希望、在质量问题的汪洋大海中又有了救命的稻草…………。可最终的结果呢???
他们开始寻求各方面专家的咨询帮助。
专家说,SPC、Software Metrics、ISO 9000、CMM都是好东西,要害的是你的团队缺乏执行力。企业为什么普遍缺乏核心竞争力的原因是执行力太差。而造成执行力问题的三大原因(文化原因、制度原因和人员原因)中,文化原因是最要害的因素。这是因为:
1、中国是一个人治社会,我们讲究“用人不疑,疑人不用”,能人第一,制度第二,而现代企业制度讲究的是“用人要疑”,制度第一,能人第二。
2、中国是一种清淡文化,我们讲究“大道无术”,缺乏量化治理传统,而现代企业治理讲究“大道有术”?量化治理。
3、中国是一种面子文化,我们讲究“以情理服人”,情在前,理在后,而现代企业是一种利益文化,讲究“以理情服人”,理在前,情在后。
真是这样的吗???其实就此而言本无唯一正确答案,取决于看问题的角度。在我们强调要依据数据说话的时候,可以适当批判“大道无术”,这个时候我们必须大谈“大道有术”。但是我们要清楚地熟悉到,大道无术,这种说法非常中国化。老子的“大方无隅;大器晚(一作免,似更有道理)成;大音希声;大象无形”不必说了,大道无术的说法也有一种士先器识而后文艺,从心所欲不逾矩的味道。我们当然也记得巴金喜欢说的“最高的技巧是无技巧”。

共4页: 上一页 1 [2] [3] [4] 下一页

上一篇:进阶-Java中用动态代理类实现记忆功能   下一篇:J2SE综合--关于spring中的aop的解释


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·进阶-Java中用动态代理类实现记忆功能
·J2SE综合--关于spring中的aop的解释
·J2SE综合介绍:关于spring中的 aop 的解释
·Java多线程设计模式:wait/notify机制
·Java高级:深入浅析Java 类型提升的约定
·高级:Struts彻底实践中文问题的解决方法
·用JSTL标签访问list且判断list的选中项
·J2SE综合介绍:如何在Java中实现条件编译
·JSP/Servlet:tomcat深入内部结构描述
·java匿名内部类的一点讨论
·J2SE综合--讨论Vector遍历的通用实现
·ServletContext与ServletConfig的分析
·进阶-JBoss下的EJB3开发无状态会话Bean
·J2SE综合介绍:高手帮你全面理解初始化顺序
·提高写文件的性能的一个比较简单的方法
·J2SE综合:JAVA正则表达式4种常用功能
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java入门:状态对象--数据库的替代者
·Java语言怎样调用外部应用程序
·Java语言深入--关于Java语言的内存泄漏
·JSP/Servlet/JSF:Servlet/JSP配置详解
·进阶-怎样使用AJAX进行WEB应用程序开发
·基础:J2ME程序开发之新手入门九大要点
·Java入门--Java语言接口与继承的本质
·JAVA进阶--如何提升JSP应用程序的效率
·对Java中四种XML解析技术之不完全测试
·编写高级 JScript应用代码
·JSP/Servlet/JSF--对标签库的深入研究
·Java入门--关于字符串分割的两种方法
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·快速教您Apache Tomcat SSL的配置
·Java语言深入--java调用C/C 的过程
·用JSP JavaScript打造二级级联下拉菜单
·JAVA进阶--线程运行栈信息的获取讲解
·J2SE综合--JAVA实现把汉字转化成拼音
·使用WEBWORK实现文件上传方法实例详解
·一个非常有趣的使用spring框架AOP例子
·关于java中相对路径,绝对路径问题总结
·高级:lucene全文检索应用示例及代码简
·详细讲解Struts构架中action的跳转大全
·在Weblogic上配置JMS服务的方法
·Hibernate配置文件中的映射元素详解
·对Java中四种XML解析技术之不完全测试
·基于AJAX的动态树型结构的设计与实现
网摘收藏: