软考 系统分析师系列知识点之需求管理(2)

接前一篇文章:软考 系统分析师系列知识点之需求管理(1)

所属章节:

第11章. 软件需求工程

        第8节. 需求管理

11.8.2 需求风险管理

人们做事情总希望一帆风顺,做项目也是如此,总是希望项目进展顺利,按照计划如期交付。但现实却总是残酷的,会有许多潜在威胁和阻碍项目按计划进行的因素,这就是风险。风险可能会给项目成本进度质量团队工作效率等方面带来负面影响。当然,所谓“塞翁失马焉知非福”,风险有时候也能给项目带来机会

风险管理的目的就是希望让项目管理人员能够“掌控”风险,风险事件一旦发生,能够按照预先制定的应对计划有条不紊地处理风险

1. 带有风险的做法

系统分析师在进行需求开发的过程中,有时也会“陷自身于困境”,无意之中给项目带来风险。这些做法列举如下:

(1)无足够用户参与

在需求获取的过程中,如果没有足够的用户参与,系统分析师所获得的需求就是片面的和不完整的。这样,在需求开发之初就埋下了风险。

(2)忽略了用户分类

用户不止一个人,各类用户有其自身的特点和需求。如果系统分析师不能针对所有主要用户进行分类,就必然会导致有的用户对产品感到失望。例如,菜单驱动操作对高级用户来说太低效了,但命令和快捷键又会使不熟练的用户感到困难。

(3)用户需求的不断增加

需求蔓延有可能引起项目范围蔓延,而这是项目中的大忌,因为它会对项目成本、进度和质量等方面带来很大的负面影响,甚至直接导致项目失败。

(4)模棱两可的需求

模棱两可的需求会使不同的项目干系人产生不同的期望,会使开发人员为错误问题而浪费大量时间。

(5)不必要的特性

这是技术人员的一个通病,喜欢画蛇添足。经常发生的情况是,用户并不认为这些添加的“足”很有用,以致在其上耗费的努力白搭,浪费项目资源。

(6)过于精简的SRS

过于精简的SRS为用户和开发人员提供了“无限遐想”的机会,却给项目带来了无限的麻烦,导致不断地修改,项目完工遥遥无期。

(7)不准确的估算

系统分析师在信息不充分的情况下,如果未经深思就对需求做出估算,则这种估算通常只是一种猜测而已。一旦传递给用户,他们却认为这是一种承诺。

2. 与需求有关的风险

项目风险管理的一个主要过程是识别风险,也就是要“预知”项目进展过程中可能会发生的风险,然后对其进行分析,制订相应措施。根据业内人士的经验,与需求有关的主要风险及其应对措施如下表所示:

阶段主要风险风险应对措施
需求获取产品试图与范围在项目早期写一份项目视图与范围文档,将业务需求涵盖在内,并将其作为新的需求及修改需求的指导
需求开发所需时间记录所参与的每个项目中实际需求开发的工作量,这样就能知道所花的时间是否合适,并改进将来项目的工作计划
忽略市场对产品的反馈信息强调市场调查研究,建立原型,并运用客户核心小组来获得产品的反馈信息
没有非功能需求编写非功能需求文档和验收标准,作为可接受的标准
客户反对产品需求确定出主要的客户,并采用产品代表的方法来确保客户代表的积极参与,确保在需求决定权上有正确的人选
期望需求尽量识别并记录用户的期望,提出大量的问题来提示用户,以充分表达他们的想法和建议
将已有的产品作为需求基线将在逆向工程中收集的需求编写成文档,并让用户评审以确保其正确性
给出期望的解决办法从用户描述的解决方法中提炼出其本质需求
需求分析划分需求优先级评估每项新需求的优先级,并与已有的工作对比,以做出相应的决策
带来技术困难的特性分析每项需求的可行性,以确定是否能按计划实现
不熟悉的技术、工具、平台明确那些高风险的需求,并留出充裕时间进行学习、实验和测试原型
需求定义系统分析师和用户对于需求的不同理解使用高水平的系统分析师;使用模型和原型,使一些模糊的需求变得清晰
时间压力对待确定因素的影响记录解决每项待确定因素的负责人的名字、如何解决的,以及解决的截止日期
SRS的完整性和正确定以用户的任务为中心,采用用例技术获取需求;根据场景写需求测试用例,建立原型;让用户代表对SRS和分析模型进行正式评审
具有二义性的术语建立一本术语和数据字典,用于定义所有的业务和技术词汇
需求说明中包括了设计仔细评审SRS,以确保它是在强调“做什么”,而非“怎么做”
需求验证未经验证的需求评审从用户代表方获得参与需求正式评审的承诺,并尽早通过非正式评审
审查的有效性对参与需求评审的所有人员进行培训,以使评审工作更加有效
需求管理需求变更将项目视图与范围文档作为变更的参照;用户积极参与需求获取过程;将那些易于变更的需求用多种方案实现,并在设计时注意其可修改性
需求变更过程建立规范的变更控制流程,并严格执行
未实现的需求使用需求跟踪能力矩阵或相关工具
项目范围蔓延在项目早期编制视图与范围文档,并得到用户确认;采用迭代式开发方法

系统分析师和项目管理人员可以利用上表来识别项目中的需求风险。但要注意的是,上表只是一个总结性的风险清单。具体到每一个项目,可能都会有些不同,需要根据实际情况进行增加或删减。在风险应对措施方面,也需要根据经验和项目约束,进行调整或改进。

更多内容请看下回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18配置Docker

1.基本过程 1.更新软件源列表 sudo apt update2.安装软件包依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common3.在系统中添加Docker的官方密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - …

