米尔斯开创“净室软件工程”的历史贡献研究
发布时间:2021-01-29 04:32
从1968年,北大西洋公约组织首次公开提出术语“软件工程”至今,计算机界对“软件工程”的研究和实践已经经历了52年。这期间,出现了多种软件开发技术、软件开发过程模型和软件项目管理技术,也出现了很多为“软件工程”的发展做出突出贡献的人物。“净室软件工程”形成于上世纪80年代,是一种应用数学和统计学以经济的方式生产高质量软件的工程技术,它将缺陷预防放在了绝对重要的首位,而不像传统开发那样开发之后再排除错误。迄今为止,软件开发方法中有两种方法可以把软件做到最好,趋近于零缺陷。第一种是形式化方法,第二种是净室软件工程方法。美国IBM公司的米尔斯(Harlan D.Mills)博士在其同事的协助下,从1970年至1990年的20年间奠定了净室软件工程的理论基础,开发了其三大关键技术,也因此被称为净室软件工程创始人。此后几十年的软件实践也证明了净室方法的可靠与强大。本文通过分析软件工程和相关软件技术历史文献资料,展示了净室软件工程形成的历史环境;通过收集、整理、分析米尔斯的论文著作和其他相关文献资料,梳理了净室方法的形成历史,通过具体文献资料详细展现了米尔斯的贡献,探索了其思想(观点)的变化。全文...
【文章来源】:内蒙古师范大学内蒙古自治区
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
米尔斯(HarlanD.Mills)
第2章米尔斯与净室软件工程出了更全面的软件工程定义:“软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.研究1中提到的方法。”软件工程是一种层次化的技术。它分为4层,最底层是“质量”,之上是“过程”,再之上是“方法”,最上面是“工具”,如图2.3所示。软件工程与其他工程方法相同,也是建立在质量承诺的基础之上,就像Pressman所说:“支持软件工程的根基在于质量关注点[20]”。也正是为了追求质量,人们不断地改进过程,创造更有效的软件工程的方法。图2.3软件工程层次示意图2.2.2净室软件工程净室软件工程是一种应用数学和统计学以经济的方式生产高质量软件的工程技术。“净室”这个词来源于半导体工业的生产硬件的净室。[21]半导体工业的净室在生产产品的过程中,将预防缺陷产生作为最重要的事情,而不是之后排除故障。使用“净室”一词命名软件工程技术,显示了净室软件工程也将缺陷预防放在绝对重要的首位,正如其创始人米尔斯与其IBM同事在1987年发表的论文“净室软件工程”(CleanroomSoftwareEngineering)中所述“净室软件过程就像净室硬件生产那样,首要考虑的是缺陷预防,而不是考虑开发之后排除错误”[22]。重预防轻排除思想的根源是排除错误会耗费大量的人力和时间,导致直接成本和间接成本大幅度提高,而且如果错误是在软件交付之后发现的,对于大型关键软机械工业出版社,2011:8.[20][美]PressmanRS著,郑人杰等译.软件工程实践者的研究方法(原书第7版)[M].北京:机械工业出版社,2011:9.[21][美]ProwellSJ等著,贲可荣等译.净室软件工程:技术与过程[M].北京:电子工业出版社,2001:2.[22]MillsHD,DyerM,LingerRC.CleanroomSoftwareEngineering
内蒙古师范大学硕士学位论文图3.1“将成员添加到库”的扩展(图片来源:TopdownProgramminginLargeSystems[54])该文将功能规格与数学函数联系起来,从而将数学思想和数学方法引入到软件开发中。两年后,1972年,米尔斯通过描述、证明和整合结构定理(StructureTheorem)、正确性定理(CorrectnessTheorem)、扩展定理(ExpansionTheorem)和自顶向下推论(TopDownCorollary)等四个数学成果,奠定了结构化编程思想的数学基础[55]。他给出这些数学基础的原因是希望通过创建技术标准将结构化编程方法作为让所有程序员遵循的基本原则,而文中给出的数学基础可以确保技术标准的合理和实用。他相信通过结构化编程可以大幅度提高软件生产率。米尔斯还提出要在程序文档中记录扩展过程的正确性证明[56]。米尔斯在1975年的“计算机程序设计新数学”(NewMathofComputer[54]MillsHD.TopdownProgramminginLargeSystems[J].DebuggingTechniquesinLargeSystems,1971.[55]MillsHD.SoftwareProductivity[C].NewYork:DorsetHousePublishing,1988:115.[56]MillsHD.SoftwareProductivity[C].NewYork:DorsetHousePublishing,1988:115.30
本文编号:3006277
【文章来源】:内蒙古师范大学内蒙古自治区
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
米尔斯(HarlanD.Mills)
第2章米尔斯与净室软件工程出了更全面的软件工程定义:“软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.研究1中提到的方法。”软件工程是一种层次化的技术。它分为4层,最底层是“质量”,之上是“过程”,再之上是“方法”,最上面是“工具”,如图2.3所示。软件工程与其他工程方法相同,也是建立在质量承诺的基础之上,就像Pressman所说:“支持软件工程的根基在于质量关注点[20]”。也正是为了追求质量,人们不断地改进过程,创造更有效的软件工程的方法。图2.3软件工程层次示意图2.2.2净室软件工程净室软件工程是一种应用数学和统计学以经济的方式生产高质量软件的工程技术。“净室”这个词来源于半导体工业的生产硬件的净室。[21]半导体工业的净室在生产产品的过程中,将预防缺陷产生作为最重要的事情,而不是之后排除故障。使用“净室”一词命名软件工程技术,显示了净室软件工程也将缺陷预防放在绝对重要的首位,正如其创始人米尔斯与其IBM同事在1987年发表的论文“净室软件工程”(CleanroomSoftwareEngineering)中所述“净室软件过程就像净室硬件生产那样,首要考虑的是缺陷预防,而不是考虑开发之后排除错误”[22]。重预防轻排除思想的根源是排除错误会耗费大量的人力和时间,导致直接成本和间接成本大幅度提高,而且如果错误是在软件交付之后发现的,对于大型关键软机械工业出版社,2011:8.[20][美]PressmanRS著,郑人杰等译.软件工程实践者的研究方法(原书第7版)[M].北京:机械工业出版社,2011:9.[21][美]ProwellSJ等著,贲可荣等译.净室软件工程:技术与过程[M].北京:电子工业出版社,2001:2.[22]MillsHD,DyerM,LingerRC.CleanroomSoftwareEngineering
内蒙古师范大学硕士学位论文图3.1“将成员添加到库”的扩展(图片来源:TopdownProgramminginLargeSystems[54])该文将功能规格与数学函数联系起来,从而将数学思想和数学方法引入到软件开发中。两年后,1972年,米尔斯通过描述、证明和整合结构定理(StructureTheorem)、正确性定理(CorrectnessTheorem)、扩展定理(ExpansionTheorem)和自顶向下推论(TopDownCorollary)等四个数学成果,奠定了结构化编程思想的数学基础[55]。他给出这些数学基础的原因是希望通过创建技术标准将结构化编程方法作为让所有程序员遵循的基本原则,而文中给出的数学基础可以确保技术标准的合理和实用。他相信通过结构化编程可以大幅度提高软件生产率。米尔斯还提出要在程序文档中记录扩展过程的正确性证明[56]。米尔斯在1975年的“计算机程序设计新数学”(NewMathofComputer[54]MillsHD.TopdownProgramminginLargeSystems[J].DebuggingTechniquesinLargeSystems,1971.[55]MillsHD.SoftwareProductivity[C].NewYork:DorsetHousePublishing,1988:115.[56]MillsHD.SoftwareProductivity[C].NewYork:DorsetHousePublishing,1988:115.30
本文编号:3006277
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3006277.html