⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603101234535.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表明一个用例为抽象用例时,可以将其名称格式设置为斜体。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示例:</FONT></P>
<P><FONT face=Verdana><IMG src="2006310133147315.gif" tppabs="http://www.itisedu.com/manage/Upload/image/2006310133147315.gif" border=0></FONT></P>
<P><FONT face=楷体_GB2312>“创建任务”用例包括在“注册单”用例中“创建任务”用例是一个抽象用例。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在库房管理系统中,“创建任务”抽象用例包括在“注册单”用例中。启动“注册单”用例后,将创建一个注册单实例。该实例除了遵循注册单的事件流之外,它还遵循在所包含的用例“创建任务”内说明的事件流。“创建任务”本身从来不被执行,但始终作为“注册单”(或其他任何包含“创建任务”的用例)的一个部分。因此,“创建任务”是一个抽象用例。</FONT></P>
<P><FONT face=Verdana><STRONG>六、构建用例模型</STRONG> </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 构建用例模型有三个主要的原因: </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用例更易于理解。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将在许多用例内说明的公有行为分离出来。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用例模型更易于维护。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然而,构建模型并不是首先要做的事情。在您对用例的行为有更深入的了解(而不是一句话简要说明)之前,千万不要构建该用例。您至少需要为该用例的事件流建立一个分步说明大纲,确保您的决策是建立在对该行为有精确而充分的理解基础之上。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有三种关系可以用于构建用例。您可以使用这些关系来分析出用例部件,这些部件可以在其他用例中复用,或者作为该用例的特例或选项。表示修改的用例称为附加用例。被修改的用例称为基本用例。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果基本用例中有一部分功能,该用例的执行与否由它的结果唯一决定,而不是由产生该结果的方法来决定,则可以将这一部分功能分离出来,放到一个附加用例中。采用包含关系,可以将附加用例显式插入基本用例中。另请参见指南:包含关系。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果基本用例的一部分是可选的,或对于理解该用例的主要目的来说不是必需的,那么您可以将这部分分离出来,形成一个附加用例,以简化基本用例的结构。利用扩展关系,可以将附加用例隐式插入基本用例中。另请参见指南:扩展关系。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果用例在行为和结构上具有共同点而且在目的上又很相似,则可以将它们的共同部分分离出来,形成一个基本用例(父用例)。而附加用例(子用例)可以继承该父用例。子用例可以在从父用例继承的结构中插入新的行为或修改现有的行为。另请参见指南:用例泛化关系。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 您可以使用主角泛化关系来显示主角之间的特化情况。另请参见指南:主角泛化关系。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示例:</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以订单管理系统的用例模型部分为例进行说明。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于他们具有略微不同的特征,因此将普通客户从 Internet 客户中分离开来是非常有用的。然而,因为 Internet 客户的确显示了一个客户具有的所有特征,所以您可以说 Internet 客户是客户的一个特例,并且能够通过主角泛化关系来指示。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在本图中,具体用例分别是“电话订购”(由客户主角发出)和“Internet 订购”(由 Internet 客户发出)。这些用例都是更普通的“订购”用例的变形。在本示例中,“订购”用例是一个抽象用例。“请求目录”用例代表一个可选行为段,它不是“订购”用例主要目标的组成部分。它已经被分离出来,形成了一个抽象用例,用于简化“订购”用例。“提供客户数据”用例是一个已分离出的行为段。它之所以被分离出来,是因为它是一个独立功能,只有它的结果才能影响“订购”用例。“供给客户数据”用例还可以在其他用例中复用。“请求目录”用例和“供给客户数据”用例在本示例中都属于抽象用例。</FONT></P>
<P><FONT face=Verdana><IMG src="2006310133227232.gif" tppabs="http://www.itisedu.com/manage/Upload/image/2006310133227232.gif" border=0></FONT></P>
<P><FONT face=楷体_GB2312>本用例图显示订单管理系统的用户模型部分。</FONT></P>
<P><FONT face=Verdana>下表显示了三个不同用例关系之间更详细的比较:</FONT></P>
<P><FONT face=Verdana><IMG src="2006310133411313.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006310133411313.jpg" border=0></FONT></P><FONT face=Verdana>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为达到更易于理解的目的,组织用例模型的另一个方法是对用例进行分组,形成多个包。用例模型可以组织为一个有层次的用例包结构,而主角或用例是该结构中的“树叶”。另请参见指南:用例包。</P>
<P><IMG src="2006310133453354.gif" tppabs="http://www.itisedu.com/manage/Upload/image/2006310133453354.gif" border=0></P>
<P><FONT face=楷体_GB2312>本图显示用例模型的<a href="200604161254415.html" tppabs="http://www.itisedu.com/phrase/200604161254415.html" target="_new">分层</a>结构。箭头表示可能存在所有权关系。</FONT></P>
<P><STRONG>七、用例是否始终和主角有关?</STRONG> </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个用例的执行都包含与一个或多个主角的交流。用例实例始终通过主角要求系统执行某些任务来启动。这意味着每个用例需要与主角建立通信关联关系。此规则的理由是强迫系统只提供用户需要的功能,而不提供任何其他的东西。如果存在无人请求的用例,则表明在该用例模型或需求中存在错误。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然而,此规则也有一些例外情况: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果用例是抽象的(不是可独立实例化的),则其行为可能不包括与主角的交互。这种情况下,将不存在任何从该抽象用例到主角的通信关联关系。 <BR>如果父用例说明了所有的主角通信,则泛化关系中的子用例不需要与主角相关联。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果包含用例说明了所有的主角通信,则包含关系中的基本用例不需要与主角相关联。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个用例可能按照时间表(例如,一星期一次或一天一次)来启动,这意味着系统时钟即为启动<a href="200604232224305.html" tppabs="http://www.itisedu.com/phrase/200604232224305.html" target="_new">程序</a>。由于用例不是由主角而是由内部系统事件启动的,因此系统时钟对于该系统而言是内在的。如果在该用例中没有发生其他的主角交互,则它与主角之间不存在任何关联关系。然而,为了清楚起见,您可以在用例图中使用一个虚构的主角“时间”来显示该用例是如何启动的。 </P>
<P><STRONG>八、调查说明</STRONG> </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用例模型的调查说明应该: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 声明哪些是系统的主要用例(系统建立的原因)。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总结有关系统的重要技术实际情况。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指出系统定界 - 系统将不执行的操作。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 概述系统的环境,例如目标平台和现有的<a href="200604232134205.html" tppabs="http://www.itisedu.com/phrase/200604232134205.html" target="_new">软件</a>。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 描述在该系统中正常执行用例的任意序列。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 详细说明用例模型未处理的功能。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 示例:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以下是关于回收机的用例模型的调查说明示例:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本模型包括三个主角和三个用例。主要用例是“回收项”,它说明回收机的主要用途。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 支持用例有: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “打印日常报告”,操作员可以使用它获得关于已经回收多少项目的报告。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “管理储存项”,操作人员可以使用它来变更某个储存项<a href="200603051002565.html" tppabs="http://www.itisedu.com/phrase/200603051002565.html" target="_new">类型</a>的退款金额,或增加新的储存项类型。<BR>&copy; 1987 - 2001 <a href="200604032121225.html" tppabs="http://www.itisedu.com/phrase/200604032121225.html" target="_new">Rational</a> Software Corporation。版权所有。</FONT></P></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -