`

<转>如何编写优质的需求文档

阅读更多

 从较高的层次来看,书写需求文档的目的就是要提供对所需行为的有效描述。该所需行为可用一个黑盒系统描述,并需要注意以下细节:

  • 工程师可以根据系统所说进行实现
  • 测试人员,在不与开发人员沟通的前提下,可以利用满足硬件要求的设备验证需求。
  • 最终产生的成果满足终端用户的要求。
  • 黑盒测试

书写优质的需求文档:

最基本的原则是:需求文档应当尽量简洁,用最易懂的描述来约束系统的预期行为。 如果你遵循这个原则,剩下的那些重要因素(可测试性、避免过度设计等等)都将变得顺理成章。

  列举一下更详细的规则,通常会更有帮助。下面是书写优质需求文档需要遵循的步骤:

  1. 定义系统的边界。这也是黑盒系统所必要的。

  2. 定义输入和输出。这也应当是你看待内部系统的唯一方式。

  3. 用最易懂的方式描述系统的预期行为

  4. 除了输入和输出之外,你的需求是不是还涉及了系统的其他部分?如果是,那么你的需求就设计过度了。重构需求,让它变得精简。

  5. 你的需求是不是过于模棱两可?加入更多的限定规范。注意:有些模棱两可的描述并不是坏事,假设描述所包含的所有情况均可被接受,且测试的时候不需要附加的信息加以说明,那么就没关系。你不需要(也不应该)把系统的行为限制得过头。

  6. 你的需求是否可测试?(这里指的是黑盒测试)如果不是,你最好返回到第 4 步。如果这种返工发生很多次,那就说明你的黑盒无法正确描述系统,或者你的测试工具不够优秀。无论是哪种情况,不可测试的需求文档几乎就是一文不值的。

  7. 你的需求文档通俗易懂么?如果你的需求文档非常难以读懂,那就说明你写得不好,只能给那些照着你的需求负责实施的人带来无尽的痛苦。如果是这样,回到第 3 步。

  8. 你是不是真的做到了第 4 步?你确认么?再检查一下。

原文地址:

http://kb.cnblogs.com/page/135757/

分享到:
评论

相关推荐

    HTML(HyperText Mark-up Language)即超文本标记语言

    &lt;p&gt;&lt;strong&gt;加粗&lt;/strong&gt;, &lt;em&gt;斜体&lt;/em&gt;, &lt;u&gt;下划线&lt;/u&gt;, &lt;del&gt;删除线&lt;/del&gt;, &lt;ins&gt;下划线&lt;/ins&gt;&lt;/p&gt; ``` - **水平线标签** (`&lt;hr&gt;`): 插入一条水平线。 - 示例: ```html &lt;hr&gt; ``` - **字体标签** (`...

    HTML5浮动-制作QQ会员页面导航

    `&lt;head&gt;`部分包含元信息,如字符编码(`&lt;meta charset="UTF-8"&gt;`)和页面标题(`&lt;title&gt;QQ登录导航&lt;/title&gt;`)。`&lt;body&gt;`部分则包含实际的网页内容。 在创建QQ登录导航时,我们会用到`&lt;nav&gt;`元素,它是HTML5中专...

    JQuery标签页

    在网页设计和开发中,jQuery是一个非常流行的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。...无论是手动编写还是使用jQuery UI,都可以根据项目需求灵活定制,提供优质的用户体验。

    jQuery倾斜打开侧边栏菜单代码.zip

    &lt;li&gt;&lt;a href="#"&gt;菜单项1&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;菜单项2&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;菜单项3&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; ``` 接着,我们使用CSS来设计侧边栏的基本样式,包括颜色、字体、布局等。同时,为了实现...

    网页制作完全手册资源很好用,学网页选这个资源很好

    在"网页制作完全手册"中,你将深入学习HTML的基本语法和标签,如`&lt;html&gt;`, `&lt;head&gt;`, `&lt;body&gt;`, `&lt;h1&gt;`, `&lt;p&gt;`等,以及如何使用`&lt;img&gt;`标签插入图片和`&lt;a&gt;`标签创建链接。 接着是CSS(层叠样式表),它负责网页的...

    如何编写优质的软件测试需求文档

    编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以...

    djangobook中文完整版

    print("&lt;li&gt;%s&lt;/li&gt;" % row[0]) print("&lt;/ul&gt;") print("&lt;/body&gt;&lt;/html&gt;") connection.close() ``` 2. **Django框架下的实现**:相比之下,使用Django框架,同样的功能可以用更简洁、更优雅的方式实现。...

    tour

    例如,`&lt;html&gt;`标签是整个文档的根元素,`&lt;head&gt;`包含了元数据如标题,而`&lt;body&gt;`则包含了用户在浏览器中看到的实际内容。在"tour"项目中,可能会有`&lt;header&gt;`用于显示logo和导航菜单,`&lt;section&gt;`和`&lt;article&gt;`用于...

    36氪产品需求文档(注册登录模块).docx

    综上,36氪产品需求文档的重点在于理解用户需求,简化注册登录流程,提高用户体验,并确保产品稳定性和信息的及时、专业。通过不断优化细节,36氪致力于满足目标用户群体对高质量商业资讯的需求。

    腾讯公司产品需求文档模板Pdf

    《腾讯公司产品需求文档模板》是腾讯公司在进行产品开发时使用的标准文档,它详细规定了产品的功能、设计、用户需求及预期目标等方面,是产品开发流程中的重要参考资料。以下将详细解析该模板中的核心知识点: 1. *...

    modernizr中文文档

    通过合理地使用Modernizr,你可以编写出更加健壮、可维护的代码,为用户提供更优质的浏览体验。在中文文档中,你可以找到关于每个特性的详细介绍和使用示例,这对于理解和应用Modernizr 非常有帮助。

    240_HTML手机电脑网站_网页源码移动端前端_H5模板_自适应响应式源码 (2).zip

    例如,它提供了新的语义化元素(如&lt;header&gt;、&lt;footer&gt;、&lt;article&gt;等),使内容结构更加清晰。此外,HTML5支持多媒体元素,如&lt;audio&gt;和&lt;video&gt;,无需插件即可播放音频和视频。同时,离线存储(Offline Storage)和...

    479_HTML手机电脑网站_网页源码移动端前端_H5模板_自适应响应式源码 (2).zip

    例如,`&lt;header&gt;`、`&lt;nav&gt;`、`&lt;section&gt;`、`&lt;article&gt;`和`&lt;footer&gt;`等语义化标签,有助于提高网页内容的可读性和可访问性。HTML5还引入了音频和视频元素,使得媒体嵌入更加直接,无需依赖Flash等外部插件。此外,...

    显示测试

    此外,还有许多其他标签,如`&lt;h1&gt;`至`&lt;h6&gt;`定义标题,`&lt;p&gt;`用于段落,`&lt;a&gt;`创建超链接,`&lt;img&gt;`插入图像,以及`&lt;div&gt;`和`&lt;span&gt;`作为内容分组和定位的容器。 显示测试涵盖多个方面: 1. **浏览器兼容性**:不同的...

    猫扑联盟产品需求文档模板v1.0.0.zip

    在实际操作中,团队应根据这个模板来编写具体的产品需求文档,确保每个部分都详实、准确,便于理解和执行。同时,文档应该随着项目的进展不断更新,以反映最新的需求变更和决策。 总之,一个好的需求文档模板是成功...

    jQuery仿领英网站条件筛选菜单代码

    &lt;button data-value="category1"&gt;类别1&lt;/button&gt; &lt;/li&gt; &lt;li&gt; &lt;button data-value="category2"&gt;类别2&lt;/button&gt; &lt;/li&gt; &lt;!-- 更多筛选项... --&gt; &lt;/ul&gt; ``` **3. CSS样式** 在CSS文件中,我们为筛选菜单添加样式...

    VB程序的帮助文件制作过程

    在VB(Visual Basic)编程环境中,为应用程序创建帮助文件是一个重要的步骤,因为它能提供用户友好的体验,方便用户理解和...在实际操作中,不断试验和调整,以满足不同用户的需求和习惯,是制作优质帮助文件的关键。

    怎样写出清晰的需求文档_肖哥1

    以下是一些撰写优质需求文档的关键点: 1. **目的明确**:首先,需求文档应当清楚地阐述背景、目的和功能的上下文。这样做能帮助团队理解为什么需要这些功能,而不是仅仅关注功能的细节。在描述功能时,应先解释其...

Global site tag (gtag.js) - Google Analytics