系统分析与设计 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的需求描述,先编程实现,再编写单元测试,最后撰写博 ...
随机推荐
- 【文文殿下】[BZOJ3277] 串
Description 字符串是oi界常考的问题.现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中 至少k个字符串的子串(注意包括本身) Input 第一行两个整数n,k ...
- 洛谷P1393 动态逆序对(CDQ分治)
传送门 题解 听别人说这是洛谷用户的双倍经验啊……然而根本没有感觉到……因为另外的那题我是用树状数组套主席树做的……而且莫名其妙感觉那种方法思路更清晰(虽然码量稍稍大了那么一点点)……感谢Candy大 ...
- MySQL数据库密码破解
研究MySQL数据库的加解密方式,在网络攻防过程中具有重要的意义:试想一旦获取了网站一定的权限后,如果能够获取MySQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库:一方面可以直接操作数据 ...
- GitHub创建项目,保存代码。
平时学习会写一些代码,虽然只是零零散散的功能,但是基本都是在一个项目下操作,偶尔会忘记代码编辑顺序.国庆这几天在家,想把GitHub用起来,实现自己代码的可追溯,可查询.学习本篇博客,你需要一点的Gi ...
- C#-WebForm-LinQ-条件精确查询、高级查询
前台界面,并在后台绑定数据 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ca ...
- angularJs集成百度地图
app.controller('mapSignController',function($scope,$rootScope,Message, $window,$uibModalInstance){ v ...
- 总纲篇:产品结构设计指导VII(本博客指引章节)
本章目的:搭建自己的产品结构设计知识体系与框架,从零开始设计一个完整产品. 需知远途即捷径! //作者的结构设计体系尚在搭建中,所有的文章都会定期进行一定编排修改 目录: 0)自序 1.基础篇 1)时 ...
- centos7安装多媒体播放器SMPlayer
转自:https://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS7 http://blog.chinaunix.net/xmlrpc.php?r= ...
- (java/javascript) list 交集 并集 差集 去重复并集
java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...
- 使用github oauth 出现 OpenSSL::SSL::SSLError - SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 解决
A top level initializer is highly recommended to use: conf/initializer/tls_settings.rb OpenSSL::SSL: ...