如何理解软件生命周期的内在特征?

  • 软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,再到最终该产品被市场淘汰的全过程。
  • 软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。由于每个阶段的任务相对于总任务难度会大幅度降低,因此在资源分配、时间把握和项目管理上都会比较容易控制。
  • 应该合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

对比瀑布模型、原型模型、增量模型和螺旋模型

  • 瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步工作。
  • 原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型的需求分析入手难的问题。
  • 增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略。增量体现了演进、迭代思想,每一块就是一个增量。每个增量是一次迭代。增量模型的新版本叫做“极限编程(XP)”。
  • 螺旋模型:融合了上述3种模型,融进了循环往复、强化了演进迭代的思想,增加了风险控制环节。但是,风险分析的正确性是左右软件演进的关键因素

RUP 包含了哪些核心工作流和哪些核心支持工作流?

RUP 建立了对软件过程普遍适用的理论指导框架,是典型的软件开发过程。它包括直接参与软件产品构造的核心工作流和若干属于项目管理范畴的支持工作流

  • 核心工作流包括:业务建模、需求、分析与设计、实现、测试、部署。
  • 支持工作流包括:配置与变更管理、项目管理、环境。

假设计划研发一种产品,技术含量很高,与客户有关的风险也很多,你会采用哪种软件开发模 型?请说明理由。

采用 RUP 模型。RUP 模型在每个步骤后都会形成一个可以发布的产品,这个产 品是最终产品的一个子集。这样能够在生命周期中尽早地避免风险,不会像其他过程模型一样,有可能 直到最后才发现,面临巨大风险。再者这个模型能产生多个软件样品,每个样品实现某个个别功能,一 一解决软件开发中的难点,最终形成高技术含量的成品。

北航991——软件工程过程相关推荐

  1. 北航991——软件工程概述

    软件就是程序吗?如何定义软件? 软件≠程序,程序只是软件的关键要素. 软件 = 程序 + 数据 + 文档 什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下: 经费超过预算,项目一再拖延 不 ...

  2. 2022北航敏捷软件工程 第一次博客作业

    2022北航敏捷软件工程 第一次博客作业 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 个人阅读作业-阅读和调研 我在这个课程的目标是 了解软件工程的方法论.在实 ...

  3. 2022北航敏捷软件工程 第四次博客作业

    2022北航敏捷软件工程 第四次博客作业 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 个人作业-提问回顾与个人总结 我在这个课程的目标是 了解软件工程的方法论. ...

  4. 链表的相关操作-数据结构与算法(北航991数据结构)

    数据结构与算法(北航991数据结构) 下面的这一段代码是针对于这30道题而写的关于单向链表,双向链表以及循环链表等链表的创建及遍历,做辅助使用. 所有题目均是自己理解敲的,并执行成功的.可能会存在一起 ...

  5. 2022北航敏捷软件工程 第二次博客作业

    2022北航敏捷软件工程 第二次博客作业 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 个人作业-软件案例分析 我在这个课程的目标是 了解软件工程的方法论.在实践 ...

  6. 软件工程过程和软件系统分析与设计

    什么是软件工程 软件工程要求下怎么编写出高质量的代码 软件工程要求下写好代码后如何进行单元测试 知道软件是什么,和其他工程学科有什么不同,为什么需要一门专门的软件工程来研究. 软件工程是怎么一步一步发 ...

  7. 软件工程:软件工程过程与方法

    尽管程序员领着一份不错的薪水,可是他们也同样付出了巨大的精力与时间.随着软件规模的日益庞大,用户需求的不确定以及快速变更,使得软件开发已经不能停留在小作坊式的个人英雄时代,它已经发展为如今的依赖团队合 ...

  8. 软件工程—绪论软件工程2(软件工程过程、软件生存周期、软件生存周期模型)

    1.2软件工程过程和软件生存周期 1.2.1软件工程过程     软件工程过程规定了获取.供应.开发.操作和维护软件时,要实施的过程.活动和任务.其目的是为各种人员提供一个公共的框架,以便用相同的语言 ...

  9. 【软件工程】软件工程过程概述

    文章目录 软件工程 软件 软件的特点 软件分类 软件工程 软件过程 软件工程是一种层次化技术 过程综述 过程和软件过程 过程和软件过程 过程与质量 过程框架 过程框架 通用过程框架 任务集 过程模式 ...

最新文章

  1. 最大数值(不能使用比较运算符)
  2. 小程序swiper(tab)高度自适应
  3. tf.contrib.slim arg_scope
  4. leetcode114. 二叉树展开为链表
  5. “宅家十大热销商品”榜单:确认过眼神,都是自己剪头发的人
  6. Dropbox Interview – Design Hit Counter
  7. 【BZOJ4561】[JLoi2016]圆的异或并
  8. matlab2013和2014,64位机器MATLAB2013b和MATLAB2014a没有LCC编译器,怎么安装它呢?
  9. 山石sg6000e1700配置手册_Hillstone SG-6000安装手册.pdf
  10. NC协议服务器端库登陆失败,NC数据库日常维护
  11. leetcode 860.柠檬水找零 Java
  12. 985 材料专业研究生年薪 20 多万也不少了吧,为什么还有那么多人劝退,转行能挣多少钱?
  13. 软件测试课程设计——智云云盘
  14. 名片 - 名片设计的比例
  15. [回归初作]——edge浏览器的小游戏
  16. rabbitmq reply-code=404, reply-text=NOT_FOUND
  17. 关闭、设置-Win 8 优化 -by小雨
  18. MySQL的时间戳(Timestamp)类型学习
  19. 【贪心算法】poj 2431: Expedition(最优加油方法)
  20. 【转】游戏中用到的数学知识

热门文章

  1. 最全WebGIS开发学习和求职资源汇总
  2. rancher的巨坑
  3. 为什么网上邻居 无法访问他人电脑?
  4. 《全球顶尖公司的领导力实践》——读书随笔
  5. 关于计算机的英语名言,关于玩游戏的名言 英语
  6. 五大常见的MySQL高可用方案(最全)
  7. 二维堆叠 matlab,matlab二维数组与三维数组叠加问题
  8. 2013-12-IOS 获取最新设备型号方法
  9. LCD1602的使用(51单片机)
  10. 素数筛法(传统普通、朴素筛法、埃式筛法、欧拉筛法(线性筛))