新概念英语第二册(49)上

【New words and expressions】生词和短语(13) tired adj. 厌烦的 real adj. 真正的 owner n. 主人 spring n. 弹簧 mattress …

erlang (erlang 操作模块)学习笔记(四)

map_size 1> map_size(#{a>1, b>2, c>3}). 3返回一个整数,即键值对的数量 max 2> max(1, 2). 2 3> max(1.0, 1). 1.0 4> max(1, 1.0). 1 5> max("abc", "b"). "b"返回 Term1 和 Term2 中最大的值。如果这…

前端JavaScript篇之ES6中数组新增了哪些扩展?

目录 ES6中数组新增了哪些扩展?1. **箭头函数:**2. **扩展运算符(Spread Operator):**3. **解构赋值:**4. **Array.from()方法:**5. **Array.of()方法:**6. **find()和findIndex()方法&#xf…

Python入门到精通(七)——Python文件操作

Python文件操作 一、文件的编码 二、文件的读取 1、操作汇总 2、model 常用的三种基础访问模式 三、文件的写入 四、文件的追加 五、综合案例 一、文件的编码 1、什么是编码? 编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。编…

Flink1.14新版KafkaSource和KafkaSink实践使用(自定义反序列化器、Topic选择器、序列化器、分区器)

前言 在官方文档的描述中,API FlinkKafkaConsumer和FlinkKafkaProducer将在后续版本陆续弃用、移除,所以在未来生产中有版本升级的情况下,新API KafkaSource和KafkaSink还是有必要学会使用的。下面介绍下基于新API的一些自定义类以及主程序的…

解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占比,统计第6列中的"Pass"字段占比,并按每列首行元素名打印出统计占比 1.1 实现代码1:列数为常量 请确保替换y…

测试access和trunk口的区别(华为)

思科设备参考:测试access和trunk口的区别(思科) 一,实验目的 实现同一 Vlan 内的主机互通,不同 Vlan 间的主机隔离。 二,配置前测试 PC1分别ping PC2、PC3、PC4都能通,因为四台PC默认同处于v…

NatCross免费内网穿透工具:助你快速搭建内网服务

NatCross是一款免费的内网穿透工具,产品基于分布式集群服务架构,为需要远程连接的企业和个人提供更加稳定和简单的解决方案。 场景主要包括出差在外或分支机构访问公司的OA、CRM、ERP系统、利用ADSL等宽带连接实现远程视频监控、在办公室或者家里搭建网站…

Android native层c++调用java层API

在Android开发中,从本地(native)代码调用Java层的接口是一个常见的需求,尤其是在使用JNI(Java Native Interface)进行混合编程时。以下是一个基本的步骤指南,展示如何从C代码调用Java方法&#…

一文掌握SpringBoot注解之@Configuration知识文集(2)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

【JAVA】单例模式的线程安全性

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 正文 我的其他博客 正文 老生常谈的问题了,首先要说的是单例模式的线程安全意味着:某个类的实例在多线程环境 下只会被…

main函数中参数argc和argv用法解析

1 基础 argc 是 argument count 的缩写,表示传入main函数的参数个数; argv 是 argument vector 的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径&…

YOLO系列详解(YOLO1-YOLO5)

YOLO(You Only Look Once)系列是一组流行的实时对象检测算法,它们因其速度快和准确率高而闻名。YOLO 系列从 YOLOv1 发展到了后续的多个版本,每个版本都在性能、准确度和速度方面进行了改进。 YOLOv1 发布年份:2016主…

2024年美赛赛题浅析

MCM 赛题难度B>A>C 选题人数C>A>B Problem A: Resource Availability and Sex Ratios 数据收集多元分析定性分析(语文建模)稳定性分析相关分析 七鳃鳗寄生虫生态系统的数据收集 Problem B: Searching for Submersibles 数据收集预测模…

深度解读NVMe计算存储协议-2

近日,NVME协议组织为了解决这些性能问题并为供应商提供标准化机制,在其架构中集成优化的计算功能,开发了NVM Express (NVMe) 计算存储特性。 计算存储的核心特性包括两个命令集:计算程序集和子系统本地内存。 其中,计算…

python-分享篇-Turtle海龟-画图

文章目录 背景颜色画圆太阳花树椭圆 背景颜色 import turtlepen turtle.Turtle() turtle.Screen().bgcolor("blue") pen.color("cyan") for i in range(10):for i in range(2):pen.forward(100)pen.right(60)pen.forward(100)pen.right(120)pen.right(36…

供应商规模成倍增长,医疗器械制造商如何让采购效率更进一步|创新场景50...

ITValue 随着企业的快速发展,采购供应链网络日益庞大,企业在供应商管理上面临着管理体系分散、风险难以管控,采购过程环节多等问题,供应商内外协同亟待解决。 作者|秦聪慧 专题|创新场景50 ITValue 制造企业…

Node.js之内存限制理解_对处理前端打包内存溢出有所帮助

Node.js内存限制理解_对处理前端打包内存溢出有所帮助 文章目录 Node.js内存限制理解_对处理前端打包内存溢出有所帮助Node.js内存限制1. 查看Node.js默认内存限制1. Ndos.js_V20.10.02. Node.js_V18.16.0 2. V8引擎垃圾回收相关Heap organization堆组织 Node.js内存限制 默认情…

Lazysysadmin

信息收集 # nmap -sn 192.168.1.0/24 -oN live.port Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-30 21:10 CST Nmap scan report for 192.168.1.1 (192.168.1.1) Host is up (0.00075s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nma…