<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_GWP_Brian.net</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/49851/rss</id><updated>2011-05-05T16:12:24Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/49851/rss"/><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2011/04/27/2029350.html</id><title type="text">你是合格的程序员吗?(欢迎大家自测)</title><summary type="text">你是合格的程序员吗?(欢迎大家自测)</summary><published>2011-04-27T01:06:00Z</published><updated>2011-04-27T01:06:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/27/2029350.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/27/2029350.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;转载自阿朱大哥。欢迎大家自测。&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;一、自身代码编写能力&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;1、快速业务理解能力：他能快速准确理解产品设计人员的设计意图&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;2、代码符合业务设计/周全设计能力：他能快速编码完成任务，而且高度符合产品设计，并且还能弥补产品设计文档遗漏描述的不周全的点&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;3、代码稳定性和性能能力：他能快速完成的代码，临界场景考虑周全/代码稳定BUG少，性能高（并发、大数据量）&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;4、代码结构化能力：他的代码思路清晰，明显能看出流程、函数，层次封装良好&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;5、函数编写能力：他的函数有明确的输入、返回值、错误值、输入参数校验、异常保护、明确报错、报错详细、并发线程控制、数据库连接安全释放、事务安全控制&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;6、代码易修补能力：他的代码出现了BUG，别人即使不用大幅度去阅读代码理解代码，也能很容易重现问题或跟踪问题并且修补该问题&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;二、阅读、跟踪、修改别人代码能力&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;7、他能快速阅读理解别人的代码，快速定位问题，快速清理出复杂关系牵连和流程&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;8、他能够快速重构代码做到等价，并且容易进行测试确认&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;9、他能快速解决问题，解决周全，不留尾巴隐患或引出新的BUG&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;10、他能够代码审查别人的代码,指出代码隐患、不周全、不规范、不稳定、性能欠佳、不易扩展不易理解的的地方&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;三、代码架构设计能力&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;11、模块之间接口提炼能力：他的代码接口提炼合理，能够稳定，不会因为客户项目定制而频繁变动&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;12、代码扩展能力：他的代码好做客户个性化定制扩展，只需要阅读最小代码范围，只改动最小代码范围，只影响这一块不牵一发而动全身&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;13、复用代码设计与编写能力：他的代码模块很通用，非常容易移植使用&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;strong style="font-size: 10pt"&gt;四、技术验证/技术攻关能力&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;span style="font-size: 10pt"&gt;14、他做技术验证，能够快速的给出周全的、数据依据、严谨的验证结果，并且还能给出现实可行的解决方案，并且还能指出每种备选方案的优点缺点&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;15、技术攻关：能够快速查找、定位客户环境的疑难杂症进行攻关解决&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;strong style="font-size: 10pt"&gt;五、团队开发技能促进能力&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black"&gt;&lt;font size="3"&gt;&lt;span style="font-size: 10pt"&gt;16、他能够平时多开发一些：代码审查工具、性能检查工具、代码框架、复用代码/公共代码，推广到整个团队&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;17、他能够把平时学习和培训中获得的新分析方法、新设计方法、新开发方法、新测试方法引入到自身的开发编码当中，并且能够普及推广给整个团队。他能够很积极把平时遇到的编码技巧很及时的添加到咱们的编程指引当中。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;如果你是资深开发人员，你需要把这五个方面都能胜任。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;如果你是高级开发人员，你可能在团队开发技能促进能力方面有所欠缺，不过你在做好自己的同时，你还能很快速搞定别人的代码，而且平时做技术验证、技术紧急攻关也让经理放心.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;如果你是中级开发人员，你在技术验证、技术攻关上会有欠缺，但你可以很好的胜任阅读、跟踪、修改别人代码。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;如果你是初级开发人员，你在阅读、跟踪、修改别人代码方面会有欠缺，所以只能安心努力照顾好自己的代码。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;但是，我们每个人都想一想自己，看看自己在初级开发人员的基本功上能达到几点？&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="black" size="3"&gt;&lt;span style="font-size: 10pt"&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;  &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/2029350.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/27/2029350.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2011/04/26/2029293.html</id><title type="text">设计学习---《大象》之系统分析</title><summary type="text"/><published>2011-04-26T06:37:00Z</published><updated>2011-04-26T06:37:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/26/2029293.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/26/2029293.html"/><content type="html">&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;系统分析&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;1、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;系统用例&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -26.25pt; margin: 0cm 0cm 0pt 44.2pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;）系统用例是用来定义&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;strong&gt;系统范围、获取功能性需求&lt;/strong&gt;的。是软件开发的全部范围，是我们得到的最终需求。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;）系统用例视图&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 26.25pt; margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;一般的系统用例视图是以业务用例为单位展开的，系统用例视图即是系统的开发范围。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;）系统用例实现视图&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 26.25pt; margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;描述系统用例一种或多种实现方式。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;4&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;）系统用例模型&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 42pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;为系统既定功能及系统环境的模型。主要包括：业务用例，概念用例，用例视图，用例规约，补充规约，业务规则，用例实现，用例场景，分析对象。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 42pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;业务用例&lt;/span&gt;&lt;span style="font-family: Wingdings; font-size: 10pt"&gt;&amp;#224;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;系统用例&lt;/span&gt;&lt;span style="font-family: Wingdings; font-size: 10pt"&gt;&amp;#224;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;用例实现&lt;/span&gt;&lt;span style="font-family: Wingdings; font-size: 10pt"&gt;&amp;#224;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;用例场景&lt;/span&gt;&lt;span style="font-family: Wingdings; font-size: 10pt"&gt;&amp;#224;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;分析对象&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;2、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;获取系统用例&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;推导系统用例的基本方法是&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;strong&gt;获取业务用例场景图，尤其是活动图&lt;/strong&gt;。采用活动图绘制业务用例时讲业务主角和业务工人作为泳道，方便观察他们的职责。系统用例可以从这些职责里抽取出来。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;从业务用例场景中抽象出备选的系统用例并且被纳入系统的基本方法：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;映射，抽象，合并，拆分，演绎&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;3、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;描述系统用例&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;与业务用例相同，采用的工具仍然是用例场景，用例规约，对象模型，用例实现，用例实现场景。视角和建模的目的已经从原来的描述业务，理解业务变成了&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;strong&gt;理解系统，描述系统&lt;/strong&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（1）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;从业务需求到系统需求&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;系统用例的确定是从业务用例场景开始，采用映射，抽象，合并，拆分，演绎等方法，从业务用例场景中找到系统用例，从而确定了系统范围。再针对系统用例进行建模，通过用例场景和用例规约得到系统需求。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（2）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;颗粒度问题&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;在业务建模阶段，用例的粒度以每个用例能够说明一件完整的事情为宜，即描述一项完整的业务流程。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;在概念建模阶段，用例的粒度以每个用例能表述一个完整的事件流为宜，完整业务中的一个步骤。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;在系统建模阶段，用例视角是针对计算机的，因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;4、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;分析业务规约&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;业务规约：顾名思义就是业务上的一些规定。分析业务规约时，按照三类进行：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（1）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;全局规约：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;对系统大部分业务或系统设计都起约束作用的那些规约。分析人是架构师。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（2）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;交互规约&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;活动、状态或对象，他们在活动转移、状态变化或对象交互时会有一些限制性的条件。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;交互规约产生于用例场景当中。&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;可以在业务用例场景、业务用例规约、系统用例场景、系统用例规约中找。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;）&lt;/span&gt; &amp;nbsp;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;内禀规则&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;业务对象本身所具备的，不会因为外面的交互而该变化的规约。个人理解就是业务对象的某些特性。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;5、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;用例实现&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;用例实现是将系统用例进行实现，目的就是实现系统的需求。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;用例场景和用例规约是我们实现用例的基础，采用的工具则是分析模型。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;为了用例实现建模，需要以下步骤：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 53.95pt"&gt;&lt;span style="font-size: 10pt"&gt;（1）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;需要在用例场景当中发现和定义实体对象。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 53.95pt"&gt;&lt;span style="font-size: 10pt"&gt;（2）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;需要用控制对象来操作和处理实体对象中的数据。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 53.95pt"&gt;&lt;span style="font-size: 10pt"&gt;（3）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;需要用边界对象来构建接收外部指令界面。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-size: 10pt"&gt;6、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;软件架构&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;对软件结构组成的规则和职责设定。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 17.95pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;软件框架是软件架构的一种实现，它通常针对一个软件架构当中某一个特定的问题提供解决方案和辅助工具。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;7、 &lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;分析模型&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（1）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;建立分析模型&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;将分析类和软件架构结合起来，确定这些类在软件架构中是哪一层。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;将分析类在各个层次的情况分析清楚后，需要在每一个层次上在软件框架的规范内来实现用例场景。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;通过用例确定系统需求。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;通过用例实现，得到系统需求的计算机视角理解。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;规定软件架构，确定软件层次。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;在每一个层次上决定了适用的软件框架。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;分析用例实现在每个软件层次上是如何动作的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;根据每个软件层次上所使用的软件框架并使用分析类来实现用例。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;综合各个软件层次得到的分析类，形成分析模型。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 24pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;得到实现了系统需求最基本的类和类方法。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -36pt; margin: 0cm 0cm 0pt 57pt"&gt;&lt;span style="font-size: 10pt"&gt;（2）&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;优化分析模型&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;应该关注这样几个关键点：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;容易变化的需求：使设计模型带有一定的可扩展能力，适应变化。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;结构化和耦合度调整：尽量采用树状结构，对象之间的依赖是单向的，不是交叉的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;交互集中点调整：如果一个对象的交互多，它依赖或关联到很多类，这个对象就需要调整。可以采用的方法有：重新规划职责、增加冗余对象、增加中间调合对象等方法。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/2029293.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2011/04/26/2029293.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2011/03/22/1991036.html</id><title type="text">设计学习---《大象》阶段学习总结</title><summary type="text"/><published>2011-03-22T02:21:00Z</published><updated>2011-03-22T02:21:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2011/03/22/1991036.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2011/03/22/1991036.html"/><content type="html">&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l1 level1 lfo1" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#252;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: fuchsia; mso-highlight: fuchsia"&gt;学习总结&lt;span lang="EN-US"&gt; Part 1 ---&lt;/span&gt;读书笔记&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l3 level1 lfo2; tab-stops: list 21.0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-bidi-font-family: 微软雅黑; mso-highlight: yellow" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;一、&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;UML&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;基础&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;将现实生活中的实际问题抽象化。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;面向对象存在的问题：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）对象是怎么被抽象出来的，为什么要这样的抽象（&lt;span lang="EN-US"&gt;why&lt;/span&gt;）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）对象可以任意的组合，如何作何才能更好的满足现实世界的需求（&lt;span lang="EN-US"&gt;how&lt;/span&gt;）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;3&lt;/span&gt;）如何更好的理解对象所表达的含义（&lt;span lang="EN-US"&gt;what&lt;/span&gt;）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;现实世界和对象世界之间的精髓在于抽象：需要一种把现实世界映射到对象世界的方法；一种从对象世界描述现实世界的方法；一种验证对象世界行为是否正确反映了现实世界的方法。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;UML&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;是一种建模用的语言，定义了一些建立模型所需要的、表达某种特定含义的基本元素（元模型，如类，用例）。还定义了元模型互相之间关系的规则，以及如何用这些元素和规则绘制图形以建立模型来映射现实世界。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l3 level1 lfo2; tab-stops: list 21.0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-bidi-font-family: 微软雅黑; mso-highlight: yellow" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;二、&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;实战篇之准备工作&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;软件项目总是从了解问题领域开始的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;1. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;了解问题领域&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）了解业务概况：大体知道所接触的领域基本业务有哪些。包括项目背景调查、业务前景分析、业务可行性分析、技术可行性分析等。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）整理业务目标：也就是最终系统要实现的功能，目标是什么。一般情况下通过业务概况的了解整理业务目标。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;2. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;做好涉众分析&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）涉众：业务建模的第一步：发现和定义涉众。凡是与项目有利益关系的人和事都是涉众。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）发现和定义涉众：（业主&amp;#8212;系统建设的投资者，业务提供者&amp;#8212;业务范围、业务模式和业务规则的制定者，业务管理者&amp;#8212;实际管理和业务监督的人员，业务执行者&amp;#8212;底层业务操作人员，第三方&amp;#8212;与项目有关，但是并非业务方的人和事，承建方，相关法律法规，用户&amp;#8230;）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;业务提供者的期望是系统建设的最高纲领。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;不同涉众人群关注的角度不同，业主可能更关心回报。业务提供者可能更关心整体的数据统计。业务管理者可能更关心如何实现他们的管理职能。等&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;3&lt;/span&gt;）涉众分析报告：一份完整的涉众分析报告包括：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;涉众概要（涉众的基本信息和主要角色），&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;涉众简档（描述涉众在系统中承担的职责），&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;用户概要（使用系统的用户说明），&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;用户简档（将典型的用户代表进行描绘）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;消费者统计（系统预期使用的人群和他们的特点）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;涉众分析报告为我们获取需求指明了方向，规划业务范围、规划优先级和规划需求层次的工作，明确了什么时候对什么涉众的什么期望进行了调研。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;3. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;规划业务范围&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;项目中并不是所有的业务目标和涉众期望都要满足，根据项目周期、项目成本、可行性分析等，权衡项目可以容纳的业务范围。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;规划业务范围可以从规划业务目标、涉众期望开始。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）规划业务目标&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）规划涉众期望&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;小结： 本章几节的主要重点是通过对业务领域的了解，明确业务目标，提起涉众，根据业务目标与涉众的期望，确定系统的业务范围。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l3 level1 lfo2; tab-stops: list 21.0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-bidi-font-family: 微软雅黑; mso-highlight: yellow" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;三、&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;实战篇之获取需求&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt; mso-list: l2 level1 lfo3; tab-stops: list 18.0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'; mso-bidi-font-family: 微软雅黑" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;定义边界&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;通过业务目标来划分边界。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;每个业务目标都可以用来定义边界。每个边界都有不同的涉众参与，也会有不同的用例出现。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;获取业务用例必须是以达到业务主角的完整业务目标位标准。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;．发现主角&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;根据涉众概要得到涉众列表，根据边界定义得到边界外的涉众。用主角的定义去审查这些备选的涉众在此边界内的行为模式，从中找出符合定义的涉众，成为业务主角。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;只有直接与系统交互的涉众才能被称为业务主角，一个涉众可能演变多个业务主角。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）业务主角与涉众的区别在于，业务主角直接与系统进行交互，而涉众是系统利益的相关者。往往涉众的代理是业务主角。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）业务主角总是在边界之外的，只有边界外的事物才有权向边界代表的系统提出要求。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;3&lt;/span&gt;）业务主角必须贡献于业务目标。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;4&lt;/span&gt;）业务主角用来分析业务，但是不应过分的虚拟化和抽象化。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;3. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;获取业务用例&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;对于系统来说，每一件事情便是一个业务用例，每个业务用例都体现了业务主角的一个系统期望，而所有这些期望则完成边界所代表的业务目标。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;可以通过以下几点作为引导：期望，内容，目的，结果。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;发现和定义业务用例的目的有两个：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;一个是了解客户的业务构成：从结构上，整体上了解业务构成。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;另一个是确定业务范围：对项目管理有用，估算工作量。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;4. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;业务建模&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;） 建立业务模型&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;一个完整的业务模型包括：业务用例视图，业务用例场景，业务用例规约，业务规则，业务对象模型，业务用例实现视图，业务用例实现场景，包图。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;）业务用例视图：在获取业务场景时基本完成。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;）业务用例场景：用来描述该业务用例在该业务的实际过程中是如何做的，绘制业务用例场景可以使用：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;活动图：强调参与该业务的各参与者的职责活动。直观描述客户的业务流程，获取关键概念：职责和活动。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;时序图：强调业务完成时间。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;协作图：强调业务参与者之间的交互过程。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）业务对象模型&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;）业务用例实现视图&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;业务用例表达了客户的实际业务，而业务用例实现则表示一个业务用例一个或多个实现方式。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;）业务用例实现场景&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;业务用例场景用于说明业务怎样执行，而实现机制就是在业务用例实现场景中描述。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;）包图&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;在业务建模中，包图更多的用于信息分类（业务用例分类，参与者分类等）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: '微软雅黑','sans-serif'; font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US"&gt;&lt;br style="page-break-before: always" clear="all" /&gt;&lt;/span&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l1 level1 lfo1" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#252;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: fuchsia; mso-highlight: fuchsia"&gt;学习总结&lt;span lang="EN-US"&gt; Part 2 ---&lt;/span&gt;回答问题&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;1. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;如何准确的根据业务需求获取到业务用例，业务用例的主要包括哪些内容？如何分析出这些内容？&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;我的理解：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）通过对业务需求的学习理解，确定业务目标，提取相关涉众，根据业务目标和涉众明确业务范围，定于边界。从边界中不同的涉众获取不同的业务用例。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）业务用例主要包括：业务用例体现了业主在系统中要实现的功能的期望。简单的说就是某一类人在系统中通过做某一件事达到某种目的。所以我觉得业务用例中主要包括业务主角和业务目标。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;提取业务目标：通过对业务概况分析出业务目标，并根据目标划分边界，用于提取涉众。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;提取涉众主角：定义完边界后，所有边界外，与系统有利益关系的对象都可以定义为潜在的涉众。可以通过业主、业务提供者、业务管理者、业务执行者、第三方、承建方，相关法律法规、用户的指引进行涉众分析，获取涉众，从中找出直接与系统进行交换的涉众形成业务主角。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;2. &lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;业务用例场景是什么？业务用例场景与业务用例是什么关系？用什么方式能清晰的描述业务用例场景？&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;我的理解：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;1&lt;/span&gt;）业务用例场景：用来描述某一个用例在该业务的实际过程中如何实现的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;2&lt;/span&gt;）业务用例&lt;span lang="EN-US"&gt; --1---N-- &lt;/span&gt;业务用例场景&lt;span lang="EN-US"&gt; --1---1-- &lt;/span&gt;业务用例实现&lt;span lang="EN-US"&gt; --1---N--&lt;/span&gt;业务环节&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;（&lt;span lang="EN-US"&gt;3&lt;/span&gt;）书中介绍了&lt;span lang="EN-US"&gt;3&lt;/span&gt;种描绘业务用例场景的方法：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;活动图：强调参与该业务的各参与者的职责活动。直观描述客户的业务流程，获取关键概念&lt;span lang="EN-US"&gt;--&lt;/span&gt;职责和活动。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;时序图：强调业务完成时间。用于描述对象之间按一定的顺序互通消息而完成一个特定的目标。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;协作图：强调业务参与者之间的交互过程。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: '微软雅黑','sans-serif'; font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US"&gt;&lt;br style="page-break-before: always" clear="all" /&gt;&lt;/span&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l1 level1 lfo1" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#252;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: fuchsia; mso-highlight: fuchsia"&gt;学习总结&lt;span lang="EN-US"&gt; Part 3 ---&lt;/span&gt;个人心得&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;通过对八九章的阅读，主要学习了业务需求的分析过程和方法。下面说下自己的心得：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;我们在分析某些问题的时候，经常会使用&lt;span lang="EN-US"&gt;5W&lt;/span&gt;理论作为指引，业务需求的分析也同样受用。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;WHAT&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;：了解需求领域，业务概况&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;我觉得软件的实现过程是将现实事物进行了抽象化，把现实中的一些人来做的事情通过计算机来实现，简单的说软件就是一个工具，就像计算器一样，工具的好坏取决于它能不能帮助人们解决问题，也就是能不能满足人们的需求。所以第一步我们首先了解问题领域，看看有哪些问题需要我们来解决。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;如何了解问题领域我在最后的问题中也提出了疑问，我个人的理解是项目负责人会在项目的前期进行项目背景调查，业务分析等。设计人员首先会通过业务需求总结了解实际的问题领域，其次就是项目的负责人对需求领域进行传达，必要的时候由领域的专业人员进行业务的指导。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;WHY&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;：业务目标，为什么要这样做，最终实现的目的是什么&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;人们常说问为什么是一门学问，多问些为什么会更好的更准确的处理问题。对业务概况有了初步了解之后，我们就会通过业务需求整理业务目标，明确一些大的方向。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;WHERE&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;：业务范围，从哪些范围，涉众的期望中提取需求&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;并不是所有的业务目标都要满足并实现，需要根据实际的情况进行分析和决定，所以业务范围的制定就是去除那些不打算完成或满足的涉众需求。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;但是业务范围并不是最终的范围，从整体上看这个范围还是比较的模糊，所以我们还需要根据业务目标划分边界。每个业务目标都可以用来定义边界。每个边界都有不同的涉众参与，也会有不同的用例出现。这样提取的用例才更准确。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;img border="0" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/o_1.png"  alt="" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;WHO&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;：系统中相关的人，涉众&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;软件的最终目的就是给人带来方便，为人解决实际生活中的问题，很多事情都是以人为本，软件开发也是一样。所以接下来要做的就是涉众的分许与提取。书中给出涉众的定义是：与要建设的业务系统相关的一切人和事。但是我觉得这里应该更准确的说就是一切人或物，任何事都应该有执行者，而这个执行者才是涉众。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;如何发现和定义涉众，书中提到了很好的方法。我觉得基本上可以满足大多数业务场景的需求。可以通过业主、业务提供者、业务管理者、业务执行者、第三方、承建方，相关法律法规、用户的指引进行涉众分析，获取涉众。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;但是涉众不等同于业务主角，业务主角也是在涉众的基础上进行细分。更准确的提取&amp;#8220;人&amp;#8220;的概念。只有直接与系统交互的涉众才能被称为业务主角，一个涉众可能演变多个业务主角。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;涉众和业务主角的一些区别在笔记中有提到，这里就不多说了。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;img border="0" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/o_2.png"  alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow" lang="EN-US"&gt;WHEN&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;：什么时间做&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;在获取业务需求时，似乎没有过多的强调时间上的概念，而是更注重目的性。但是在具体的用例分许和流程中，还是要强调哪个时间点应该做哪些事情的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l0 level1 lfo4" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#216;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: yellow; mso-highlight: yellow"&gt;小结&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;：获取业务需求的最终产物是获取业务用例。业务用例的获取可以让我们了解客户的业务构成：从结构上，整体上了解业务构成。同时确定业务范围：对项目管理有用，估算工作量。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: '微软雅黑','sans-serif'; font-size: 10.5pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang="EN-US"&gt;&lt;img border="0" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/o_3.png"  alt="" /&gt;&lt;br style="page-break-before: always" clear="all" /&gt;&lt;/span&gt;&#xD;
&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-list: l1 level1 lfo1" &gt;&lt;span style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings" lang="EN-US"&gt;&lt;span style="mso-list: Ignore"&gt;&amp;#252;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: '微软雅黑','sans-serif';background: fuchsia; mso-highlight: fuchsia"&gt;学习总结&lt;span lang="EN-US"&gt; Part 3 ---&lt;/span&gt;疑惑问题&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;Q&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;：了解业务领域的方法有哪些，对于一个不是很熟悉的领域，如何能快速准确的理解业务。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: '微软雅黑','sans-serif'" lang="EN-US"&gt;Q&lt;/span&gt;&lt;span style="font-family: '微软雅黑','sans-serif'"&gt;：业务模型和业务对象模型有什么样的本质区别。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 'Calibri','sans-serif'" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1991036.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2011/03/22/1991036.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2011/01/04/1925848.html</id><title type="text">Windows Phone 7 Jump Start 系列教程</title><summary type="text">这是一套国外的Windows Phone 7 视频教程，《Windows Phone 7 Jump Start》，是MVP Rob Miles 和 Andy Wigley讲解的。从很基础的层次带来我们学习Windows Phone 7 的开发，很适合初学者。</summary><published>2011-01-04T13:50:00Z</published><updated>2011-01-04T13:50:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2011/01/04/1925848.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2011/01/04/1925848.html"/><content type="html">&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;这是一套国外的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;视频教程，《&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 Jump Start&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;》，是&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;MVP Rob Miles &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt; Andy Wigley&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;讲解的。从很基础的层次带来我们学习&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的开发，很适合初学者。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;a href="http://channel9.msdn.com/blogs/egibson/windows-phone-7-jump-start-session-1-of-12-introduction"&gt;&lt;font color="#e28221"&gt;Session 1: Introduction&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;带领我们了解了&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的基本硬件情况，开发人员能在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;上做什么和不做什么，以及开发人员在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;需要掌握的知识。开发前的准备工作等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-2-of-12-Building-a-Silverlight-Application-Part-1/"&gt;&lt;font color="#e28221"&gt;Session 2: Building a Silverlight Application, Part 1&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节开始正式的开发之旅，主要讲解了&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;中开发的基本情况，应用程序的类型，控件的事件响应，主题与样式，以及自定义的文本输入等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-3-of-12-Building-a-Silverlight-Application-Part-2/"&gt;&lt;font color="#e28221"&gt;Session 3: Building a Silverlight Application, Part 2&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解了&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Silverlight UI &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的创建，页面的布局，页面导航，应用程序栏，以及使用&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Expression Blend &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;创建动画。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-4-of-12-Building-Games-for-the-Windows-Phone-7-Platform/"&gt;&lt;font color="#e28221"&gt;Session 4: The Application Bar &lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解了使用应用程序栏，系统托盘在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XMAL&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;中的使用，并通过&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;DEMO&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;演示了使用&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Microsoft Expression Blend&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;创建扩展的应用程序栏。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-5-of-12-Building-XNA-Games-for-the-Windows-Phone-7-Platform-Part-/"&gt;&lt;font color="#e28221"&gt;Session 5: Building XNA Games for the Windows Phone 7 Platform, Part 1&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节开始深入研究&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7 XNA&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;手机游戏开发。主要讲解性能的监测，触摸屏的使用，以及先进的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;音频播放，如果使用&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;控制多媒体等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-6-of-12-Building-XNA-Games-for-the-Windows-Phone-7-Platform-Part-/"&gt;&lt;font color="#e28221"&gt;Session 6: Building XNA Games for the Windows Phone 7 Platform, Part 2&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;中控制声音，通过设备进行演示讲解。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-7-of-12-Advanced-Application-Development-Part-1/"&gt;&lt;font color="#e28221"&gt;Session 7: Isocation storage&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解数据的独立存储，在应用程序中如何加载数据，保存数据，以及相应的应用程序设置等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-8-of-12-Advanced-Application-Development-Part-2/"&gt;&lt;font color="#e28221"&gt;Session 8: The Application Lifecycle&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解应用程序的生命周期，如何让应用程序在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Windows Phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;下运行，生命周期中的事件，以及状态存储对象的使用。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-9-of-12-Advanced-Application-Development-Part-3/"&gt;&lt;font color="#e28221"&gt;Session 9: Launchers and Choosers&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Windows Phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;和以前的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Windows Mobile&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;平台有了很大的区别，很多系统底层的操作都做了高度封装。不再允许你通过代码直接去访问或者操作一些系统的数据。那么如何在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Windows Phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;中访问联系人呢？如何发送邮件？如何拨打电话？这一切都离不开&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Windows Phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;中的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Launchers&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Choosers&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;机制。&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;本文主要讲解&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt;Launchers &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt; mso-hansi-font-family: Verdana; mso-bidi-font-family: 'Times New Roman'" lang="EN-US"&gt; Choosers&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;的使用。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: Verdana"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-10-of-12-Marketing-Your-Windows-Phone-7-Application/"&gt;&lt;font color="#e28221"&gt;Session 10: Push Notifications&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解与服务器端得通信，如何延长电池的寿命，用户体验，通过不同的方式接受并响应信息等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-11-of-12-Working-with-Media/"&gt;&lt;font color="#e28221"&gt;Session 11: Marketing your Windows Phone Applications&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解开发人员如何将自己的应用程序或有序营销出去，给自己带来收益，&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Rob Miles &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt; Andy Wigley&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;将会以开发人员的身份进行注册，演示如何将应用程序进行包装并发布到市场上。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-12-of-12-Final-Silverlight-Topics-and-Wrap-Up/"&gt;&lt;font color="#e28221"&gt;Session 12: Working with Media&lt;/font&gt;&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解在&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;windows phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的应用程序或游戏中使用多媒体，&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的概念，显示图片，播放音乐等。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-13-of-19-Panorama-and-Pivots"&gt;Session 13: Panorama and Pivots&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要通过实例讲解&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;windows phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;中的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Panorama&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Pivots&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-14-of-19-XNA-Deep-Dive-Part-1"&gt;Session 14: XNA Deep Dive, Part 1&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;通过实例深入学习&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA 1&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-15-of-19-XNA-Deep-Dive-Part-2"&gt;Session 15: XNA Deep Dive, Part 2&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;通过实例深入学习&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;XNA 2&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-16-of-19-Location-and-Bing-Maps"&gt;Session 16: Location and Bing Maps&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节很长，但是利用大量时间讲解了&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;windows phone 7&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;中本地服务以及&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Bing Maps&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;控件的使用。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-17-of-19-Optimizing-for-Performance"&gt;Session 17: Optimizing for Performance&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要讲解在开发中性能方面的掌握，如何提高性能以及注意事项。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-18-of-19-Designing-Applications-for-Windows-Phone-7-Using-Express"&gt;Session 18: Designing Apps Using Expression Blend &amp;amp; Metro&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Rob Miles &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt; Andy Wigley&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;主要讲解&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Blend &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;的基本应用，以及如何使用&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;Blend&lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;创造炫酷的&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;windows phone 7 &lt;/span&gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;样式。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/Windows-Phone-7-Jump-Start-Session-19-of-19-Ask-the-Experts-podcast"&gt;Session 19: Ask the Experts podcast&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;本节主要是向专家们提问。&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-family: 宋体; color: #4a4a4a; font-size: 9pt; mso-ascii-font-family: 'Segoe UI'; mso-hansi-font-family: 'Segoe UI'; mso-bidi-font-family: 'Segoe UI'"&gt;相关资料下载：&lt;/span&gt;&lt;span style="font-family: 'Segoe UI'; color: #4a4a4a; font-size: 9pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-size: 9pt" lang="EN-US"&gt;&lt;a href="http://borntolearn.mslearn.net/wp7/m/default.aspx"&gt;&lt;font face="Times New Roman"&gt;http://borntolearn.mslearn.net/wp7/m/default.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span style="font-size: 9pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1925848.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2011/01/04/1925848.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/12/22/1912671.html</id><title type="text">通过FxCop来验证.NET编码规范</title><summary type="text">通过FxCop来验证.NET编码规范，很不错的方法，分享给大家！</summary><published>2010-12-22T01:02:00Z</published><updated>2010-12-22T01:02:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/12/22/1912671.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/12/22/1912671.html"/><content type="html">&lt;p&gt;公司用的同样的方式进行的编码规范，园友已经写好，直接转载过来。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;FxCop介绍：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;FxCop是一个代码分析工具，它依照微软.NET框架的设计规范对托管代码assembly进行检查。它使用基于规则的引擎，来检查出你代码中不合规范的部分；你也可以定制自己的规则加入到这个引擎。&lt;/p&gt;&#xD;
&lt;p&gt;还有一款很流行的代码检测工具叫做StyleCop。之所以选择使用FxCop有两个原因，首先是StyleCop不支持VB.Net，而我们用VB.Net做后台开发的。第二是FxCop有非常强大的定制规则引擎的能力，这方面的能力StyleCop不如FxCop。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;FxCop使用：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&amp;nbsp; 1、下载FxCop&lt;/p&gt;&#xD;
&lt;p&gt;最新版本的是FxCop 10.0。我是使用FxCop 1.36版的。FxCop 10.0可以到微软的&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=917023F6-D5B7-41BB-BBC0-411A7D66CF3C"&gt;官网&lt;/a&gt;下载。FxCop 1.36可以到&lt;a href="http://download.csdn.net/source/651540"&gt;床上等你&lt;/a&gt;上下载。微软的1.36这个版本的下载链接好像失效了。&lt;/p&gt;&#xD;
&lt;p&gt;2、安装：略&lt;/p&gt;&#xD;
&lt;p&gt;3、运行界面：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120713542428.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1)、打开FxCop程序，单击&amp;#8220;Project&amp;#8221;|&amp;#8220;Add Targets&amp;#8221;命令，添加待检查的程序集，可添加多个。&lt;br /&gt;2)、打开FxCop程序，单击&amp;#8220;Project&amp;#8221;|&amp;#8220;Add Rules&amp;#8221;命令，添加自定义的规则，可添加多个。&lt;br /&gt;3)、单击工具栏上的&amp;#8220;Analyze&amp;#8221;按钮，FxCop将自动执行检测，检测完毕后，结果将在右侧的列表中显示。单击某个列表项，FxCop下方将显示该结果的详细信息。如图上图所示。&lt;/p&gt;&#xD;
&lt;p&gt;这里使用的都是微软自带的规则，你还可以自定义规则，见下一节。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;FxCop自定义引擎：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;FxCop能实现自定义的引擎规则，这里我用个例子来说明。例子是参数命名使用Camel命名规范，格式为：对象类型＋对象描述。&lt;/p&gt;&#xD;
&lt;p&gt;1、用vs2008创建一个&amp;nbsp;class library。fxcop还需要一个定义规则的XML文件。TypeName表示定义一规则的类名。Description表示错误信息。将此xml定义成嵌入的资源。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;xml version="1.0" encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rules &lt;/span&gt;&lt;span style="color: #ff0000"&gt;FriendlyName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="自定义规则"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rule &lt;/span&gt;&lt;span style="color: #ff0000"&gt;TypeName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FunctionParametersCheck"&lt;/span&gt;&lt;span style="color: #ff0000"&gt; Category&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="参数命名规范"&lt;/span&gt;&lt;span style="color: #ff0000"&gt; CheckId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="C10001"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;参数命名请采用Camel命名规范&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;      参数命名请采用Camel命名规范，格式为：对象类型＋对象描述。&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Url&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;www.cnblogs.com/zhuqil&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Url&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Resolution&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;      函数{0}的参数{1}命名不符合Camel命名规范，格式为：对象类型＋对象描述。&lt;br /&gt;      Integer   int intQuantity&lt;br /&gt;      String    str strFname&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Resolution&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Email&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;zhuqi0@126.com&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Email&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;MessageLevel &lt;/span&gt;&lt;span style="color: #ff0000"&gt;Certainty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="80"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Warning&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;MessageLevel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FixCategories&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;NonBreaking&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FixCategories&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Owner&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;skylin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Owner&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Rule&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Rules&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&#xD;
&lt;p&gt;2、在内库项目中引用Microsoft.Cci.dll和FxCopSdk.dll两个dll文件。添加一个类FunctionParametersCheck。继承BaseIntrospectionRule。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;功能： 参数命名请采用Camel命名规范&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;创建人：  朱祁林&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;创建时间：2010-12-07&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;修改人：  朱祁林&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;修改时间：2010-12-07&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt;&lt;span style="color: #000000"&gt; Microsoft.FxCop.Sdk&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt;&lt;span style="color: #000000"&gt; System&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Namespace&lt;/span&gt;&lt;span style="color: #000000"&gt; MySoftRules&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Class&lt;/span&gt;&lt;span style="color: #000000"&gt; FunctionParametersCheck&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Inherits&lt;/span&gt;&lt;span style="color: #000000"&gt; BaseIntrospectionRule&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt; Methods&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;New&lt;/span&gt;&lt;span style="color: #000000"&gt;()&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;MyBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.New(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;FunctionParametersCheck&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;, &lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomRules.CustomXMLRules&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;, &lt;/span&gt;&lt;span style="color: #0000ff"&gt;GetType&lt;/span&gt;&lt;span style="color: #000000"&gt;(FunctionParametersCheck).Assembly)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End Sub&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Overrides&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt;&lt;span style="color: #000000"&gt; Check(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt;&lt;span style="color: #000000"&gt; member &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; Member) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; ProblemCollection&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; method &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; Method &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; TryCast(member, Method)&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt; ((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Not&lt;/span&gt;&lt;span style="color: #000000"&gt; method &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Is&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Nothing&lt;/span&gt;&lt;span style="color: #000000"&gt;) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;AndAlso&lt;/span&gt;&lt;span style="color: #000000"&gt; (method.DeclaringMember &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Is&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Nothing&lt;/span&gt;&lt;span style="color: #000000"&gt;)) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; i &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Integer&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;For&lt;/span&gt;&lt;span style="color: #000000"&gt; i &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;To&lt;/span&gt;&lt;span style="color: #000000"&gt; method.Parameters.Count &lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;true:找到不符合规范的参数，false表示没有找到不符合规范的参数&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; blnFoundAddString &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Boolean&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;False&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; strFullType &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; method.Parameters.Item(i).Type.FullName&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; strType &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; strFullType.Substring((strFullType.LastIndexOf(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;.&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;) &lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;), ((strFullType.Length &lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt; strFullType.LastIndexOf(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;.&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)) &lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; strName &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; method.Parameters.Item(i).Name.Name&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt; strType.ToLower() &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;string&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                        blnFoundAddString &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; CheckField(strName, &lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;str&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;ElseIf&lt;/span&gt;&lt;span style="color: #000000"&gt; strType.ToLower() &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;int32&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                        blnFoundAddString &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; CheckField(strName, &lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;int&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt; blnFoundAddString &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; resolu &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; Resolution &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;MyBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.GetResolution(method.ToString, strName)&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;MyBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.Problems.Add(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;New&lt;/span&gt;&lt;span style="color: #000000"&gt; Problem(resolu))&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Next&lt;/span&gt;&lt;span style="color: #000000"&gt; i&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;MyBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.Problems&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End Function&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;检查命名规范&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Private&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt;&lt;span style="color: #000000"&gt; CheckField(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt;&lt;span style="color: #000000"&gt; strName &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;&lt;span style="color: #000000"&gt;, &lt;/span&gt;&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt;&lt;span style="color: #000000"&gt; strAbbreviation &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;&lt;span style="color: #000000"&gt;) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Boolean&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt;&lt;span style="color: #000000"&gt; intLength &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Integer&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; strAbbreviation.Length&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt; (strName.Substring(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;, intLength) &lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; strAbbreviation) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;True&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Char&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsLower(strName.Chars(strAbbreviation.Length)) &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;True&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Catch&lt;/span&gt;&lt;span style="color: #000000"&gt; obj1 &lt;/span&gt;&lt;span style="color: #0000ff"&gt;As&lt;/span&gt;&lt;span style="color: #000000"&gt; Exception&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;True&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Return&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;False&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End Function&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;End Class&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;End Namespace&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&#xD;
&lt;p&gt;从上面代码可以看出，在类的构造函数中，关联了开始定义的XML文件。为了简便起见，这里只对string和int两种类型说明。&lt;/p&gt;&#xD;
&lt;p&gt;得到CustomRules.dll这个最终的输出。&lt;/p&gt;&#xD;
&lt;p&gt;使用：有两种方法使用。&lt;/p&gt;&#xD;
&lt;p&gt;1、使用fxcop工具，见前文&lt;/p&gt;&#xD;
&lt;p&gt;2、与vs2008集成，将这个dll放置到：VS2008安装路径\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\Rules\目录下。选择一个项目，鼠标右键点击&amp;#8220;运行代码分析&amp;#8221;。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120716533058.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;分析结果将显示在&amp;#8221;错误列表&amp;#8221;的&amp;#8221;警告&amp;#8221;标签页中。双击其中一项，即可定位到不符合规范的源代码行，即可进行代码调整。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120716573265.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;将不符合规范的代码：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120716591272.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;调整为：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120716592578.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;调试：&lt;/strong&gt;可以看到我们建立的是类库项目，那么如何进行调试来进行开发呢。&lt;/p&gt;&#xD;
&lt;p&gt;1、修改类库项目的属性，将启动外部程序改成安装的FxcopCmd.exe：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120717024765.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2、将命令行参数修改成：out:"results.xml" /file:"C:\MyRules\TestProject\bin\Debug\TestProject.dll" /rule:"CustomRules.dll" /D:"C:\Program Files\Microsoft FxCop 1.36"&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120717033528.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3、这样就可以调试了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://pic002.cnblogs.com/images/2010/38542/2010120717051420.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;本文详细介绍了FxCop的使用过程，并通过一个示例来进行说明。FxCop是对中间语言进行检测的，所以这里的代码同样适用于C#。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;原文：&lt;a href="http://www.cnblogs.com/zhuqil/archive/2010/12/07/FxCop.html"&gt;http://www.cnblogs.com/zhuqil/archive/2010/12/07/FxCop.html&lt;/a&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1912671.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/12/22/1912671.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/11/30/1889946.html</id><title type="text">T-SQL查询 点滴 1</title><summary type="text">《Microsoft SQL Server 2005技术内幕：T-SQL查询》读书笔记，T-SQL查询点滴1</summary><published>2010-11-30T14:22:00Z</published><updated>2010-11-30T14:22:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/30/1889946.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/30/1889946.html"/><content type="html">&lt;p&gt;最近业余时间在阅读《Microsoft SQL Server 2005技术内幕：T-SQL查询》，虽然是本3年前的书，但是书的内容和技术含量还是蛮经典的，从更深的层次理解T-SQL的查询处理，边看边做了些笔记，分享给大家。&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/o_224023586.gif" width="50" height="33" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="font-size: 14pt"&gt;第一章：逻辑查询处理&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/blockquote.gif" width="47" height="35" /&gt;&lt;/span&gt;&lt;span&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;strong&gt;逻辑查询处理阶段简介&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;SELECT DISTINCT &amp;lt;TOP_specification&amp;gt; &amp;lt;select_list&amp;gt;&lt;br /&gt;FROM &amp;lt;left_table&amp;gt;&lt;br /&gt;&amp;lt;join_type&amp;gt; JOIN &amp;lt;right_table&amp;gt;&lt;br /&gt;ON &amp;lt;join_condition&amp;gt;&lt;br /&gt;WHERE &amp;lt;where_condition&amp;gt;&lt;br /&gt;GROUP BY &amp;lt;group_by_list&amp;gt;&lt;br /&gt;WITH {CUBE | ROLLUP}&lt;br /&gt;HAVING &amp;lt;having_condition&amp;gt;&lt;br /&gt;ORDER BY &amp;lt;order_by_list&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;逻辑查询处理的各个阶段：&lt;/p&gt;&#xD;
&lt;p&gt;(1) FROM :对FROM子句中的前两个表执行笛卡尔积（交叉联接），生成虚拟表VT1。&lt;br /&gt;(2) 对虚拟表VT1应用ON筛选器。只有那些&amp;lt;join_condition&amp;gt;为真的行才能被插入VT2。&lt;br /&gt;(3) OUTER(JOIN)：如果指定了OUTER JOIN (相对于CROSS JOIN或INNER JOIN)，保留表中未找到匹配的行将作为外部行添加到TV2，生成TV3。如果FORM子句包含两个以上的表，则对上一个联接生成的结果表和下一个表重复执行1-3步骤，直到处理完所有表为止。&lt;br /&gt;(4) WHERE：对VT3应用WHERE筛选器。只有满足&amp;lt;where_condition&amp;gt;为TRUE的行才被插入VT4。&lt;br /&gt;(5) GROUP BY：按GROUP BY子句中的列列表对VT4中的行分组，生成VT5。&lt;br /&gt;(6) CUBE|ROLLUP：把超组插入VT5，生成VT6。&lt;br /&gt;(7) HAVING：对VT6应用HAVING筛选器。只有使&amp;lt;having_condition&amp;gt;为TRUE的组才被插入VT7。&lt;br /&gt;(8) SELECT：处理SELECT列表，产生VT8。&lt;br /&gt;(9) DISTINCT：将重复的行从VT8中移除，产生VT9。&lt;br /&gt;(10) ORDER BY：将VT9中的行按ORDER BY子句中的列列表排序，生成一个游标（VC10）。&lt;br /&gt;(11) TOP：从VC10的开始处选择指定数量或比例的行，生成表VT11，并返回给调用者。&lt;br /&gt;&lt;span&gt;&lt;strong&gt;注：&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;(1) 只有使用外部联接时，ON和WHERE子句才会存在这种逻辑差别。当使用内部联接时，在哪里指定逻辑表达式都无所谓。&lt;br /&gt;(2) 避免GROUP BY ALL的使用。&lt;br /&gt;(3) 在SELECT列表中创建的别名不能在前面的步骤中使用。不支持SELECT c1+1 AS e1，e1+1 AS e2的做法，只能在SELECT列表后的步骤使用列别名。&lt;br /&gt;(4) Order By操作不返回表，而是返回游标，对表进行排序的查询可以返回一个对象，包含按特定物理顺序组织的行。这种对象成为游标。&lt;br /&gt;(5) 使用了ORDER BY 的子句不能用到表表达式中（视图，内联表值函数，子查询，派生表）。&lt;br /&gt;(6) TOP选项是T-SQL特有的，不属于关系范畴。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/blockquote.gif" width="47" height="35" /&gt;&lt;/span&gt;&lt;span&gt;&lt;strong&gt;2. SQL 2005中新增的逻辑处理阶段&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;(1) 表运算符&lt;br /&gt;SQL SERVER 2005中支持4种用于FORM子句的表运算符：JOIN，APPLY，PIVOT，和UNPIVOT。&lt;br /&gt;表运算符用一个或两个表作为输入，根据它们相对于表运算符关键字的位置，它们被称为左输入和右输入。与联接一样，所有运算符都会用虚拟表作为他们的左输入，位于FROM子句的第一个表运算符用一个表表达式作为做输入并返回一个虚拟表作为结果。&lt;/p&gt;&#xD;
&lt;p&gt;下面是4个运算符及其元素：&lt;br /&gt;JOIN：&lt;br /&gt;&amp;lt;left_table_expression&amp;gt;&lt;br /&gt;&amp;lt;join_type&amp;gt; JOIN &amp;lt;right_table_expression&amp;gt;&lt;br /&gt;ON &amp;lt;join_condition&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;APPLY:&lt;br /&gt;&amp;lt;left_table_expression&amp;gt;&lt;br /&gt;{CROSS | OUTER} APPLY &amp;lt;right_table_expression&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;PIVOT:&lt;br /&gt;&amp;lt;left_table_expression&amp;gt;&lt;br /&gt;PIVOT (&amp;lt;aggregate_func(&amp;lt;expression&amp;gt;)&amp;gt; FOR&lt;br /&gt;&amp;lt;source_col&amp;gt; IN (&amp;lt;target_col_list&amp;gt;))&lt;br /&gt;AS &amp;lt;result_table_alias&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;UNPIVOT:&lt;br /&gt;&amp;lt;left_table_expression&amp;gt;&lt;br /&gt;UNPIVOT (&amp;lt;target_values_col&amp;gt; FOR&lt;br /&gt;&amp;lt;target_name_col&amp;gt; IN (&amp;lt;source_col_list&amp;gt;))&lt;br /&gt;AS &amp;lt;result_table_alias&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;APPLY PIVOT UNPIVOT不是ANSI运算符，而是T-SQL所特有的扩展。&lt;br /&gt;(2) OVER子句&lt;br /&gt;OVER子句允许你请求基于窗口的计算。如果指定了OVER子句，它的输入将代替查询的GROUP BY 列表，用于指定在聚合或排名函数进行计算时所基于的分区和排序。&lt;br /&gt;只有两个阶段可以应用OVER子句：SELECT阶段和ORDER BY 阶段。&lt;br /&gt;(3) 集合操作&lt;br /&gt;SQL Server 2005 支持三种集合操作：UNION，EXCEPT和INTERSECT。&lt;br /&gt;left_query UNION [ALL] | EXCEPT | INTERSECT right_query&lt;br /&gt;集合操作在两个输入中比较全部行。&lt;br /&gt;UNION返回包含两个输入中的所有行的结果集。如果未指定ALL选项，UNION将从结果集中移除重复行。&lt;br /&gt;EXCEPT返回出现在左输入但未出现在有输入的不重复行。&lt;br /&gt;INTERSECT返回在两个输入中都出现的不重复行。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('f9418567-0fb9-4848-bb07-201eb08efdd7')"&gt;&lt;img style="display: none" id="code_img_opened_f9418567-0fb9-4848-bb07-201eb08efdd7"  onclick="cnblogs_code_hide('f9418567-0fb9-4848-bb07-201eb08efdd7',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div id="cnblogs_code_open_f9418567-0fb9-4848-bb07-201eb08efdd7" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080"&gt;--&lt;/span&gt;&lt;span style="color: #008080"&gt;-返回所有数据&lt;/span&gt;&lt;span style="color: #008080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;5&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;union&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;all&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;10&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;--&lt;/span&gt;&lt;span style="color: #008080"&gt;-返回6-10数据&lt;/span&gt;&lt;span style="color: #008080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;10&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;except&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;5&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;--&lt;/span&gt;&lt;span style="color: #008080"&gt;-返回1-5数据&lt;/span&gt;&lt;span style="color: #008080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;10&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTERSECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;select&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;top&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;5&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;from&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orders&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;ORDER BY 子句不能用于集合操作的单个查询中。只能在查询的最后指定ORDER BY子句，但它将被应用于集合操作的结果。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;小结：掌握基础是关键，理解逻辑查询处理阶段和SQL 特有的这些方面对于树立SQL编程所需要的特殊观念是非常重要的。对处理问题时解决方案的选择上有很大的帮助。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1889946.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/30/1889946.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/11/17/1876691.html</id><title type="text">T-SQL 实用函数总结</title><summary type="text">T-SQL是微软在关系型数据库管理系统SQL Server中的SQL-3标准的实现，是微软对SQL的扩展，具有SQL的主要特点，同时增加了变量、运算符、函数、流程控制和注释等语言元素，使得其功能更加强大。并且T-SQL自带了许多实用的函数，DBA可以利用这些函数来进行更有效地管理。</summary><published>2010-11-16T16:01:00Z</published><updated>2010-11-16T16:01:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/17/1876691.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/17/1876691.html"/><content type="html">&lt;p&gt;T-SQL是微软在关系型数据库管理系统SQL Server中的SQL-3标准的实现，是微软对SQL的扩展，具有SQL的主要特点，同时增加了变量、运算符、函数、流程控制和注释等语言元素，使得其功能更加强大。并且T-SQL自带了许多实用的函数，DBA可以利用这些函数来进行更有效地管理。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="font-size: 12pt"&gt;T-SQL字符串函数&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;T-SQL字符串函数---截取字符串的值&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;下面的一组函数详细描述了如何截取字符串的一部分。这些函数大部分都包含在下面的SELECT语句中：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ProductName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;LEFT&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;12&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;A,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;SUBSTRING&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;9&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;4&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;B,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;RIGHT&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;C,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;RTRIM&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;D&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Products&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;可以看到，SELECT语句中包括函数LEFT，SUBSTRING，RIGHT和RTRIM。执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL1.jpg" width="503" height="114" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;LEFT函数返回ProductName列的前12个字符。该函数有两个参数：第一个参数是字符串表达式，第二个参数是字符数。在这个例子中，字符串表达式是ProductName列，字符数是&amp;#8220;12&amp;#8221;。结果，ProductName列所有值的后半部分都被截掉了，只剩下12个字符返回。&lt;/p&gt;&#xD;
&lt;p&gt;RIGHT函数的用法也是一样的，它截取字符串右边的部分。&lt;/p&gt;&#xD;
&lt;p&gt;SUBSTRING函数可以提取字符串的任意部分。该函数有三个参数：第一个参数是字符串表达式，第二个参数是指定从哪里开始截取，第三个参数表示截取多长的字符串。在上面的例子中，字符串表达式仍然是ProductName列。第二个参数&amp;#8220;9&amp;#8221;的意思是我们应该从第九个字符开始(截取)，第三个参数&amp;#8220;4&amp;#8221;意思是获取四个字符。&lt;/p&gt;&#xD;
&lt;p&gt;RTRIM的功能是去掉字符串(在第一个参数中指定)尾部的所有空格。RTRIM函数还有与它相对的另一个函数：LTRIM函数。它会删除字符串左侧的空格。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL字符串函数---修改字符串的值&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;T-SQL还包括可以在SQL Server中修改字符串值的一组函数。下面的语句就是一个例子：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('28893f00-5e91-40b3-9612-e029ebf182b1')"&gt;&lt;img style="display: none" id="code_img_opened_28893f00-5e91-40b3-9612-e029ebf182b1"  onclick="cnblogs_code_hide('28893f00-5e91-40b3-9612-e029ebf182b1',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_28893f00-5e91-40b3-9612-e029ebf182b1" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;REPLACE&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Mountain&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Mtn&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ReplaceName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;STUFF&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;11&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x01&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StuffName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;REVERSE&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ReverseNum,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;STUFF&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;REPLICATE&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;3&lt;/span&gt;&lt;span style="color: #000000"&gt;))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ReplicateNum,&amp;nbsp;&lt;br /&gt;ProductName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;SPACE&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;4&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;LOWER&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;LowerProdLine&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Products&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;SELECT语句中包括函数REPALCE，STUFF，REVERSE和REPLICATE，LOWER。执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL2.jpg" width="946" height="114" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;函数REPLACE，用来替换给定字符串值中指定的一组字符串为新的字符串。该函数有三个参数：第一个参数是字符串表达式，第二个参数是被替换的字符串，第三个参数是要替换的新字符串。&lt;/p&gt;&#xD;
&lt;p&gt;函数STUFF，它的作用是按照给定的位置删除一组指定的字符，并插入一组新的字符。该函数有四个参数：第一个参数是待操作的字符串表达式，第二个参数是待删除的字符串的起始位置，第三个参数是要删除字符的数量，第四个参数是要插入的字符串。在上面的例子中，STUFF函数指定ProductName列为待操作的字符串。要删除的字符串从第11个字符(第二个参数)开始，删除两个字符(第三个参数)。在那些字符删除后，新字符(x01)被插入到该位置。&lt;/p&gt;&#xD;
&lt;p&gt;函数RESERVSE的作用是：把给定字符串按逆序排列。&lt;/p&gt;&#xD;
&lt;p&gt;函数REPLICATE，该函数可以把指定字符串值重复指定的次数。该函数有两个参数：第一个参数是待处理的字符串值，第二个参数是重复次数。在上面的例子中，&amp;#8220;0&amp;#8221;被重复了三次。&lt;/p&gt;&#xD;
&lt;p&gt;函数SPACE与函数REPLICATE类似，它返回一组空格。该函数有一个参数，指定返回的空格数量。&lt;/p&gt;&#xD;
&lt;p&gt;函数LOWER，很简单，它把字符串中的大写字符转换为小写字符。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL字符串函数---转换字符串值&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;T-SQL提供可以转换字符串值的函数，如下面的SELECT语句所示：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;ProductName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;CHAR&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;9&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;STR&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductID)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Product,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;ASCII&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName)&amp;nbsp;AsciiProductName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;RTRIM&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ProductName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;UNICODE&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;RTRIM&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;UnicodeProductName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Products&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;SELECT语句中包括函数CHAR，STR，ASCII和RTRIM，UNICODE。执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL3.jpg" width="503" height="114" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;第一个函数是CHAR，可以把一个ASCII码整数(从0到255)转换为字符，该函数只有一个参数(一个ASCII码整数值)。该函数在给你的字符串插入控制字符时非常方便，比如tab键(ASCII码为9)，换行符号(ASCII码为10)或者回车符(ASCII码为13)。&lt;/p&gt;&#xD;
&lt;p&gt;函数STR，它可以把数值型数据转换为字符型数据。STR函数的参数是待转换的数值型表达式。&lt;/p&gt;&#xD;
&lt;p&gt;T-SQL还支持ASCII函数，可以转换单个字符为ASCII码整数。&lt;/p&gt;&#xD;
&lt;p&gt;UNICODE函数，该函数用来把一个字符转换为Unicode整数。该函数只有一个参数：Unicode字符表达式。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL字符串函数---获取字符串的相关信息&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;还有一些函数可以提供与字符串有关的信息，比如字符串长度或者值内部子串的位置。下面的SELECT语句就演示了几个提供字符串相关信息的函数：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;LEN&lt;/span&gt;&lt;span style="color: #000000"&gt;(ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;LengthProductName,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;CHARINDEX&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Bob&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CharIndexProductName,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;PATINDEX&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;%Pears%&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;ProductName)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;PatIndexProductName&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Products&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ProductID&lt;/span&gt;&lt;span style="color: #808080"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;7&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;SELECT语句中包括函数CHAR，STR，ASCII和RTRIM，UNICODE。执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL4.jpg" width="415" height="62" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;函数LEN返回指定字符串的字符数量。该函数只有唯一参数就是待计数的字符串。&lt;/p&gt;&#xD;
&lt;p&gt;函数CHARINDEX的功能是从某字符串中指定的开始位置查找某字符串所在位置。该函数有三个参数：第一个参数是要搜索的字符串，第二个参数是待搜索范围字符串，第三个参数是搜索开始的位置。最后一个参数是可选的。在上面的例子中，我们在ProductName列中搜索Bob第一次出现的位置，它是从字符串的第7个位置开始的。&lt;/p&gt;&#xD;
&lt;p&gt;函数PATINDEX。该函数在字符串中搜索第一次出现某字符串的位置。该函数有两个参数：第一个参数是要匹配的字符串，第二个参数是在其中进行搜索的字符串。可以用通配符定义匹配模式，提供灵活的搜索模式类型。然而，如果你使用通配符&amp;#8220;%&amp;#8221;，你必须在待搜索字符的前面或者后面都加上它，除非你搜索以指定字符串开头或结尾的匹配。例如，在上面的语句中，&amp;#8220;%Pears%&amp;#8221;被指定为在ProductName值中搜索的匹配模式。结果显示，第一次匹配的实例在第27个字符位置。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="font-size: 12pt"&gt;T-SQL集合函数&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL集合函数---基础函数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在操作SQL Server数据库中的数据时，有时你可能会需要对一组数值执行计算。此处灰常基础，就不过多说了。&lt;/p&gt;&#xD;
&lt;p&gt;MAX函数：最大值函数。MIN函数：最小值函数。AVG函数：平均值函数。SUM函数：求和函数。COUNT函数：总计函数。&lt;/p&gt;&#xD;
&lt;p&gt;利用集合函数处理分组数据的时候，可以使用ROLLUP，CUBE或者GOURPING SETS操作符来指定包含在结果集中的附加统计数据。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL集合函数---获取统计数据&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;SQL Server有四个集合函数可以支持你对数值型列的一组值做数据统计：&lt;/p&gt;&#xD;
&lt;p&gt;STDEV：返回值的统计标准方差。&lt;br /&gt;STDEVP：返回总体值的统计标准方差。&lt;br /&gt;VAR：返回值的统计方差。&lt;br /&gt;VARP：返回总体值的统计方差。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;STDEV&lt;/span&gt;&lt;span style="color: #000000"&gt;(UnitPrice)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StdevPrice,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;STDEVP&lt;/span&gt;&lt;span style="color: #000000"&gt;(UnitPrice)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StdevpPrice,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;VAR&lt;/span&gt;&lt;span style="color: #000000"&gt;(UnitPrice)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;VarPrice,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;VARP&lt;/span&gt;&lt;span style="color: #000000"&gt;(UnitPrice)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;VarpPrice&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Products&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL5.jpg" width="475" height="65" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="font-size: 12pt"&gt;T-SQL&amp;nbsp;系统函数&lt;/strong&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;SQL Server内建有可以支持你执行各种任务的函数，比如转换数据，操作字符串值，以及执行数学计算的函数。一些SQL Server函数被归类为系统函数，这些函数支持你查看关于更新和插入操作的信息，提取服务器属性设置，访问当前会话及其用户的详细信息。你还可以利用系统函数执行许多语言相关的任务。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL系统函数---查看有关数据修改的信息&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;SQL Server的一些系统函数支持获取你的更新和插入操作的明细信息。例如，你可以获取插入到某个表中的最后一个标识值，或者对某个表增加或者更新的行数。要展示这些函数如何使用，我定义了下面的表并给它填充了几行数据：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('df942281-274b-4f91-ad45-3c4904c755ef')"&gt;&lt;img style="display: none" id="code_img_opened_df942281-274b-4f91-ad45-3c4904c755ef"  onclick="cnblogs_code_hide('df942281-274b-4f91-ad45-3c4904c755ef',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_df942281-274b-4f91-ad45-3c4904c755ef" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;USE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Northwind;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;IF&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;OBJECT_ID&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TableA&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;U&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;IS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;NOT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;DROP&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;TABLE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dbo.TableA;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;TABLE&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dbo.TableA&amp;nbsp;&lt;br /&gt;(&amp;nbsp;&lt;br /&gt;ColA&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;IDENTITY&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;101&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;NOT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;br /&gt;ColB&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VARCHAR&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold"&gt;20&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;NOT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INSERT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA&amp;nbsp;(ColB)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;red&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INSERT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA&amp;nbsp;(ColB)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;blue&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INSERT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA&amp;nbsp;(ColB)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;green&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INSERT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA&amp;nbsp;(ColB)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;yellow&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INSERT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;INTO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA&amp;nbsp;(ColB)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;orange&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TableA;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;现在，我们来看一个例子，其中使用了几个系统函数提取关于刚插入上面那个表的数据相关的信息。下面的&amp;#8220;SELECT语句&amp;#8221;包括五个函数，其中三个与身份列值有关，而另两个与行数有关：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;IDENT_CURRENT(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TableA&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;LastValue,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;IDENT_SEED&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TableA&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SeedValue,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;IDENT_INCR&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TableA&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IncrValue,&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000; font-weight: bold"&gt;@@ROWCOUNT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RowsAffected,&amp;nbsp;&lt;br /&gt;ROWCOUNT_BIG()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BigRowsAffected;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;执行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL6.jpg" width="410" height="52" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;第一个函数是IDENT_CURRENT，它提取插入表&amp;#8220;TableA&amp;#8221;的最后一个身份值。如你所见，表&amp;#8220;TableA&amp;#8221;被指定为该函数的一个入参。该函数返回的信息与添加数据时的会话无关，也与添加时执行的语句范围无关。这一点非常重要，因为SQL Server支持其他身份相关的函数，包括专门针对当前会话(@@IDENTITY)和当前范围和会话(SCOPE_IDENTITY)的函数。&lt;/p&gt;&#xD;
&lt;p&gt;IDENT_SEED函数返回起始值，而IDENT_INCR函数返回增量值。&lt;/p&gt;&#xD;
&lt;p&gt;@@ROWCOUNT 函数返回最后一个语句影响的行数。&amp;#8220;ROWCOUNT_BIG&amp;#8221;函数也做同样的事情，唯一区别是返回值类型是bigint。如果你预计影响的行数会多于20亿条数据，你应该使用这个函数。要注意，这两个函数都不是关联于某个表的，因为这两个函数基于最后一条执行的语句获取数据。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;T-SQL系统函数---查看服务器属性&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;有时，你可能想要检索特定的服务器属性值，这种情况下，你可以使用&amp;#8220;SERVERPROPERTY&amp;#8221;函数。该函数有一个参数(属性名称)，请看下面的示例：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;SERVERPROPERTY(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Edition&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SrvEdition,&amp;nbsp;&lt;br /&gt;SERVERPROPERTY(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;InstanceName&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SrvInstance,&amp;nbsp;&lt;br /&gt;SERVERPROPERTY(&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Collation&lt;/span&gt;&lt;span style="color: #ff0000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;AS&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SrvCollation;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;在这个&amp;#8220;SELECT&amp;#8221;语句中，我检索了&amp;#8220;Edition&amp;#8221;，&amp;#8220;InstanceName &amp;#8221;和&amp;#8220;Collation &amp;#8221;属性的设置，它们以参数的形式传递到函数中。该&amp;#8220;SELECT&amp;#8221;语句返回下面结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/SQL7.jpg" width="338" height="52" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;还有些比较常用的函数就不总结了，十分的简单，赠书一本&amp;nbsp;&lt;a href="http://files.cnblogs.com/gaoweipeng/transactionsql.pdf"&gt;/Files/gaoweipeng/transactionsql.pdf&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1876691.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/17/1876691.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/11/13/1876503.html</id><title type="text">JavaScript人脸识别技术</title><summary type="text">这是一个人脸识别的Javascript，感觉蛮有意思的，JavaScript达人可以研究下。</summary><published>2010-11-13T08:31:00Z</published><updated>2010-11-13T08:31:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/13/1876503.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/13/1876503.html"/><content type="html">&lt;p&gt;这是一个&lt;a href="http://liuliu.me/detect/detect.html" target="_blank"&gt;&lt;font color="#006699"&gt;人脸识别的Javascript&lt;/font&gt;&lt;/a&gt;，感觉蛮有意思的，JavaScript达人可以研究下。&lt;/p&gt;&#xD;
&lt;p&gt;识别的还是很不错的，网友们在做了很多的&lt;a href="http://www.reddit.com/r/programming/comments/dy81y/my_notsoslow_face_detector_in_javascript/" target="_blank"&gt;&lt;font color="#006699"&gt;测试&lt;/font&gt;&lt;/a&gt;，对于动画片里的人员很不准，而且，照片质量要好一点的会准一点。下面是一些识别结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/c85213e6-e22f-3c4f-a583-11457bb74691.jpg" width="326" height="298" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;一个递归式的图，测试结果还不错。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 325px; height: 443px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/1c378d5d-2329-3743-ac25-a837c8351a1f.jpg" width="325" height="443" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;据说对黑人的识别效果很差，大家可以去试试，查看详情：&lt;a href="https://github.com/liuliu/ccv/tree/current/js"&gt;&lt;font color="#006699"&gt;https://github.com/liuliu/ccv/tree/current/js&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1876503.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/13/1876503.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/11/12/1859183.html</id><title type="text">学会总结，学会关注细节，学会拥有一颗平静的心。</title><summary type="text">出来工作也有一阵子了，收获很多，把一些心得分享给刚踏入职场的同学们，最重要的有三点，学会总结，学会关注细节，学会拥有一颗平静的心。 </summary><published>2010-11-12T14:33:00Z</published><updated>2010-11-12T14:33:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/12/1859183.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/12/1859183.html"/><content type="html">&lt;p&gt;最近公司招来不少大学毕业的实习生，是啊，大四上学期就要结束了，现在很多大学生都开始走出校园，为自己的职业人生迈第一步。出来工作也有一阵子了，收获很多，把一些心得分享给刚踏入职场的同学们，最重要的有三点，学会总结，学会关注细节，学会拥有一颗平静的心。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/blockquote.gif" width="47" height="35" /&gt;&lt;/strong&gt;&lt;strong style="font-size: 12pt"&gt;学会总结&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;上学的时候我们都会有这样的体验：为了学好一条定律，或是一本课程，常常需要做很多的题，经常要用题海战术来达到我们最终的目标。但是这样的方式让我们身心疲惫，并且有的时候会发现我们在做很多重复的题目。那有什么更好的办法来解决呢？当我们千辛万苦的完成一项任务的时候，不要急着做其他的事情，静下心来想想，我们用了什么样的方法，通过那些途径最终达到了目的。学会总结---是一种高效的工作的良好习惯！&lt;/p&gt;&#xD;
&lt;p&gt;总结是进步的阶梯，是财富的积累。及时的总结经验教训和得失成败，会对以后的会有很大的帮助，被老板骂并不可怕，可怕的是被骂以后还不长记性。&lt;/p&gt;&#xD;
&lt;p&gt;有人可能会问总结有没有什么好的方法，这里摘抄一本书上的几句话，其中的奥秘大家自己体会吧。&lt;/p&gt;&#xD;
&lt;p&gt;(1) 既要学会总结经验，又要学会总结教训。&lt;/p&gt;&#xD;
&lt;p&gt;(2) 既要学会总结具体的，也要学会总结抽象的。&lt;/p&gt;&#xD;
&lt;p&gt;(3) 既要学会分析，也要学会综合。&lt;/p&gt;&#xD;
&lt;p&gt;(4) 要实事求是，特别 不能把成绩变成&amp;#8220;注水猪肉&amp;#8221;。&lt;/p&gt;&#xD;
&lt;p&gt;(5) 不要回避问题。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/blockquote.gif" width="47" height="35" /&gt;&lt;/strong&gt;&lt;strong style="font-size: 12pt"&gt;学会关注细节&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;俗话说：&amp;#8220;细节决定成败&amp;#8221;。道理每个人都懂，也被无数的人说烂了，可是真正做到却寥寥无几。我们公司的个人产生BUG量是和绩效挂钩的，所以越是粗心，越是不关注细节，产生的BUG可能就会越多，自然地绩效就不会好。无论是在学习技术，还是工作中的编码上，关注细节会很大提高你的工作质量，并且会给你带来不一样的闪光点。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/gaoweipeng/193608/blockquote.gif" width="47" height="35" /&gt;&lt;/strong&gt;&lt;strong style="font-size: 12pt"&gt;学会永远一颗平静的心&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这点是我认为最重要的，也是最难做到的。能够控制住自己的情绪，拥有一颗面对事物平静的心，是要有一定城府的人才能做到的。年轻的我们在面对紧急事件的时候，往往心情变得焦躁不安。记得一次公司下来一个任务需求，要求在XX天提交，结果快要到期限了问题还没有解决，心中的急躁悠然而生，我想程序员如果不能静下心来编写代码，是不会编写出好的代码的。虽然最后还是提交了任务，但是还是弄得身心疲惫。&lt;/p&gt;&#xD;
&lt;p&gt;事后在和经理聊天的时候，他说：&amp;#8220;遇到紧急事情的时候不要慌，实在不行任务延期也是可以的，你要做的就是静下心来，保持良好的心态面对问题，冲杯咖啡，即使可能会加班加到很晚，至少你的心情会好受些。&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;该面对的总归要面对，该解决的总归要解决，心情是自己可以掌控的，努力让自己拥有一颗平静的心。&lt;/p&gt;&#xD;
&lt;p&gt;相信如果你做到了以上三点，一定可以在职场中快速的成长，在同龄人中立于不败之地。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1859183.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/12/1859183.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaoweipeng/archive/2010/11/09/1871881.html</id><title type="text">JavaScript类型转换方法及需要注意的问题</title><summary type="text">JavaScript类型转换方法及需要注意的问题</summary><published>2010-11-09T14:15:00Z</published><updated>2010-11-09T14:15:00Z</updated><author><name>GWPBrian</name><uri>http://www.cnblogs.com/gaoweipeng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/09/1871881.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/09/1871881.html"/><content type="html">&lt;p style="text-indent: -21pt; margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 宋体; color: black"&gt;　　一、类型转换的方法和应该注意的问题：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;&lt;strong&gt;转换为布尔型：&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）用两次非运算&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;(!):&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;!!5 ==&amp;gt; true&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）用布尔型的构造函数：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;new Boolean(5) == &amp;gt; true&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;值转换为布尔类型为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;0&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;+0&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;-0&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;NaN&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;""(&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;空字符串&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;),undefined,null&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;除上面的值其他值在转换以后为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;true&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，需要特别提到的是&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;:&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"0",new Object(),function(){}&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;&lt;strong&gt;转换为字符串类型：&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）加上空字符串&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;""&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;123 +&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;　&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;"" = "123"&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）用字符串构造函数：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;new String(123) = "123".&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;需要特别注意的转化：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;+0 ==&amp;gt; "0"&lt;br /&gt;-0 ==&amp;gt; "0"&lt;br /&gt;-Infinity ==&amp;gt;"-Infinity"&lt;br /&gt;+Infinity ==&amp;gt;"+Infinity"&lt;br /&gt;NaN ==&amp;gt; "NaN"&lt;br /&gt;undefined ==&amp;gt; "undefined"&lt;br /&gt;null ==&amp;gt; "null"&lt;br /&gt;new Object() ==&amp;gt; "[object Object]"&lt;br /&gt;function(){} ==&amp;gt; "function(){}"&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;&lt;strong&gt;转换为数值型：&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）&lt;/span&gt; &lt;span style="font-family: 宋体; color: black"&gt;取正（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;+&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;），&lt;/span&gt; &lt;span style="font-family: 宋体; color: black"&gt;减零&lt;/span&gt; &lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;-0&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;），&lt;/span&gt; &lt;span style="font-family: 宋体; color: black"&gt;乘一，（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;*1&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;），除以一（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;/1),&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;取负（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;-&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，这个得到相反的值）。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;+"123" = 123&lt;br /&gt;+true = 1&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）用构造函数&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;Number();&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;new Number("123") = 123&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;几个需要特别注意的转化：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;""&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（空字符串）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; ==&amp;gt; 0&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"010" ==&amp;gt; 10&lt;br /&gt;"0x10"(16&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;进制&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;) ==&amp;gt; 16&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"-010" ==&amp;gt; -10&lt;br /&gt;"-0x10" ==&amp;gt; NaN&lt;br /&gt;undefined ==&amp;gt; NaN&lt;br /&gt;null ==&amp;gt; 0&lt;br /&gt;true ==&amp;gt; 1&lt;br /&gt;false ==&amp;gt; 0&lt;br /&gt;new Object() ==&amp;gt; NaN&lt;br /&gt;new function(){} ==&amp;gt; NaN&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;二、隐式类型转换：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;(1)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;二元加法运算（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;+&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）：如果两个操作数中有一个是&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;String&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;类型，将把两个操作数转换为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;String&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;类型再相加。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;如果两个操作数中没有字符串类型，那么将把两个操作数转换为数值类型再做运算。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;举例：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"123"+123 = "123123";&lt;br /&gt;123+123 = 246&lt;br /&gt;true + true = 2&lt;br /&gt;true + undefined = NaN &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（因为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;undefined&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;转换为数值为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;NaN,&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;所有结果为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;NaN)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;true + null = 1 (null&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;转换为数字是&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;0)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"123" + null = "123null" (&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;包含字符串将转化为字符串相加&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"123" + undefined = "123undefined" &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;undefined&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;同样适用）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;1 + 2 + "123" = "3123" (1+2&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;是首先按照数值型计算的&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;(2)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;二元减乘除运算（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;-*/):&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;因为只有数值类型才有&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; - * / &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;运算，所以会先将两个操作数转换为数值型再做运算。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"123"-123 = 0&lt;br /&gt;(3)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;一元取正（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;+&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;），取负运算符&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;(-):&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;取正或者取负都是针对数值型的运算，所以会将操作数转换为数值型再做运算。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;+"123" = 123&lt;br /&gt;-"123" = -123&lt;br /&gt;+"123e" = NaN&lt;br /&gt;+"123f" = NaN&lt;br /&gt;+"123e-2" = 1.23&amp;nbsp;&lt;br /&gt;(4)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;一元非&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;(!)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;运算符&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;:&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;非运算符需要将操作数转化为布尔类型。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;!"123" = false&lt;br /&gt;!!"123" = true&lt;br /&gt;!123 = false&lt;br /&gt;!!123 = true&lt;br /&gt;(5)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;逻辑运算符（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）和（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;||&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;在&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;或者&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;||&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;的两侧被判断的时候会被转为布尔类型进行判断，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;但是我在测试的时候却发现一个有趣的事情。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;运算符：如果有一个项为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，那么表达式返回&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false,&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;如果所有的项都不为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，那么表达式返回最右边一个项的原始值。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;举例：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;123 &amp;amp;&amp;amp; 23 &amp;amp;&amp;amp; 45 &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;返回&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; 45,&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;而不是我们想象中的&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;true.&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;所以如果有&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; 123 &amp;amp;&amp;amp; 23 == true &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;那么应该是&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;至于&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;if(123 &amp;amp;&amp;amp; 23) &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;认为是&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;true&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;那应该是把&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;23&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;转换为布尔类型了。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;||&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;运算符：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;对&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; || &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;测试的结果也和我想象的不一样，&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;|| &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;返回第一个转换以后不为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;的值，如果都为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false,&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;它将返回最后一个为&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;的值（未进行类型转化之前的值）。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;举例：&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;123 || 23 &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;返回&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt; 123&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，而不是想象中的&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;true.&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;false || null &lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;返回&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;null&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，&lt;/span&gt; &lt;span style="font-family: 宋体; color: black"&gt;而不是想象中的&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;false&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt"&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;三、类型转换函数&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; color: black"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;parseFloat&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;转换为浮点数：&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;字符解析函数获取每一个字符直到遇到不属于数值的字符&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;然后返回它已获取的数值&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;几个需要特别注意的：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;""&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（空字符串&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;) ==&amp;gt; NaN&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"123e-2" == &amp;gt; 1.23 (&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;科学计算法是可以识别的）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"010" ==&amp;gt; 10 (8&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;进制不能识别&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"0x10"==&amp;gt; 0 (16&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;进制不识别&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;)&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;"-010" ==&amp;gt; -10&amp;nbsp;&lt;br /&gt;null,undefined,true,false,new Object(),function(){} ==&amp;gt; NaN&lt;br /&gt;&lt;strong&gt;2.parseInt&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; color: black"&gt;转换为有符号整数&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;跟&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;parseFloat&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;相似，但是他会把小数位舍掉（注意不是四舍五入，是完全舍弃，跟&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;Math.floor&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;处理方式一样&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;),&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;而且他可以识别八进制和&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;16&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;进制表示方式&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;:&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;123e-2 == &amp;gt; 1&lt;br /&gt;"123e-2" ==&amp;gt; 123&lt;br /&gt;"010" == &amp;gt; 8&amp;nbsp;&lt;br /&gt;"0x10" ==&amp;gt; 16&lt;br /&gt;"-010" == &amp;gt; -8&amp;nbsp;&lt;br /&gt;"-0x10" ==&amp;gt; -16&lt;br /&gt;null,undefined,true,false,new Object(),function(){},-Infinity +Infinity NaN ==&amp;gt; NaN&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;&lt;strong&gt;三个取整函数的区别&lt;/strong&gt;：&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;Math.ceil():&amp;#8220;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;天花板&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&amp;#8221;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;，很形象吧？就是取大于等于参数的最小整数。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;8.7 == &amp;gt; 9&lt;br /&gt;-8.7==&amp;gt; -8&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;Math.floor():"&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;地板&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;",&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;取小于等于参数的最小整数。&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;&lt;br /&gt;8.7 ==&amp;gt; 8&lt;br /&gt;-8.7 ==&amp;gt; -9&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;）&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;Math.round():"&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;四舍五入&lt;/span&gt;&lt;span style="font-family: 'Simsun','serif'; color: black"&gt;"&lt;/span&gt;&lt;span style="font-family: 宋体; color: black"&gt;取整数。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaoweipeng/aggbug/1871881.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaoweipeng/archive/2010/11/09/1871881.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
