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

<channel>
	<title>移动应用 Archives | Xiaoming Tu - Blog</title>
	<atom:link href="https://www.xiaomingtu.com/categories/professional/mobile/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xiaomingtu.com/categories/professional/mobile</link>
	<description>学习、工作、生活，点点滴滴。</description>
	<lastBuildDate>Thu, 10 May 2012 00:23:57 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Android开发环境搭建</title>
		<link>https://www.xiaomingtu.com/archives/8005?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setup-android-development-environment</link>
					<comments>https://www.xiaomingtu.com/archives/8005#comments</comments>
		
		<dc:creator><![CDATA[Xiaoming]]></dc:creator>
		<pubDate>Fri, 04 Dec 2009 21:46:52 +0000</pubDate>
				<category><![CDATA[专业技术]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[桌面应用]]></category>
		<category><![CDATA[移动应用]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">/2009/12/5/setup-android-development-environment.html</guid>

					<description><![CDATA[<p>捣鼓了一整天，终于把开发环境给弄好了。 一直想在Linux下面做开发，所以这次特别选择在Ubuntu操作系统下做，试用一天感觉现在Ubuntu已经非常成熟了，基本的日常使用都能够满足，关于Ubuntu的详细介绍以后再说，这里主要记录一下Android的开发环境搭建。 我的系统：Ubuntu 9.10 一 目标平台： Ubuntu + Eclipse + ADT 二 开发前的准备： 1. 下载Eclipse IDE。我选择的是目前最新的3.5.1，Linux 32bit的，下载地址。 2. 下载Android SDK，Linux（i386）版。下载地址。 3. 下载Android的Eclipse插件(Android Development Tools, ADT)，下载地址。这个可以通过Eclipse安装插件的方式在线安装，我在安装的时候不知道为什么无法在线安装，所以就Down下来了。 三 开始安装： 1. 安装JDK 安装命令为： sudo apt-get sun-java6-jdk 在Ubuntu里面安装好JDK之后，好像不用设置环境变量，跟Windows环境不太一样。 2. 安装Eclipse 将下载的Eclipse解压的适当的位置即可，不出意外，现在eclipse已经可以运行了。 3. 安装ADT 这里两种方法，一种是下载ADT Archive，另外一种是在线安装。先介绍下载Archive的方法： 在Eclipse中，&#8221;help” – “Install New Software” – “Add” – “Archive” 选择下载的ADT Archive包即可。 另外一种方法是在线安装，也就是在”Add” 的时候输入网址，而不是选择Archive，插件的网址是 https://dl-ssl.google.com/android/eclipse/， [&#8230;]</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/8005">Android开发环境搭建</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>捣鼓了一整天，终于把开发环境给弄好了。 一直想在Linux下面做开发，所以这次特别选择在Ubuntu操作系统下做，试用一天感觉现在Ubuntu已经非常成熟了，基本的日常使用都能够满足，关于Ubuntu的详细介绍以后再说，这里主要记录一下Android的开发环境搭建。</p>
<p>我的系统：Ubuntu 9.10</p>
<p><strong>一 目标平台</strong>：</p>
<p>Ubuntu + Eclipse + ADT</p>
<p><strong>二 开发前的准备</strong>：</p>
<p>1. 下载Eclipse IDE。我选择的是目前最新的3.5.1，Linux 32bit的，<a href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.5.1-200909170800/eclipse-SDK-3.5.1-linux-gtk.tar.gz" target="_blank">下载地址</a>。</p>
<p>2. 下载Android SDK，Linux（i386）版。<a href="http://developer.android.com/sdk/download.html?v=android-sdk_r04-linux_86.tgz" target="_blank">下载地址</a>。</p>
<p>3. 下载Android的Eclipse插件(Android Development Tools, ADT)，<a href="http://dl.google.com/android/ADT-0.9.5.zip" target="_blank">下载地址</a>。这个可以通过Eclipse安装插件的方式在线安装，我在安装的时候不知道为什么无法在线安装，所以就Down下来了。</p>
<p><strong>三 开始安装</strong>：<span id="more-8005"></span></p>
<p><strong>1. 安装JDK</strong></p>
<p>安装命令为：</p>
<blockquote><p>sudo apt-get sun-java6-jdk</p></blockquote>
<p><span style="background-color: #f8f8f4;">在Ubuntu里面安装好JDK之后，好像不用设置环境变量，跟Windows环境不太一样。</span></p>
<p><strong>2. 安装Eclipse</strong></p>
<p>将下载的Eclipse解压的适当的位置即可，不出意外，现在eclipse已经可以运行了。</p>
<p><strong>3. 安装ADT</strong></p>
<p>这里两种方法，一种是下载ADT Archive，另外一种是在线安装。先介绍下载Archive的方法：</p>
<p>在Eclipse中，&#8221;help” – “Install New Software” – “Add” – “Archive” 选择下载的ADT Archive包即可。</p>
<p>另外一种方法是在线安装，也就是在”Add” 的时候输入网址，而不是选择Archive，插件的网址是</p>
<p><a href="https://dl-ssl.google.com/android/eclipse/">https://dl-ssl.google.com/android/eclipse/</a>， 如果这个链接不行，就换http的，而不要用https的，即</p>
<p><a href="http://dl-ssl.google.com/android/eclipse/">http://dl-ssl.google.com/android/eclipse/</a>。</p>
<p>上面两种操作之后，回到 Available Software 窗口，就可以看到 Developer Tools，勾选这个就会同时勾选它的子节点Android DDMS和Android Development Tools，然后下一步安装即可，完成之后重启Eclipse。这里说明一下这个Android DDMS是用来调试Android程序的。用它可以连接到Android模拟器上，它与Eclipse集成非常好，可以直接在Eclipse中调试Android应用。</p>
<p><strong>4. 配置ADT</strong></p>
<p>将下载的Android SDK解压到某个位置。</p>
<p>在Eclipse中， “Window“ &#8211; “Preferences”，在左边选择“Android”，选择SDK Location为刚才解压的位置。然后应用就OK了。</p>
<p>配置完成之后，就可以准备创建一个手机模拟器，：）</p>
<p><strong>5. 手机模拟器</strong></p>
<p>打开Android SDK and AVD Manager，可以运行SDK目录中Tools目录下android程序，或者在Eclipse中选择“window” &#8211; “Android SDK and AVD Manager”。</p>
<p>在打开的Android SDK窗口中，左边选择“Available Packages”，勾选你要的组件，因为我自己的G2目前已经是1.6的系统，所以我除了1.1和1.5之外，其他我都勾选了，可以根据需要进行选择。然后安装选择的即可，在弹出来的窗口中记得选择“Accept All”，否则某些默认不是Accept的组件不会安装。</p>
<p>安装完成之后，就可以选择Android SDK窗口左边的“Virtual Devices”，点击“New”新建一个设备，名字随便，选择一个target，我选择的是1.6的。创建好之后就可以点击“Start”运行模拟器了。</p>
<p>环境基本上到此为止，因为是根据自己的回忆写的，可能有些地方遗漏或者有错误，但是基本上流程应该没有问题。</p>
<p>关于环境搭建的更官方说明，可以<a href="http://developer.android.com/sdk/installing.html" target="_blank">查看这里</a>。</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/8005">Android开发环境搭建</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.xiaomingtu.com/archives/8005/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>.Net 十大必备工具</title>
		<link>https://www.xiaomingtu.com/archives/10010?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=net-%25e5%258d%2581%25e5%25a4%25a7%25e5%25bf%2585%25e5%25a4%2587%25e5%25b7%25a5%25e5%2585%25b7</link>
					<comments>https://www.xiaomingtu.com/archives/10010#comments</comments>
		
		<dc:creator><![CDATA[Xiaoming]]></dc:creator>
		<pubDate>Wed, 08 Jul 2009 22:48:51 +0000</pubDate>
				<category><![CDATA[Web应用]]></category>
		<category><![CDATA[专业技术]]></category>
		<category><![CDATA[桌面应用]]></category>
		<category><![CDATA[移动应用]]></category>
		<category><![CDATA[转载]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">http://rextu.wordpress.com/2009/07/09/net-%e5%8d%81%e5%a4%a7%e5%bf%85%e5%a4%87%e5%b7%a5%e5%85%b7</guid>

					<description><![CDATA[<p>1. Snippet Compiler Snippet Compiler 是一个基于 Windows 的应用程序，可以通过它来编写、编译和运行代码。如果具有较小的代码段，并且不希望为其创建完整的Visual Studio .NET项目（及伴随该项目的所有文件），该工具将很有用。 2. Microsoft Source Analysis for C#（StyleCop） 微软内部的静态代码检查和代码强制格式美化工具StyleCop的4.2版本Microsoft Source Analysis for C# 。 SourceAnalysis 不是代码格式化工具，而是代码规范检查工具，它不仅检查代码格式，而是编码规范。 3. GhostDoc GhostDoc是Visual Studio的免费插件，可以编写XML格式的注释文档。C#中XML格式的文档注释好处：Visual Studio会显示这些注释内容，还有比如NDoc或微软的文档工具也可以用这些注释生成有良好外观的帮助文件。 4. Sandcastle Sandcastle。这是一个管理类库的文档编译器。它还可通过反射处理汇编源代码，并在代码中使用XML注释生成MSDN形式的文档，这种文档比难以解读的XML更易于理解。 5. Nunit NUnit是一个.NET上的单元测试框架。NUnit 1.x主要是移植JUnit 3.8。从2.0版本开始，NUnit进行了重写和重新设计，使用Attributes代替特定的方法和相应的基类。 6. MyGeneration MyGeneration是一个功能很强大的代码生成工具。通过编写各种类型脚本（C#,VB.Net,JScript,VBScript）的模板，通过数据库的表内容，生成你需要的各种代码。可以用它来生成ORM的实体类，存储过程，SQL语句等。 7. Reflector for .NET Reflector for .NET是一个面向 Microsoft .NET Framework 的免费类浏览器、分析器和DLL反编译器。 8. The Regulator the [&#8230;]</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/10010">.Net 十大必备工具</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="msgcns!1050226441EB0308!357" class="bvMsg">
<p>1. <span style="color: #ff0000;">Snippet Compiler</span><br />
Snippet Compiler 是一个基于 Windows 的应用程序，可以通过它来编写、编译和运行代码。如果具有较小的代码段，并且不希望为其创建完整的Visual Studio .NET项目（及伴随该项目的所有文件），该工具将很有用。</p>
<p>2. <span style="color: #ff0000;">Microsoft Source Analysis for C#（StyleCop）</span><br />
微软内部的静态代码检查和代码强制格式美化工具StyleCop的4.2版本Microsoft Source Analysis for C# 。 SourceAnalysis 不是代码格式化工具，而是代码规范检查工具，它不仅检查代码格式，而是编码规范。</p>
<p>3. <span style="color: #ff0000;">GhostDoc</span><br />
GhostDoc是Visual Studio的免费插件，可以编写XML格式的注释文档。C#中XML格式的文档注释好处：Visual Studio会显示这些注释内容，还有比如NDoc或微软的文档工具也可以用这些注释生成有良好外观的帮助文件。</p>
<p>4. <span style="color: #ff0000;">Sandcastle</span><br />
Sandcastle。这是一个管理类库的文档编译器。它还可通过反射处理汇编源代码，并在代码中使用XML注释生成MSDN形式的文档，这种文档比难以解读的XML更易于理解。</p>
<p>5. <span style="color: #ff0000;">Nunit<br />
</span>NUnit是一个.NET上的单元测试框架。NUnit 1.x主要是移植JUnit 3.8。从2.0版本开始，NUnit进行了重写和重新设计，使用Attributes代替特定的方法和相应的基类。<span id="more-10010"></span></p>
<p>6. <span style="color: #ff0000;">MyGeneration</span><br />
MyGeneration是一个功能很强大的代码生成工具。通过编写各种类型脚本（C#,VB.Net,JScript,VBScript）的模板，通过数据库的表内容，生成你需要的各种代码。可以用它来生成ORM的实体类，存储过程，SQL语句等。</p>
<p>7. <span style="color: #ff0000;">Reflector for .NET</span><br />
Reflector for .NET是一个面向 Microsoft .NET Framework 的免费类浏览器、分析器和DLL反编译器。</p>
<p>8. <span style="color: #ff0000;">The Regulator</span><br />
the regulator是很有特色的工具，能使生成和测试正则表达式变得容易。它们在.NET 框架中受到支持。</p>
<p>9. <span style="color: #ff0000;">LINQPad</span><br />
LINQ是Language Integrated Query的简称，是集成在.NET编程语言的特性,是编程语言的一个组成部分。</p>
<p>10. <span style="color: #ff0000;">NAnt</span><br />
NAnt是基于.NET的生成工具，与版本Visual Studio.NET 不同，它使得你的项目创建生成过程变得容易。</p>
<p>这里就不给出下载地址了，Google一下一般第一条就是。</p>
</div>
<p>The post <a href="https://www.xiaomingtu.com/archives/10010">.Net 十大必备工具</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.xiaomingtu.com/archives/10010/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>UML 13种图的使用</title>
		<link>https://www.xiaomingtu.com/archives/10011?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=uml-13%25e7%25a7%258d%25e5%259b%25be%25e7%259a%2584%25e4%25bd%25bf%25e7%2594%25a8</link>
					<comments>https://www.xiaomingtu.com/archives/10011#respond</comments>
		
		<dc:creator><![CDATA[Xiaoming]]></dc:creator>
		<pubDate>Mon, 06 Jul 2009 19:19:02 +0000</pubDate>
				<category><![CDATA[Web应用]]></category>
		<category><![CDATA[专业技术]]></category>
		<category><![CDATA[桌面应用]]></category>
		<category><![CDATA[移动应用]]></category>
		<category><![CDATA[转载]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[类图]]></category>
		<guid isPermaLink="false">http://rextu.wordpress.com/2009/07/07/uml-13%e7%a7%8d%e5%9b%be%e7%9a%84%e4%bd%bf%e7%94%a8</guid>

					<description><![CDATA[<p>摘自：《面向对象分许与设计（UML2.0版）》 UML有13种类型的图。UML规范没有要求这些图应在什么方法学中使用，所以可以在合适的任何阶段使用。 用例图对系统的使用方式分类。 类图显示类和它们的相互关系（也可以显示对象）。 对象图只显示对象和它们的相互关系。 活动图显示人或对象的活动，其方式类似于流程图。 状态机图显示生命周期比较有趣或复杂的对象的各种状态。 通信图显示在某种情形下对象之间发送的消息。 顺序图显示通信图类似的信息，但强调的是顺序，而不是链接。 包图显示相关的类如何组合，对开发人员有用。 部署图显示安装已完成系统的机器、过程和部署制品。 组件图显示可重用的组件（对象或子系统）及其接口。 交互总图使用顺序图显示活动的各个步骤。 时间图显示消息和对象状态的准确时间限制。 复合结构图显示对象在聚合或复合中的相互关系，显示接口和协作的对象。</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/10011">UML 13种图的使用</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="msgcns!1050226441EB0308!356" class="bvMsg">
<p>摘自：《面向对象分许与设计（UML2.0版）》</p>
<p>UML有13种类型的图。UML规范没有要求这些图应在什么方法学中使用，所以可以在合适的任何阶段使用。</p>
<ul>
<li><font color="#ff0000">用例图</font>对系统的使用方式分类。
<li><font color="#ff0000">类图</font>显示类和它们的相互关系（也可以显示对象）。
<li><font color="#ff0000">对象图</font>只显示对象和它们的相互关系。
<li><font color="#ff0000">活动图</font>显示人或对象的活动，其方式类似于流程图。
<li><font color="#ff0000">状态机图</font>显示生命周期比较有趣或复杂的对象的各种状态。
<li><font color="#ff0000">通信图</font>显示在某种情形下对象之间发送的消息。
<li><font color="#ff0000">顺序图</font>显示通信图类似的信息，但强调的是顺序，而不是链接。
<li><font color="#ff0000">包图</font>显示相关的类如何组合，对开发人员有用。
<li><font color="#ff0000">部署图</font>显示安装已完成系统的机器、过程和部署制品。
<li><font color="#ff0000">组件图</font>显示可重用的组件（对象或子系统）及其接口。
<li><font color="#ff0000">交互总图</font>使用顺序图显示活动的各个步骤。
<li><font color="#ff0000">时间图</font>显示消息和对象状态的准确时间限制。
<li><font color="#ff0000">复合结构图</font>显示对象在聚合或复合中的相互关系，显示接口和协作的对象。 </li>
</ul></div>
<p>The post <a href="https://www.xiaomingtu.com/archives/10011">UML 13种图的使用</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.xiaomingtu.com/archives/10011/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[转]用例建模技巧</title>
		<link>https://www.xiaomingtu.com/archives/10013?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e7%2594%25a8%25e4%25be%258b%25e5%25bb%25ba%25e6%25a8%25a1%25e6%258a%2580%25e5%25b7%25a7</link>
					<comments>https://www.xiaomingtu.com/archives/10013#respond</comments>
		
		<dc:creator><![CDATA[Xiaoming]]></dc:creator>
		<pubDate>Wed, 26 Nov 2008 18:55:52 +0000</pubDate>
				<category><![CDATA[Web应用]]></category>
		<category><![CDATA[专业技术]]></category>
		<category><![CDATA[桌面应用]]></category>
		<category><![CDATA[移动应用]]></category>
		<category><![CDATA[转载]]></category>
		<category><![CDATA[建模]]></category>
		<category><![CDATA[用例图]]></category>
		<guid isPermaLink="false">http://rextu.wordpress.com/2008/11/27/%e7%94%a8%e4%be%8b%e5%bb%ba%e6%a8%a1%e6%8a%80%e5%b7%a7</guid>

					<description><![CDATA[<p>引用：http://www.ibm.com/developerworks/cn/rational/tip-uml/index2.html 从参与者的角度并以主动语态编写用例。 应该以主动语态：“学生表明参加研习班意向”，而不是被动语态“研习班意向被学生表明”来编写用例。而且，应该从参与者的角度来编写用例。毕竟，用例的目的是理解用户如何对系统进行操作。 编写方案文本，而非功能需求。 用例描述的是对参与者来说有价值的一系列行动，而不是特性集。例如，“招收研习班的学生”用例描述的是学生如何与系统交互来参加研习班。它没有描述用户界面看上去是什么样子，或者它是如何工作的。有一些其它的模型来描述这些重要的信息，例如用户界面模型和增补规范。面向对象分析非常复杂，因此需要对它使用几种模型，并且应该适当地应用每一种模型。 用例只记载行为需求。 用例既不是类规范，也不是数据规范。这是应该由概念性模型捕捉的一种信息，在对象世界中，它是通过 UML类模型建模的。您往往会引用概念性模型中描述的类，例如，“参加研习班”用例包括了“研习班”和“学生”等概念，它们都将由概念性模型描述。 不要忘记用户界面。 系统用例经常引用主用户界面 (UI)元素，这些元素常常称为“边界”或“用户界面”项，例如 HTML页面和报表。用例有时也引用一些次要的 UI元素，例如按钮或数据输入字段，但这种级别的细节并不太常见。 创建用例模板。 用例包含了相当数量的信息，这些信息可以轻易地以常见格式记载。您应该考虑开发自己的模板（请参阅技巧“ 记载用例”）。 始终如一地组织用例图。 一般的做法是垂直地绘制继承 (inheritance) 和扩展 (extend)关联，在父／基本用例下面绘制继承／扩展用例。同样，通常水平绘制包含(include) 关联。请注意，这些是简单的经验法则 &#8211;只要始终遵循这些法则，产生的图将很容易理解。 不要忘记系统对参与者行动的响应。 用例既应该描述参与者是如何与系统交互的，也应该描述系统如何响应这些交互。例如，在“参加研习班”用例中，如果系统在学生表明他们希望参加研习班时没有做出响应，学生就会很沮丧地离开。 备选行动过程非常重要。 如果一切顺利，使用的将是基本行动过程 &#8211;但也不要忘记备选过程。引入备选过程是为了描述潜在的使用错误以及商业逻辑错误和异常。这些重要的信息对于驱动系统的设计来说很有必要，因此不要忘记在用例中对它们建模。 不要被 &#60;&#60;include&#62;&#62; 和 &#60;&#60;extend&#62;&#62;关联所困扰。 我不是很确定到底发生了什么事，但我总是在想包含 (include) 和扩展(extend) 关联，以及旧版本 UML 中使用 (uses) 和扩展 (extends)关联的正确使用从来没有得到很好的描述。结果，用例建模小组往往在这些关联的正确应用上争论不休，在整个建模技术中一些有趣但次要的部分上浪费了惊人的时间。我曾在一个组织中工作，这家组织居然取缔了&#60;&#60;include&#62;&#62; 和 &#60;&#60;extend&#62;&#62;原型的使用，几个星期后，当意识到公司仍然需要这些概念时不得不撤消了这种极端的解决方案，而这时该组织对它们的正确使用还没有达成共识。 让用例带动用户文档。 用户文档的目的是描述如何使用系统。每个用例都描述了参与者通过使用系统所采取的一系列动作。简而言之，用例包含从中开始编写问党用户稳当的信息。例如，可以使用“参加研习班”用例作为基础来编写系统用户文档的“如何参加研习班”一节。 让用例带动演示。 软件开发过程中的一部分是向项目资金管理者通报工作成果，因此有时需要提供演示。因为用例是从用户的角度编写的，它们包含了演示中对资金管理者可能希望听到的事物的有价值的深刻见解。换句话说，用例通常包含制定演示稿所需的逻辑。</p>
<p>The post <a href="https://www.xiaomingtu.com/archives/10013">[转]用例建模技巧</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="msgcns!1050226441EB0308!288" class="bvMsg">
<div>
<p><strong>引用：</strong><a href="http://www.ibm.com/developerworks/cn/rational/tip-uml/index2.html"><span style="color: #0066a7;"><strong>http://www.ibm.com/developerworks/cn/rational/tip-uml/index2.html</strong></span></a></p>
<p><strong>从参与者的角度并以主动语态编写用例。</strong><br />
应该以主动语态：“学生表明参加研习班意向”，而不是被动语态“研习班意向被学生表明”来编写用例。而且，应该从参与者的角度来编写用例。毕竟，用例的目的是理解用户如何对系统进行操作。</p>
<p><strong>编写方案文本，而非功能需求。</strong><br />
用例描述的是对参与者来说有价值的一系列行动，而不是特性集。例如，“招收研习班的学生”用例描述的是学生如何与系统交互来参加研习班。它没有描述用户界面看上去是什么样子，或者它是如何工作的。有一些其它的模型来描述这些重要的信息，例如用户界面模型和增补规范。面向对象分析非常复杂，因此需要对它使用几种模型，并且应该适当地应用每一种模型。</p>
<p><strong>用例只记载行为需求。</strong><br />
用例既不是类规范，也不是数据规范。这是应该由概念性模型捕捉的一种信息，在对象世界中，它是通过 UML类模型建模的。您往往会引用概念性模型中描述的类，例如，“参加研习班”用例包括了“研习班”和“学生”等概念，它们都将由概念性模型描述。</p>
<p><strong>不要忘记用户界面。</strong><br />
系统用例经常引用主用户界面 (UI)元素，这些元素常常称为“边界”或“用户界面”项，例如 HTML页面和报表。用例有时也引用一些次要的 UI元素，例如按钮或数据输入字段，但这种级别的细节并不太常见。</p>
<p><strong>创建用例模板。</strong> <span id="more-10013"></span><br />
用例包含了相当数量的信息，这些信息可以轻易地以常见格式记载。您应该考虑开发自己的模板（请参阅技巧“ <a href="http://www.ibm.com/developerworks/library/ws-tip-docusecase.html?S_TACT=105AGX52&amp;S_CMP=cn-a-r"><span style="text-decoration: underline;"><span style="color: #996699;">记载用例</span></span></a>”）。</p>
<p><strong>始终如一地组织用例图。</strong><br />
一般的做法是垂直地绘制继承 (inheritance) 和扩展 (extend)关联，在父／基本用例下面绘制继承／扩展用例。同样，通常水平绘制包含(include) 关联。请注意，这些是简单的经验法则 &#8211;只要始终遵循这些法则，产生的图将很容易理解。</p>
<p><strong>不要忘记系统对参与者行动的响应。</strong><br />
用例既应该描述参与者是如何与系统交互的，也应该描述系统如何响应这些交互。例如，在“参加研习班”用例中，如果系统在学生表明他们希望参加研习班时没有做出响应，学生就会很沮丧地离开。</p>
<p><strong>备选行动过程非常重要。</strong><br />
如果一切顺利，使用的将是基本行动过程 &#8211;但也不要忘记备选过程。引入备选过程是为了描述潜在的使用错误以及商业逻辑错误和异常。这些重要的信息对于驱动系统的设计来说很有必要，因此不要忘记在用例中对它们建模。</p>
<p><strong>不要被 &lt;&lt;include&gt;&gt; 和 &lt;&lt;extend&gt;&gt;关联所困扰。</strong><br />
我不是很确定到底发生了什么事，但我总是在想包含 (include) 和扩展(extend) 关联，以及旧版本 UML 中使用 (uses) 和扩展 (extends)关联的正确使用从来没有得到很好的描述。结果，用例建模小组往往在这些关联的正确应用上争论不休，在整个建模技术中一些有趣但次要的部分上浪费了惊人的时间。我曾在一个组织中工作，这家组织居然取缔了&lt;&lt;include&gt;&gt; 和 &lt;&lt;extend&gt;&gt;原型的使用，几个星期后，当意识到公司仍然需要这些概念时不得不撤消了这种极端的解决方案，而这时该组织对它们的正确使用还没有达成共识。</p>
<p><strong>让用例带动用户文档。</strong><br />
用户文档的目的是描述如何使用系统。每个用例都描述了参与者通过使用系统所采取的一系列动作。简而言之，用例包含从中开始编写问党用户稳当的信息。例如，可以使用“参加研习班”用例作为基础来编写系统用户文档的“如何参加研习班”一节。</p>
<p><strong>让用例带动演示。</strong><br />
软件开发过程中的一部分是向项目资金管理者通报工作成果，因此有时需要提供演示。因为用例是从用户的角度编写的，它们包含了演示中对资金管理者可能希望听到的事物的有价值的深刻见解。换句话说，用例通常包含制定演示稿所需的逻辑。</p>
</div>
</div>
<p>The post <a href="https://www.xiaomingtu.com/archives/10013">[转]用例建模技巧</a> appeared first on <a href="https://www.xiaomingtu.com">Xiaoming Tu - Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.xiaomingtu.com/archives/10013/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
