软件工程--第1章.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章.ppt

软件工程学概述 2010-2-24 本章内容 软件危机 软件工程 软件生命周期 软件过程 1 软件危机 1.1 计算机的产生 计算机经历了4个发展阶段,却未摆脱“软件危机” 第一台计算机:宾州大学—ENIAC (1946)/ 电子管→晶体管→集成电路→大规模集成电路 第一台微机(个人电脑):Apple Ⅱ (1977) 当前计算机的最高运算次数:美洲虎/18万个CPU/数千亿 IBM--“走鹃”(Roadrunner)/1700千万亿次 1.2 软件危机及其产生原因* (1) 软件危机产生 软件的个体化生产与数量急剧膨胀,造成软件危机。 软件危机是在软件的开发和维护过程中所遇到的一系列严重问题,如耗费资源、难以维护等。 两个主要问题:①如何开发软件,以满足对软件日益增长的需求;②如何维护数量不断膨胀的已有软件。 (2) 软件危机的典型表现 成本与进度估计不准确 用户不满意现象经常发生 没有适当的文档、不可维护 成本不断上升,软件开发生产率提高不及硬件更新速度 生命周期:软件从定义、开发、使用和维护,直至被废弃;不同阶段引入变动的代价差异 2 软件工程 2.1 软件工程的诞生 软件危机问题亟待解决 1968年,北大西洋公约组织(North Atlantic Treaty Organization, NATO)在联邦德国召开会议,提出软件工程概念,一门新兴学科宣告诞生 通过管理与技术更好的开发与维护计算机软件 CMU-SEI (1) 软件工程定义 1968年NATO会议:目标是经济地开发出高质量软件 1993年美国电气和电子工程师协会 (Institute of Electrical and Electronics Engineers, IEEE)定义:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 (2) 本质特征 关注大型程序 复杂性可控 效率非常重要(并行工程 / 极限编程) 有效的用户支持 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品 2.2 软件工程基本原理 1983年B. W. Boehm在其文章《Software risk management: principles and practices》提出 严格的生命周期计划与产品控制(切忌随意修改) 坚持进行阶段评审 采用现代程序设计技术(面向对象) 结果可观测 人员少而精 不断改进与实践 2.3 软件工程方法学* 软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm),包含方法、工具与过程3个要素。 传统方法学:基于生命周期的结构化范型;文档是通信工具,同时也起到备忘录的作用;要求分阶段定义,逐步求精,成功率高。 面向对象方法学:操作与数据合为一体;对象是融合数据及其操作行为的构件;对象划分为类;继承;封装。 3 软件生命周期 3个时期:定义、开发、运行维护 定义(系统分析)的任务:确定目标与可行性,估算成本,制定时间表;定义可分为问题定义、可行性研究与需求分析3个阶段。 开发由4个阶段组成:总体设计(概要设计)、详细设计、编码和测试(单元与综合) 维护:持久的满足用户的需要 4 软件过程* 4.1 瀑布模型 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 瀑布模型:面向传统软件工程方法,自上而下。 特点:顺序性与依赖性、推迟实现、质量保证;优点:强制规范使质量获得保证。 文档驱动 4.2 快速原型模型 所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集(最小系统)。 用户试用,通过实践来了解目标系统的原貌。 不带反馈回路,与用户互动,从而减少了阶段性错误发生的可能性。 4.3 增量模型 第一个增量构件(最小系统)实现软件基本需求,然后逐步完善与扩充,指导满足用户要求为止。 能够在较短的时间内完成部分工作的产品;用户有充足的时间来适应与学习。 每个新的增量构件集成必须不破坏原来已经开发出的产品,设计要求高;具有开放式架构; 4.4 螺旋模型 软件开发存在风险,螺旋模型是使用原型及其他方法来尽量降低风险,可把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。 有利于重用,减少测试;风险驱动,关注实际。 适用于内部开发的大规模软件项目。 4.5 喷泉模型 面向对象迭代开发与无缝特征(自下而上)。 4.6 敏捷过程与极限编程 2001年敏捷(Agile)过程声明:个体交互>过程工具;可工作软件>文档;合作>谈判;响应变化>计划 。 典型的敏捷过程:极限编程(eXtreme Programming

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档