需求和设计的区别是什么

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

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

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

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

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

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

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

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

              3、......

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

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

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

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

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部