需求管理二:需求的建模与跟踪

article/2025/8/31 1:03:12

(原创文章,欢迎转载,请注明出处)

上回说到需求分析的一些内容。这回我总结总结我对需求建模和跟踪方面方法。

 

需求也是有模型的,有很多UML语言支持需求的建模,它不是UML的标准视图,而是扩展的视图。我喜欢用UML的Enterprise Architect, EA;虽然有很多很好用的开源UML工具,我还是选择了EA。原因很简单:稳定、简单、易用、强大。

 

EA支持对需求建模。需求是一个非常复杂的东西,可能需要不同的方式进行表达,才能表述清楚。如界面的需求,其实就是很麻烦的,除了功能的组织外,可能还有每个控件的位置及其显示的内容和交互方式。用自然语言还不太好描述,最好能用图片画一下,那就一目了然了。所以EA提供的Requirements建模的工具箱里的元素不够多,如果是在有别的需要,可以考虑使用Toolbox里的Custom工具。里面就含有对界面的建模。如图所示:

 

需求的建模,是为了:

1.理清楚需求与需求之间的关系;

2.理清楚需求的种类,哪些需求是功能需求,哪些需求是性能需求,哪些需求是扩展性需求等等;

3.将需求细化到可追踪的粒度;

4.明晰需求的范围;

5.确定需求的优先级别。

 

EA为需求模型准备了聚合、继承、关联、实现等关系。需求分为:功能、性能、打印、报告、测试、验证等类别。EA里这些需求类别倒是没什么太多的意义,我觉得功能、性能、维护、测试等需求分类可能更好。不过,这个分类仁者见仁,智者见智,没啥太好说的。主要看这需求间的几种关系:

 

  • 聚合关系:一组需求聚合为一个需求,旨在强调整体与部分的关系。“包含”、“组成”、“组成...部分”都是聚合关系的一种描述。例如,客户端与服务器之间通信的需求,实际上就是由服务器与客户端握手、服务器与客户端传输数据、服务器与客户端停止通信等需求聚合而成的。聚合关系可以用来分解顶层的需求,将其分为粒度较小的需求;
  • 继承关系:继承关系或泛化关系旨在强调普遍和特殊的关系, 例如,系统允许客户登录这个需求,实际上可以特殊化成两个需求,一是该计算机的终端登录,另一个是从网络或其它通讯接口远程登录;这两个需求是客户登录这个需求的特殊的例子。分析继承关系的时候,旨在强调特殊需求之间的独立性和互斥性。聚合关系是一组需求组合成一个需求,如果少了任意一个需求,被聚合的需求就不完整。而继承关系下的特殊需求少了任何一个需求,这个需求看起来都是完整的。终端登录和远程登录少了其中任何一个,用户登录这个需求都能完成。这个关系还强调终端登录与远程登录之间的独立性和互斥性。
  • 关联关系:个人觉得使用被使用的关系,除实现、聚合、继承以外的关系都可称为关联关系。:) 大杂烩。
  • 实现关系:实现关系也很好理解,就是一个需求是为了实现另外一个需求而存在的。实现需求一般都是系统的边界了,用例、交互等等都可以与实现需求对应上了。

我在学习EA的时候,发现EA里也允许需求模型中出现依赖关系,当然为了增强语义,指出单方面的使用关系,可以使用依赖关系来描述需求与需求的关系。当把需求建立完模型后,EA的强大就显现出来了。选择View > Relationship Matrix,你可以发现

 



 

Source/target都选择需求模型,类型都选择需求,Link type:选择聚合,Direction可以选择both,我这里选择了Sorce->target。矩阵表会把所有需求间的聚合关系都列在这里,一目了然,当然,也可以查看其它链接类型。让我们很方便的查阅一个大项目中的需求与需求之间的关系。

 

需求变动那是经常的,有时候需要查看一条需求改变以后能影响哪些需求,其实这个用EA是很方便办到的。选中变动的需求,ctrl + shift+ 4 或 view > Traceability。

 


 

