惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
The Register - Security
The Register - Security
C
Cybersecurity and Infrastructure Security Agency CISA
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Hacker News
The Hacker News
P
Proofpoint News Feed
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
The Last Watchdog
The Last Watchdog
F
Fortinet All Blogs
S
Schneier on Security
Help Net Security
Help Net Security
Security Archives - TechRepublic
Security Archives - TechRepublic
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
I
InfoQ
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
Stack Overflow Blog
Stack Overflow Blog
T
Troy Hunt's Blog
人人都是产品经理
人人都是产品经理
T
Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
Forbes - Security
Forbes - Security
Vercel News
Vercel News
S
Security Affairs
美团技术团队
P
Privacy & Cybersecurity Law Blog
N
News and Events Feed by Topic
Cyberwarzone
Cyberwarzone
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Jina AI
Jina AI
Spread Privacy
Spread Privacy
Attack and Defense Labs
Attack and Defense Labs
IT之家
IT之家
U
Unit 42
Recorded Future
Recorded Future
W
WeLiveSecurity
PCI Perspectives
PCI Perspectives
P
Palo Alto Networks Blog
H
Hacker News: Front Page
S
Security @ Cisco Blogs
博客园 - 【当耐特】

博客园 - 阿强.Net

层的定位问题 .Net开源项目大全发布 DotBBS V1.8.0发布,欢迎下载 Js不间断滚动-上 - 阿强.Net - 博客园 JS不间断滚动-下 - 阿强.Net - 博客园 当表格内容超过预设的长宽后,自动产生滚动条 - 阿强.Net - 博客园 吸铁石网新发布 如何制作透明FLASH - 阿强.Net - 博客园 如何手动卸载SQL Server 2005 实例 设为首页,加入收藏代码 - 阿强.Net - 博客园 利用VSS进行备份和恢复 DotBBSV1.1.0发布了 Sql server系统表 SQL中ntext类型字段的替换 DotBBSV1.0开源Asp.Net论坛系统 DotBBSV1.0发布,欢迎使用 javascript脚本跨站攻击与预防 javascript获取参数 - 阿强.Net - 博客园 js获取CuteEditor的值
转载:需求说明书四要素
阿强.Net · 2009-08-24 · via 博客园 - 阿强.Net

《需求说明书》是需求阶段最关键的产出物,我们公司测试部的同事常常抱怨,有的项目的需求说明书看到末尾还是不清楚系统要做什么,无法写出测试用例。我想我们很多人,尤其是工作经验不多的人,对需求说明书要写些什么东西也是糊里糊涂的,即使能够从RUP的教材上搬出来一些名词,也往往不理解其中的内涵。我把我的经验写下来,放在博客上,一方面自我总结,另一方面,希望和大家讨论,共同提高。

以前我们学过各种各样的软件工程理论以及具体的操作方法,我也不记得这些书籍或者资料里面是如何讲解需求说明书的写法的。可能是我当时没有认真学习,也可能是当时对很多东西并不理解,死记硬背一些东西过会儿就忘了。

我认为,需求说明书首先要描述目标系统的背景、功能概述、系统边界、和其他系统的关系、系统的运行环境要求等等。然后针对目标系统的每一个功能逐一详细描述。详细描述需要说清楚如下四个要素:

<!--[if !supportLists]-->1、 <!--[endif]-->该功能的业务流程,

<!--[if !supportLists]-->2、 <!--[endif]-->该功能的业务规则

<!--[if !supportLists]-->3、 <!--[endif]-->该功能的操作界面

<!--[if !supportLists]-->4、 <!--[endif]-->该功能涉及的业务实体

业务流程:

业务流程说明这个功能的办理步骤、以及每个步骤有哪些角色参与。

建议业务流程用活动图并辅以文字加以描述。

业务规则:

业务规则是指业务办理过程中的一些约束条件,包括前台界面校验规则和后台业务逻辑规则。

业务规则一般用文字描述,建议紧接着业务流程图,针对业务流程图中的每个操作环节,逐一描述其业务规则。

操作界面:

操作界面是要说明,系统建成之后,用户面对的操作界面的布局以及界面元素。

有些人喜欢用visio画原型界面,我本人建议用html做原型。用html有两个好处。

<!--[if !supportLists]-->第一,   <!--[endif]-->逼真。可以做到原型系统的界面以及操作模式和验收后的真实系统非常接近。这样用户就容易对系统产生直观的认识,需求阶段提意见也提得更准确,可以大大减少需求的不确定性。

<!--[if !supportLists]-->第二,   <!--[endif]-->html做的原型可以直接在编码阶段采用,既减少工作量,又使得产品与需求偏离不会很大。

业务实体

业务实体是指业务流程中的各个环节操作的表单、数据等对象。

需求阶段明确了业务实体以及业务实体的属性非常有利于后续的数据库设计。

需求说明书说清楚了“四要素”,实际上就说清楚了如下问题:业务的办理流程是什么?业务办理条件是什么?操作员通过怎么样的界面办理该业务?系统最后操作哪些数据、生成哪些表单?

基于需求的四要素,需求说明书的目录结构一般是这样的。

本文出自 “非也” 博客,请务必保留此出处http://feiye.blog.51cto.com/126688/40405