需求和设计的区别是什么

本文探讨了需求与设计在软件开发中的紧密联系,指出'怎么做'其实是由一系列'做什么'逻辑关联构成。两者并非截然分开,而是需求提供宏观指导,设计则细化实现步骤。区分它们是为了满足不同读者的需求,如需求文档关注高层次目标,设计文档则包含详细操作。
摘要由CSDN通过智能技术生成

    很多软件设计书上都是这么说的:需求是描述“做什么”,设计是描述“怎么做”,但实际上,"怎么做"是由一系列的"做什么"来描述的,所以需求和设计的关系也是这样,需求写得更详细一些就是设计。

    也就是说,“怎么做”实际上是一系列由各种逻辑关系关联起来的更细粒度的“做什么”,或者说是“先做什么,再做什么”,以及在什么情况下"做什么",在其它情况下"做什么"。例如:

   需求描述为:完成一个任务调度框架(做什么)

   设计可能如下这样(怎么做):

              1、首先创建一个任务队列(做什么)

              2、然后创建一个线程池(做什么)

                    2.1、先初始化n个线程(做什么)

                            2.1.1、令每个线程从任务队列读取一个任务执行(做什么)

              3、......

     如上面的例子,设计是由一系列更细粒度的“做什么”来描述的。因此可以认为需求和设计是同样的东西,都是描述要做什么,只是设计描述的更详细而已。

 而在实际工程中,为什么要区分需求和设计呢?认为是要为不同的人服务,有的人不关心更详细的做什么,只关心大的做什么,这时候,就可以通过需求和设计的拆分来满足不同人的需要.

     那么,需求文档和设计文档的区别是什么?

     是一个界限,因为需求和设计都是在描述“做什么”,设计是更细粒度的“做什么”,因此,在撰写需求和设计文档的时候,就需要确定需求里的“做什么”写到什么粒度,以便更细粒度的“做什么”写到设计文档中。

    因为文档是用来给人看的,因此,通常应该根据文档面向的读者来确定文档内容,可有时一份文档又会面向不同的读者,此时就会众口难调了,就根据实际情况决定吧,如果阅读需求的人想了解更多细节,那就多写一些,否则就少些一些。比如:需要根据需求来撰写用户手册,那么需要用户了解的内容就写到需求里,不需要的就可以不写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值