净室软件工程及发展
未经允许,严禁转载本栏目内容
本文经许可转载自软件工程专家网www.21cmm.com,
未经CSDN许可,请勿随便转载,谢谢合作
[url=http://www.21cmm.com/prelogin.asp?page=/bbs/index.asp?Type=D][/url]
净室是一种以合理的成本开发高质量软件的基于理论、面向工作组的方法。净室是基于理论的,因为坚实的理论基础是任何工程学科所不可缺少的。再好的管理也代替不了理论基础。净室是面向工作组的,因为软件是由人开发出来的,并且理论必须简化到实际应用才能引导人的创造力和协作精神。净室是针对经济实用软件的生产的,因为在现实生活中,业务和资源的限制必须在软件工程中予以满足。最后,净室是针对高质量软件的生产的,因为高质量改进管理,降低风险及成本,满足用户需求,提供竞争优势。
净室理论基础建立于20世纪70年代末80年代初,资深数学家和IBM客座科学家Harlan Mills阐述了将数学、统计学及工程学上的基本概念应用到软件的设想。受Edsger Dijkstra关于结构化编程、Nicholas Wirth关于逐步求精、David Parnas关于模块化设计的影响,Mills为软件的工程方法奠定了科学基础。
两大基本观点促进了Mills的工作:首先,程序是数学函数规则,其次,潜在的程序执行是无穷的,质量认证必须进行统计采样。第一个观点使所有函数理论向软件开发敞开大门,导致以下技术的产生:盒式结构规范及设计、函数理论正确性检验及增量开发,第二个观点使所有统计理论在软件测试方面得到应用,导致了统计使用测试和质量认证。
Mills的观点在其与同仁A1an Currit,Michael Dyer,Alan Hevner,Richard Linger,Bernard Witt及IBM公司联邦系统部的其他同事的合作中得到了修改和演示。1979年由Addison—Wesley出版的《结构化编程:理论与实践》(作者:Linger,Mills和Witt)介绍了软件规范、设计、认证及再工程中的函数理论方法。《信息系统分析和设计原理》(作者:Mills,Linger,Hevner,Academic出版公司,1986)介绍了系统规范、设计和认证中的盒式结构方法,同时介绍了项目管理的增量开发。1987年,净室将这些思想融合在一起。“净室”一词借自半导体业,强调“防患胜于除患”的思想。《净室软件工程》(作者:Mills,Dyer和Linger)刊登于《IEEE软件》1987晰年5月刊上。
第一项净室软件项目由IBM的Richard Linger于20世纪80年代中期负责实施。COBOL结构化设施项目开发出一项商业软件再工程产品,该产品显示出了卓越的质量水平及用户使用可靠性,净室方法得到了初步确认。
1990年,Richard Linger创建了IBM净室软件技术中心,在此,净室方法、自动化及技术改变得到进一步改进。20世纪90年代初,IBM生产出运用净室方法开发的海量存储控制单元适配器,售出了数千单元,直至1997年产品超过使用寿命后,仍未收到任何反映净室微码现场故障的报告。这项开发由Mike Brewer领导,成员有Paul Fisher,Dave Fuhrer,Karl Nielson及其他一些工作组成员。认证测试由Joe Ryan和Mike Houghtaling领导。如今,IBM公司存储系统部的测试实验室无可争议地成为统计使用测试方法的全球巨擎。
从20世纪80年代末到90年代初,享有盛名的国家宇航局(NASA)哥达德飞行控制中心(GSFC)软件工程实验室(SEL)在Vic Basili,Scott Green,Rose Pajerski,Jon Valett等人的领导下进行了一系列净室试验。这些试验被认为是迄今为止软件工程领域进行的一次最完整的研究。4个规模依次扩大的地面控制软件系统按净室工程方法开发出来,结果表明,与NASA GSFC已足以让人佩服的底线相比,质量和生产力还有一致的提高。
20世纪80年代中期,在美国国防部的ARPA STARS项目(自适应的可靠系统软件技术)的形成期,STARS领导层选取净室作为开发和商业化的核心技术。领导层包括Dave Ceely,Dick Drake,Bill Ett,Joe,Greene,John Foreman,Jim Moore等。Mills博士和Arnie Beckhardt为推动净室技术而建立的软件工程技术公司(SET)被选来推动净室技术的商业化,在SIldzS的支持下,SET在净室的手段和工具方面取得了显著进展。
与此同时,Mills博士正就使用净室建立一家名为Q—Labs的公司而同欧洲的I.M.Ericsson AB进行商谈,为软件工程新技术走出实验室,向Ericsson(爱立信,译者注)进行转让。自两家公司成立之初,Q-Labs和SET就是商业伙伴,以后两家公司于1998年合并为Q—Labs公司。
20世纪90年代初,美国陆军Picatinny Arsenal执行了一个净室项目,并在这个项目中获得了20倍于引进净室技术所用的投资回报。1996年国防部软件数据与分析中心在其所作的软件方法比较分析中,报告净室具有真实的价值和质量优势。其他留有软件生产和质量方面历史数据的机构也用净室进行了大型项目的研发,它们公开发表了其结果。净室实践明显改进了IBM、Ericsson、NASA、DoD及许多其他机构的软件项目产出。净室的数据表明而且将继续表明,采用净室学科有可能使软件成组性能得到很大的改善。
Carnegie Mellon大学软件工程研究所(SEI)实际上已成为改进软件工程实践方面的领头羊。SEI的软件能力成熟度模型(CMM)成为一项已被认可并广泛用于改善软件工程实践的管理模型。1996年SEI完成了一个项目,该项目定义了净室参考模型并将净室的工程技术映射到CMM的管理过程中。这项工作的主要结论是净室与CMM是兼容的、相互支持的。该工作在1996年2份SEI技术报告中进行推广:净室软件工程参考模型(Linger,Trammell,1996)和软件能力成熟度模型(CMM)的净室软件工程实践(Linger,Paulk,Trammell,1999)。经Carnegie Mellon大学许可,本书将净室软件工程参考模型也纳入其中。
净室技术一直由Mills及其在全球各大学和工业界的同仁进行讲授,他们是Vic Basili,A1an Hevner,Richard Linger,Jesse PboIe,Dieter Rombach,Shirley Becker,Richard Cobb, Michael Deck,Chuck Engle,Philip Housler,Ara Kouchakdjian,John Madin,Dave Pearson,Mark Pleszkoch,Stacy Prowell,Steve Rosen,Kirk Sayre, A1an Spangler,Carmen Trammell,Gwen Walton和James Whittaker。另外,还有很多人通过大量实地应用而推进净室实践,包括Mike Brewer,John Gibson, Mike Houghtaling,David Kelly,Jenny Mordes,Rob Oshana,Jason Selvidge,Wayne Sherer和Tom Swain。他们每个人都为净室成为真正的软件工程学科做出了各自的贡献。
一项工程的发展是以其科学理论为基础的,实践中的改进从遵循源自实践的第一条原理开始并沿着科学的轨道向前发展。净室实践的改进和进展正是按照这种模式进行并将继续进行下去。
净室规范方法的精化的研究主流已经形成并在本书中予以说明。Mills使用的函数理论,激发了David Parnas在序列(跟踪)分析和域划分方面的工作,这又激发了Hailong Mao在典型序列历史方面的研究,以上三者为本书中提到的Stacy Prowell和Jesse Poore基于序列规范的定义打下了基础。
另一项由Gwen Walton和Jesse Poore所从事的独立的研究,将基于Markov链使用模型应用到了运筹学的优化方法当中。他们的研究将基于约束的方法应用到使用建模中,该研究有望加强净室统计测试实践的控制,提高其价值。
其他在决策理论、先进统计设计、建模与仿真等有关理论和工程实践领域内开展的工作正在取得进展,净室软件工程也一定会随着得到进一步的改进。