<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>韩军星的博客 &#187; 用例</title>
	<atom:link href="http://www.hanjunxing.com/tag/%e7%94%a8%e4%be%8b/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hanjunxing.com</link>
	<description>专注于互联网产品</description>
	<lastBuildDate>Wed, 08 Sep 2010 17:03:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PRD中写用例的注意事项</title>
		<link>http://www.hanjunxing.com/use-case-in-prd</link>
		<comments>http://www.hanjunxing.com/use-case-in-prd#comments</comments>
		<pubDate>Sun, 18 Jan 2009 03:51:10 +0000</pubDate>
		<dc:creator>hanjunxing</dc:creator>
				<category><![CDATA[产品]]></category>
		<category><![CDATA[PRD]]></category>
		<category><![CDATA[用例]]></category>
		<category><![CDATA[需求]]></category>

		<guid isPermaLink="false">http://www.hanjunxing.com/?p=126</guid>
		<description><![CDATA[产品需求文档（Product Requirement Document,PRD）在 WEB/软件项目中的作用不言而喻，一份好的 PRD  能够使整个项目事半功倍，因此花在 PRD 上的时间成本通常也是非常可观的。我见过几个内部需求项目，PRD 的 word 文档竟然也有几十M之巨，产品需求人员在其中所耗费得精力可见一斑。
chinapm 中汤圆将 PRD 的核心概括为
该文档中，侧重的是对产品产品功能和性能（即“产品需求”）的说明，相对于MRD中的同样内容，要更加详细，并进行量化。
而 PRD 中这个“详细”和“量化”究竟到什么程度，是产品管理者经常遇到的问题。一方面，如果 PRD 中的需求描述或用例说明没有具体到具体细节操作，一旦开发人员理解有误或不完整，则会对出现不断的变更或返工（通常，开发人员喜欢闷头开发）；另一方面，如果将 PRD 内容描述得过分细致，则又会出现很高的成本，何况百密一疏的情况也是非常多见的。如何解决这个问题呢？
《编写有效用例》一书中提到了描述事件流程的基本方法，不论具体的用例是由需求人员做，还是技术人员做，都是需要了解的。对于用例中的 include 部分一定要细致入微，而 refine 部分则可以分清优先级考虑。
include，表示你要在一个用例当中包含另一个用例，并且被包含的用例是必须的，如果缺少被包含用例，则主用例就不能完成。比方，在用户管理场景中，要删除一个用户，你必须先查询到该用户，然后再点击删除。那么查询用户用例就是删除用户用例的一个include用例。
refine，是指对一个用例更精细化的描述。精化过程不会改变原来用例要包含的内容，只是更加细致。比方，取钱是一个用例，在描述用例场景时，你会用核对帐号，效验密码等活动来描述取钱的场景。在概念分析时，你可以把核对帐号，效验密码等定义为用例来描述取钱的过程，这时核对帐号，效验密码这些用例就是取钱的一个精化。它们实际上描述的仍然是取钱这个过程，但是取钱在概念阶段被精化成了核对帐号，效验密码等粒度更小的用例，这此用例仍然需要描述用例场景，例如核对帐号的过程、效验密码的过程等。
这些精化出来的用例向上要能够满足取钱用例场景的需要，向下则要更进一步能接近系统分析所需要的粒度。
同样的道理，如果需要，核对帐号，效验密码等用例在系统分析阶段还可以再次精化。但是它们虽然改变了名字，所描述的内容也从业务描述精化到了系统交互，但描述的仍然是取钱这一个业务。
当然，最重要得依旧是团队合作。在项目运行中，可能发生任何事情，但只要大家做好沟通，没有什么问题是不能被解决的。coffeewoo 中有篇关于这方面的解答非常经典，我就不班门弄斧了。临近春节，快递都放假了，不然也想尽快拜读一下他的大作《大象&#8211;Thinking in UML》。

	相关日志
	
	需求调研与产品设计10条经验 (1)
	需求变更-要效率还是要规矩？ (1)
	软件/互联网产品设计流程 (11)
	环保万年历，一点也不环保 (0)
	关于互联网产品管理与产品设计 (4)


]]></description>
			<content:encoded><![CDATA[<p>产品需求文档（Product Requirement Document,PRD）在 WEB/软件项目中的作用不言而喻，一份好的 PRD  能够使整个项目事半功倍，因此花在 PRD 上的时间成本通常也是非常可观的。我见过几个内部需求项目，PRD 的 word 文档竟然也有几十M之巨，产品需求人员在其中所耗费得精力可见一斑。</p>
<p><a href="http://group.chinapm.com.cn/read.asp?groupID=150&amp;topicID=2192" target="_blank">chinapm</a> 中<a href="http://blog.chinapm.com.cn/u/tangyuan/91.html" target="_blank">汤圆</a>将 PRD 的核心概括为</p>
<blockquote><p>该文档中，侧重的是对产品产品功能和性能（即“产品需求”）的说明，相对于MRD中的同样内容，要更加详细，并进行量化。</p></blockquote>
<p>而 PRD 中这个“详细”和“量化”究竟到什么程度，是产品管理者经常遇到的问题。一方面，如果 PRD 中的需求描述或<a href="http://www.ibm.com/developerworks/cn/rational/r-usecase-atm/" target="_blank">用例说明</a>没有具体到具体细节操作，一旦开发人员理解有误或不完整，则会对出现不断的变更或返工（通常，开发人员喜欢闷头开发）；另一方面，如果将 PRD 内容描述得过分细致，则又会出现很高的成本，何况百密一疏的情况也是非常多见的。如何解决这个问题呢？</p>
<p>《<a href="http://www.douban.com/subject/1233316/" target="_blank">编写有效用例</a>》一书中提到了描述<a href="http://xqar.javaeye.com/blog/193536" target="_blank">事件流程的基本方法</a>，不论具体的用例是由需求人员做，还是技术人员做，都是需要了解的。对于用例中的 include 部分一定要细致入微，而 refine 部分则可以分清优先级考虑。</p>
<blockquote><p>include，表示你要在一个用例当中包含另一个用例，并且被包含的用例是必须的，如果缺少被包含用例，则主用例就不能完成。比方，在用户管理场景中，要删除一个用户，你必须先查询到该用户，然后再点击删除。那么查询用户用例就是删除用户用例的一个include用例。<br />
refine，是指对一个用例更精细化的描述。精化过程不会改变原来用例要包含的内容，只是更加细致。比方，取钱是一个用例，在描述用例场景时，你会用核对帐号，效验密码等活动来描述取钱的场景。在概念分析时，你可以把核对帐号，效验密码等定义为用例来描述取钱的过程，这时核对帐号，效验密码这些用例就是取钱的一个精化。它们实际上描述的仍然是取钱这个过程，但是取钱在概念阶段被精化成了核对帐号，效验密码等粒度更小的用例，这此用例仍然需要描述用例场景，例如核对帐号的过程、效验密码的过程等。<br />
这些精化出来的用例向上要能够满足取钱用例场景的需要，向下则要更进一步能接近系统分析所需要的粒度。<br />
同样的道理，如果需要，核对帐号，效验密码等用例在系统分析阶段还可以再次精化。但是它们虽然改变了名字，所描述的内容也从业务描述精化到了系统交互，但描述的仍然是取钱这一个业务。</p></blockquote>
<p>当然，最重要得依旧是团队合作。在项目运行中，可能发生任何事情，但只要大家做好沟通，没有什么问题是不能被解决的。<a href="http://blog.csdn.net/coffeewoo/archive/2009/01/12/3759799.aspx" target="_blank">coffeewoo</a> 中有篇关于这方面的解答非常经典，我就不班门弄斧了。临近春节，快递都放假了，不然也想尽快拜读一下他的大作《<a title="uml,用例" href="http://www.hanjunxing.com/thinking-in-uml" target="_blank">大象&#8211;Thinking in UML</a>》。</p>

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.hanjunxing.com/10-notes-of-demand-and-product-design" title="需求调研与产品设计10条经验 (2010/05/28)">需求调研与产品设计10条经验</a> (1)</li>
	<li><a href="http://www.hanjunxing.com/demand-change" title="需求变更-要效率还是要规矩？ (2009/01/16)">需求变更-要效率还是要规矩？</a> (1)</li>
	<li><a href="http://www.hanjunxing.com/web-product-design-process" title="软件/互联网产品设计流程 (2010/01/18)">软件/互联网产品设计流程</a> (11)</li>
	<li><a href="http://www.hanjunxing.com/permanent-calendar" title="环保万年历，一点也不环保 (2009/01/05)">环保万年历，一点也不环保</a> (0)</li>
	<li><a href="http://www.hanjunxing.com/product-management-and-design" title="关于互联网产品管理与产品设计 (2010/03/09)">关于互联网产品管理与产品设计</a> (4)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.hanjunxing.com/use-case-in-prd/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
