第1章软件工程学概述sml.ppt

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

六、软件开发模型 常用的开发模型 编码—修正模型 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 六、软件开发模型 1. 编码—修正模型(code and fix model) 软件开发只有两个阶段 编写程序代码 修改程序代码 作坊式生产方式 缺点 低估分析和设计,代码结构差,难修改 不重视需求,开发风险大,用户不满意 难修改、难维护 1. 编码—修正模型(code and fix model) 在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。 这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于: (1) 缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改; (2) 忽略需求环节,给软件开发带来很大的风险; (3) 没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难 2. 瀑布模型(Waterfall Model) 1970,W. Royce提出 软件生存周期模型,流水式过程模型 生命周期方法学 阶段划分方法 — 控制复杂性 Definition Feasibility Study Requirements Analysis System Design Program Design Coding Module Testing Integration System Testing Definition Development Delivery Maintenance Maintenance System Lifecycle Waterfall Model 传统的瀑布模型 瀑布模型的特点 基本思想:“分而治之” 特点 相邻阶段依赖性 推迟实现的观点 质量保证的观点(文档与评审) 优点 迫使开发人员采用规范的方法 严格规定了每阶段必须提交的文档 要求各阶段的产品必须经过质量验证 缺点 需求难开始就完全确定 文档驱动,风险大 开发期长,一旦修改,则损失惨重 不支持软件复用和集成技术 Definition Feasibility Study Requirements Analysis System Design Program Design Coding Module Testing Integration System Testing Delivery Maintenance 传统的瀑布模型 带“反馈环”的瀑布模型 瀑布模型的特点 适用范围 结构化方法,面向过程的软件开发方法 需求变化少 开发人员熟悉领域 低风险项目 使用环境稳定 需求难获取、难确定,怎么办? 3. 原型模型(Prototyping Model) 针对:软件开发初期需求难以确定 工程上经常使用的“原型” 快速原型法(Rapid Prototyping) 基本思想:快速建立原型,完善用户需求 快速建立起来的可以在计算机上运行的程序,他所能完成的功能往往是最终产品能完成的功能的一个子集。 原型模型 Prototyping Model 需求的采集和细化 快速设计 建造原型 客户评价原型 针对原型 完善需求 生产样品 开始 停止 快速开发原型的途径 模拟软件系统的人机界面和人机交互方式 开发工作原型,实现软件系统的部分功能 找来正在运行的类似软件 原型模型的特点 特点 线性开发模型(不带“反馈环”) 减少开发活动的盲目性和需求不确定 开发的系统能满足需求,修改较小 优点 处理模糊需求 用户参与 快速 缺点 快速(弱功能) 资源规划和管理较为困难 对开发环境要求高 适用范围 已有产品(原型) 简单而熟悉的领域 有快速原型开发工具 进行产品移植或升级 软件开发的风险 产品交付给用户之后用户可能不满意 到了预定的交付日期软件可能还未开发出来 实际的开发成本可能超过预算 产品完成前一些关键的开发人员可能“跳槽”了 产品投入市场之前竞争对手发布了一个功能相近、价格更低的软件…… 不能驾驭软件风险,怎么办? 4. 螺旋模型(Spiral Model) 1988,TRW公司BARRY W. Boehm提出 风险分析 Waterfall Model Prototyping Model Risk Analysis Spiral Model 螺旋模型的特点 针对:前面的模型没有提供“驾驭软件风险”功能 基本思想:降低风险 制定计划 planning 定目标,选方案,明确开发限制条件 风险分析 risk analysis 分析所选方案,

文档评论(0)

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

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

1亿VIP精品文档

相关文档