软件工程(第4版)01第一章 节 :软件工程概述.pptVIP

  • 2
  • 0
  • 约5.13千字
  • 约 48页
  • 2018-05-29 发布于天津
  • 举报

软件工程(第4版)01第一章 节 :软件工程概述.ppt

软件工程(第4版)01第一章 节 :软件工程概述.ppt

吕云翔 Email: yxlu_2000@163.com 软件学院;人类社会已经跨入了21世纪,计算机系统已经渗入人类生活的各个领域,同时计算机软件已经发展成为当今世界最重要的技术领域。研究软件本身则产生了一门重要的学科就是软件工程。软件工程的研究领域包括软件的开发方法、软件的生命周期以及软件的工程实践等。;1.1 软件危机与软件工程的起源 1.2 软件工程 1.3 软件工程包含的领域 1.4 小结与习题;早期(20世纪60年代中期以前):通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无须预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。;第二代(20世纪60年代中期到70年代中期):在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人—机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。;软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的。实际上,几乎所有软件都不同程度地存在这些问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。;鉴于软件危机的长期性和症状不明显的特征,近年来有人建议把软件危机更名为“软件萧条(depression)”或“软件困扰(affliction)”。不过“软件危机”这个词强调了问题的严重性,而且也已为绝大多数软件工作者所熟悉,所以本书仍将沿用它。;1 对软件开发成本和进度的估计常常很不准确。 2 用户对“已完成的”软件系统不满意的现象经常发生。 3 软件产品的质量往往靠不住。 4 软件常常是不可维护的。 5 软件通常没有适当的文档资料。;6 软件成本在计算机系统总成本中所占的比例逐年上升。 7软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。 以上列举的仅仅是软件危机的一些明显的表现,与软件开发和维护有关的问题远远不止这些。;在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。 软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。;软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。 软件本身独有的特点确实给开发和维护带来一些客观困难,但是人们在开发和使用计算机系统的长期实践中,也确实积累和总结出了许多成功的经验。;1.技术措施 使用更好的软件开发技术、开发工具、开发工具。 2.组织管理措施 (1)创造良好的组织、严密的管理与协调工作的机制软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。;(2)摆脱软件危机的主要出路是,按工程化的原则和方法组织软件的开发工作。 (3)强调文档的重要性。 “口说无凭,立字为据! !”是解决软件危机的格言。 ;1.1 软件危机与软件工程的起源 1.2 软件工程 1.3 软件工程包含的领域 1.4 小结与习题;概括地说,软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它,这就是软件工程。;1. 1983年IEEE给软件工程下的定义是:“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是某种神秘的个人技巧。;2. Fairly认为:“软件工程学是为了在成本限额以内按时完成开发和修改软件产品所需要的系统生产和维护技术及管理学科。”这个定义明确指出了软件工程的目标是在成本限额内按时完成开发和修改软件的工作,同时也指出了软件工程包含技术和管理两方面的内容。;3. Fritz Bauer给出了下述定义:“软件工程是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用的完善的工程化原则。”这个定义不仅指出软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程化原则。;4. 1993年IEEE进一步给出

文档评论(0)

1亿VIP精品文档

相关文档