📄 lib0012.html
字号:
<html>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>
<title>Identifying the Actors</title>
<link rel="STYLESHEET" type="text/css" href="images/xpolecat.css">
<link rel="STYLESHEET" type="text/css" href="images/ie.content.css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><div STYLE="MARGIN-LEFT: 0.15in;"><a href="toc.html"><img src="images/teamlib.gif" width="62" height="15" border="0" align="absmiddle" alt="Team LiB"></a></div></td>
<td align="right"><div STYLE="MARGIN-LEFT: 0.15in;">
<a href="LiB0011.html"><img src="images/previous.gif" width="62" height="15" border="0" align="absmiddle" alt="Previous Section"></a>
<a href="LiB0013.html"><img src="images/next.gif" width="41" height="15" border="0" align="absmiddle" alt="Next Section"></a>
</div></td></tr></table>
<br>
<div class="chapter">
<a name="ch02"></a>
<div class="section">
<h2 class="first-section-title"><a name="65"></a><a name="ch02lev1sec2"></a>Identifying the Actors</h2><p class="first-para">The first step in use-case analysis is to identify the actors. An <i class="emphasis">actor</i> is the user type or external system serviced or affected by the use case. Although word <i class="emphasis">actor</i> has connotations of being an actual person, a UML actor can be an external system or an organization type or role.</p>
<p class="para">The following is a list of actors for a report generation application:</p>
<ul class="itemizedlist">
<li class="first-listitem">
<p class="first-para">Trust customer user</p>
</li>
<li class="listitem">
<p class="first-para">Trust customer organization</p>
</li>
<li class="listitem">
<p class="first-para">Banking support user</p>
</li>
<li class="listitem">
<p class="first-para">Report template developer</p>
</li>
<li class="listitem">
<p class="first-para">Document delivery application interface</p>
<a name="66"></a><a name="IDX-18"></a>
</li>
<li class="listitem">
<p class="first-para">Report template definition interface</p>
</li>
<li class="listitem">
<p class="first-para">Data warehouse application interface</p>
</li>
<li class="listitem">
<p class="first-para">Report request application interface</p>
</li>
<li class="listitem">
<p class="first-para">Application administrator</p>
</li>
</ul>
<p class="para">And here's a list of actors for a cash-tracking application:</p>
<ul class="itemizedlist">
<li class="first-listitem">
<p class="first-para">Cash manager user</p>
</li>
<li class="listitem">
<p class="first-para">Transaction approver user</p>
</li>
<li class="listitem">
<p class="first-para">Senior transaction approver user</p>
</li>
<li class="listitem">
<p class="first-para">Banking support user</p>
</li>
<li class="listitem">
<p class="first-para">Fund accounting application interface</p>
</li>
<li class="listitem">
<p class="first-para">Application administrator</p>
</li>
</ul>
<p class="para">You may have noticed that in each example, I listed individual user groups as separate items. I did this primarily because every user group has different capabilities. While some use cases apply to all types of end users, others are user-group specific. In each example, we had far fewer different types of end users when we started use-case analysis than we had when we finished. During the course of writing the use cases, we began to realize that there were different user roles that required different capabilities.</p>
<p class="para">
<b>It is possible for a user to represent multiple actors.</b> For example, a user who provides banking support may also assume the role of a cash manager or transaction approver.</p>
<p class="para">
<b>Consider the application administrator as an actor for any large application.</b> This forces some attention to support—which increases availability and in turn makes other actors (who happen to be people) happy.</p>
<p class="para">
<b>Make sure that all actors are direct.</b> Sometimes people are confused by the external system interfaces and want to list as actors the end users serviced by an external interface. For example, if a security-trading system is one of the external interfaces, you may be tempted to list traders as actors because they are serviced indirectly by your application. However, the security-trading system is the actor, and the traders are indirect end users.</p>
<p class="para">
<b>Facilitate identifying actors by beginning with a small group.</b> Technical architects and business analysts can facilitate the discussion by making assumptions about who the actors are and reviewing them with other members <a name="67"></a><a name="IDX-19"></a>of the team and the business side. In my experience, people are much better and quicker critiquing something in place than they are adding to a blank sheet of paper. You will probably discover additional actors as use-case analysis proceeds.</p>
</div>
</div><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><div STYLE="MARGIN-LEFT: 0.15in;"><a href="toc.html"><img src="images/teamlib.gif" width="62" height="15" border="0" align="absmiddle" alt="Team LiB"></a></div></td>
<td align="right"><div STYLE="MARGIN-LEFT: 0.15in;">
<a href="LiB0011.html"><img src="images/previous.gif" width="62" height="15" border="0" align="absmiddle" alt="Previous Section"></a>
<a href="LiB0013.html"><img src="images/next.gif" width="41" height="15" border="0" align="absmiddle" alt="Next Section"></a>
</div></td></tr></table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -