软件工程——共同演进的方法与实践 教学课件 作者 田文洪 第一章软件工程概述.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文档。上传文档
查看更多
需求变化的影响 一些对软件工程的误解(3) 实践者: 软件从业者积累了50 年的编程文化。在早期的软件开发中,编程被视为一种艺术形式。 M1: 一旦我们编程完毕并成功运行,我们的工作就结束了。 R1: “越早开始写代码,我们就会花费越长的时间去完成它”。工业数据显示,软件开发60%-80%的精力将耗费在软件首次提交给用户以后。 M2: 当我的程序运行之前,我没有办法评估它的质量。 R2: 一个最有效的软件质量保证机制应当在项目的正式开始启动时——可以通过技术报告体现。 M3: 唯一可交付的工作成果是一个成功运行的项目程序。 R3: 一个可运行的程序只是软件结构的一部分,它还包含了许多其它因素。 M4: 软件工程将会让我们去创建大量不必要的文档,并且总是使我们的进度放慢。软件工程仅仅是文档而已。 R4: 软件工程并不是创建文档,而是创建质量。更好的质量减少返工的概率。更少返工会让项目更早交付。所有的文档都是提高团队沟通和质量所必须的。 软件工程职业道德和责任规范 本章小结 软件工程的目标是提供一个系统框架,用于建立高质量的软件。 软件:随着解决特定问题和行业自身的信息分析工具变化而演进 早期的“编程”文化和历史造成了一系列的问题,这些问题延续至今 需要学习如何建立高品质和大规模的软件 作业 1. 什么是软件? 2. 什么是软件工程? 3. 软件工程具有哪些特点? 4. 什么是导致软件危机的主要原因? 5. 为什么职业道德和责任十分重要? * * 软件开发管理 第一章 软件工程简介 软件的相关知识介绍 1 软件工程的原则 4 软件工程的相关课题 5 软件工程的概念 3 软件危机 2 小结 6 本章学习目标 1 2 3 了解本课程的主要内容以及他们之间的关系。 理解软件的特征和分类。 理解软件和软件工程的概念。 程序 软 件 可执行部分 不可执行部分 文档1 文档2 文档3 什么是软件? 软件定义: 软件=程序+数据+文档 程序:按事先设计的功能和性能需求执行的指令序列 数据:是程序能正常操纵信息的数据结构 文档:与程序开发、维护和使用有关的图文材料 软件的特征 软件是逻辑的,而不是物理的 软件是开发的或者是工程化的,并不是制造的 软件开发环境对产品影响较大 软件开发时间和工作量难以估计 软件会多次修改 软件的开发进度几何没有客观衡量标准 软件测试困难 软件不会磨损和老化 软件维护易产生新的问题 软件生产是简单的拷贝 软件双重作用 软件是一种产品,也是开发其他软件产品的工具 ?? 支持或直接提供系统所需的功能 ?? 控制(如操作系统)其他程序 ?? 改善通信(如,网络软件) ?? 帮助开发其它软件(例如,软件开发工具) ?? 许多其它功能 软件的分类 系统软件(操作系统) 应用软件(办公软件) 工程/科学软件 (Matlab, Maple) 嵌入式软件 (iPod,iphone) 产品线软件(Intel, Simens) Web 应用(Web applications) 普适计算—无线网络 网络资源—网络作为一个计算引擎 开放源码 (好事,也是一种潜在的祸根!) 网格计算/云计算 软件的发展 50’中期~60’中期 60’中期~70’中期 70’中期~80’中期 80’中期~现在 产业化 工程 作坊 个体化 为什么发展如此之快 计算需求:软件必须适应新的计算环境或技术; 业务要求:软件必须改善,以实现新的业务需求; 嵌入式需求:软件必须扩展,以满足和新一代系统或数据库之间的互操作性; 架构需求:软件必须重新设计,使其在新的网络环境是可用的。 软件技术面临的问题 规模 复杂性 生产率 效率?和质量? 定义 在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机 软件危机的具体表现: ·开发成本和进度估计不准 ·用户对“已完成的”软件系统不满意 ·软件质量往往靠不住 ·软件常常是不可维护的 ·软件通常没有适当的文档资料 ·软件成本逐年上升 ·软件开发生产率滞后于硬件和计算机应用普及 硬件/软件成本变化趋势                                        硬件                                 软件                                                           100% 0% 1955 1970 1985 软件技术进步落后于需求增长 产生软件危机的原因 原因 客观:软件本身特点 逻辑部件 规模庞大 主观:不正确的开发方法 忽视需求分析 错误认为:软件开发=程序编写

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档