网站大量收购独家精品文档,联系QQ:2885784924

过程改进方法与践案例.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
过程改进方法与践案例

“二十多年来,并未实现用新的软件方法和技术解决软件产业化和软件质量方面问题的承诺,工业界和政府组织认识到根本的问题是软件开发过程管理上的不足。DoD, Report of the Defense Science Board Task Force on Military Software, September 1987 第 1 章 绪 论 本章主要探讨了软件开发过程、软件质量问题、传统工业的质量控制和过程改进等。 1.1 软件生产过程的变迁 1945年,第一台数字计算机ENIAC诞生。那时,科学家们使用机器语言进行编程。从指令规模上看,多则几千条的机器指令,就已经成为一个大的程序了。从人力规模上看,两三个科学家能一起编写一个大的机器指令程序就很了不起了。因此,那个时候的程序开发工作更像是一种“艺术”。 随着计算机技术的发展,产生了专业的分工。需要专业的编程人员担任程序员的角色。汇编(Assemble)语言的诞生,使得专业的程序员避免了使用二进制指令的编码。汇编语言是最早将各个程序模块进行组装(Assembling)的语言。采用汇编语言进行开发时,一个项目规模可以多达上万行指令,人力资源可以多达几十个人月,开发时间也可以大大缩短。并且人们能够对汇编语言进行代码审查,以保证代码的质量。 上世纪50~60年代,高级语言开始出现。使用高级语言进行程序开发时,参加项目的可以多达上百人,程序的规模可以达几万到几十万行,代码的审查和测试也变得相对简单。 随着半导体工业的发展,以及计算机体系结构和设计技术的发展,计算机的硬件经历了真空管、晶体管、小规模集成电路、中规模集成电路、大规模集成电路发展的时代。其发展的速度基本上服从摩尔定律。 摩尔定律(Moore’s Law): Gordon Moore是IntelMoore预言,半导体芯片的集成度将每两年翻一番,此后芯片的集成度实际是每十八个月就翻一番,这种发展速率被公认为定律。 —— /Moore%27s_Law 随着计算机的普及,越来越多的地方需要计算机硬件以及驱动计算机硬件的程序和应用程序。软件(最初的定义是程序与相关文档的集合)成为计算机应用必不可少的产品。市场对软件产品的要求是:在程序规模不断增加、时间有限、人力资源有限、经费有限的前提下,如何获得高质量的软件产品。这个问题不仅仅是计算机科学家们面临解决的问题,更是涉及管理等学科的问题。 例如,如果一个软件产品需要一万人年的工作量才能完成。那么,用一个人做一万年就是没有意义的事情。对投资者来讲,最理想的状态是用一万人做一年。只有这样,软件才有产业化的意义。 上世纪60年代,人们认识到软件也应当成为一种工业,并提出了通过“工程化”的方法发展软件的产业,以便能够解决软件质量和生产效率低下的困境。1968年的NATO会议正式将“软件工程”列为专门的议题。 “软件工程”的诞生,再次表明了软件的生产应当服从工业产品的生产方式,通过采用像其他工程(例如,桥梁、机械工程)一样的制造和生产方式来开发软件产品。 然而,软件与硬件(包括电子线路、机械装置等)在故障的表现形式和生产过程上有根本的不同。虽然软件工程能从大的概念上学习硬件工程,但是,在具体的实现方式上却有很大的差异。 1.2 硬件与软件的故障特性对比 硬件是现实中存在的物理体。硬件的工作状态受环境(例如温度、湿度、压力等)的影响。硬件的故障服从于磨合期、工作期和老化期三个阶段,如图1-1 a所示。 而软件是一个逻辑体。软件是开发出来的(编码阶段是程序开发的重要阶段之一),而不是传统意义上的工业制造。 作为一个逻辑体,软件的测试总是不充分的。在软件的使用过程中,会不断地发现软件本身的故障,并经过不断修改后,形成稳定运行的软件。也就是说,理论上,软件没有“老化(wear out)”的概念。软件被用得越多,并不断地发现和排除故障,软件的质量就越可靠。 实际上,软件也会“老化”。软件的“老化”往往是指软件不能满足或适应人们的需求。或者说,人们对需求的增加和更改是软件“老化”的根本原因。对软件的需求每进行一次扩充和修改,相应的就会引入新的故障。而新的故障会成为影响软件质量的重要因素。因此,软件的故障曲线服从图1-1 b所示的规律。 从系统的连续性和离散性来看,硬件系统是一个连续的系统,或者是时间离散的,时间离散可以归结为连续系统的一种特例。对于一个连续系统来讲,系统的输出与输入之间所形成的函数是一个连续函数,其一阶导数是存在的,或在特定的范围内是存在的。因此,其行为符合小线性的规律,其故障的发生也会有连贯性。所以,硬件的故障预测相对是有规律的。 而软件是一个不连续(离散)的系统。软件作为一个逻辑体系,是由各种状态组成的。从时间的观点看,软件并不具备连续性(注意:时间离散系统是连续系统的特殊形式)。

文档评论(0)

kpky39 + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档