<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>“互联网产品设计和运营”的评论</title>
	<atom:link href="http://www.amiue.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amiue.com</link>
	<description>产品运营、用户体验、需求分析、技术架构、产品设计</description>
	<lastBuildDate>Mon, 12 Dec 2011 11:56:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>alex 对《需求分析之六大原则》的评论</title>
		<link>http://www.amiue.com/2011/12/%e9%9c%80%e6%b1%82%e5%88%86%e6%9e%90%e4%b9%8b%e5%85%ad%e5%a4%a7%e5%8e%9f%e5%88%99/#comment-6</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Mon, 12 Dec 2011 11:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.amiue.com/?p=117#comment-6</guid>
		<description>软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求).
1.业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明.
2.用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本说明中予以说明.
3.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.</description>
		<content:encoded><![CDATA[<p>软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求).<br />
1.业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明.<br />
2.用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本说明中予以说明.<br />
3.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.</p>
]]></content:encoded>
	</item>
	<item>
		<title>alex 对《需求分析之六大原则》的评论</title>
		<link>http://www.amiue.com/2011/12/%e9%9c%80%e6%b1%82%e5%88%86%e6%9e%90%e4%b9%8b%e5%85%ad%e5%a4%a7%e5%8e%9f%e5%88%99/#comment-5</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Mon, 12 Dec 2011 11:54:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.amiue.com/?p=117#comment-5</guid>
		<description>通过各种需求采集的方法，得到很多信息，接下来我们要做的自然就是需求分析了。

听到过一个说法，说需求分析与技术分析的最大的不同是思路的本质差异，技术分析是“树干——树枝——树叶”的任务分解过程，技术人员很适应并乐于用这种方式思考，可以把大问题分解成小问题，发现难点逐一攻克。很多做需求的人都是开发出身的，所以开始往往会用这种思路做需求，听到客户提到的功能点，直接想怎么做系统设计了，有时候需求分析甚至已经越俎代庖到“详细设计”的职责了。而真实情况是，需求分析是“树叶——树枝——树干”的分析过程，一定不能漏掉提炼用户需求的这个过程。

确实很有道理，后来仔细一想，其实另有两个问题值得继续思考补充在这个说法上。

第一，这里玩了一个偷换概念，两者的“分析”定义不同，按照逻辑学的通俗定义，第一种分析是真正的分析，而第二种“分析”似乎更应该被称为“归纳”。可是，如果现在提出一个“需求归纳”的概念，连我自己都觉得拗口，所以继续用“需求分析”这个词。

第二点更关键，“树叶——树枝——树干”的描述并不完整，它只是前半部分。其实完整的“需求分析”是一个先归纳后分析的过程，试想如果做到“树干”就结束，后端的开发人员还是不知道要做什么东西，所以我们还要继续把树干再次重新分解成树枝、树叶。

小结一下，需求分析的目的是把从客户那里收集到的“用户需求（更接近Want，有时候甚至是解决方案，但我们不能不假思考的照做）”做归纳，然后得到一个总体概念（用户的Need，真正的欲望所在）后再分析、分解为“产品需求（给出我们的解决方案）”。

举个例子结束：小明说要吃肥牛火锅（18元，iamsujie补：涨到20+了），我们分析认为他是饿了，不是馋了或者真的想吃牛肉，最后给出我们的方案，扔给他2个馒头（0.5元*2），结果他虽然眉头一皱，但考虑到性价比（省了94.4%的成本啊！他省的多我们的利润空间也会大些），还是很愉快的吃了……

