从较高的层次来看,书写需求文档的目的就是要提供对所需行为的有效描述。该所需行为可用一个黑盒系统描述,并需要注意以下细节:
- 工程师可以根据系统所说进行实现
- 测试人员,在不与开发人员沟通的前提下,可以利用满足硬件要求的设备验证需求。
- 最终产生的成果满足终端用户的要求。
书写优质的需求文档:
最基本的原则是:需求文档应当尽量简洁,用最易懂的描述来约束系统的预期行为。
如果你遵循这个原则,剩下的那些重要因素(可测试性、避免过度设计等等)都将变得顺理成章。
列举一下更详细的规则,通常会更有帮助。下面是书写优质需求文档需要遵循的步骤:
1. 定义系统的边界。这也是黑盒系统所必要的。
2. 定义输入和输出。这也应当是你看待内部系统的唯一方式。
3. 用最易懂的方式描述系统的预期行为
4. 除了输入和输出之外,你的需求是不是还涉及了系统的其他部分?如果是,那么你的需求就设计过度了。重构需求,让它变得精简。
5. 你的需求是不是过于模棱两可?加入更多的限定规范。注意:有些模棱两可的描述并不是坏事,假设描述所包含的所有情况均可被接受,且测试的时候不需要附加的信息加以说明,那么就没关系。你不需要(也不应该)把系统的行为限制得过头。
6. 你的需求是否可测试?(这里指的是黑盒测试)如果不是,你最好返回到第 4 步。如果这种返工发生很多次,那就说明你的黑盒无法正确描述系统,或者你的测试工具不够优秀。无论是哪种情况,不可测试的需求文档几乎就是一文不值的。
7. 你的需求文档通俗易懂么?如果你的需求文档非常难以读懂,那就说明你写得不好,只能给那些照着你的需求负责实施的人带来无尽的痛苦。如果是这样,回到第 3 步。
8. 你是不是真的做到了第 4 步?你确认么?再检查一下。
原文地址:
http://kb.cnblogs.com/page/135757/
分享到:
相关推荐
<p><strong>加粗</strong>, <em>斜体</em>, <u>下划线</u>, <del>删除线</del>, <ins>下划线</ins></p> ``` - **水平线标签** (`<hr>`): 插入一条水平线。 - 示例: ```html <hr> ``` - **字体标签** (`...
`<head>`部分包含元信息,如字符编码(`<meta charset="UTF-8">`)和页面标题(`<title>QQ登录导航</title>`)。`<body>`部分则包含实际的网页内容。 在创建QQ登录导航时,我们会用到`<nav>`元素,它是HTML5中专...
在网页设计和开发中,jQuery是一个非常流行的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。...无论是手动编写还是使用jQuery UI,都可以根据项目需求灵活定制,提供优质的用户体验。
<li><a href="#">菜单项1</a></li> <li><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> </ul> </div> ``` 接着,我们使用CSS来设计侧边栏的基本样式,包括颜色、字体、布局等。同时,为了实现...
在"网页制作完全手册"中,你将深入学习HTML的基本语法和标签,如`<html>`, `<head>`, `<body>`, `<h1>`, `<p>`等,以及如何使用`<img>`标签插入图片和`<a>`标签创建链接。 接着是CSS(层叠样式表),它负责网页的...
编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以...
管理后台功能需求文档模板的编写是为了服务于项目的整体规划和实施。通过清晰的描述和全面的框架设计,我们不仅希望能够提高技术开发的效率,减少开发过程中的返工,更希望能为用户提供优质的管理后台体验。同时,该...
print("<li>%s</li>" % row[0]) print("</ul>") print("</body></html>") connection.close() ``` 2. **Django框架下的实现**:相比之下,使用Django框架,同样的功能可以用更简洁、更优雅的方式实现。...
例如,`<html>`标签是整个文档的根元素,`<head>`包含了元数据如标题,而`<body>`则包含了用户在浏览器中看到的实际内容。在"tour"项目中,可能会有`<header>`用于显示logo和导航菜单,`<section>`和`<article>`用于...
综上,36氪产品需求文档的重点在于理解用户需求,简化注册登录流程,提高用户体验,并确保产品稳定性和信息的及时、专业。通过不断优化细节,36氪致力于满足目标用户群体对高质量商业资讯的需求。
《腾讯公司产品需求文档模板》是腾讯公司在进行产品开发时使用的标准文档,它详细规定了产品的功能、设计、用户需求及预期目标等方面,是产品开发流程中的重要参考资料。以下将详细解析该模板中的核心知识点: 1. *...
通过合理地使用Modernizr,你可以编写出更加健壮、可维护的代码,为用户提供更优质的浏览体验。在中文文档中,你可以找到关于每个特性的详细介绍和使用示例,这对于理解和应用Modernizr 非常有帮助。
例如,它提供了新的语义化元素(如<header>、<footer>、<article>等),使内容结构更加清晰。此外,HTML5支持多媒体元素,如<audio>和<video>,无需插件即可播放音频和视频。同时,离线存储(Offline Storage)和...
例如,`<header>`、`<nav>`、`<section>`、`<article>`和`<footer>`等语义化标签,有助于提高网页内容的可读性和可访问性。HTML5还引入了音频和视频元素,使得媒体嵌入更加直接,无需依赖Flash等外部插件。此外,...
此外,还有许多其他标签,如`<h1>`至`<h6>`定义标题,`<p>`用于段落,`<a>`创建超链接,`<img>`插入图像,以及`<div>`和`<span>`作为内容分组和定位的容器。 显示测试涵盖多个方面: 1. **浏览器兼容性**:不同的...
在实际操作中,团队应根据这个模板来编写具体的产品需求文档,确保每个部分都详实、准确,便于理解和执行。同时,文档应该随着项目的进展不断更新,以反映最新的需求变更和决策。 总之,一个好的需求文档模板是成功...
<button data-value="category1">类别1</button> </li> <li> <button data-value="category2">类别2</button> </li> <!-- 更多筛选项... --> </ul> ``` **3. CSS样式** 在CSS文件中,我们为筛选菜单添加样式...
在VB(Visual Basic)编程环境中,为应用程序创建帮助文件是一个重要的步骤,因为它能提供用户友好的体验,方便用户理解和...在实际操作中,不断试验和调整,以满足不同用户的需求和习惯,是制作优质帮助文件的关键。