1 / 10
XX 公司计算机软件培训讲义
1、背景
20 世纪是一个革命化变革的世纪。机械化革命、电气化革命、信息化革命无论是
对社会还是对人类都起到了根本性的变化影响。特别是自动化生产的理念,对机械化革
命、电气化革命和信息化革命中的骨骼部分(硬件产品:例如计算机及其相关部件、通
信产品、存储介质等)都起到了突飞猛进的推动作用。但对于信息化革命中的神经或血
液部分的软件,如何将自动化生产的理念引入到其开发研制中来,是 20 世纪 60 年代以
来给人类留下的始终未解决好的一个重大课题。
20 世纪 80 年代初,国际著名的软件学家布鲁思曾经发表过一片著名的论文『没有
银弹』,在软件界引起了很大的震动。论文的中心散布了一种软件悲观论的思想,布鲁
思个人认为软件的自动化生产,由于受各种外界条件的制约,是几乎无法实现的。这种
悲观的事实虽彻底解决不了,但通过软件工程及其相关联的优秀的方法论,通过优秀的
人才是可以缓解的。
在未来的信息化革命中,起着神经或血液角色的软件作用越来越重要,据国际权威
调查机构的资料,工程费用上软硬的比例目前已达到了 6:4 的数值。由此可见软件工
程及其相关联的优秀的方法论、优秀的软件人才在信息化革命革命中的重要性。
2、软件工程
软件工程是一类工程。工程是将理论和知识应用于实践的科学。就软件工程而言,
它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。其中应用了计算机科学、
数学和管理科学。计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设
计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管理。
软件工程这一概念,主要是针对 20 世纪 60 年代“软件危机”而提出的。它首次出
现在 1968 年 NATO(北大西洋公约组织)会议上。自这一概念提出以来,围绕软件项
目,开展了有关开发模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型,
开发了一些结构化程序设计语言(例如 PASCAL 语言,ADA 语言)、结构化方法等。
并且围绕项目管理提出了费用估算、文档复审等方法和工具。综观 60 年代末至 80 年代
初,其主要特征是,前期着重研究系统实现技术,后期开始强调开发管理和软件质量。
70 年代初,自“软件工厂”这一概念提出以来,主要围绕软件过程以及软件复用,
开展了有关软件生产技术和软件生产管理的研究与实践。其主要成果有:提出了应用广
泛的面向对象语言以及相关的面向对象方法,大力开展了计算机辅助软件工程的研究与
实践。尤其是近几年来,针对软件复用及软件生产,软件构件技术以及软件质量控制技
术、质量保证技术得到了广泛的应用。目前各个软件企业都十分重视资质认证,并想通
过这些工作进行企业管理和技术的提升。软件工程所涉及的要素可概括如下: