查看: 121|回复: 2

如何写好需求2

[复制链接]

1

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-11-29 19:13:22 | 显示全部楼层 |阅读模式
一组需求的特征

C10 - COMPLETE
一组需求陈述代表涉众期望的完整定义。


理由:
这个特征是关于确保所有的特性、功能和约束都出现在整个需求集合中。显然,如果在需求集中有遗漏,这就是一个问题。
有两个问题要问:
-所有的需求都被捕获了吗?
-所有的需求都得到了吗?
策略:
在最高级别上,完整性只能通过建模和与客户和所有相关涉众的评审来完全解决。在确定项目范围时,确保识别并参与所有涉众;确保从所有涉众的角度开发场景,针对所有生命周期阶段,以及名义上和非名义上的操作。确定所有外部接口,并确保定义了每个接口,并为给定接口中的每个交互包含了接口需求。
对于较低的抽象级别,从低级语句到高级语句的彻底和系统的跟踪可以提供实现完整性的信心,特别是如果关系的基本原理也被捕获的话。
使用需求标题结构也可以帮助确保考虑到所有方面。
目标是通过必要和充分的最低需求集来清楚地传达涉众的期望。
C11 - CONSISTENT
一组需求陈述代表涉众期望的一致表达。


A set of requirement statements represents a consistent expression of the stakeholder expectations.
理由:
通常,客户和其他相关涉众的需求或设计约束是相互冲突的,需要协调。冲突的需求会导致一个空的解决方案空间,如果在开发过程的早期没有确定,可能会导致昂贵的返工。此外,即使个别需求是明确的,不同需求中术语和缩写的不一致使用也会导致需求集中的歧义。
策略:
当需求集很大时,确保相同或非常相似的需求不在一组需求中的多个位置重复是一个特别的挑战。同样,发现需求之间的冲突也是一项挑战。
仅仅通过用于表达个别需求的语言很难控制这一点,但是可以通过对需求进行分类和排序来实现。
一种策略是根据需求所涵盖的方面进行分类,例如安全性、及时性、功能区域(桥梁、平交道口)等。然后使用排序和过滤将不同的需求组合在一起,并检查它们的交互、权衡和冲突。因此,分类是唯一可以通过表达需求而不是过程来处理的方面。
一般来说,只有通过对可能的解决办法进行建模,才能确定这些要求是否不可调和。然而,可以确定一些要求的表达方式是立即不可调和的。需求通常包含相互冲突的目标,需要相互交换。
使用术语表来确保在整个需求集中术语和缩写的一致使用。
特别注意接口需求,以确保它们与您感兴趣的系统交互的其他系统保持一致。
C12-FEASIBLE

A set of requirements represents a feasible expression of the stakeholder expectations.一组需求代表涉众期望的可行表达。
理由:
在生命周期的限制条件下(例如,成本、进度、技术、法律、法规),一个可获得/可行的解决方案应该能够满足完整的需求集。如果在开发过程的早期没有发现不可行性,它可能会导致浪费精力和成本。
虽然个别的需求陈述可能看起来是可行的,但当它们与其他陈述结合在一起时,可能就不可行了。也就是说,单个可行需求的组合并不一定等于一组可行需求。例如,以下是笔记本电脑的可行个人要求:重量不到1.4公斤,1 TByte的存储容量,有4个千兆字节的内存,无线网络接口,有一个以太网网络接口,USB接口,HDMI接口,可以从1米没有损坏,可以生存温度±50°C,和零售价低于900美元。虽然每一个需求看起来都是完全可行的,即使对非专业人士来说,我们也不能轻易地确定这个集合是可行的(也就是说,所有的需求都可以同时满足)。就当我们越过几个维度时,我们的人类直觉很快就抛弃了我们。
如果相关的个体需求分布在整个需求集中,对我们来说,“让我们的头脑围绕”需求集的可行性就更加困难了(参见特征C14 -结构化)
策略:
在生命周期的限制条件下(例如,成本、进度、技术、法律、法规),一个可获得/可行的解决方案应该能够满足完整的需求集。 如果在开发过程的早期没有发现不可行性,它可能会导致浪费精力和成本。  
C13 - BOUNDED

A set of requirement statements is within a defined scope. 一组需求陈述在定义的范围内。
理由:
这些需求集清楚地与设计团队、客户和在系统范围内定义的其他相关涉众的期望进行了沟通。 必须包括所有必要的要求; 必须排除所有不相关的需求。 此特性的目的是避免对工作范围的误解,并防止资源被用于实现超出批准或同意的能力。  
策略:
在编写需求之前开发和确定范围。 范围清楚地反映了涉众的期望。 一旦定义了范围(由涉众同意),那么就可以编写需求来反映它。 当范围被正式捕获时,跟踪需求到相应的范围内容。  
上下文图是定义范围的有用部分,显示正在开发的系统与其他系统的交互,以及交流什么是系统的一部分,什么不是。  
  C14-STRUCTURED

A set of requirement statements is structured such that sub-sets of related requirement statements can be identified.
一组需求陈述被结构化,这样相关需求陈述的子集就可以被识别。  
理由:
一个结构良好的文档可以让读者理解整个需求集,而不会给读者带来不必要的认知负担。  
尽管已经说明了个别需求陈述的完整性,但是当一个需求与其他相关需求放在一起时,理解它通常更容易。  
无论是文档结构还是数据库查询的结果,将相关的需求组聚集在一起的能力是识别需求语句之间的重复和冲突的重要工具。  
策略:
使用功能的分层分解作为需求的认知分组。  
但是,这种分解应该限制在每个分支最多7个子类,并且这些子类应该被选择为自然的(而不是任意选择的)实体。  
组织应该为他们的领域开发一个模板文档,定义为该领域开发的系统预期的结构。  
使用配置为允许识别相关需求集的需求管理工具。
回复

使用道具 举报

2

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2025-4-24 22:04:37 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊
回复

使用道具 举报

0

主题

9

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2025-7-9 10:44:53 | 显示全部楼层
有空一起交流一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ZCOOL

GMT+8, 2025-10-8 23:09 , Processed in 0.083873 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表