系统分析与设计 homework2
1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
瀑布模型
- 优点:
降低了软件开发的复杂度,提高软件开发过程中的透明性,提高软件开发的可管理性。
为项目提供了按阶段划分的检查点。
当前一阶段完成后,只需关注后续阶段。 - 缺点:
瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的 文档时,会极大地增加系统的工作量
回溯修改很困难甚至不可能,但是软件生产的过程需要时时回溯。
最终产品直到最后才出现,但是软件的客户,甚至软件工程师本人都需要尽早知道产品的原型并试用。
增量模型
- 优点:
将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。 - 缺点
并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构。
在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
螺旋模型
- 优点
集成了瀑布模型、快速原型模型、增量模型的优点;
支持用户需求动态变化;
需求分析与软件实现紧密联系相互依赖;
原型作为可执行的需求规格说明,既利用用户和开发人员共同理解,又可作为后续开发的基础;
为用户参与决策提供方便;
提高目标软件的适应能力;
降低风险;
在大型软件开发过程中充分发挥优势。 - 缺点
采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
过多的迭代次数会增加开发成本,延迟提交时间。
2、简述UP的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现了风险驱动的开发。
特点:
- 用例和风险驱动开发
- 以体系结构为核心
- 迭代及增量
UP一般由UML方法和工具支持,用例捕获需求,可以提现用户驱动的开发。
UP需要对软件开发中的风险进行分析、预测并关注软件的构造,体现了风险驱动的开发。
3、UP四个阶段的划分准则是什么?关键的里程碑是什么?
- 先启阶段(inception):该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,结交结果包括需求和用例。
- 精化阶段(elaboration):该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构,问题领域、修改后的需求及项目开发计划等相关文档。
- 构建阶段(construction):增量式开发可以交付给用户的软件产品。
- 提交阶段(transition):目的是将软件产品交付给用户。
4、IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队易于控制的?
工期是早就确定好的,工期规定项目中各部分具体的完成时间,不能随意调整,否则可能产生连锁反应,造成产品延期。
质量是客户规定的,在合同中已经写明,验收条件不可能由项目团队控制。
范围/内容是团队为了交付产品需完成的工作,需要由团队进行控制,否则是无法完成所需的工作的。
5、为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
因为UP是迭代过程,迭代开发是UP的关键实践。
需求分析,设计,实现,迭代,测试和交付的生命周期是有固定长度的,是在时间盒里面限制的,例如起始的固定周期就是限制在两周前,之后的迭代开发构成也是有较为明确的时间限制的。因此,在每次迭代完成后,都有一定的产品可供发布。
6、项目管理使用
系统分析与设计 homework2的更多相关文章
- FPGA最小系统分析与电路设计
<FPGA最小系统分析与电路设计> 部分节选自<FPGA应用开发入门与典型.pdf > FPGA最小系统包括:FPGA芯片.下载电路.外部时钟.复位电路和电源. 如果使用NIO ...
- 系统分析与设计个人作业:WordCount
本次作业gitee地址:https://gitee.com/ackary/WordCount 一.项目简介 1.基础功能 基础功能部分主要实现的功能是统计一个程序设计语言源文件的字符数.单词数.行数, ...
- 文献综述十六:基于UML的中小型超市管理系统分析与设计
一.基本信息 标题:基于UML的中小型超市管理系统分析与设计 时间:2016 出版源:Journal of Xiangnan University 文件分类:uml技术系统的研究 二.研究背景 开发一 ...
- 系统分析与设计lesson6
| 分类 作业 | 1.用例建模 a. 阅读 Asg_RH 文档,绘制用例图. 按 Task1 要求,请使用工具 UMLet,截图格式务必是 png 并控制尺寸 b. 选择你熟悉的定旅馆在线服务系统 ...
- 奖学金评分系统(系统分析与设计版与Delphi实现代码)
一.系统规划 1.1 项目背景介绍 在奖学金评比过程中,学生综合测评是学校普遍采用的评比手段.对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评奖学金提供依据,实现学生教育管理工作的标准化. ...
- 系统分析与设计HW2
简答题 1. 简述瀑布模型.增量模型.螺旋模型(含原型方法)的优缺点. 瀑布模型 优点: 定义了软件开发基本流程与活动. 为项目提供了按阶段划分的检查点. 当前一阶段完成后,只需关注后续阶段. 缺点: ...
- WordCount系统分析与设计作业
Gitee项目地址 https://gitee.com/gitdq/homework psp表 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 10 10 · ...
- 系统分析与设计 homework-1
1.软件工程的定义 软件工程是将系统化.规范化.可度量的方法应用于软件的开发.运营和维护上,也就是将工程方法应用于软件上,并对这些方法的研究. 2.软件危机(software crisis) 软件危机 ...
- 系统分析与设计——WordCount
成果: https://gitee.com/ZMLJZ/codes/0k19q4upgmrfde265l7vx36 作业要求: 根据WordCount的需求描述,先编程实现,再编写单元测试,最后撰写博 ...
随机推荐
- 【转载】hadoop之failed task任务和killed task任务
failed task可理解为自杀,也就是task本身出了问题而自杀:killed task可理解为是他杀,也就是jobtracker认为这个任务的执行是多余的,所以把任务直接杀掉.起初用hadoop ...
- rpm 安装卸载
安装命令 rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息: rp ...
- 爬虫实战1:使用requests和正则爬取电影信息
代码如下 # coding=utf-8 import requests from requests.exceptions import RequestException import re impor ...
- jdk命令行工具(一)
1.概述 熟悉java开发的人应该都知道在jdk的bin目录下有许多的工具,这些工具主要用于监视虚拟机和故障处理.这些故障处理工具被Sun公司称作为“礼物”附赠给JDK的使用者,并在软件的使用说明中把 ...
- Google 推出新搜索引擎以查找数据集
简评:谷歌推出了一个用于寻找数据集的新搜索引擎,有点厉害! 该工具可以更轻松地访问 Web 上数千个数据存储库中的数百万个数据集,当前还处于测试版: 什么是 Dataset Search? 数 ...
- Leetcode 102 二叉树的层次遍历 Python
二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 ...
- python 爬虫 黑科技
1.最基本的抓站 import urllib2 content = urllib2.urlopen('http://XXXX').read() 2.使用代理服务器 这在某些情况下比较有用,比如IP被封 ...
- Linux之E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
解决 ubantu系统中 E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 的 问题. 1.解决办法: 当我们有的时候在使用apt-get install/update ...
- 【JavaScript】__proto__和prototype的区别和联系【整理】
var person={name:'ninja'}; person.prototype.sayName=function(){ return this.name; } Chrome运行结果: 提示找不 ...
- QuantLib 金融计算——数学工具之求解器
目录 QuantLib 金融计算--数学工具之求解器 概述 调用方式 非 Newton 算法(不需要导数) Newton 算法(需要导数) 如果未做特别说明,文中的程序都是 Python3 代码. Q ...