从较高的层次来看,书写需求文档的目的就是要提供对所需行为的有效描述。该所需行为可用一个黑盒系统描述,并需要注意以下细节:
- 工程师可以根据系统所说进行实现
- 测试人员,在不与开发人员沟通的前提下,可以利用满足硬件要求的设备验证需求。
- 最终产生的成果满足终端用户的要求。
书写优质的需求文档:
最基本的原则是:需求文档应当尽量简洁,用最易懂的描述来约束系统的预期行为。
如果你遵循这个原则,剩下的那些重要因素(可测试性、避免过度设计等等)都将变得顺理成章。
列举一下更详细的规则,通常会更有帮助。下面是书写优质需求文档需要遵循的步骤:
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)编程环境中,为应用程序创建帮助文件是一个重要的步骤,因为它能提供用户友好的体验,方便用户理解和...在实际操作中,不断试验和调整,以满足不同用户的需求和习惯,是制作优质帮助文件的关键。
以下是一些撰写优质需求文档的关键点: 1. **目的明确**:首先,需求文档应当清楚地阐述背景、目的和功能的上下文。这样做能帮助团队理解为什么需要这些功能,而不是仅仅关注功能的细节。在描述功能时,应先解释其...