[软件工程第一讲软件工程学概论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[软件工程第一讲软件工程学概论

软件工程 第一章 概论 1.1 软件危机 软件危机介绍 产生危机的原因 消除危机的途径 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 1.1 软件危机 20世纪60年代中期软件需求急剧膨胀,软件维护工作耗费大量的资源 1968年北大西洋公约组织的计算机专家召开国际会议,讨论软件危机问题,首次提出软件工程概念 1.1.1 软件危机介绍 什么是软件危机? 在计算机软件的开发和维护过程中, 所遇到的一系列严重问题。 这些问题绝不仅仅是不能正常运行的软件才具有的, 实际上,几乎所有软件都不同程度地存在这些问题。 包含两方面的问题: 如何开发软件,以满足对软件日益增长的需求; 如何维护软件,数量不断膨胀。 软件危机表现 开发成本和进度难以估算和控制,大大超过预期 用户对已完成的软件不满意,需求分析不够充分 软件产品的质量难以保证 软件维护困难 难以改正错误 难以增加新功能 软件通常没有合适的文档资料 软件成本在计算机系统总成本中比例逐年上升 软件开发生产率提高的速度,跟不上计算机普及速度。 几个软件危机的案例 1.1.2 产生软件危机原因 两个主要原因: 与软件本身的特点有关, 和软件开发与维护的方法不正确有关。 1.1.3 消除软件危机的途径 消除“软件就是程序”的错误观念 软件=程序+文档+数据 软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。非个人英雄主义 使用实践中总结出来的成功的技术和方法 开发和使用更好的软件工具。 思考问题 只要是编程高手,不懂软件工程,也能编出很好的软件? 只要一套好的软件工程书籍,就可以解决软件开发过程的任何问题? 只要有最好的开发工具、就能做出优秀的软件? 软件开发进度慢于计划,增加程序员来解决? 软件运行较慢,换一台机器?换一种算法? 目录 1.1 软件危机 1.2 软件工程 1.2.1 软件工程定义 1.2.2 软件工程原理 1.2.3 软件工程方法学 1.3 软件生命周期 1.4 软件过程 软件工程的本质特性 软件工程关注于大型程序/系统的构造 软件工程的中心课题是控制复杂性 逻辑—文档 分而治之 可管理 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户 在软件工程领域中,是由具有一种文化背景的人,替具有另一种文化背景的人 软件 = 知识 + 程序 + 数据 + 文档 1.2.2软件工程的基本原理(I) Boehm于1983年提出: 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性 1.2.3 软件工程方法学 软件工程包括技术和管理两方面的内容 管理—— 对 人、财、物的合理使用和配置 技术—— 软件开发中采用的方法、过程、工具 软件工程方法学: 通常把在软件生命周期全过程中,使用的一整套技术方法的集合,称为方法学(Methodology),也称为范型(Paradigm)。 软件工程方法学3个要素 方法 完成软件开发的各项任务的技术方法, 回答“怎样做”的问题; 工具 为运用方法,而提供的自动的或半自动的 软件工程支撑环境; 过程 为了获得高质量的软件,所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件工程方法学思想 传统方法学 面向对象方法学。 目录 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.3.1 软件定义 1.3.2 软件开发 1.3.3 软件维护 1.4 软件过程 1.3 软件生命周期 目录 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 什么是软件过程 软件开发模型/过程模型/软件工程范型 瀑布、原型、增量、螺旋、喷泉 RUP XP MSF 1.4.3 增量模型 将软件的开发过程,分成若干个日程时间交错的线性序列,每个线性序列,产生软件的一个可发布的“增量”版本,后一个版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 强调每一个增量都发布一个可运行的产品 特别适用于: 需求经常变化的软件开发 市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发 能有计划地管理技术风险,如早期增量版本中,避免采用尚未成熟的技术 增量模型 螺旋模型 B.Boehm于1988年提出 使用原型等技术方法来降低风险 螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即: 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件 风险分析:评价所

文档评论(0)

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

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

1亿VIP精品文档

相关文档