第一讲:课程介绍 与软件工程概述精品.pptVIP

第一讲:课程介绍 与软件工程概述精品.ppt

  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文档。上传文档
查看更多
第一讲:课程介绍 与软件工程概述精品.ppt

软件的发展历程 软件危机 软件危机 20世纪60年代末提出来的。 主要表现为:进度严重拖后,成本超出多达一个数量级;生产率极低,软件质量低劣到甚至根本不能使用,而且难于管理。 经典案例: 美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。...... 软件危机 软件危机产生的原因 软件的规模越来越大,结构越来越复杂 软件开发技术落后,比如: 忽略软件定义时期的工作,项目不能很好地理解 不重视文档资料,仅仅重视程序而忽略软件配置其余成分 软件可靠性缺少度量的标准,质量无法保证 开发工具落后 软件开发和维护所需要的费用越来越高 软件危机 人们在软件危机之后的认识 软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目; 必须充分吸取和借鉴各种工程项目所积累的行之有效的原理、概念、技术和方法; 必须开发和使用更好的软件工具; 应从管理和技术(方法和工具)两方面解决软件危机! 软件工程 软件工程的定义 软件工程是为了经济地获得能在实际机器上高效运行的可靠软件,而确立的一系列工程原理(方法)。 ----- Fritz Bauer(弗里茨·鲍尔),NATO,1968 软件工程 软件工程的基本原理(1/2) 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制(基准配置管理) 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 ------B.W. Boehm(勃姆), 1983 软件工程 软件工程的基本原理(2/2) 8. 二八定律(20/80准则) 对存在问题的估计:80%的问题存在于20%的代码中 对模块功能的估计:20%的模块实现了80%的功能 对人力资源的估计:20%的人解决了80%的问题 软件工程 软件工程的目标(1/2) 付出较低的开发成本 达到所需的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发工作,以及交付使用 既经济又有效 软件工程 软件工程的目标(2/2) 软件开发方法 软件开发方法的概念 软件生命周期全过程中使用的一整套技术方法的集合,也称为范型 三要素:方法、工具和过程 方法:完成软件开发的各项任务的技术方法,回答“如何做”的问题; 工具:为方法的运用提供自动的或半自动的软件支撑环境; 过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 软件开发方法 两种软件开发方法 传统的方法:面向过程的方法(结构化方法) 现代的方法:面向对象的方法 面向过程的开发方法 主要特点 强调模块化思想 主要采用抽象和分解两个手段 主要采取“自顶向下、逐步求精”的过程 程序=算法+数据结构 面向过程的开发方法 主要思想示例 分解 抽象 面向过程的开发方法 三要素 具有明确的过程,包含需求分析、设计、实现、维护等阶段 结构化分析与设计方法(如面向数据流的分析方法);结构化编程方法(如C语言) 支持工具,如visio、VC、 TuborC 软件开发方法 面向过程的方法的优缺点 优点: 以处理流程为基础,简单易操作 缺点: 把数据和操作人为地分离成两个独立的部分,增加了软件开发与维护的难度 面向对象的开发方法 主要特点 将现实世界的事物直接映射到对象 对象将数据及在数据上的操作行为封装在一起,形成一种新的软件构件 程序=对象+消息 分析设计时由对象抽象出类,运行时由类还原到对象 继承、多态、…… 面向对象的开发方法 三要素 具有明确的过程,如RUP过程等 面向对象的分析与设计方法,如UML;面向对象的程序语言,如JAVA,C++ 支持工具,如.Net平台和J2EE平台 面向对象的开

文档评论(0)

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

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

1亿VIP精品文档

相关文档