第1章软件及其开发概述(免费阅读).pptVIP

  1. 1、本文档共77页,可阅读全部内容。
  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文档。上传文档
查看更多
高级软件工程 Advanced Software Engineering 主讲:魏 延 E-mail:weiyan@cqnu.edu.cn 本章主要介绍软件、软件开发的历史、软件危机、软件工程的诞生、定义、主要研究内容,软件工程模式以及软件工程与其他学科领域的关系。 1.1 软件开发的历史 1、软件的概念 计算机世界的软件 软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。 软件 = 程序+数据+文档 程序 = 算法+数据结构 2、软件危机的主要表现 软件成本日益增长 1.3 软件工程 1、软件工程定义 软件工程的基本目标 付出较低的开发成本; 达到要求的软件功能; 取得较好的软件性能; 开发的软件易于移植; 需要较低的维护费用; 能按时完成开发工作,及时交付使用 软件工程目标之间的相互关系图 2 软件工程发展简史 20世纪60年代: 开发方法--“功能性程序设计”,编程无章法,随意性很大类似于智力游戏,依赖于才智与技巧。软件开发远远满足不了社会发展的需求,出现了一场“软件危机”。 在理论上--1968年10月北大西洋公约组织(NATO)的科学委员会提出了软件危机问题,认为这将是影响计算机应用发展的瓶颈,从而提出“软件工程”问题。 技术的目标--如何扩大程序系统的规模,以适应更复杂的应用。 20世纪70年代: 开发技术:1)从程序中分离出数据结构与算法。2)进一步把结构化程序设计方法发展成结构化开发方法,包括结构化分析方法及结构化设计方法。 在理论上:1)数据结构,算法理论。2) 形式方法——用推理及逻辑断言等对程序正确性进行验证。3)软件工程方法:开始提出软件开发模型——瀑布模型及相应的结构化分析、设计、编程及测试方法。 技术的目标:要解决软件危机。要求在时间、费用、质量三要素的工程要求下有序地完成项目。 20世纪80年代: 开发方法:由单纯的编程技术转向构造系统的方法。提出一套记号表示法及步骤来描述、定义、分析、验证系统的结构。而管理复杂的文档资料及规格说明成为管理系统结构的主要手段。 理论成就:关系数据库的关系理论。此外,软件开发技术中的度量问题受到重视。最著名的有软件工作量估计COCOMO,软件过程改进模型CMM(软件过程能力成熟度模型)等。 技术的目标:要求大幅度提高个人的生产率(Windows所提供的能力);提倡发展软件复用;面向对象技术的重新崛起。 20世纪90年代: 开发方法: 基于部件的开发方法;Internet是遍布全世界的一个巨大的计算机网络, Java语言的诞生正是应允了这个要求。Java语言有着很好的网上移植性、安全性、并且在编程难度上,也较C,C++语言简单。基于Internet/web技术的软件开发成为这一时期的最主要特点。开发技术的研究焦点是部件的互连及集成问题。因此,研究软件体系结构、软件设计模式、标准化问题、协议、集成等,已成为焦点。 理论成就:以研究封闭的系统转向一个开放的不断进化的系统。提出了一类“交互模型”作为计算的基础。 目标--JUST IN TIME INFORMATION。即要在正确的时刻,把正确的信息,安全地送到正需要信息的人处。 3 软件工程基本原理 1983年,B.W.Boehm总结出七条基本原理: 用分阶段的生命周期计划严格管理。 坚持进行阶段评审。 实施严格的产品控制。 采用现代程序设计技术。 结果应能清楚地审查。 开发小组的成员应该少而精。 承认不断的改进软件工程实践的必要性。 4 软件工程的主要内容 软件开发模型 软件开发方法 软件工程过程 软件工具 软件开发环境 软件工程标准 软件工程经济学 软件开发模型 模型是软件开发全部过程、活动和任务的结构框架。例如软件开发方法瀑布模型、进化模型、螺旋模型及喷泉模型等。 软件工程过程 软件生存周期所涉及的一系列相关过程。软件过程主要针对软件生产和管理进行研究。 软件过程可概括为三类: 基本过程类---基本过程类包括获取过程、开发过程、运作过程、维护过程和管理过程。 支持过程类---支持过程类包括文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程以及问题解决过程。 组织过程类---基础设施过程、改进过程以及培训过程。 软件工具 用来辅助软件开发、维护和管理的软件。 项目管理工具:支持项目管理活动的工具。 配置管理工具:支持完成配置项标识、版本控制、变化控制、审计和状态统计等任务的工具。 分析和设计工具:辅助建立软件的系统模型和设计的工具。 程序设计工具:包括常规的编码工具。 测试工具:可以分为数据获取工具、静态分析工具、动态分析工具、模拟工具以及测试管理工

文档评论(0)

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

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

1亿VIP精品文档

相关文档