简答题

1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。

瀑布模型

优点:

  1. 定义了软件开发基本流程与活动。
  2. 为项目提供了按阶段划分的检查点。
  3. 当前一阶段完成后,只需关注后续阶段。

缺点:

  1. 各步骤之间是分离的,但是软件生产过程中的各个步骤不能这样严格分离出来。

  2. 回溯修改很困难甚至不可能,但是软件生产的过程需要时时回溯。

  3. 最终产品直到最后才出现,但是软件的客户,甚至软件工程师本人都需要尽早知道产品的原型并试用。

增量模型

优点:

  1. 人员分配灵活,刚开始不用投入大量人力资源。

  2. 如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。

  3. 这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。

缺点

  1. 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

  2. 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

  3. 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。

螺旋模型

优点

  1. 设计上的灵活性,可以在项目的各个阶段进行变更。

  2. 以小的分段来构建大型系统,使成本计算变得简单容易。

  3. 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

  4. 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

  5. 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点

  1. 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。

  2. 过多的迭代次数会增加开发成本,延迟提交时间。

2. 简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?

  • 三大特点:用例驱动、以架构为中心,迭代式增量开发。

  • 用例驱动和以架构为中心体现了用户驱动的开发
  • 迭代式增量开发体现了风险驱动的开发。

3. UP 四个阶段的划分准则是什么?关键的里程碑是什么?

初始阶段

初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。 初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。

细化阶段

细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。 细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。

构造阶段

在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。 构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。

交付阶段

交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命周期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。 在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。

4. IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的?

因为工期、质量的要求在双方签订合同时就已经作出了明确的约束,而范围/内容需要项目团队的控制才能顺利完成开发。因此只有“范围/内容”是项目团队易于控制的。

5. 为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?

因为UP规定了软件生命周期的四个阶段,其中每个阶段的时长、成果是固定的,企业根据UP即可按固定节奏生产和发布软件产品。

项目管理使用

系统分析与设计HW2的更多相关文章

  1. FPGA最小系统分析与电路设计

    <FPGA最小系统分析与电路设计> 部分节选自<FPGA应用开发入门与典型.pdf > FPGA最小系统包括:FPGA芯片.下载电路.外部时钟.复位电路和电源. 如果使用NIO ...

  2. 系统分析与设计个人作业:WordCount

    本次作业gitee地址:https://gitee.com/ackary/WordCount 一.项目简介 1.基础功能 基础功能部分主要实现的功能是统计一个程序设计语言源文件的字符数.单词数.行数, ...

  3. 文献综述十六:基于UML的中小型超市管理系统分析与设计

    一.基本信息 标题:基于UML的中小型超市管理系统分析与设计 时间:2016 出版源:Journal of Xiangnan University 文件分类:uml技术系统的研究 二.研究背景 开发一 ...

  4. 系统分析与设计lesson6

    | 分类 作业  | 1.用例建模 a. 阅读 Asg_RH 文档,绘制用例图. 按 Task1 要求,请使用工具 UMLet,截图格式务必是 png 并控制尺寸 b. 选择你熟悉的定旅馆在线服务系统 ...

  5. 奖学金评分系统(系统分析与设计版与Delphi实现代码)

    一.系统规划 1.1 项目背景介绍 在奖学金评比过程中,学生综合测评是学校普遍采用的评比手段.对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评奖学金提供依据,实现学生教育管理工作的标准化. ...

  6. 系统分析与设计 homework2

    1. 简述瀑布模型.增量模型.螺旋模型(含原型方法)的优缺点. 瀑布模型 优点: 降低了软件开发的复杂度,提高软件开发过程中的透明性,提高软件开发的可管理性. 为项目提供了按阶段划分的检查点. 当前一 ...

  7. WordCount系统分析与设计作业

    Gitee项目地址 https://gitee.com/gitdq/homework psp表 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 10 10 · ...

  8. 系统分析与设计 homework-1

    1.软件工程的定义 软件工程是将系统化.规范化.可度量的方法应用于软件的开发.运营和维护上,也就是将工程方法应用于软件上,并对这些方法的研究. 2.软件危机(software crisis) 软件危机 ...

  9. 系统分析与设计——WordCount

    成果: https://gitee.com/ZMLJZ/codes/0k19q4upgmrfde265l7vx36 作业要求: 根据WordCount的需求描述,先编程实现,再编写单元测试,最后撰写博 ...

随机推荐

  1. 23_1spring基础

    1.spring是什么 2.spring的优势 3.spring体系结构 4.耦合 程序间的依赖关系:类之间的依赖和方法之间的依赖. 解构:降低程序间的依赖关系. 实际开发中应该做到:编译期不依赖,实 ...

  2. ACR095 删一个求中位数 贪心求最大组合数 行列变换模拟(搜索)

    A B #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #d ...

  3. Hostapd初始化失败

    Hostapd hostapd 是一个用户态用于AP和认证服务器的守护进程.它实现了IEEE 802.11相关的接入管理,IEEE 802.1X/WPA/WPA2/EAP 认证, RADIUS客户端, ...

  4. RPC框架pigeon源码分析

    Pigeon是一个分布式服务通信框架(RPC),是美团点评最基础的底层框架之一.已开源,链接:https://github.com/dianping/pigeon 从接下来三个方面来分析pigeon的 ...

  5. linux中shell编辑小技巧

    一.循环1到100 ..};do echo $i done 二.获取100以内的随机值 ] 三.截取字符串 demo= :} #截取3位字符echo ${demo:1} #截取1到最后的字符 希望大家 ...

  6. 获得 bootstrapTable行号index

    方法一: $('#table-picManager').on("click-row.bs.table",function(e,row,$element){ index=$eleme ...

  7. puppet 源码安装

    puppet 源码安装 作者: admin 分类: 自动化管理 发布时间: 2013-04-23 10:25 ė 1932次浏览 6 暂无评论 puppet最新源码详细安装: 在网上找了很多相关pup ...

  8. 【10】Python urllib、编码解码、requests、多线程、多进程、unittest初探、__file__、jsonpath

    1 urllib urllib是一个标准模块,直接import就可以使用 1.1get请求 from urllib.request import urlopen url='http://www.nnz ...

  9. Python:日期表达的转换(day of year & year month day)

    我们常用的日期格式是“年月日”型的,即year-month-day,比如今天是2019年9月14日,2019-09-14. 然而,有些地方,比如遥感图像下载的命名里面,为了数据表示方便,常常是doy( ...

  10. 【leetcode】1186. Maximum Subarray Sum with One Deletion

    题目如下: Given an array of integers, return the maximum sum for a non-empty subarray (contiguous elemen ...