《新》第1章 软件工程.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 软件工程学概述 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.5 小结 迄今为止,计算机系统已经经历了4个不同的发展阶段。 引 言 科学家把软件开发和维护过程中遇到的一系列严重问题统称为“软件危机”。 60年代后期开始认真研究解决软件危机的方法,从而逐步形成计算机科学领域中的一门新兴学科——计算机软件工程。 1.1 软件危机 软件危机的表现 软件危机的原因 软件危机的结果 软件危机的历史表现: 计算机使用没有普及,只有少数专家或单位才有计算机,所以软件只是为少数专家某个具体问题而专门编写。 如解某一个微分方程;解某高阶行列式;或粒子物理中某原子或分子的分布计算。 特征:软件作坊。 规模小,同一个人或同一组人编写。 个体软件开发方法。 软件危机的典型表现: 对软件开发成本和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。案例1 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。统计数据 (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 软件危机典型表现案例1: 美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。...... 这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。 1979年,美国US Government Accounting Office对政府项目进行了调查 1.1.2 产生软件危机的原因 与软件本身的特点有关 软件缺乏“可见性”——管理和控制软件开发相当困难 规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。 与软件开发与维护的认识和观念不正确有关 忽视软件需求分析的重要性——许多软件开发工程失败的主要原因之一 认为软件开发就是写程序并设法使之运行,没有足够的文档,轻视软件维护。——软件产品=程序+文档+数据 软件开发与维护的方法不正确 对系统需求没有清楚和准确的认识就进入开发阶段 忽视对软件开发过程的管理 经验教训 对用户要求没有完整准确性的认识,匆忙着手编写程序是软件开发失败的最主要原因。 只有用户才真正了解他们自己的需要,但是许多用户在开始时并能准确具体地叙述他们的需要,软件开发人员需要做大量深入细致的调查工作,反复与用户交流信息,才能全面准确具体地了解用户的要求。对问题和目标的正确认识是解决任何问题的前提和出发点。 结论 软件开发不是某个程序员的个人的抽象思维过程或编程技巧。 软件开发应该是一种组织良好,管理严密,各类人员协同配合,共同完成的工程项目。 以工程的原理,原则和方法进行软件开发。 1.2 软件工程 1.2.1 软件工程的介绍 软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,结合管理技术和技术方法。 计算机科学、数学用于构造模型; 工程科学用制定规范,设计范型; 管理科学用于计划,质量,成本管理。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 软件工程是一门交叉学科 软件开发技术:软件开发方法学 软件开发过程 软件工具和软件工程环境 软件工程管理:软件管理学 软件经济学 软件心理学 软件工程所包含的内容不是一成不变的,随着人们对软件系统的研制开发和生产的理解。应用发展的眼光看待它。 1.2.2 软件工程的基本原理 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 软件开发的不同阶段进行修改需要付出的代价 3. 实行严格的产品控制---实行基准配置管理 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性 在软件开发的不同阶段进行修改需要

文档评论(0)

tianjiao123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档