看到左侧多了一个Traceability的框,它显示了这个需求与其他所有UML中的元素之间的关系。 我们可以很轻松的分析这条需求变动后会对整体产生什么样的影响。

 

其实,在实践中,我不是UML专家,很多情况下就是为了团队能看清楚需求与需求间的关系,需求更改后能影响到哪一部分,相关的东西应该怎么改。所以分析需求与需求间的关系,我不刻意的去做,实在头疼了需求之间直接就使用关联关系。每个人拿到模型后,都是需要先理解需求的。再分析需求与需求间的关系,所以关联关系就被我滥用了。这有个好处,那就是使用跟踪矩阵的时候,不用来回切换了,直接选择Association即可查阅所有关系。但这不意味着,需求之外也这样干,那是自寻死路。

 

(To be continued...)

(原创文章,欢迎转载,请注明出处)


http://chatgpt.dhexx.cn/article/62UlZSxH.shtml

相关文章

【项目管理】聊聊需求管理跟踪

在实际项目开发过程中,实现用户的需求的过程并非是按部就班一切按计划推进。特别是面对用户不确定性的需求变更导致开发实施推进的进度和成本增加的风险出现。因此如何有效管理需求,将管理用户需求的风险造成的损失降到可控范围之内,需要用到…

解密需求跟踪矩阵

解密需求跟踪矩阵 需求跟踪是需求管理的一项重要内容,具体指跟踪一个需求使用期限的全过程。在需求跟踪过程中,记录每个需求同系统元素之间联系的文档,我们称之为《需求跟踪矩阵》。 《需求跟踪矩阵》的作用 《需求跟踪矩阵》连接了需求与需…

目标跟踪技术

一、角跟踪 早期角跟踪雷达的精度依赖于所使用的波束的尺寸,现代大多是雷达系统通过利用单脉冲跟踪技术获得更优的角度测量结果。 跟踪雷达利用雷达波束内目标角度相对于天线主轴角度的偏移量来产生一个误差信号,这个误差信号去驱动伺服系统跟踪目标。 …

需求跟踪管理

一、产品包需求 在IPD流程中,产品包和产品包需求是非常重要的概念,贯穿产品包实现这条主线,所谓产品包是产品开发团队对客户或下游环节所交付物的统称。 产品包需求是对最终要交付给客户(内部客户、外部客户)的产品包…

需求工程之需求跟踪

目录 需求跟踪需求跟踪的主要意义需求跟踪的主要目标需求跟踪分为:需求跟踪好处:需求跟踪能力链:跟踪能力联系链可能的信息源:需求跟踪的实现方法:需求跟踪矩阵优缺点:实体联系模型优缺点:交叉引…

需求跟踪

需求跟踪概述 需求跟踪需求跟踪是指跟踪一 个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,…

怎样修改一篇简历 简历怎么写

一、简历的格式 简历一般分为纸质简历和电子简历。要根据用人单位的要求。如果你在招聘市场进行应聘的话,一般使用纸质简历。而当你在网上投递简历时,则使用电子版。 二、简历的主要内容 简历主要包括个人情况(包括专长)&#xff…

个人简历英语及计算机能力怎么写,简历个人能力怎么写(简历中个人能力的填写技巧)...

我们在网上填写简历的时候总是会有个人能力、计算机水平、英语水平这样比较自主介绍推销自己的填写项目。对于能力介绍如果填写的好可以体现个人的实力与能力,给查看简历的用人单位留下一个好印象,进而获得当面交流的机会,然现实中不重视或随…

9年技术面试官讲解:计算机专业应届生怎样写简历

本人作为面试官,也有过校招经历。在这过程中,发现有些毕业生同学的简历无法证明自己能胜任程序员的工作,甚至也没有面试价值。同时,本人也见识了不少“一看就想留下”的简历。在本文里,就将用正反两方面的实例&#xf…

计算机方面毕业生怎样写简历

本人曾经作为面试官,也有过校招经历。在这过程中,发现有些毕业生同学的简历无法证明自己能胜任程序员的工作,甚至也没有面试价值。同时,本人也见识了不少“一看就想留下”的简历。在本文里,就将用正反两方面的实例&…

