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

  1. 1、本文档共54页,可阅读全部内容。
  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文档。上传文档
查看更多
第10章 软件工程 10.1 概述 10.2 软件质量 10.3 软件过程 10.4 软件开发方法 10.5 软件维护 10.6 软件项目管理 软件开发与建造房屋的类比 软件开发与建造房屋的类比 10.1 软件工程发展简史 1. 个体化的软件开发 20世纪40年代中期-60年代中期 软件开发采用个体化的工作方式,程序的编写者和使用者往往是同一个(或同一组)人。 编程是在一种无序状态中完成的。 软件工程发展简史 特点: (1)软件规模相对较小。 (2)对软件开发的理解就是编程序。 (3)突出编程技巧,没有编程规范与标准。 (4)对软件开发工作没有进行任何的管理。 (5)缺少有效方法和软件工具的支持。 软件工程发展简史 2. 作坊式的软件开发 20世纪60年代中期-70年代中期 开始广泛使用软件产品,用户可以购买或定制软件,于是出现了“软件作坊”。 软件作坊基本上是沿用早期形成的个体化开发方法。 出现了“软件危机” 。 软件工程发展简史 软件危机:指在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的典型表现是: 软件开发成本和进度无法预测。 用户对已完成的软件系统不满意。 软件可靠性没有保证。 软件没有适当的文档资料。 软件维护费用不断上升。 软件产品供不应求。 软件≠程序 什么是软件工程? 软件工程:研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来。 软件工程的三个要素 方法:是完成软件开发的各项任务的技术方法,回答“如何做”的问题; 工具:是为方法的运用提供自动的或半自动的软件支撑环境; 过程:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件工程发展简史 3. 结构化的软件开发 20世纪70年代中期-80年代中期 计算机系统的复杂性、应用领域的扩展,都对软件开发者提出了更高的要求。 软件开发采用结构化技术来完成软件开发的各项任务。 使用适当的软件工具(或软件工程环境)来支持结构化技术的运用。 软件工程发展简史 4. 面向对象的软件开发 20世纪80年代末期-至今 计算机体系结构从集中式的主从结构,转变为分布式的客户机/服务器(C/S)和浏览器/服务器(B/S)结构。 面向对象的开发方法在许多应用领域中取代了传统的结构化开发方法。 启示??? 软件工程已成为一门交叉性学科 借鉴传统工程的原则、方法来创建软件,达到提高质量、降低成本的目的。 计算机科学和数学用于构造模型、分析算法 工程科学用于制定规范、明确样例、评估成本、确定权衡; 管理科学用于进度、质量、成本等的管理。 软件工程的基本原理 1. 用分阶段的生存周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性 软件开发的复杂性 软件开发既不同于其他工业工程,也不同于科学研究,软件不是自然界的有形物体,软件开发的复杂性主要体现在: (1)开发环境的复杂性 (2)用户需求的多样性 (3)技术手段的综合性 (4)软件的复杂性 (5)程序的不可见性 (6)程序设计技术的缺陷 10.2 软件质量 软件质量:指软件与明确叙述的功能和性能需求、明确描述的开发标准、以及任何专业开发的软件产品,都应该具有的隐含特征相一致的程度。 与工业产品质量的差别? 软件质量的要点 (1)软件需求:与需求不一致就是质量不高。 (2)开发标准:指定的开发标准定义了一组指导软件开发的准则,没有遵守这些准则就不能开发出高质量的软件产品。 (3)隐含需求:通常,行业内有一组没有显式描述的隐含需求。 软件质量的评价特性 通常,我们从以下几方面来评价软件的质量: (1)功能性:系统满足需求规格说明和用户目标的程度,换言之,在预定的环境下能正确完成预期功能的程度。 (2)可靠性:在规定的一段时间内和规定的条件下,软件维持其性能水平的能力。 (3)可用性:系统在完成预定功能时令人满意的程度。(功能性与可用性的区别?) 软件质量的评价特性 (4)有效性:为了完成预定的功能,系统需要多少计算机资源。 (5)可维护性:修改或改进正在运行的系统,需要多少工作量。 (6)可移植性:把程序从一种计算环境转移到另一种计算环境下,需要多少工作量。 10.3 软件过程 在完成软件开发任务时,必须进行的一些了的活动。 ISO9000的定义:把输入(软件需求)转化为输出(软件产品)的一组彼此相关的资源和活动。 包括:合理的开发过程、运用方法的顺序、应交付的文档资料

文档评论(0)

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

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

1亿VIP精品文档

相关文档