软件需求怎么写?

前言:一般来说,软件产品的需求人员的主要输出物就是软件需求,如果这个软件产品就XX系统,人们口中的"系统需求"和"软件需求"就没有什么区别了。在车企行业,推行这ASPICE体系,在这个体系中明确申请了系统域和软件域,分别定义了系统需求和软件需求,那两者就有一些区别的。笔者作为一个开发转岗的软件需求,下文主要是在项目实战后结合《软件需求》的理论介绍,梳理出对于一名软需分析师,比较有益的编写指南。

1、 小故事

是不是有些小小的沮丧??但这种情况确实又比较常见!既然不能做到完全避免,那如果降低发生的概率呢?

明确需求精确的程度,加强清晰的沟通,写出高质量的需求。

2、优秀需求的特点

这个问题可以从两个方面来看,需求项和需求集。

2.1 需求项的理想特点

(1)完整性

提供的信息可以让开发人员正确实现它,可以用TBD标识不确定项,并在过程中解决。

(2)正确性

用户代表应审查需求

(3)可行性

开发人员从技术角度检查实现的可行性,检查实现所需的时间、预算、人力等的可行性。

(4)必要性

每个需求都应源自一个有权提供需求的途径。

(5)优先级顺序

实现的先后顺序。

(6)无歧义

不可能消除需求里所有的歧义,但评审时有同事的帮助可以清除大多数更严重的歧义。

(7)可验证性

如不可验证,那是否正确实现将不是客观分析而是主观结果。测试人员擅长检查需求的可验证性。

从7个维度来思考需求项的要求,也可以看出"评审 "的重要性。在实施本工作之前,总觉得评审就是审核结果的形式,重点在于过与不过。但是学习此部分内容后,根深刻的理解了它所带有的讨论意义,也是基于此更明白我们实际操作评审中为什么总是会有那么多耗时的讨,因为需求本身也是强烈依赖"评审"以完善的。以软需分析人员的一己之力是不能做出好的需求的,这个工作是带有团队合作属性的。

2.2 需求集的理想特定

(1)完整性

任何包含TBD的SRS都是不完整的。

(2)一致性

需求间如存在冲突,开发就要硬着头皮处理;记录每个需求的来源,不一致时找相关人员沟通。

(3)可修改性

每个需求都有唯一标识,这样在必须修改的时候可以无歧义地引用和找出它们。

(4)追溯性

回溯来源,向下追溯到设计、代码、测试。

需求集的理想特点,更倾向于整体的状态,以及域之间的追溯关系等。

永远不可能完美具备这些理想特点,但在写和评审时牢记这些,将得到更好的需求和软件。

3、需求编写指南

"套路":

实践经历和来自相关者的反馈是最好的老师。

比如:同行审查)

"目标":

①任何阅读需求的人对需求理解一致;

②每个读者的理解与作者试图表达的一致

相比教条地使用规则和简介的风格,表达所产生的最终效果更重要。

3.1 角度

从系统或者用户的角度来描写,以明确行为主体是谁能做什么。

3.2 写作风格

3.3 细化程度

可以从"细节"和"粒度"两个维度思考细化程度问题,比如给外部客户的需求,细节上就应做到多场景;比如公司内部自研自用的,细节上就可考虑少场景;比如用少量用例就可以验证的需求可以粒度适宜即可,而需要大量不相关用例才可验证的,那就要拆分成粒度更细的场景。

3.4**表述技巧&避免歧义&**避免不完整性

4、"优秀"举例

亮点:表格(信息清晰明确)、明确数字边界(无歧义)......

5、怎么做好需求?

近期在一个行业分享视频中看到这样一个答复"要做到会提问! ",确实是的。

怎么提问呢?

------软需格式就是一种笨但好用的办法,能保障基本信息不缺失。

软需格式:在XX情况下,XX模块/服务收到XX信号,进行XX的处理,输出XXX(如果有输出的话)。

------进阶款,就涉及到角色转换、经验等等。

依稀记得曾经在视频号看到的一个"需求挖掘"对话过程,略显搞笑,但是接近"崩溃"的追问。。。

后记:都说做需求很容易,但谁做谁知道,"痛苦程度"也要看个人的负责程度和公司的整体土壤。

与君共勉!

相关推荐
知行EDI7 小时前
KION Group EDI 需求分析
edi·需求分析·电子数据交换·edi系统
若水心境9 小时前
需求分析&管理
需求分析
诗这样的1 天前
【需求变更】使用 Redis 和 Lua 脚本实现变更后方案编号的生成
java·redis·缓存·微服务·lua·需求分析
打码人的日常分享3 天前
系统安全设计规范,安全设计制度,系统安全管理制度(word原件)
大数据·系统安全·需求分析·设计规范·规格说明书
打码人的日常分享4 天前
网络安全建设,网络空间态势感知系统,网络整体安全方案(word)
开发语言·数据库·集成测试·需求分析·规格说明书
打码人的日常分享6 天前
软件系统安全保证措施,质量保证措施方案(Word原件套用)
大数据·安全·需求分析·设计规范·1024程序员节
帅次8 天前
基于云平台的智能家居管理系统设计与通信协议分析
设计模式·重构·软件工程·软件构建·需求分析·代码规范·设计规范
知行EDI9 天前
Balluff EDI 项目需求分析
edi·需求分析·电子数据交换·知行之桥·知行软件
文火冰糖的硅基工坊9 天前
[产品管理-51]:产品经理:塑造未来的多面手,道、法、术、器的全面掌控
产品经理·需求分析·创业
帅次10 天前
基于边缘计算的智能门禁系统架构设计分析
软件工程·团队开发·软件构建·需求分析·规格说明书·代码复审·极限编程