内涵。他把对软件的理解和解释放在数学基础之上,把软件程序理解为数学函数,把软件测试视做统计试验,这些思想对软件开发、评估和验证产生了深远的影响。
米尔斯生于1919年,1952年在艾奥瓦州立大学取得数学博士学位。之后,曾在产业界(通用电气公司,RCA,IBM)、教育界(艾奥瓦州立大学,普林斯顿大学,纽约大学,约翰·霍普金斯大学,马里兰大学,佛罗里达大学和佛罗里达理工学院)工作过,也曾在政府部门和军事部门工作(1974—1977年任美国科学基金会计算机科学部软件方法学处的处长,1986年任美国空军科学顾问委员会计算机科学小组的组长)。在NSF工作期间,1975年他发起并组织了美国全国第一届软件工程会议,并任大会主席。1981年,他是IEEE秋季计算机会议(1EEE Fall Compcon)的主席。从1975~1981年,他是IEEE软件工程汇刊(1EEE Transactions on Software Engineering)的主编。那么,米尔斯在软件工程方面有些什么创新呢?我们举几个例子。
1968年,IBM公司同纽约时报(New York Times)签订了一个协议,开发纽约时报信息数据库(The New York Times lnformation Bank)。这个系统既可供报社内部人员使用,也可作为商品提供给外界用户,要求以交互方式工作。我们知道,作为世界上最大的报纸之一,纽约时报的信息量很大,覆盖的面很广,系统十分庞大而复杂。怎样组织开发以保证按期、高质量地完成任务呢?米尔斯经过认真总结过去项目开发中的经验,提出了组织开发队伍的一种新方法,叫做“首席程序员编组”(Chief Programmer Team),这种方法把结构化和自顶向下的程序设计,同专门功能的程序设计组织结合起来,以高效地生产高质量的软件系统。
所谓“首席程序员编组”是以一个首席程序员(chief programmer)、一个后援程序员(backup programmer)和一个程序设计库管理员(pro—gramming librarian)作为核心。首席程序员是这个编组的技术经理,对软件系统设计与开发的所有方面负责。后援程序员是首席程序员的所谓"alterego"(即“另一个我”或“知己”),一方面负责检查、协调,另一方面在首席程序员因病、因事不在时代替首席程序员。程序设计库管理员为程序设计提供秘书性质的支持和管理文档、程序设计中形成的一切材料。系统设计、软件体系结构、高层设计工作由这个核心组织完成以后,再开发出系统运行总框架所需的代码。然后再加入其他程序员、测试员、技术文档编写人员等各种专家以完成整个系统的开发、测试和文档。所有工作被看做是整个组织共同负担和公共的,而不是参与者私人的活动。在设计、编码和文档编制的每一个步骤上,都要进行全面“走查”(Walkthrough)。 采用这一组织方式的效果是明显的:纽约时报信息系统于1971年按期交付使用。这个源程序包含83 000多行的系统在5个星期的验收测试中总共才发现了21个错误,在第一年的使用中总共发现了25个错误,而其中只有一个错误会导致运行中止。整个项目的生产率是35行/每人每天,在软件开发阶段是65行/每人每天。这样的软件生产率和软件质量在当时是很了不起的。这个方法后来在IBM公司内外都曾得到推广使用。本新闻共2页,当前在第1页 1 2
< 1 > < 2 >
|