【第四章】输入、输出接口P0~P3

文章目录 【 1. 接口电路 】【 2. P0口 】【 3. P1口 】【 4. P2口 】【 5. P3口 】【 6. 小结 】 【 1. 接口电路 】 接 口 电 路 的 必 要 性 : \color{red}{接口电路的必要性:} 接口电路的必要性:  计算机对外设进行数据操作时&#xff0…

统计学P值

P 值是最常用的一个统计学指标,几乎统计软件输出结果都有P值。 统计学的观点,超过一定基准(比如 5%,其实是低于5%),就不能简单地认为这是偶然事件了,而是受到了外在的影响。 数学大佬出来定义了…

c3p0详细配置(c3p0-config.xml)及使用

参数详细说明请跳转&#xff1a; 数据库连接池c3p0常用配置说明 <c3p0-config> <default-config> <!-- 数据库驱动名 --> <property name"driverClass" ></properties> <!-- 数据库的url --> &…

3.FXBLUE跟单原理

3.1 FXBLUE跟单速度 fxblue喊单EA一旦发现其MT4账户中有新的订单&#xff0c;就会向fxblue跟单EA发送一条消息。然后&#xff0c;fxblue跟单EA将尝试进行相同的交易&#xff0c;也就是实时跟单&#xff0c;复制订单。这个过程是快速立即马上响应&#xff0c;但复制交易所需的时…

介绍几种电路上常用的塑料插接件(1)

介绍几种电路上常用的插接件&#xff08;1&#xff09; 最近在做几个电路方面的小项目。做这做这发现有好多小零件都不知道叫什么。比如上面用到的大大小小的插接件。都经常见&#xff0c;但是就是不知道名字。所以就专门花了点时间调研了一番。 这篇博客就来总结几种常见的塑…

t460p加固态硬盘 thinkpad_不仅是硬件升级!ThinkPad T460p评测

原标题:不仅是硬件升级!ThinkPad T460p评测 ThinkPad旗下的T4x0p系列产品一直是追求性能的小黑粉丝们非常关注的一款产品,ThinkPad今年正式推出了最新的T460p商务笔记本,由于T450p的缺席,大家对这款机器有着非常高的期待值。今天的评测将带您了解升级了Skylake处理器的它具…

oracle存储过程动态sql单引号拼接和变量拼接

1.单引号的作用 在oracle中单引号主要有两个作用: 一是字符串都用单引号引用,例如abc;二是转义符,转义符在使用时一般会出现多个连在一起的单引号,相对难理解一些。下面举例说明。 实例1:select from dual; 实例1结果: 实例2:select oracle from dual; 实例2结果: 实…

51单片机并行接口P0~P3

文章目录 前言一、并行接口P0&#xff08;1&#xff09;P0口(2)、P0口作为通用I/O口 二、并行接口P1三、并行接口P2四、并行接口P3P3口的第二特殊功能引脚分配&#xff1a; 归纳四个并行口使用的注意事项如下&#xff1a; 前言 学习51单片机&#xff0c;IO口可以说是重中之重&…

FPGA接口-PMOD,FMC与SYZYGY

现代FPGA 功能强大&#xff0c;它通过芯片的可编程引脚与外围电路相连。比如AD/DA,数字IO以及以太网&#xff0c;USB&#xff0c;CAN &#xff0c;视频I/O 等接口电路。人们将这些接口称为夹层模块&#xff08;Mezzanine Module&#xff09;。为了实现FPGA 系统的模块化设计&am…

校园接单网站源码/跑腿网源码

介绍&#xff1a; 项目功能&#xff1a; 1.校园服务&#xff1a;打印、快递代取、校园跑腿、上门维修、代替服务 等等可自定义 2.添加校园代理 3.提现 4.接单 5.申请接单 6.数据分析 7.广告管理 8.用户管理 实现技术&#xff1a; 1.后台服务端&#xff1a;nodejskoa2mysql 2.后…