伟大的需求分析师。</description>
		<content:encoded><![CDATA[<p>通过各种需求采集的方法，得到很多信息，接下来我们要做的自然就是需求分析了。</p>
<p>听到过一个说法，说需求分析与技术分析的最大的不同是思路的本质差异，技术分析是“树干——树枝——树叶”的任务分解过程，技术人员很适应并乐于用这种方式思考，可以把大问题分解成小问题，发现难点逐一攻克。很多做需求的人都是开发出身的，所以开始往往会用这种思路做需求，听到客户提到的功能点，直接想怎么做系统设计了，有时候需求分析甚至已经越俎代庖到“详细设计”的职责了。而真实情况是，需求分析是“树叶——树枝——树干”的分析过程，一定不能漏掉提炼用户需求的这个过程。</p>
<p>确实很有道理，后来仔细一想，其实另有两个问题值得继续思考补充在这个说法上。</p>
<p>第一，这里玩了一个偷换概念，两者的“分析”定义不同，按照逻辑学的通俗定义，第一种分析是真正的分析，而第二种“分析”似乎更应该被称为“归纳”。可是，如果现在提出一个“需求归纳”的概念，连我自己都觉得拗口，所以继续用“需求分析”这个词。</p>
<p>第二点更关键，“树叶——树枝——树干”的描述并不完整，它只是前半部分。其实完整的“需求分析”是一个先归纳后分析的过程，试想如果做到“树干”就结束，后端的开发人员还是不知道要做什么东西，所以我们还要继续把树干再次重新分解成树枝、树叶。</p>
<p>小结一下，需求分析的目的是把从客户那里收集到的“用户需求（更接近Want，有时候甚至是解决方案，但我们不能不假思考的照做）”做归纳，然后得到一个总体概念（用户的Need，真正的欲望所在）后再分析、分解为“产品需求（给出我们的解决方案）”。</p>
<p>举个例子结束：小明说要吃肥牛火锅（18元，iamsujie补：涨到20+了），我们分析认为他是饿了，不是馋了或者真的想吃牛肉，最后给出我们的方案，扔给他2个馒头（0.5元*2），结果他虽然眉头一皱，但考虑到性价比（省了94.4%的成本啊！他省的多我们的利润空间也会大些），还是很愉快的吃了……</p>
<p>伟大的需求分析师。</p>
]]></content:encoded>
	</item>
	<item>
		<title>alex 对《软件设计之：软件架构和框架的区别》的评论</title>
		<link>http://www.amiue.com/2011/12/%e8%bd%af%e4%bb%b6%e8%ae%be%e8%ae%a1%e4%b9%8b%ef%bc%9a%e8%bd%af%e4%bb%b6%e6%9e%b6%e6%9e%84%e5%92%8c%e6%a1%86%e6%9e%b6%e7%9a%84%e5%8c%ba%e5%88%ab/#comment-4</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Sat, 10 Dec 2011 13:53:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.amiue.com/?p=110#comment-4</guid>
		<description>设计模式&lt;框架&lt;架构&lt;平台，从复用角度讲，设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。

 

1、设计模式

为什么要先说设计模式？因为设计模式在这些概念中是最基本的，而且也比较简单。那么什么是设计模式呢？说的直白点，设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系，是前人总结的经验。比如我要在代码中实现一个全局唯一的配置类，那么就使用Singleton模式。设计模式在实际编码工作和设计框架时会被使用到，而更高层的架构和平台则不会太关注它。

2、框架

做WEB开发接触到最多的框架可数ORM框架，ORM框架只是所有数据关系映射框架的统称，具体的如NHibernate、ActiveRecord等，框架是为了解决特定问题而存在的，其它诸如模板框架、缓存框架，框架不能直接使用，需要二次开发。

3、架构

从大的层面来说，比如针对公司业务的B2C网站系统架构，里面可能会用到多种解决各方面问题的框架，关注的是技术整合、扩展、可维护性。换个角度，在框架中也会涉及到架构问题，比如开发NHibernate框架，也需要考虑如何进行设计。

4、平台

平台的概念类似框架，但又结合的架构的考虑，它是更高层面上的“框架”，准确说是一种应用。它是针对企业用户，为解决企业业务需要而形成的产品。</description>
		<content:encoded><![CDATA[<p>设计模式<框架<架构<平台，从复用角度讲，设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。</p>
<p>1、设计模式</p>
<p>为什么要先说设计模式？因为设计模式在这些概念中是最基本的，而且也比较简单。那么什么是设计模式呢？说的直白点，设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系，是前人总结的经验。比如我要在代码中实现一个全局唯一的配置类，那么就使用Singleton模式。设计模式在实际编码工作和设计框架时会被使用到，而更高层的架构和平台则不会太关注它。</p>
<p>2、框架</p>
<p>做WEB开发接触到最多的框架可数ORM框架，ORM框架只是所有数据关系映射框架的统称，具体的如NHibernate、ActiveRecord等，框架是为了解决特定问题而存在的，其它诸如模板框架、缓存框架，框架不能直接使用，需要二次开发。</p>
<p>3、架构</p>
<p>从大的层面来说，比如针对公司业务的B2C网站系统架构，里面可能会用到多种解决各方面问题的框架，关注的是技术整合、扩展、可维护性。换个角度，在框架中也会涉及到架构问题，比如开发NHibernate框架，也需要考虑如何进行设计。</p>
<p>4、平台</p>
<p>平台的概念类似框架，但又结合的架构的考虑，它是更高层面上的“框架”，准确说是一种应用。它是针对企业用户，为解决企业业务需要而形成的产品。</p>
]]></content:encoded>
	</item>
	<item>
		<title>alex 对《软件设计和开发模型：增量模型（Incremental Model）》的评论</title>
		<link>http://www.amiue.com/2011/12/%e8%bd%af%e4%bb%b6%e8%ae%be%e8%ae%a1%e5%92%8c%e5%bc%80%e5%8f%91%e6%a8%a1%e5%9e%8b%ef%bc%9a%e5%a2%9e%e9%87%8f%e6%a8%a1%e5%9e%8b%ef%bc%88incremental-model%ef%bc%89/#comment-3</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Sat, 10 Dec 2011 12:14:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.amiue.com/?p=97#comment-3</guid>
		<description>迭代模型和增量模型都属于并行开发的软件生命周期模型，但是这两个模型大家往往容易混淆或者不好理解。下面对两个模型的区别和相同之处做一下介绍。

