<?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>吴志敏 的个人博客</title>
	<atom:link href="http://www.kauu.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kauu.net</link>
	<description>专注互联网</description>
	<lastBuildDate>Sat, 04 Feb 2012 06:52:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>创业不可要的性格</title>
		<link>http://www.kauu.net/2012/02/04/%e5%88%9b%e4%b8%9a%e4%b8%8d%e5%8f%af%e8%a6%81%e7%9a%84%e6%80%a7%e6%a0%bc/</link>
		<comments>http://www.kauu.net/2012/02/04/%e5%88%9b%e4%b8%9a%e4%b8%8d%e5%8f%af%e8%a6%81%e7%9a%84%e6%80%a7%e6%a0%bc/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 06:52:47 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[创业]]></category>

		<guid isPermaLink="false">http://www.kauu.net/?p=333</guid>
		<description><![CDATA[创业需要具备相关的业务知识、管理能力及资金等，但背后还有一项重要的条件就是是否具备创业者应该有的性格。 不推荐的性格有以下10点： 缺少职业意识 职业意识是人们对所从事的职业的认同感，它可以最大限度地激发人的活力和创造力，是敬业的前提。具有强烈职业意识的人非常主动、积极，任何时刻都有一种精神力。反面来说，有些人拿着工资就只做自己的事情，每天机械地完成自己的工作，不希望自己我做一点点或是多承担更多的职责，每天就是上班下班，缺少进取心与主动性。 优越感过强 有些人自恃才高，家庭优越、他人吹捧、自我高估，难以与团队融合。一个企业是不可能一个人可以搞定一切的，个人的力量是有限的，也不可能在在一个时间内做多个事情，企业必须由多人来协作，成功的企业家都是低调而且谦逊的，同时有着良好的团队影响力以及协作力。 唯上是从，只会说“是” 有些人在工作习惯只听上级领导的意见，从来不发表自己的意见，仅仅根据上级领导的安排来工作。这样的性格很难的创业中提出自己的独到见解。 偷懒 所有的创业成功或卓越的管理者都是勤奋的人，无论他们曾经是一个小职员或是小学徒，他们始终都是兢兢业业，努力让自己做比要求的更多一些，要知道工作不是为了他人，而是为了自己，进化论做什么都应该有所收藏，保持勤奋，积极的状态，无论是员工还是老板。 片面和傲慢 有些人眼里只有他人的缺点，看不到他人的优点；有的人总喜欢贬低他人，抬高自己；有的人总以为自己是强者，认为别人是弱者；有的人总认为自己是天才，别人不如自己……其它每个人都是有优缺点的，不能片面的看待别人，创业时就会轻视竞争对手，傲慢地对待别人也会换来别人相同的态度。 僵化死板 人都是会偏向于安逸，对于工作也是如此。有些人不愿意创新，不肯灵活应对，无法创新和改进，在竞争很容易被对手超越。非常不适合创业，创业就是要改变一些东西，正因为改变有价值才能得到商业利益。 感情用事 感情用事容易影响事物的正确判断与决策，处理任何事情应该冷静、理智，在企业经营中会遇到各种各样的事情，用感情完全代替原则，可能短期有效，但长期则会造成损失。感情需要用到，但不能滥用。 “多嘴多舌”与“固执己见” 多嘴的人不可能成为很好的领导者，不能接受他们意见的人是不可能一直做对事情的。 胆小怕事、毫无主见 创业的风险非常大，没有主见，胆小都是不可能胜任的。在企业经营过程中，每天都要面对无数情况，都要做出决策，都要为此负责，迟疑和胆小都会让商业机会跑掉。 患得患失却又容易自满自足 创业过程中有得有失，就像打战。若是稍有收获，就欣喜若狂，稍有挫折，就一蹶不振，这样情绪大起大落，极不平衡，不仅会影响分析自己、环境、对手的决策力，也会影响团队。作为团队领导者稳定、乐观是非常重要的性格表现。]]></description>
			<content:encoded><![CDATA[<p>创业需要具备相关的业务知识、管理能力及资金等，但背后还有一项重要的条件就是是否具备创业者应该有的性格。</p>
<p>不推荐的性格有以下10点：</p>
<ol>
<li>缺少职业意识
<ol>
<li>职业意识是人们对所从事的职业的认同感，它可以最大限度地激发人的活力和创造力，是敬业的前提。具有强烈职业意识的人非常主动、积极，任何时刻都有一种精神力。反面来说，有些人拿着工资就只做自己的事情，每天机械地完成自己的工作，不希望自己我做一点点或是多承担更多的职责，每天就是上班下班，缺少进取心与主动性。</li>
</ol>
</li>
<li>优越感过强
<ol>
<li>有些人自恃才高，家庭优越、他人吹捧、自我高估，难以与团队融合。一个企业是不可能一个人可以搞定一切的，个人的力量是有限的，也不可能在在一个时间内做多个事情，企业必须由多人来协作，成功的企业家都是低调而且谦逊的，同时有着良好的团队影响力以及协作力。</li>
</ol>
</li>
<li>唯上是从，只会说“是”
<ol>
<li>有些人在工作习惯只听上级领<u style=display:none>佳节又重阳</u>导的意见，从来不发表自己的意见，仅仅根据上级领<u style=display:none>佳节又重阳</u>导的安排来工作。这样的性格很难的创业中提出自己的独到见解。</li>
</ol>
</li>
<li>偷懒
<ol>
<li>所有的创业成功或卓越的管理者都是勤奋的人，无论他们曾经是一个小职员或是小学徒，他们始终都是兢兢业业，努力让自己做比要求的更多一些，要知道工作不是为了他人，而是为了自己，进化论做什么都应该有所收藏，保持勤奋，积极的状态，无论是员工还是老板。</li>
</ol>
</li>
<li>片面和傲慢
<ol>
<li>有些人眼里只有他人的缺点，看不到他人的优点；有的人总喜欢贬低他人，抬高自己；有的人总以为自己是强者，认为别人是弱者；有的人总认为自己是天才，别人不如自己……其它每个人都是有优缺点的，不能片面的看待别人，创业时就会轻视竞争对手，傲慢地对待别人也会换来别人相同的态度。</li>
</ol>
</li>
<li>僵化死板
<ol>
<li>人都是会偏向于安逸，对于工作也是如此。有些人不愿意创新，不肯灵活应对，无法创新和改进，在竞争很容易被对手超越。非常不适合创业，创业就是要改变一些东西，正因为改变有价值才能得到商业利益。</li>
</ol>
</li>
<li>感情用事
<ol>
<li>感情用事容易影响事物的正确判断与决策，处理任何事情应该冷静、理智，在企业经营中会遇到各种各样的事情，用感情完全代替原则，可能短期有效，但长期则会造成损失。感情需要用到，但不能滥用。</li>
</ol>
</li>
<li>“多嘴多舌”与“固执己见”
<ol>
<li>多嘴的人不可能成为很好的领<u style=display:none>佳节又重阳</u>导者，不能接受他们意见的人是不可能一直做对事情的。</li>
</ol>
</li>
<li>胆小怕事、毫无主见
<ol>
<li>创业的风险非常大，没有主见，胆小都是不可能胜任的。在企业经营过程中，每天都要面对无数情况，都要做出决策，都要为此负责，迟疑和胆小都会让商业机会跑掉。</li>
</ol>
</li>
<li>患得患失却又容易自满自足
<ol>
<li>创业过程中有得有失，就像打战。若是稍有收获，就欣喜若狂，稍有挫折，就一蹶不振，这样情绪大起大落，极不平衡，不仅会影响分析自己、环境、对手的决策力，也会影响团队。作为团队领<u style=display:none>佳节又重阳</u>导者稳定、乐观是非常重要的性格表现。</li>
</ol>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2012/02/04/%e5%88%9b%e4%b8%9a%e4%b8%8d%e5%8f%af%e8%a6%81%e7%9a%84%e6%80%a7%e6%a0%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>电子商务的会员价值</title>
		<link>http://www.kauu.net/2011/09/21/%e7%94%b5%e5%ad%90%e5%95%86%e5%8a%a1%e7%9a%84%e4%bc%9a%e5%91%98%e4%bb%b7%e5%80%bc/</link>
		<comments>http://www.kauu.net/2011/09/21/%e7%94%b5%e5%ad%90%e5%95%86%e5%8a%a1%e7%9a%84%e4%bc%9a%e5%91%98%e4%bb%b7%e5%80%bc/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 08:05:02 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[电子商务]]></category>

		<guid isPermaLink="false">http://www.kauu.net/?p=331</guid>
		<description><![CDATA[狭隘的会员价值定义：会员价值体现在企业生命周期内的给企业创造的所有利润的总和，但一般来讲，会员价值以一年中的利润为准。 对于一个像NALA一样的电子商务网站来说一个注册会员的价值到底是多少？是怎样计算的呢？ 会员的产生 会员的产生是指用户无论通过什么渠道进入网站，认同网站，注册成为会员。对于网站来说吸引普通用户成为网站的会员的市场成本往往是企业发展期的主要成本。从吸引普通用户进入网站的形式可以分为好多种，比如硬广、联合营销活动、EDM、CPS、SEO、SEM等等。对于这一阶段来说，吸引用户成为会员的成本是不一样的。 价值的体现 会员在成为网站会员后，他的价值还没直接体现出来，引导会员产生内容或是产生交易才会真正产生价值。而对于发展期的网站，由于企业品牌、用户体验等方面的制约。注册会员的首次交易发生将在整个网站会员生命周期中起着非常重要的角色。不断降低会员的首次交易成本是产品、运营的重要工作！对于电子商务网站而言，直接的利益是会员在交易中产生的直接利润。只有会员形成交易，才可能产生利润。但一般而言，为了降低首次交易成本，首次交易的利润并不一定可以支撑市场及运营费用，甚至很可能是亏的。只有会员后续发生复购，并在复购中产生利润，这个会员才真正具有价值。 V＝PCT×RT×GPM－MKT 计算用户价值周期一般定在一年内，表示用户价值，PCT表示客单价，RT表示复购次数，GPM表示毛利率，MKT表示市场费用。 价值的放大 追求现金为王的公司会非常在意这个公式，不断放大会员的价值才是企业发展的真正基石。而提升会员价值的几个方面都是围绕公式进行的。从正面来说：提升客单价，增加复购率，合适的毛利率，合理的市场费用。 提升客单价 提升客单价的基础是行业商品物证，所以只能在相同或类似的行业中才可以相互比较。就像3C的京东的客单都会比美妆的NALA高一样。而对于NALA而言，同一种类用户群中，合理的商品结构，优质的服务，优惠的价格就是形成客单价的基础原因了，而在此之上的品牌附加值就更是提升客单价的核心竞争力了。 对于不同维度的用户群而言，客单价的分布也是不同的，比如以年龄来分。 增加复购率 决定一个会员是否成为电子商务企业的忠诚用户的直接体现在他的复购频率上。不断提升并稳定会员的复购频率，是CRM的核心作用所在。提升复购率的方面，网站做好用户体验，提升贴心的服务，供应优质的商品。这里每一点展开都可以做非常多的事情。 适当的毛利率 适当的毛利率是企业生存的核心策略，同时也直接反映在每一个会员的价值上。过高的毛利率不利于市场占有，过低的毛利率，会导致企业无法赢利。零售行业中，对于一个充分竞争的市场而言，BCQ(Boston Consulting Group) 模型可以非常形象地说明零售企业中商品毛利率的合理分布。 合理的市场费用 市场是电子商务企业的发动机，为网站源源不断地提供前进的动力。启动时，市场费用占比最高，在加速前进时，市场费用的占比会比较高，匀速前进时市场费用就会平稳并保持在比较低的水平（互联网模式）。在不同阶段的企业根据自身条件可以选择不同的市场策略。但在发展过程中，保持清醒的头脑并把市场费用控制在合理的范围内是非常必要的。]]></description>
			<content:encoded><![CDATA[<p><em>狭隘的会</em><em>员</em><em>价</em><em>值</em><em>定</em><em>义</em><em>：会</em><em>员</em><em>价</em><em>值</em><em>体</em><em>现</em><em>在企</em><em>业</em><em>生命周期内的</em><em>给</em><em>企</em><em>业创</em><em>造的所有利</em><em>润的总和，但一般来讲，会员价值以一年中的利润为准</em><em>。</em></p>
<p>对于一个像NALA一样的电子商务网站来说一个注册会员的价值到底是多少？是怎样计算的呢？</p>
<h1>会员的产生</h1>
<p>会员的产生是指用户无论通过什么渠道进入网站，认同网站，注册成为会员。对于网站来说吸引普通用户成为网站的会员的市场成本往往是企业发展期的主要成本。从吸引普通用户进入网站的形式可以分为好多种，比如硬广、联合营销活动、EDM、CPS、SEO、SEM等等。对于这一阶段来说，吸引用户成为会员的成本是不一样的。</p>
<h1>价值的体现</h1>
<p>会员在成为网站会员后，他的价值还没直接体现出来，引导会员产生内容或是产生交易才会真正产生价值。而对于发展期的网站，由于企业品牌、用户体验等方面的制约。注册会员的首次交易发生将在整个网站会员生命周期中起着非常重要的角色。不断降低会员的首次交易成本是产品、运营的重要工作！对于电子商务网站而言，直接的利益是会员在交易中产生的直接利润。只有会员形成交易，才可能产生利润。但一般而言，为了降低首次交易成本，首次交易的利润并不一定可以支撑市场及运营费用，甚至很可能是亏的。只有会员后续发生复购，并在复购中产生利润，这个会员才真正具有价值。</p>
<p>V＝PCT×RT×GPM－MKT</p>
<p>计算用户价值周期一般定在一年内，表示用户价值，PCT表示客单价，RT表示复购次数，GPM表示毛利率，MKT表示市场费用。</p>
<h1>价值的放大</h1>
<p>追求现金为王的公司会非常在意这个公式，不断放大会员的价值才是企业发展的真正基石。而提升会员价值的几个方面都是围绕公式进行的。从正面来说：提升客单价，增加复购率，合适的毛利率，合理的市场费用。</p>
<h2>提升客单价</h2>
<p>提升客单价的基础是行业商品物证，所以只能在相同或类似的行业中才可以相互比较。就像3C的京东的客单都会比美妆的NALA高一样。而对于NALA而言，同一种类用户群中，合理的商品结构，优质的服务，优惠的价格就是形成客单价的基础原因了，而在此之上的品牌附加值就更是提升客单价的核心竞争力了。</p>
<p>对于不同维度的用户群而言，客单价的分布也是不同的，比如以年龄来分。</p>
<h2>增加复购率</h2>
<p>决定一个会员是否成为电子商务企业的忠诚用户的直接体现在他的复购频率上。不断提升并稳定会员的复购频率，是CRM的核心作用所在。提升复购率的方面，网站做好用户体验，提升贴心的服务，供应优质的商品。这里每一点展开都可以做非常多的事情。</p>
<h2>适当的毛利率</h2>
<p>适当的毛利率是企业生存的核心策略，同时也直接反映在每一个会员的价值上。过高的毛利率不利于市场占有，过低的毛利率，会导致企业无法赢利。零售行业中，对于一个充分竞争的市场而言，BCQ(Boston Consulting Group)</p>
<p>模型可以非常形象地说明零售企业中商品毛利率的合理分布。</p>
<h2>合理的市场费用</h2>
<p>市场是电子商务企业的发动机，为网站源源不断地提供前进的动力。启动时，市场费用占比最高，在加速前进时，市场费用的占比会比较高，匀速前进时市场费用就会平稳并保持在比较低的水平（互联网模式）。在不同阶段的企业根据自身条件可以选择不同的市场策略。但在发展过程中，保持清醒的头脑并把市场费用控制在合理的范围内是非常必要的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2011/09/21/%e7%94%b5%e5%ad%90%e5%95%86%e5%8a%a1%e7%9a%84%e4%bc%9a%e5%91%98%e4%bb%b7%e5%80%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>优秀企业必须抛弃的十种文化</title>
		<link>http://www.kauu.net/2011/04/12/%e4%bc%98%e7%a7%80%e4%bc%81%e4%b8%9a%e5%bf%85%e9%a1%bb%e6%8a%9b%e5%bc%83%e7%9a%84%e5%8d%81%e7%a7%8d%e6%96%87%e5%8c%96/</link>
		<comments>http://www.kauu.net/2011/04/12/%e4%bc%98%e7%a7%80%e4%bc%81%e4%b8%9a%e5%bf%85%e9%a1%bb%e6%8a%9b%e5%bc%83%e7%9a%84%e5%8d%81%e7%a7%8d%e6%96%87%e5%8c%96/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 02:49:22 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.kauu.net/?p=330</guid>
		<description><![CDATA[于刚 2011年二月十七日（原文地址：http://blog.sina.com.cn/s/blog_6c72c8bd0100qfxf.html） 怎样定义一个优秀企业呢？教科书上说优秀的企业员工充满激情，领导层富有远见，激励机制明晰， 核心竞争力凸显，人才梯队丰满，流程制度健全，顾客为上，诚信为先，鼓励创新，沟通顺畅，执行高效，团队精诚合作，企业富有社会责任感。这当然是一个理想的企业，可怎样做到呢？我认为每个企业都要从抛弃以下十个不健康的文化做起。 其一：负向思维文化。负向思维的人首先看到的总是事情坏的一面，失败的一面，不完美的一面，社会的阴暗面，别人的缺点，决策的风险，工作和生活中烦恼的一面。负向思维的人总是泼冷水，找瑕疵，看到问题又不行动去解决而只是抱怨。负向的思维在一个企业里就像一个癌细胞快速地吞噬着健康的肌体，负面地影响着周边的人，一颗老鼠屎坏了一锅汤。发现即必须立即清理，让负面思维的人在优秀的企业里无生存之地除非其彻底改变思维方式。 其二：“站队”文化：这种文化下的企业办公室政治浓厚，拉帮结派，每人进入公司时都忙着观望和分析几位当红之人的前途，希望自己能站对队，靠在大树下好乘凉。在这种企业里，大家顾及的是自己小团体的利益，而不是公司的利益。争论的总是你对还是我对，而不是寻求真理在那儿。 其三：固步自封文化：许多企业缺乏创新机制，对变化持有恐惧心理，对市场的变化不够敏锐且用保守的心态去被动的应付。总觉得现有的商务模式和运营机制还没有broken，就不要去动它。不懂得未雨绸缪，等到竞争对手快速赶上时才慌了手脚去亡羊补牢，往往发现为时已晚。 其四：Yes Sir文化： 这种企业强调等级，且层级设得很深。员工以服从为宗旨，不以批评的眼光去分析，思考，和消化管理层的决策。即使认为不对也默默接受，改变自己的想法去适应。导致的结果是错误的决策无人指出而得以纠正，每人关注的最好也只能做到do things right,&#160;而不是&#160;do the right thing. 其五：俄罗斯套娃文化：这种文化下的企业在招聘人才时hiring manager总是怕新来的人比自己强而抢了自己的饭碗，而找比自己能力差的人。对显示才能的人才去压抑不让其出头。导致企业聘来的人越来越差，像俄罗斯套娃一个比一个小，结果企业走向平庸和衰落。 其六：责权利不清文化：很多企业里责权利不挂钩，即对某个项目和部门承担责任的人没有实权去调动资源以达到其赋予的目标，或达到其目标后没有合适和清晰的利益让其有成就感。这种责权利的脱节使得责任人巧媳妇难为无米之炊，且没有足够激励让责任人为该事业而全力付出。 其七：不犯错文化：这种企业里对错误的惩罚很大，冒险精神缺乏。每人都缩手缩脚，不敢创新。做决策时也都观望领导的脸色，不求有功，但求无过。对流程和制度不敢存有异议，即使业务模式和技术手段产生了大的改变也不去挑战。 其八：本位主义文化：这种文化下的企业里的每个部门只守着自己的一亩三分田，不顾企业大局。部门间合作出现问题时总是point fingers，盯着别的部门的过错，忘了自己也是决策或执行团队的一部分。经常在推出新的项目时不与其它相关部门充分沟通而一厢情愿的期望得到别的部门的全力支持。向领导争取资源时毫不顾及企业的能力和对企业总体的影响。总是自己的部门最重要，别的部门只是配角。 其九：不承诺文化：这种文化下的企业每个人说话都含含糊糊，不敢承当，不担责任。对布置下来的任务，经常听到的口头语就是“我们会尽最大的努力，争取达到公司的目标。”这种含糊，导致责任不清，目标不明，大家逍遥度日，无所追求。 其十：不注重细节文化：这种文化下的企业会开的空泛，不以事实和数据说话，决策缺乏分析和依据，考核没有量化的指标，项目没有清晰里程碑只是在要结果时才发现已经晚了。只浮在云中望森林不落到地下看树木。典型的发言有：“今年比去年有显著的增长，明年还望有更大的突破。” 注：一个多月前第一财经日报的记者郑爽采访我有关《高效能公司要抛弃的十种文化》，经过一个星期的慎重思考后我觉得还是扩展一下讲优秀企业必须抛弃的文化。以上是我寄给郑爽的文稿。]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; line-height: 21.0px; font: 14.0px Arial; min-height: 16.0px} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; line-height: 21.0px; font: 14.0px Arial} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 21.0px; font: 14.0px Arial} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 21.0px; font: 14.0px Arial; min-height: 16.0px} --></p>
<p>于刚</p>
<p>2011年二月十七日（原文地址：http://blog.sina.com.cn/s/blog_6c72c8bd0100qfxf.html）</p>
<p>怎样定义一个优秀企业呢？教科书上说优秀的企业员工充满激情，领<u style=display:none>佳节又重阳</u>导层富有远见，激励机制明晰， 核心竞争力凸显，人才梯队丰满，流程制度健全，顾客为上，诚信为先，鼓励创新，沟通顺畅，执行高效，团队精诚合作，企业富有社会责任感。这当然是一个理想的企业，可怎样做到呢？我认为每个企业都要从抛弃以下十个不健康的文化做起。</p>
<p>其一：负向思维文化。负向思维的人首先看到的总是事情坏的一面，失败的一面，不完美的一面，社会的阴暗面，别人的缺点，决策的风险，工作和生活中烦恼的一面。负向思维的人总是泼冷水，找瑕疵，看到问题又不行动去解决而只是抱怨。负向的思维在一个企业里就像一个癌细胞快速地吞噬着健康的肌体，负面地影响着周边的人，一颗老鼠屎坏了一锅汤。发现即必须立即清理，让负面思维的人在优秀的企业里无生存之地除非其彻底改变思维方式。</p>
<p>其二：“站队”文化：这种文化下的企业办公室政治浓厚，拉帮结派，每人进入公司时都忙着观望和分析几位当红之人的前途，希望自己能站对队，靠在大树下好乘凉。在这种企业里，大家顾及的是自己小团体的利益，而不是公司的利益。争论的总是你对还是我对，而不是寻求真理在那儿。</p>
<p>其三：固步自封文化：许多企业缺乏创新机制，对变化持有恐惧心理，对市场的变化不够敏锐且用保守的心态去被动的应付。总觉得现有的商务模式和运营机制还没有broken，就不要去动它。不懂得未雨绸缪，等到竞争对手快速赶上时才慌了手脚去亡羊补牢，往往发现为时已晚。</p>
<p>其四：Yes Sir文化： 这种企业强调等级，且层级设得很深。员工以服从为宗旨，不以批评的眼光去分析，思考，和消化管理层的决策。即使认为不对也默默接受，改变自己的想法去适应。导致的结果是错误的决策无人指出而得以纠正，每人关注的最好也只能做到do things right,&nbsp;而不是&nbsp;do the right thing.</p>
<p>其五：俄罗斯套娃文化：这种文化下的企业在招聘人才时hiring manager总是怕新来的人比自己强而抢了自己的饭碗，而找比自己能力差的人。对显示才能的人才去压抑不让其出头。导致企业聘来的人越来越差，像俄罗斯套娃一个比一个小，结果企业走向平庸和衰落。</p>
<p>其六：责权利不清文化：很多企业里责权利不挂钩，即对某个项目和部门承担责任的人没有实权去调动资源以达到其赋予的目标，或达到其目标后没有合适和清晰的利益让其有成就感。这种责权利的脱节使得责任人巧媳妇难为无米之炊，且没有足够激励让责任人为该事业而全力付出。</p>
<p>其七：不犯错文化：这种企业里对错误的惩罚很大，冒险精神缺乏。每人都缩手缩脚，不敢创新。做决策时也都观望领<u style=display:none>佳节又重阳</u>导的脸色，不求有功，但求无过。对流程和制度不敢存有异议，即使业务模式和技术手段产生了大的改变也不去挑战。</p>
<p>其八：本位主义文化：这种文化下的企业里的每个部门只守着自己的一亩三分田，不顾企业大局。部门间合作出现问题时总是point fingers，盯着别的部门的过错，忘了自己也是决策或执行团队的一部分。经常在推出新的项目时不与其它相关部门充分沟通而一厢情愿的期望得到别的部门的全力支持。向领<u style=display:none>佳节又重阳</u>导争取资源时毫不顾及企业的能力和对企业总体的影响。总是自己的部门最重要，别的部门只是配角。</p>
<p>其九：不承诺文化：这种文化下的企业每个人说话都含含糊糊，不敢承当，不担责任。对布置下来的任务，经常听到的口头语就是“我们会尽最大的努力，争取达到公司的目标。”这种含糊，导致责任不清，目标不明，大家逍遥度日，无所追求。</p>
<p>其十：不注重细节文化：这种文化下的企业会开的空泛，不以事实和数据说话，决策缺乏分析和依据，考核没有量化的指标，项目没有清晰里程碑只是在要结果时才发现已经晚了。只浮在云中望森林不落到地下看树木。典型的发言有：“今年比去年有显著的增长，明年还望有更大的突破。”</p>
<p>注：一个多月前第一财经日报的记者郑爽采访我有关《高效能公司要抛弃的十种文化》，经过一个星期的慎重思考后我觉得还是扩展一下讲优秀企业必须抛弃的文化。以上是我寄给郑爽的文稿。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2011/04/12/%e4%bc%98%e7%a7%80%e4%bc%81%e4%b8%9a%e5%bf%85%e9%a1%bb%e6%8a%9b%e5%bc%83%e7%9a%84%e5%8d%81%e7%a7%8d%e6%96%87%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我看化妆品B2C</title>
		<link>http://www.kauu.net/2011/03/13/%e6%88%91%e7%9c%8b%e5%8c%96%e5%a6%86%e5%93%81b2c/</link>
		<comments>http://www.kauu.net/2011/03/13/%e6%88%91%e7%9c%8b%e5%8c%96%e5%a6%86%e5%93%81b2c/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 03:37:56 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[互联网乱想]]></category>

		<guid isPermaLink="false">http://www.kauu.net/?p=327</guid>
		<description><![CDATA[天天购物网:&#160;http://www.tiantian.com/ 成立于1999年的天天网,比较标准的传统b2c购物网站,产品没有出彩的地方,只是增加了一个"今日团购".从网站商品所售商品分类上已经超越了传统化妆品B2C,还增加了箱包和腕表. BD合作上天天网与维络城有合作,在北京地区有一定的线下影响力. 有免费购物目录索取服务 乐蜂网:http://www.lafaso.com/ 乐蜂网LAFASO.COM是中国第一个拥有专家明星进驻，以提供[女性时尚解决方案]为主要服务的互联网站。www.lafaso.com原节目官网www.tvj.com.cn升级，推出提供女性时尚解决方案的网站“乐蜂网” B2C产品中包含了传统的B2C购物之外,就是重点结合了专家明星的资讯.而在专家明星的资讯中加入了大量商品广告性质的推荐.试图利用专家明星的趋势作用促进商品成交. 结合专家明星的资讯内容,乐蜂已经把自己定位成"时尚解决方案"提供者.目前来看实力强,方向明确. 唯一网:http://www.w1.cn/ 商城,社区,试用,三大块组成,从发展历史来看,唯一先做社区,以免费试用来最大亮点把社区构建起来.并在社区成型后开始发力化妆品电子商务. 唯一试图把明星作用结合到B2C中,但是产品效果不强,主要原因是媒体资源不及乐蜂网. 对于社区与B2C的结合上.唯一重点在社区,以社区的推荐作为主导,次之才是商品本身的信息. 10年增加了化妆品团购网站--"公主网"http://www.gongzhu.com&#160;, 从团购网站的发展来看,起先从tuan.w1.cn到gongzhu.com,现在又回到tuan.w1.cn.说明发展不力,没有得到独立发展的期望. BD合作上,唯一网与天涯商场,pplive商城,msn中国商城,姐妹团合作. 妆点商城:http://shop.zdface.com/ 于2008年5月上线试运营，2009年1月进行战略调整,将原妆点商城更名为名品SHOW,经营策略也由大众化商品调整为全系品牌化商品经营方式, 名品SHOW致力于打造全球领先的时尚品牌网上折扣商城，专注中国女性流行消费导向 妆点是一个围绕"女人"为中心的全类目高端品牌网上折扣B2C商场.重点在于折扣B2C,没有其它过多的产品. 优歌网:&#160;http://www.ugou.cn/ 自身定位"给您专业好产品",产品上只做了一个传统B2C商城的典型功能. 商品上最大特点是线下美容院使用商品为主. 有资讯上的努力,但是没有与B2C有良好的结合,仅仅是一个商城+资讯. No5时尚广场:http://www.no5.com.cn/ 没有亮点的化妆品B2C, 只提供了一些资讯,与优歌网类似. 漂亮100:&#160;http://www.piaoliang100.com/ 典型的商城+论坛(社区+资讯)的化妆品B2C网站. 最大亮点在于和团购领导者拉手网合作的化妆品团购,由于拉手的流量及品牌,给漂亮100很大的推动. 草莓派:&#160;http://buy.caomeipai.com/ 新起的化妆品B2C,商城+社区,试图以用社区降低营销成本和客服成本.目前处于起步阶段. 亮点是在商品加了会员分享商品的资讯. 致美网:&#160;http://www.skinstorechina.com/ 高端品牌商场,有社区和团购.产品上没有亮点. 奢妍美:&#160;http://www.luxurybeauty.com/ 高端品牌B2C商城. 丝芙兰:&#160;http://www.sephora.cn/ 高端品牌B2C商城]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 26.0px; font: 14.0px Arial; color: #053bee} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 30.0px; font: 14.0px Arial; color: #010101} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 25.0px; font: 14.0px 'STHeiti Light'; color: #666666} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #053bee} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial} p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 33.0px; font: 14.0px Calibri} span.s1 {font: 14.0px STHeiti; color: #333233} span.s2 {letter-spacing: 1.0px} span.s3 {color: #000000} span.s4 {color: #053bee} --></p>
<h3>天天购物网:&nbsp;http://www.tiantian.com/</h3>
<p style="padding-left: 30px;">成立于1999年的天天网,比较标准的传统b2c购物网站,产品没有出彩的地方,只是增加了一个"今日团购".从网站商品所售商品分类上已经超越了传统化妆品B2C,还增加了箱包和腕表.</p>
<p style="padding-left: 30px;">BD合作上天天网与维络城有合作,在北京地区有一定的线下影响力.</p>
<p style="padding-left: 30px;">有免费购物目录索取服务</p>
<h3>乐蜂网:http://www.lafaso.com/</h3>
<p style="padding-left: 30px;">乐蜂网LAFASO.COM是中国第一个拥有专家明星进驻，以提供[女性时尚解决方案]为主要服务的互联网站。www.lafaso.com原节目官网www.tvj.com.cn升级，推出提供女性时尚解决方案的网站“乐蜂网”</p>
<p style="padding-left: 30px;">B2C产品中包含了传统的B2C购物之外,就是重点结合了专家明星的资讯.而在专家明星的资讯中加入了大量商品广告性质的推荐.试图利用专家明星的趋势作用促进商品成交.</p>
<p style="padding-left: 30px;">结合专家明星的资讯内容,乐蜂已经把自己定位成"时尚解决方案"提供者.目前来看实力强,方向明确.</p>
<h3>唯一网:http://www.w1.cn/</h3>
<p style="padding-left: 30px;">商城,社区,试用,三大块组成,从发展历史来看,唯一先做社区,以免费试用来最大亮点把社区构建起来.并在社区成型后开始发力化妆品电子商务.</p>
<p style="padding-left: 30px;">唯一试图把明星作用结合到B2C中,但是产品效果不强,主要原因是媒体资源不及乐蜂网.</p>
<p style="padding-left: 30px;">对于社区与B2C的结合上.唯一重点在社区,以社区的推荐作为主导,次之才是商品本身的信息.</p>
<p style="padding-left: 30px;">10年增加了化妆品团购网站--"公主网"http://www.gongzhu.com&nbsp;, 从团购网站的发展来看,起先从tuan.w1.cn到gongzhu.com,现在又回到tuan.w1.cn.说明发展不力,没有得到独立发展的期望.</p>
<p style="padding-left: 30px;">BD合作上,唯一网与天涯商场,pplive商城,msn中国商城,姐妹团合作.</p>
<h3>妆点商城:http://shop.zdface.com/</h3>
<p style="padding-left: 30px;">于2008年5月上线试运营，2009年1月进行战略调整,将原妆点商城更名为名品SHOW,经营策略也由大众化商品调整为全系品牌化商品经营方式, 名品SHOW致力于<strong>打造全球领先的时尚品牌</strong>网上折扣商城，<strong>专注中国女性流行消费导向</strong></p>
<p style="padding-left: 30px;">妆点是一个围绕"女人"为中心的全类目高端品牌网上折扣B2C商场.重点在于折扣B2C,没有其它过多的产品.</p>
<h3>优歌网:&nbsp;http://www.ugou.cn/</h3>
<p style="padding-left: 30px;">自身定位"给您专业好产品",产品上只做了一个传统B2C商城的典型功能.</p>
<p style="padding-left: 30px;">商品上最大特点是线下美容院使用商品为主.</p>
<p style="padding-left: 30px;">有资讯上的努力,但是没有与B2C有良好的结合,仅仅是一个商城+资讯.</p>
<h3>No5时尚广场:http://www.no5.com.cn/</h3>
<p style="padding-left: 30px;">没有亮点的化妆品B2C,</p>
<p style="padding-left: 30px;">只提供了一些资讯,与优歌网类似.</p>
<p style="padding-left: 30px;">漂亮100:&nbsp;http://www.piaoliang100.com/</p>
<p style="padding-left: 30px;">典型的商城+论坛(社区+资讯)的化妆品B2C网站.</p>
<p style="padding-left: 30px;">最大亮点在于和团购领<u style=display:none>佳节又重阳</u>导者拉手网合作的化妆品团购,由于拉手的流量及品牌,给漂亮100很大的推动.</p>
<h3>草莓派:&nbsp;http://buy.caomeipai.com/</h3>
<p style="padding-left: 30px;">新起的化妆品B2C,商城+社区,试图以用社区降低营销成本和客服成本.目前处于起步阶段.</p>
<p style="padding-left: 30px;">亮点是在商品加了会员分享商品的资讯.</p>
<h3>致美网:&nbsp;http://www.skinstorechina.com/</h3>
<p style="padding-left: 30px;">高端品牌商场,有社区和团购.产品上没有亮点.</p>
<h3>奢妍美:&nbsp;http://www.luxurybeauty.com/</h3>
<p style="padding-left: 30px;">高端品牌B2C商城.</p>
<h3>丝芙兰:&nbsp;http://www.sephora.cn/</h3>
<p style="padding-left: 30px;">高端品牌B2C商城</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2011/03/13/%e6%88%91%e7%9c%8b%e5%8c%96%e5%a6%86%e5%93%81b2c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>互联网产品流程</title>
		<link>http://www.kauu.net/2011/03/11/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e6%b5%81%e7%a8%8b/</link>
		<comments>http://www.kauu.net/2011/03/11/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e6%b5%81%e7%a8%8b/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 14:53:07 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[互联网乱想]]></category>

		<guid isPermaLink="false">http://www.kauu.net/?p=323</guid>
		<description><![CDATA[对于稍微大一点的互联网产品都要有精心部署和安排才行，否则项目进行的将会一塌糊涂。 先说一说都有哪些岗位和开发所用的软件： PD（产品策划）：word,visio,Axure PM（产品经理）：EasyMind ID（交互设计师）：Axure, Photoshop VD（视觉设计师）：Phtotoshop, Illustrator WD（前端开发工程师）：Photoshop, Dreamweaver DEV（后端开发工程师）：Dreamweaver, MyEclipse 再说说MRD（Market Requirements Document市场需求文档）吧，MRD需明确传达产品需求的目的和目标，指出什么样的新产品、方案和服务为什么可以在市场上或者内部取得成功，以及希望取得怎样的成功。MRD说明“是什么”和“为什么”，但不要写“如何”（即不要包含流程图和原型图）。当产品需求为高优先级（即项目立项）时，需求方必须提供MRD文档。产品需求的优先级、权重和是否立项由项目实施委员会确定，日常需求由委员会负责人确定，非常规需求开会确定。 接下来就是PD的事情了，PD接到显性需求后，应仔细透彻地分析需求方的真正意图。有时候需求方的想法不一定正确，也有些是突然的想法并不可行，PD需进行判断；当这种情况出现时，PD有权提出自己的解决方法，包括否定需求。因判断失误造成需求冲突、重复开发等情况，责任由PD承担。当发生争执，由PM（Product Manager产品经理）协调解决。PD完成需求评审后，需告知需求方完成PRD的时间、产品开发的预估难度及完成工期。 接下来就应该是开发人员做PRD（Product Requirement Document产品需求文档），PRD侧重对产品产品功能和性能的说明，相对于MRD中的同样内容，要更加详细，并进行量化。PRD一般包含流程图、原型图等，使用用例等手段，以准确说明。也就是说从做PRD文档时就是已经进入准备开发阶段，这时MRD文档应该很明确了。 接下来大家开会讨论PRD方案，参与讨论的应该有需求方、相关领域的顾问（即有丰富经验者）、PD或UI，并做好记录。接下来PD出设计结果方案，需求方签字确认。程序员接到PRD方案后，需评估完成开发的大致时间，以及任务分解安排。 ID（Interaction Designer交互设计师）根据PRD定稿做出交互设计方案，真实再现用户交互过程（工作室一般用强大的axure），并与PD、UI进行内部评审。视情况，PM参与，做完后要与需求方反复交流直到需求方满意。 接下来VD（视觉设计师）根据axure做出的原型，进行设计页面风格、布局、关键界面等。和用户交流对页面设计是否满意。 WD（前端开发工程师）根据设计页面切图，编写HTML，CSS，JS源代码。 下面就进入了后台开发阶段，在编码之前，程序员应视其系统需要，进行概要设计、数据库设计，并进行内部讨论和评审。程序员对文档或原型有疑问或不理解，需与PD和ID进行沟通，了解其真实涵义，不得以任何理由私自更改已确定的PRD文档方案。确有功能需做调整，程序员需与PD、需求方共同协商完成。改动应出具文档，由需求方、技术经理、PM同意。每个人写的代码都不可能完全正确，这样就需要边开发边测试。 α（alpha最初）测试。在开发小组内部进行，测试的方法也较多，黑盒、白盒、&#160;压力、应力等。此阶段应完成80%以上的需求开发，测试以PRD和原型为准。测试完成后，收集反馈，修复BUG，优化流程。 β（beta第二次）测试：有选择地请一些最终用户实际使用，将发现的问题反馈，开发者对系统进行最后的修改，之后准备发布最终产品。β测试开发者不在场。产品估算开发时间，以完成β测试为准。 产品上线后可能还存在一些bug，这就需要后期的维护了。等产品稳定后就完成了这次开发 转 自:http://www.webbw.com/?p=129]]></description>
			<content:encoded><![CDATA[<p>对于稍微大一点的互联网产品都要有精心部署和安排才行，否则项目进行的将会一塌糊涂。<br>
先说一说都有哪些岗位和开发所用的软件：</p>
<ol>
<li>PD（产品策划）：word,visio,Axure</li>
<li>PM（产品经理）：EasyMind</li>
<li>ID（交互设计师）：Axure, Photoshop</li>
<li>VD（视觉设计师）：Phtotoshop, Illustrator</li>
<li>WD（前端开发工程师）：Photoshop, Dreamweaver</li>
<li>DEV（后端开发工程师）：Dreamweaver, MyEclipse</li>
</ol>
<p>再说说MRD（Market Requirements Document市场需求文档）吧，MRD需明确传达产品需求的目的和目标，指出什么样的新产品、方案和服务为什么可以在市场上或者内部取得成功，以及希望取得怎样的成功。MRD说明“是什么”和“为什么”，但不要写“如何”（即不要包含流程图和原型图）。当产品需求为高优先级（即项目立项）时，需求方必须提供MRD文档。产品需求的优先级、权重和是否立项由项目实施委员会确定，日常需求由委员会负责人确定，非常规需求开会确定。</p>
<p>接下来就是PD的事情了，PD接到显性需求后，应仔细透彻地分析需求方的真正意图。有时候需求方的想法不一定正确，也有些是突然的想法并不可行，PD需进行判断；当这种情况出现时，PD有权提出自己的解决方法，包括否定需求。因判断失误造成需求冲突、重复开发等情况，责任由PD承担。当发生争执，由PM（Product Manager产品经理）协调解决。PD完成需求评审后，需告知需求方完成PRD的时间、产品开发的预估难度及完成工期。</p>
<p>接下来就应该是开发人员做PRD（Product Requirement Document产品需求文档），PRD侧重对产品产品功能和性能的说明，相对于MRD中的同样内容，要更加详细，并进行量化。PRD一般包含流程图、原型图等，使用用例等手段，以准确说明。也就是说从做PRD文档时就是已经进入准备开发阶段，这时MRD文档应该很明确了。</p>
<p>接下来大家开会讨论PRD方案，参与讨论的应该有需求方、相关领域的顾问（即有丰富经验者）、PD或UI，并做好记录。接下来PD出设计结果方案，需求方签字确认。程序员接到PRD方案后，需评估完成开发的大致时间，以及任务分解安排。</p>
<p>ID（Interaction Designer交互设计师）根据PRD定稿做出交互设计方案，真实再现用户交互过程（工作室一般用强大的axure），并与PD、UI进行内部评审。视情况，PM参与，做完后要与需求方反复交流直到需求方满意。</p>
<p>接下来VD（视觉设计师）根据axure做出的原型，进行设计页面风格、布局、关键界面等。和用户交流对页面设计是否满意。</p>
<p>WD（前端开发工程师）根据设计页面切图，编写HTML，CSS，JS源代码。</p>
<p>下面就进入了后台开发阶段，在编码之前，程序员应视其系统需要，进行概要设计、数据库设计，并进行内部讨论和评审。程序员对文档或原型有疑问或不理解，需与PD和ID进行沟通，了解其真实涵义，不得以任何理由私自更改已确定的PRD文档方案。确有功能需做调整，程序员需与PD、需求方共同协商完成。改动应出具文档，由需求方、技术经理、PM同意。每个人写的代码都不可能完全正确，这样就需要边开发边测试。</p>
<ul>
<li>α（alpha最初）测试。在开发小组内部进行，测试的方法也较多，黑盒、白盒、&nbsp;压力、应力等。此阶段应完成80%以上的需求开发，测试以PRD和原型为准。测试完成后，收集反馈，修复BUG，优化流程。</li>
<li>β（beta第二次）测试：有选择地请一些最终用户实际使用，将发现的问题反馈，开发者对系统进行最后的修改，之后准备发布最终产品。β测试开发者不在场。产品估算开发时间，以完成β测试为准。</li>
</ul>
<p><span style="font-family: Georgia, 'Bitstream Charter', serif; line-height: 24px;">产品上线后可能还存在一些bug，这就需要后期的维护了。等产品稳定后就完成了这次开发</span></p>
<p><span style="font-family: Georgia, 'Bitstream Charter', serif; line-height: 24px;">转 自:http://www.webbw.com/?p=129</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2011/03/11/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e6%b5%81%e7%a8%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux中Load average的理解</title>
		<link>http://www.kauu.net/2010/04/28/linux%e4%b8%adload-average%e7%9a%84%e7%90%86%e8%a7%a3/</link>
		<comments>http://www.kauu.net/2010/04/28/linux%e4%b8%adload-average%e7%9a%84%e7%90%86%e8%a7%a3/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:37:21 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[load 负载]]></category>

		<guid isPermaLink="false">http://kauu.72pines.com/2010/04/28/linux%e4%b8%adload-average%e7%9a%84%e7%90%86%e8%a7%a3/</guid>
		<description><![CDATA[Load average的定义 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中： - 它没有在等待I/O操作的结果 - 它没有主动进入等待状态(也就是没有调用’wait’) - 没有被停止(例如：等待终止) load average如何计算 为了使内核可以高效计算load average，采用了fixed-point arithmetic。fixed-point arithmetic是一种非常快速的模拟浮点运算的方法，特别是在没有FPU（float point unit）部件的处理器上，非常有用。 计算公式：load(t) = load(t-1) e^(-5/60) + n (1 - e^(-5/60))，迭代计算，其中n为run-queue length。 由Exponential Smoothing方程有，Y(t)＝ Y(t-1) + a*[X(t) - Y(t-1)],whereX(t) is the input raw data, Y(t &#8230; <a href="http://www.kauu.net/2010/04/28/linux%e4%b8%adload-average%e7%9a%84%e7%90%86%e8%a7%a3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Load average的定义<br>
系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中：<br>
- 它没有在等待I/O操作的结果<br>
- 它没有主动进入等待状态(也就是没有调用’wait’)<br>
- 没有被停止(例如：等待终止)</p>
<p>load average如何计算<br>
为了使内核可以高效计算load average，采用了fixed-point arithmetic。fixed-point arithmetic是一种非常快速的模拟浮点运算的方法，特别是在没有FPU（float point unit）部件的处理器上，非常有用。</p>
<p>计算公式：load(t) = load(t-1) e^(-5/60) + n (1 - e^(-5/60))，迭代计算，其中n为run-queue length。</p>
<p>由Exponential Smoothing方程有，Y(t)＝ Y(t-1) + a*[X(t) - Y(t-1)],whereX(t) is the input raw data, Y(t - 1) is the value due to the previoussmoothing iteration and Y(t) is the new smoothed value.令a＝1-b，b为e^(-5/60)，就可以得到load average的计算公式。</p>
<p>采用此公式的好处：局部的load抖动不会对load average造成重大影响，使其平滑。</p>
<p>load average释疑<br>
一般来说只要每个CPU的当前活动进程数不大于2那么系统的性能就是良好的，如果每个CPU的任务数大于5，那么就表示这台机器的性能有严重问题。</p>
<p>假设系统有两个CPU，那么其每个CPU的当前任务数为：Load average/2。这时候取得的数值可以参照上述2-5的标准来进行判断了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2010/04/28/linux%e4%b8%adload-average%e7%9a%84%e7%90%86%e8%a7%a3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据传输命令scp or rsync</title>
		<link>http://www.kauu.net/2010/04/21/%e6%95%b0%e6%8d%ae%e4%bc%a0%e8%be%93%e5%91%bd%e4%bb%a4scp-or-rsync/</link>
		<comments>http://www.kauu.net/2010/04/21/%e6%95%b0%e6%8d%ae%e4%bc%a0%e8%be%93%e5%91%bd%e4%bb%a4scp-or-rsync/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:33:57 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[数据传输]]></category>

		<guid isPermaLink="false">http://kauu.72pines.com/?p=319</guid>
		<description><![CDATA[rsync -apur --partial -e "ssh -p 22 -c arcfour" SRC DEST scp -P 22 -c arcfour SRC DEST]]></description>
			<content:encoded><![CDATA[<p>rsync -apur --partial -e "ssh -p 22 -c arcfour" SRC DEST<br>
scp -P 22 -c arcfour SRC DEST</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2010/04/21/%e6%95%b0%e6%8d%ae%e4%bc%a0%e8%be%93%e5%91%bd%e4%bb%a4scp-or-rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell 批量 替换</title>
		<link>http://www.kauu.net/2010/03/16/shell-%e6%89%b9%e9%87%8f-%e6%9b%bf%e6%8d%a2/</link>
		<comments>http://www.kauu.net/2010/03/16/shell-%e6%89%b9%e9%87%8f-%e6%9b%bf%e6%8d%a2/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 03:10:45 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://kauu.72pines.com/2010/03/16/shell-%e6%89%b9%e9%87%8f-%e6%9b%bf%e6%8d%a2/</guid>
		<description><![CDATA[grep something_old -rl ./ &#124; xargs sed -i "s/something_old/something_new/g"]]></description>
			<content:encoded><![CDATA[<p>grep something_old -rl ./ | xargs sed -i "s/something_old/something_new/g"</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2010/03/16/shell-%e6%89%b9%e9%87%8f-%e6%9b%bf%e6%8d%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cassandra初体验</title>
		<link>http://www.kauu.net/2010/02/27/cassandra%e5%88%9d%e4%bd%93%e9%aa%8c/</link>
		<comments>http://www.kauu.net/2010/02/27/cassandra%e5%88%9d%e4%bd%93%e9%aa%8c/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 03:50:24 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[it技术]]></category>

		<guid isPermaLink="false">http://kauu.72pines.com/?p=314</guid>
		<description><![CDATA[A highly scalable, eventually consistent, distributed, structured key-value store. 一个高度可扩展、最終一致、分布式和结构化key-value儲存方案。 下载 从 http://incubator.apache.org/cassandra/download/ 选择二进制包下载，包名类似 apache-cassandra-incubating-x.y.z-bin.tar.gz 。 设置和运行 为了方便，下面所有命令以 root身份执行。 以一个独立节点运行 tar -zxvf cassandra-$VERSION.tar.gz mv cassandra-$VERSION /opt/cassandrasudo mkdir -p /var/log/cassandra sudo mkdir -p /var/lib/cassandraecho 'alias PATH=$PATH:/opt/cassandra/bin/' &#62;&#62; ~/.bashrc &#38;&#38; source ~/.bashrc &#8230; <a href="http://www.kauu.net/2010/02/27/cassandra%e5%88%9d%e4%bd%93%e9%aa%8c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="line867"><img class="external_image" src="http://incubator.apache.org/cassandra/media/img/cassandra_logo.png" alt="http://incubator.apache.org/cassandra/media/img/cassandra_logo.png"></p>
<p class="line874">A highly scalable, eventually consistent, distributed, structured key-value store.</p>
<p class="line874">一个高度可扩展、最終一致、分布式和结构化key-value儲存方案。</p>
<p class="line867"></p>
<h2>下载</h2>
<p class="line862">从 <a class="http" href="http://incubator.apache.org/cassandra/download/">http://incubator.apache.org/cassandra/download/</a> 选择二进制包下载，包名类似 apache-cassandra-incubating-x.y.z-bin.tar.gz 。</p>
<p class="line867"></p>
<h2>设置和运行</h2>
<p class="line874">为了方便，下面所有命令以 root身份执行。</p>
<p class="line867"></p>
<h3>以一个独立节点运行</h3>
<p class="line867"></p>
<pre>
tar -zxvf cassandra-$VERSION.tar.gz
mv cassandra-$VERSION /opt/cassandra<br>sudo mkdir -p /var/log/cassandra
sudo mkdir -p /var/lib/cassandra<br>echo 'alias PATH=$PATH:/opt/cassandra/bin/' &gt;&gt; ~/.bashrc &amp;&amp; source ~/.bashrc
</pre>
<p class="line874">创建start- cassandra.sh</p>
<p class="line867"></p>
<pre>
/opt/cassandra/bin/cassand
</pre>
<p class="line874">创建stop- cassandra.sh</p>
<p class="line867"></p>
<pre>
kill `ps aux |  fgrep  $USER | grep cassandra | grep -v 'grep' | awk '{print $2}'`
</pre>
<p class="line874">创建show- cassandra.sh</p>
<p class="line867"></p>
<pre>
#/bin/bash
echo "cassandra PID: `ps aux |  fgrep  $USER | grep cassandra | grep -v 'grep' | awk '{print $2}'`"
</pre>
<p class="line874">以后台方式运行节点：</p>
<p class="line867"></p>
<pre>
./start-cassandra.sh
</pre>
<p class="line874">或以前台方式运行：</p>
<p class="line867"></p>
<pre>
cassandra -f
</pre>
<p class="line874">测试</p>
<p class="line867"></p>
<pre>
cassandra-cli --host localhost --port 9160
</pre>
<p class="line874">如果成功会显示：</p>
<p class="line867"></p>
<pre>
  Connected to localhost/9160
  Welcome to cassandra CLI.<br>  Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
  cassandra&gt;
</pre>
<p class="line874">尝试写和读键：</p>
<p class="line867"></p>
<pre>
set Keyspace1.Standard1['shugelee']['first'] = 'Lee'
set Keyspace1.Standard1['shugelee']['last'] = 'Li'
set Keyspace1.Standard1['shugelee']['age'] = '21'<br>get Keyspace1.Standard1['shugelee']
</pre>
<p class="line874">結果类似：</p>
<p class="line867"></p>
<pre>
  (column=last, value=li; timestamp=1263050140529)
  (column=first, value=lee; timestamp=126305011763 <img src='http://www.kauu.net/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley'>
  (column=age, value=18; timestamp=126305015563 <img src='http://www.kauu.net/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley'>
Returned 3 rows.
</pre>
<p class="line867"></p>
<h3>以一个簇（集群）运行</h3>
<p class="line874">假定两台debian均按 上面安装并初步设置了cassandra环境：</p>
<ul>
<li>A 192.168.1.101 [development server]</li>
<li>B 192.168.1.105 [developer Lee Li]</li>
</ul>
<p class="line874">将A 192.168.1.101 [development server]作为主server运行。</p>
<p class="line867"><strong>development server的设置</strong></p>
<p class="line867"></p>
<pre>
    &lt;Seed&gt;127.0.0.1&lt;/Seed&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;Seed&gt;192.168.1.101&lt;/Seed&gt;
</pre>
<p class="line867"></p>
<pre>
    &lt;ListenAddress&gt;localhost&lt;/ListenAddress&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;ListenAddress&gt;192.168.1.105&lt;/ListenAddress&gt;
</pre>
<p class="line867"></p>
<pre>
    &lt;ThriftAddress&gt;localhost&lt;/ThriftAddress&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;ThriftAddress&gt;0.0.0.0&lt;/ThriftAddress&gt;
</pre>
<p class="line867"><strong>developer Lee Li的设置</strong></p>
<p class="line867"></p>
<pre>
    &lt;Seed&gt;127.0.0.1&lt;/Seed&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;Seed&gt;192.168.1.101&lt;/Seed&gt;
    &lt;Seed&gt;192.168.1.105&lt;/Seed&gt;
</pre>
<p class="line867"></p>
<pre>
    &lt;ListenAddress&gt;localhost&lt;/ListenAddress&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;ListenAddress&gt;192.168.1.101&lt;/ListenAddress&gt;
</pre>
<p class="line867"></p>
<pre>
    &lt;ThriftAddress&gt;localhost&lt;/ThriftAddress&gt;
</pre>
<p class="line874">改为：</p>
<p class="line867"></p>
<pre>
    &lt;ThriftAddress&gt;0.0.0.0&lt;/ThriftAddress&gt;
</pre>
<p class="line874">分别运行A和B上的 cassandra：</p>
<p class="line867"></p>
<pre>
canssandra -f
</pre>
<p class="line874">分别在A和B上测试：</p>
<p class="line867"></p>
<pre>
nodeprobe -host 192.168.1.101 ring
</pre>
<p class="line874">如果成功，結果类似：</p>
<p class="line867"></p>
<pre>
DEBUG - Loading settings from /opt/cassandra/bin/../conf/storage-conf.xml
DEBUG - Syncing log with a period of 1000
Starting Token                                 Ending Token                                 Size Address        Ring
132617574668126261121070408499066554197        127319937893509951017249225297128612859         1 192.168.1.101  |&lt;--|
127319937893509951017249225297128612859        132617574668126261121070408499066554197         1 192.168.1.105  |--&gt;|
</pre>
<p class="line874">分别在A和B上测试链接到一个 node：</p>
<p class="line867"></p>
<pre>
cassandra-cli  --host 192.168.1.105 --port 9160
</pre>
<p class="line874">如果成功，結果类似：</p>
<p class="line867"></p>
<pre>
# cassandra-cli  --host 192.168.1.105 --port 9160
Connected to 192.168.1.105/9160
Welcome to cassandra CLI.<br>Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
cassandra&gt;
</pre>
<p class="line874">测试清单：</p>
<ul>
<li>A连接到自己的cassandra</li>
<li>A连接到B的cassandra</li>
<li>B连接到自己的cassandra</li>
<li>B连接到A的cassandra</li>
<li>A连接到自己的cassandra，写入并读取键值</li>
<li>A连接到B的cassandra，写入并读取键值</li>
<li>B连接到自己的cassandra，写入并读取键值</li>
<li>B连接到A的cassandra，写入并读取键值</li>
</ul>
<p class="line874">测试清单二：</p>
<ul>
<li>B 停止Cassandra服务，B连接到A并写入数据，重启B的Cassandra服务，B连接到自身的Casssandra，查看刚刚在Ａ写入的数据（以 -f方式运行观察，B重启时，立即自动与Ａ同步！非常好！）</li>
</ul>
<p class="line867"></p>
<h2>参考链接</h2>
<p>- <a class="http" href="http://wiki.apache.org/cassandra/GettingStarted">http://wiki.apache.org/cassandra/GettingStarted</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2010/02/27/cassandra%e5%88%9d%e4%bd%93%e9%aa%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UML类图关系大全</title>
		<link>http://www.kauu.net/2010/02/08/uml%e7%b1%bb%e5%9b%be%e5%85%b3%e7%b3%bb%e5%a4%a7%e5%85%a8/</link>
		<comments>http://www.kauu.net/2010/02/08/uml%e7%b1%bb%e5%9b%be%e5%85%b3%e7%b3%bb%e5%a4%a7%e5%85%a8/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 01:56:13 +0000</pubDate>
		<dc:creator>吴志敏</dc:creator>
				<category><![CDATA[it技术]]></category>

		<guid isPermaLink="false">http://kauu.72pines.com/?p=312</guid>
		<description><![CDATA[UML类图关系大全 <a href="http://www.kauu.net/2010/02/08/uml%e7%b1%bb%e5%9b%be%e5%85%b3%e7%b3%bb%e5%a4%a7%e5%85%a8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h1 class="postTitle"><a id="ctl04_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/riky/archive/2007/04/07/704298.html" name="ctl04_TitleUrl"><br></a></h1>
<p><span style="font-size: 10pt">1、关联<br>
<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/doubleAssoc.JPG" alt=""></span></p>
<p><span style="font-size: 10pt">双向关联：<br>
C1-C2：指双方都知道对方的存在，都可以调用对方的公共属性和方法。</span></p>
<p><span style="font-size: 10pt">在 GOF的设计模式书上是这样描述的：虽然在分析阶段这种关系是适用的，但我们觉得它对于描述设计模式内的类关系来说显得太抽象了，因为在设计阶段关联关系 必须被映射为对象引用或指针。对象引用本身就是有向的，更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到，关联一般都是有向的。</span></p>
<p><span style="font-size: 10pt">使用ROSE 生成的代码是这样的：</span></p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C1<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C2*&nbsp;theC2;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C2<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C1*&nbsp;theC1;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};</div>
</div>
<p style="font-size: 10pt">双向关联在代码的表现为双方都拥有对方的一个指针，当然也可以是引用或者是值。</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/uniAssoc.JPG" alt=""></p>
<p>单向关联:<br>
C3-&gt;C4：表示相识关系，指C3知道C4，C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。</p>
<p>生成代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C3<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C4*&nbsp;theC4;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C4<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};</div>
</div>
<p style="font-size: 10pt">单向关联的代码就表现为C3有C4的指针，而C4对C3一无所知。</p>
<p style="font-size: 10pt"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/selfAssoc.JPG" alt=""></p>
<p>自身关联（反身关联）：<br>
自己引用自己，带着一个自己的引用。</p>
<p>代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C14<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C14*&nbsp;theC14;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};</div>
</div>
<p style="font-size: 10pt">就是在自己的内部有着一个自身的引用。</p>
<p>2、聚合/组合</p>
<p>当类之间有整体-部分关系的时候，我们就可以使用组合或者聚合。</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Aggregation.JPG" alt=""></p>
<p>聚合：表示C9聚合C10，但是C10可以离开C9而独立存在（独立存在的意思是在某个应用的问题域中这个类的存在有意义。这句话怎么解，请看下面组合里的解释）。</p>
<p>代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C9<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C10&nbsp;theC10;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C10<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"></div>
</div>
<p style="font-size: 10pt"></p>
<p style="font-size: 10pt"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Composition.JPG" alt=""></p>
<p>组 合（也有人称为包容）：一般是实心菱形加实线箭头表示，如上图所示，表示的是C8被C7包容，而且C8不能离开C7而独立存在。但这是视问题域而定的，例 如在关心汽车的领域里，轮胎是一定要组合在汽车类中的，因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务里，就算轮胎离开了汽车，它也是有意义的， 这就可以用聚合了。在《敏捷开发》中还说到，A组合B，则A需要知道B的生存周期，即可能A负责生成或者释放B，或者A通过某种途径知道B的生成和释放。</p>
<p>他们的代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C7<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top">public:<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> C8&nbsp;theC8;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C8<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};</div>
</div>
<p style="font-size: 10pt">可以看到，代码和聚合是一样的。具体如何区别，可能就只能用语义来区分了。</p>
<p>3、依赖</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Dependancy.JPG" alt=""></p>
<p>依赖:<br>
指C5可能要用到C6的一些方法，也可以这样说，要完成C5里的所有功能，一定要有C6的方法协助才行。C5依赖于C6的定义，一般是在C5类的头文件中包含了C6的头文件。ROSE对依赖关系不产生属性。</p>
<p>注意，要避免双向依赖。一般来说，不应该存在双向依赖。</p>
<p>ROSE生成的代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">//&nbsp;C5.h<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">#include&nbsp;"C6.h"<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C5<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">//&nbsp;C6.h<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">#include&nbsp;"C5.h"<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C6<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"></div>
</div>
<p style="font-size: 10pt">虽然ROSE不生成属性，但在形式上一般是A中的某个方法把B的对象作为参数使用(假设A依赖于B)。如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">#include&nbsp;"B.h"<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;A<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top"> void&nbsp;Func(B&nbsp;&amp;b);<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">}</div>
</div>
<p style="font-size: 10pt">那依赖和聚合\组合、关联等有什么不同呢？</p>
<p>关联是类之间的一种关系，例如老师教学生，老公和老婆，水壶装水等就是一种关系。这种关系是非常明显的，在问题领域中通过分析直接就能得出。</p>
<p>依 赖是一种弱关联，只要一个类用到另一个类，但是和另一个类的关系不是太明显的时候（可以说是“uses”了那个类），就可以把这种关系看成是依赖，依赖也 可说是一种偶然的关系，而不是必然的关系，就是“我在某个方法中偶然用到了它，但在现实中我和它并没多大关系”。例如我和锤子，我和锤子本来是没关系的， 但在有一次要钉钉子的时候，我用到了它，这就是一种依赖，依赖锤子完成钉钉子这件事情。</p>
<p style="font-size: 10pt">组合是一种整体-部分的关系，在问题域中这种关系很明显，直接分析就可以得出的。例如轮胎是车的一部分，树叶是树的一部分，手脚是身体的一部分这种的关系，非常明显的整体-部分关系。</p>
<p>上述的几种关系（关联、聚合/组合、依赖）在代码中可能以指针、引用、值等的方式在另一个类中出现，不拘于形式，但在逻辑上他们就有以上的区别。</p>
<p>这 里还要说明一下，所谓的这些关系只是在某个问题域才有效，离开了这个问题域，可能这些关系就不成立了，例如可能在某个问题域中，我是一个木匠，需要拿着锤 子去干活，可能整个问题的描述就是我拿着锤子怎么钉桌子，钉椅子，钉柜子；既然整个问题就是描述这个，我和锤子就不仅是偶然的依赖关系了，我和锤子的关系 变得非常的紧密，可能就上升为组合关系（让我突然想起武侠小说的剑不离身，剑亡人亡...）。这个例子可能有点荒谬，但也是为了说明一个道理，就是关系和 类一样，它们都是在一个问题领域中才成立的，离开了这个问题域，他们可能就不复存在了。</p>
<p>4、泛化（继承）</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/inheri.jpg" alt=""></p>
<p>泛化关系：如果两个类存在泛化的关系时就使用，例如父和子，动物和老虎，植物和花等。<br>
ROSE生成的代码很简单，如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">#include&nbsp;"C11.h"<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"><br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C12&nbsp;:&nbsp;public&nbsp;C11<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};</div>
</div>
<p style="font-size: 10pt">5、这里顺便提一下模板</p>
<p><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/dylgsy/Template.jpg" alt=""></p>
<p>上面的图对应的代码如下：</p>
<div style="font-size: 10pt">
<div style="font-size: 10pt"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">template&lt;int&gt;<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top">class&nbsp;C13<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top"><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top">...{<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top">};<br>
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top"></div>
</div>
<p style="font-size: 10pt">这里再说一下重复度，其实看完了上面的描述之后，我们应该清楚了各个关系间的关系以及具体对应到代码是怎么样的，所谓的重复度，也只不过是上面的扩展，例如A和B有着“1对多”的重复度，那在A中就有一个列表，保存着B对象的N个引用，就是这样而已。</p>
<p>好了，到这里，已经把上面的类图关系说完了，希望你能有所收获了，我也费了不少工夫啊（画图、生成代码、截图、写到BLOG上，唉，一头大汗）。不过如果能让你彻底理解UML类图的这些关系，也值得了。 <img src='http://www.kauu.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'></p>
<p>+++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
<div style="font-size: 10pt">在UML建模中，对类图上出现元素的理解是至关重要的。开发者必须理解如何将类图上出现的元素转换到Java中。以java为代表结合网上的一些实例，下面是个人一些基本收集与总结：</div>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">基本元素符号：</div>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">1. 类（Classes）</div>
<div style="font-size: 10pt">类包含3个组成部分。第一个是Java中定义的类名。第二个是属性（attributes）。第三个是该类提供的方法。</div>
<div style="font-size: 10pt">属性和操作之前可附加一个可见性修饰符。加号（+）表示具有公共可见性。减号（-）表示私 有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package（包）级别的可见性。如果属性或操作具有下划线，表明它是静态的。在操作中，可 同时列出它接受的参数，以及返回类型，如下图所示：</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image001.gif" alt=""></p>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">2. 包（Package）</div>
<div style="font-size: 10pt">包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java 中，一个包可能含有其他包、类或者同时含有这两者。进行建模时，你通常拥有逻辑性的包，它主要用于对你的模型进行组织。你还会拥有物理性的包，它直接转换 成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image002.gif" alt=""></p>
<div style="font-size: 10pt">3. 接口（Interface）</div>
<div style="font-size: 10pt">接口是一系列操作的集合，它指定了一个类所提供的服务。它直接对应于Java中的一个接口 类型。接口既可用下面的那个图标来表示（上面一个圆圈符号，圆圈符号下面是接口名，中间是直线，直线下面是方法名），也可由附加 了&lt;&lt;interface&gt;&gt;的一个标准类来表示。通常，根据接口在类图上的样子，就能知道与其他类的关系。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image003.gif" alt=""></p>
<div style="font-size: 10pt">关　系：</div>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">1. 依赖（Dependency）</div>
<div style="font-size: 10pt">实体之间一个“使用”关系暗示一个实体的规范发生变化后，可能影响依赖于它的其他实例。更 具体地说，它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量，对通过方法调用而获得的一个对象的引用（如下例所示）， 或者对一个类的静态方法的引用（同时不存在那个类的一个实例）。也可利用“依赖”来表示包和包之间的关系。由于包中含有类，所以你可根据那些包中的各个类 之间的关系，表示出包和包的关系。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image004.gif" alt=""></p>
<div style="font-size: 10pt">2. 关联（Association）</div>
<div style="font-size: 10pt">实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的，它用于指定导航能力。如果 没有箭头，暗示是一种双向的导航能力。在Java中，关联转换为一个实例作用域的变量，就像图E的“Java”区域所展示的代码那样。可为一个关联附加其 他修饰符。多重性（Multiplicity）修饰符暗示着实例之间的关系。在示范代码中，Employee可以有0个或更多的TimeCard对象。但 是，每个TimeCard只从属于单独一个Employee。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image005.gif" alt=""></p>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">3. 聚合（Aggregation）</div>
<div style="font-size: 10pt">聚合是关联的一种形式，代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局部更高的一个级别，而关联暗示两个类在概念上位于相同的级别。聚合也转换成Java中的一个实例作用域变量。</div>
<div style="font-size: 10pt">关联和聚合的区别纯粹是概念上的，而且严格反映在语义上。聚合还暗示着实例图中不存在回路。换言之，只能是一种单向关系。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image006.gif" alt=""></p>
<div style="font-size: 10pt">4. 合成（Composition）</div>
<div style="font-size: 10pt">合成是聚合的一种特殊形式，暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以，虽然局部不一定要随整体的销毁而被销毁，但整体要么负责保持局部的存活状态，要么负责将其销毁。</div>
<div style="font-size: 10pt">局部不可与其他整体共享。但是，整体可将所有权转交给另一个对象，后者随即将承担生存期职责。Employee和TimeCard的关系或许更适合表示成“合成”，而不是表示成“关联”。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image007.gif" alt=""></p>
<div style="font-size: 10pt">5. 泛化（Generalization）</div>
<div style="font-size: 10pt">泛化表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中，用extends关键字来直接表示这种关系。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image008.gif" alt=""></p>
<div style="font-size: 10pt"></div>
<div style="font-size: 10pt">6. 实现（Realization）</div>
<div style="font-size: 10pt">实例关系指定两个实体之间的一个合同。换言之，一个实体定义一个合同，而另一个实体保证履行该合同。对Java应用程序进行建模时，实现关系可直接用implements关键字来表示。</div>
<p style="font-size: 10pt" align="center"><img src="http://blog.csdn.net/images/blog_csdn_net/zxjcool/image009.gif" alt=""></p>
<p style="font-size: 10pt" align="left">像聚合还分为：非共享聚合、共享聚合、复合聚合等。以及其它内容，下次再补充。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kauu.net/2010/02/08/uml%e7%b1%bb%e5%9b%be%e5%85%b3%e7%b3%bb%e5%a4%a7%e5%85%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

