网站大量收购闲置独家精品文档,联系QQ:2885784924

软件工程复习详解.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程复习详解

软件:软件是能够满足预定义的功能和性能的可执行的计算机程序,包括使程序正常执行所需要的输入数据以及相关的使用文档。 软件工程的基本原理: 清晰第一,效率第二 设计先于编码 使程序的结构适合于问题的结构 开发伴随复用,开发为了复用 软件危机:指在软件开发过程中所遇到的一系列的问题。 软件危机的原因: 软件维护费用过高,直接威胁计算机应用的扩大 软件生产技术发展缓慢,进一步加剧了软件危机 软件的特征: 软件的开发不同于硬件的设计 软件的生产不同于硬件的制造 软件的维护不同于硬件的维修 软件工程从第一代开始已经发展到了第三代,编程范型也经历了三次的演变 过程式编程范型:着眼于程序的过程和基本控制结构,粒度最小 面向对象编程范型:着眼于程序中的对象 基于构件技术的编程范型:着眼于适合整个领域的类对象 用编程粒度的大小比较三种编程范型的差异。 软件工程学的范畴 软件开发技术 软件开发方法学 软件工具(帮助开发软件的软件) 软件工程环境(方法与工具相结合,再加上配套的软、硬件支持就形成环境) 软件工程管理 软件经济学 软件管理学 软件度量学 软件工程管理的目的是为了按照进度及预算完成软件计划,实现预期的经济和社会效益。 软件生存周期:软件产品从形成概念,经过开发、使用和维护,直到最后退役的全过程。 软件生存周期一般划分为:计划、开发、运行三个阶段。 将软件生存周期划分为若干个阶段的意义 将软件生存周期划分为若干个阶段,每一个阶段只赋予有限的活动,这就使因软件规模大大增长而带来的软件复杂性变得容易控制和管理。 传统的瀑布模型软件生存周期的划分阶段: 需求分析 软件分析 软件设计 编码 软件测试 运行维护 瀑布模型(一种基于软件生存周期的线性开发模型)的特点: 阶段间的顺序性和依赖性 顺序性:只有前一阶段的开发工作完成后,后一阶段才能进行 依赖性:前一阶段的输出文档是后一阶段的输入文档 推迟实现的观点:瀑布模型是一种线性模型,过早的编码容易导致返工。所谓推迟实现是指将待开发软件的逻辑设计和物理实现区分开来,即在需求分析和软件设计阶段只考虑系统的逻辑模型,等到编码阶段再完成实现。 保证质量的观点: 每一阶段都必须要完成规定的文档,不然不能视为完成该阶段的任务 每一阶段都要对完成的文档进行复审,以便尽早发现问题。 存有问题,风险滞后释放,不适合大型软件的开发 瀑布模型存在的问题 不适合于需求模糊的系统 滞后的风险释放 快速原型模型定义:先建立一个满足用户主要需求的原型,让用户了解整个软件的概貌,以便判断哪些功能是需要的,哪些方面还需要改进。然后在此原型的基础上进行开发,直到建立起满足用户全部功能的软件系统。 一个关键的问题:到底用户最终的需求是什么? 术业有专攻,用户不懂计算机,软件系统分析员对用户的专业也往往不了解,所以在开发的初始阶段很难弄清用户的需要到底是什么。 增量模型是瀑布模型的顺序特征和快速原型模型的迭代特征相结合的产物。增量模型将软件视作一系列相互联系的增量,每一次的迭代过程,采用瀑布模型或快速原型模型完成对一个增量的开发。 螺旋模型:目前软件开发中最常用的一种软件开发模型,适合于大型软件的开发。 当项目按顺时针方向沿螺旋线移动时,每轮螺旋均包含一下内容: 计划 风险分析 建立原型 用户评审 按以上顺序螺旋线周而复始,直到最后实现产品。 螺旋模型每一次迭代过程都需要进行一次风险分析。 构件集成模型 构件是经过适当设计和实现的类。 19. 净室模型是一种形式化的增量开发模型。其基本思想是力求在分析和设计阶段消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。 20 转换模型:将形式化软件开发和程序自动生成技术相结合的一种软件开发模型。(自动或半自动的程序变换) 21.软件工程开发模型 传统的软件工程 瀑布模型 快速原型模型 软件演化模型: 增量模型 螺旋模型 构件集成模型 形式化方法模型 转换模型 净室模型 22.7种软件开发模型的特点及适用场合 瀑布模型是一种线性开发模型,每一阶段必须完成规定的文档。适用于需求明确的中、小型软件开发 快速原型模型:用户介入早,采用快速开发工具,通过迭代完善用户需求。适合于需求模糊的小型软件开发 增量模型:每次迭代完成一个增量,可用于OO开发。适合于容易分块的大型软件开发。 螺旋模型:典型的迭代模型,重视风险分析,可用于OO开发。适合于具有不确定性的大型软件开发 构件集成模型:软件开发与构件开发平行进行,主要用于OO开发。适用于领域过程、行业的中型软件开发。 转换模型:形式化的需求规格说明书,自动的程序变换系统。适用场合:理想化模型,尚无成熟工具支持。 净室模型:形式化的增量开发模型,在洁净状态下实现软件制作。适合场合:开发团队熟悉形式化方法,中小

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档