需求规格说明书是给谁看的(需求规格说明书是谁写的)

写在前面如果你明确清晰知道需求规格说明书是什么,则可以忽略此文章。如果你不清晰,建议还是阅读一下本文,不然也许早晚会碰钉子。转载请标明出处:http://blog.csdn.net/ouyida3/article/details/46045261本文出自:【ouyida3的博客】起因最近在做项目时,根据项目计划,在用户输出了《需求书》后,需要我在2天编写出《需求规格说明书》,但是就这个说明

大家好,又见面了,我是你们的朋友全栈君。

写在前面

如果你明确清晰知道需求规格说明书是什么,则可以忽略此文章。如果你不清晰,建议还是阅读一下本文,不然也许早晚会碰钉子。

转载请标明出处:
http://blog.csdn.net/ouyida3/article/details/47683191
本文出自:【ouyida3的博客

起因

最近在做项目时,根据项目计划,在用户输出了《需求书》后,需要我在2天编写出《需求规格说明书》,但是就这个说明书是什么,要编写什么我和用户产生了较大分歧,甚至对项目还产生了一些不好的影响,比如被领导臭骂。

需求书的定义

软件工程里对于软件项目各个过程需要输出的文档都有明确的定义,但是每个方法论又是不太一样,比如cmmi和敏捷的相似性就不大。当提到用户故事那应该是敏捷而不是cmmi,当说起需求规格说明书就应该不是敏捷的。

叫什么名字其实我不太关注,抛开这些定义,一个真实的需求分析到软件设计的过程是怎样呢?

Created with Raphaël 2.1.0 用户提出需求 用户与需求分析人员共同确认需求 软件设计人员进行设计

cmmi的输出

cmmi在上述的第一步,会输出《用户需求规格说明书》,第二步会输出《软件需求规格说明书》,第三步会输出《软件概要设计说明书》。
当然,用户需求称为客户需求也行,软件需求规格说明叫做软件规格需求说明都可以,这些我不关注。

我想表达的是,《用户需求规格说明书》是业务人员写的,《软件需求规格说明书》是技术人员写的,如果是甲乙方的项目,那就是甲方的技术部写;而《软件概要设计说明书》是乙方输出。因此,假设如果我并不是甲方人员,让我写《需求规格说明书》,无论是用户需求还是软件需求,都是不合适的。回到主题,明显需要我写的只能是《软件需求规格说明书》。但是项目计划里简简单单的写上需求规格说明书是不恰当的。

软件需求规格说明书有什么

先说说没有什么:一定不涉及技术元素,比如选择什么技术路线,选择什么编程语言等等。也没有什么数据库的设计。
一定要技术人员和用户都看得懂。这样用户可以根据这个来验收,技术人员也可以根据它来进行概要设计。
当然,也要根据用户的需求书来验收,但是毕竟它和软件系统脱离的,有些关于系统操作类的精确事项无法描述到。

举个例子,比如有四个不同的业务人员各自提出需求,他们之间的需求肯定有相似的地方,也有不同的地方,那么《软件需求规格》就需要把相同点归并,不同点如何体现编写出来,并且与四个业务人员确认,这样合并是否能满足了这个需求。如果有一些现存的老系统,那么也需要说明对老系统进行什么样的改造(非技术类说明)。

谈谈时间

上面的例子,能否2天编写完成?我认为要看系统大小。如果是10人月以上的系统,2天是远远不足够的。根据经验,我个人认为是1人月的系统,大概需要2人天写这玩意。

谈谈敏捷

敏捷强调小步快跑,所以由用户写用户故事,完后直接就分析故事排计划,简单一些设计文档后就直接编码开干了,代码是最好的设计,通过不断的迭代完善。但是大项目、大系统,还是需要一些文档统筹设计的。详细可看Mike Cohn大师写的书《用户故事与敏捷方法》

转载请标明出处:
本文出自:【ouyida3的博客
2015.8.15

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128380.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机三级数据库:课本知识点总结以及备考方案建议

    计算机三级数据库:课本知识点总结以及备考方案建议计算机三级(数据库)复习重点欢迎阅读我的计算机三级总结第一章数据库应用系统开发方法第二章需求分析第三章数据库结构设计(自底向上)第四章数据库应用系统功能设计与实现第五章UML与数据库应用系统第六章高级数据查询第七章数据库及数据库对象第八章数据库后台编程技术第九章安全管理第十章数据库运行维护与优化第十一章故障管理第十二章备份与恢复数据库第十三章大规模数据库架构第十四章数据…

    2022年6月18日
    28
  • linux系统nginx启动_电脑更新时重启电脑会怎样

    linux系统nginx启动_电脑更新时重启电脑会怎样Nginx是高性能的web服务器也是非常好用反向代理服务器,可以实现负载均衡,动静分离等策略,在linux下用的非常多。下面是下载地址http://nginx.org/en/download.html安装过程需要对Linux网络和配置yum源的知识比较熟悉下载下来并传入到服务器。第一步是进行解压tar-zxvfnginx-1.13.1

    2022年10月5日
    0
  • checkbox选中和不选中 jqu_jquery怎么设置checkbox不选中?

    checkbox选中和不选中 jqu_jquery怎么设置checkbox不选中?jquery怎么设置checkbox不选中?jquery对checkbox进行操作需要使用prop()方法。1、设置不选中:$(“#my-checkbox”).prop(“checked”,false);2、设置选中:$(“#my-checkbox”).prop(“checked”,true);3、获取选中的状态:letstatus=$(“#my-checkbox”).prop(“check…

    2022年6月26日
    35
  • 微博第三方登录时,域名使用错误报错, Laravel \ Socialite \ Two \ InvalidStateException No message…

    微博第三方登录时,域名使用错误报错, Laravel \ Socialite \ Two \ InvalidStateException No message…

    2021年10月25日
    42
  • 用java代码实现九九乘法表

    用java代码实现九九乘法表分析乘法表发现,整体有九行,第一行是一列,第二行是两列,第三行三列…..第九行对应有九列,所以它的行数对应就有多少列,这样我们可以通过借助行数来控制它的列数,以此来实现乘法表的打印。具体代码实现:for循环publicclassMultTable{ publicstaticvoidmain(String[]args){ //此处调用九九乘法表方法实现打印 multMethod(); } publicstaticvoidmultMethod(){ /

    2022年7月9日
    19
  • 怎么判断草图完全约束_算法基础课acwing下载

    怎么判断草图完全约束_算法基础课acwing下载爱丽丝和鲍勃正在玩以下游戏。首先,爱丽丝绘制一个 N 个点 M 条边的有向图。然后,鲍勃试图毁掉它。在每一步操作中,鲍勃都可以选取一个点,并将所有射入该点的边移除或者将所有从该点射出的边移除。已知,对于第 i 个点,将所有射入该点的边移除所需的花费为 W+i,将所有从该点射出的边移除所需的花费为 W−i。鲍勃需要将图中的所有边移除,并且还要使花费尽可能少。请帮助鲍勃计算最少花费。输入格式第一行包含 N 和 M。第二行包含 N 个正整数,第 i 个为 W+i。第三行包含 N 个正整数,第.

    2022年8月9日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号