迭代是不能并行的，迭代的并行是指迭代任务，比如从3.1-3.31号是一个迭代计划，该迭代计划需求人员可以分析功能点5-功能点10，设计人员可以做功 能点3-功能点7的设计，开发人员可以做功能点2-功能点4的开发，测试人员可以做上个迭代周期发布的代码。  迭代的并行是指工作流的并行。
大家看到迭代计划是比较复杂的，因此对项目经理的经验要求很高。

增量模型一般是指具有底层框架和平台的项目，在该稳定的框架和平台上，来开发和增加具体的业务功能。每个增量之间相对独立，各个增量可以并行开发， 比如：3.1-31号实现增量1（包含5的功能点），3.20-4.15开发增量2（包含另外的4个功能点）。增量内部是瀑布模型。

两种类型的区别在于迭代是基于IBM的RUP的以架构为核心，用例为驱动，角色职责划分不同，在同一时刻项目内部需求、设计、编码、测试的活动都在发生。迭代适合需求不明确、架构风险大的项目，增量适合需求比较明确，架构比较稳定，而且增量功能的实现基本不影响架构。
还有一个不同就是迭代计划是基于角色的，增量计划是基于任务的。

两种类型的相同之处，每个迭代和增量结束后都有产品发布。</description>
		<content:encoded><![CDATA[<p>迭代模型和增量模型都属于并行开发的软件生命周期模型，但是这两个模型大家往往容易混淆或者不好理解。下面对两个模型的区别和相同之处做一下介绍。</p>
<p>迭代是不能并行的，迭代的并行是指迭代任务，比如从3.1-3.31号是一个迭代计划，该迭代计划需求人员可以分析功能点5-功能点10，设计人员可以做功 能点3-功能点7的设计，开发人员可以做功能点2-功能点4的开发，测试人员可以做上个迭代周期发布的代码。  迭代的并行是指工作流的并行。<br />
大家看到迭代计划是比较复杂的，因此对项目经理的经验要求很高。</p>
<p>增量模型一般是指具有底层框架和平台的项目，在该稳定的框架和平台上，来开发和增加具体的业务功能。每个增量之间相对独立，各个增量可以并行开发， 比如：3.1-31号实现增量1（包含5的功能点），3.20-4.15开发增量2（包含另外的4个功能点）。增量内部是瀑布模型。</p>
<p>两种类型的区别在于迭代是基于IBM的RUP的以架构为核心，用例为驱动，角色职责划分不同，在同一时刻项目内部需求、设计、编码、测试的活动都在发生。迭代适合需求不明确、架构风险大的项目，增量适合需求比较明确，架构比较稳定，而且增量功能的实现基本不影响架构。<br />
还有一个不同就是迭代计划是基于角色的，增量计划是基于任务的。</p>
<p>两种类型的相同之处，每个迭代和增量结束后都有产品发布。</p>
]]></content:encoded>
	</item>
	<item>
		<title>alex 对《windows7强大的的系统修复功能》的评论</title>
		<link>http://www.amiue.com/2011/11/windows7%e5%bc%ba%e5%a4%a7%e7%9a%84%e7%9a%84%e7%b3%bb%e7%bb%9f%e4%bf%ae%e5%a4%8d%e5%8a%9f%e8%83%bd/#comment-2</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Tue, 08 Nov 2011 13:22:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.amiue.com/?p=32#comment-2</guid>
		<description>win7之后，微软的开发脚步似乎加快了。</description>
		<content:encoded><![CDATA[<p>win7之后，微软的开发脚步似乎加快了。</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://stats.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

