Since 1968,when the North Atlantic Treaty Organization first publicly proposed the term "Software Engineering",the research and practice of "Software Engineering" in the computer industry has gone through 52 years.During this period,a variety of software development technologies,software development process models,and software project management technologies have emerged,as well as many people who have made outstanding contributions to the development of "software engineering." "Cleanroom Software Engineering" was formed in the 1980 s.It is an engineering technology that uses mathematics and statistics to produce high-quality software in an economical manner.It places defect prevention in the first place,unlike traditional software development,bugs are eliminated after development.So far,there are two methods of software development that can make the software the best and approach zero defects.The first is the formal method,and the second is the cleanroom software engineering.With the assistance of his colleagues,Dr.Harlan D.Mills of IBM laid the theoretical foundation of cleanroom software engineering for 20 years from 1970 to 1990,and developed three key technologies.So he is called the founder of cleanroom software engineering.The software practice in the following decades has also proved the reliability and power of the cleanroom.This article shows the historical environment of cleanroom software engineering by analyzing historical documents of software engineering and related software technologies;by collecting,collating,and analyzing Mills' thesis works and other related documents,sorted out the history of cleanroom.Through detailed documentation,Mills' contribution was revealed in detail,and the changes in his ideas(viewpoints)were explored.The full text is divided into seven chapters.Chapter 1 is an introduction,mainly including research significance,status quo,goals,methods,content and innovations;Chapter 2 mainly includes Mills' life,papers and contributions,introduction of cleanroom software engineering and the historical process of its formation,And the historical development of software engineering and software technology in the 1960 s,1970s,and 1980s;Chapter 3 mainly includes the argument that Mills proposed the introduction of mathematics into software development to increase software productivity.And the process of establishing the mathematical basis of cleanroom through three articles,and the process of introducing program correctness into cleanroom;Chapter 4 first introduces the three life cycle models that were popular in the 1970 s and 1980 s,and then introduces the formation process and impact of the incremental development.Chapter 5 mainly introduces the specification,design,box structure,and the process of Mills proposing and perfecting the box structure method.Chapter 6 mainly introduces Mills 'contribution in cleanroom testing and software certification;Chapter 7 is the conclusion,including a summary of cleanroom's formation and Mills' work,a summary of Mills' contribution and impact,and the shortcomings and outlook of this research.This article believes that cleanroom was formed between 20 years from 1970 to 1990.Its mathematical theoretical foundation was formed between 1970 and 1975;the development process of its incremental development technology was: proposed in 1970,after continuous development,and finally matured in 1986;its box structure method was developed in 1986,this method replaces the application of the mathematical function theory proposed in 1979 in software development.Mills perfected the method in 1988;the idea of statistical testing and software certification technology also appeared in 1970,but it was not developed until 1983.For cleanroom,Mills has made tremendous contributions through a lot of work in nearly 20 years.His contributions include: establishing the mathematical basis of cleanroom,proposing incremental development technology under statistical process control,and proposing specifications,design and verification methods based on function theory,as well as work in statistical testing and software certification. |