<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.3/uma.ecore" epf:version="1.0.0" xmi:id="-Rcm_MlViENAvFFyIe9V3dQ" name="find_and_outline_actors_and_ucs,_eyL0wCu-EdqSxKAVa9kmvA" guid="-Rcm_MlViENAvFFyIe9V3dQ" changeDate="2006-10-23T13:31:13.565-0700" version="1.0.0">
  <mainDescription>&lt;h4&gt;
    Finding actors
&lt;/h4&gt;
&lt;p&gt;
    Find the external entities with which the system under development must interact. Candidates include groups of users
    who will require help from the system to perform their tasks and execute the system's primary or secondary functions,
    as well as external hardware, software, and other systems.
&lt;/p&gt;
&lt;p&gt;
    Define each candidate actor by naming it and writing a brief description. Includes the actor's area of responsibility
    and the goals that the actor will attempt to accomplish when using the system. Eliminate actor candidates who do not
    have any goals.
&lt;/p&gt;
&lt;p&gt;
    These questions are useful in identifying actors:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        Who will supply, use, or remove information from the system?
    &lt;/li&gt;
    &lt;li&gt;
        Who will use the system?
    &lt;/li&gt;
    &lt;li&gt;
        Who is interested in a certain feature or service provided by the system?
    &lt;/li&gt;
    &lt;li&gt;
        Who will support and maintain the system?
    &lt;/li&gt;
    &lt;li&gt;
        What are the system's external resources?
    &lt;/li&gt;
    &lt;li&gt;
        What other systems will need to interact with the system under development?
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    Review the list of stakeholders that you captured in the Vision statement. Not all stakeholders will be actors
    (meaning, they will not all interact directly with the system under development), but this list of stakeholders is
    useful for identifying candidates for actors.
&lt;/p&gt;
&lt;h4&gt;
    Finding use cases
&lt;/h4&gt;
&lt;p&gt;
    The best way to find use cases is to consider what each actor requires of the system. For each actor, human or not,
    ask:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        What are the goals that the actor will attempt to accomplish with the system?
    &lt;/li&gt;
    &lt;li&gt;
        What are the primary tasks that the actor wants the system to perform?
    &lt;/li&gt;
    &lt;li&gt;
        Will the actor create, store, change, remove, or read data in the system?
    &lt;/li&gt;
    &lt;li&gt;
        Will the actor need to inform the system about sudden external changes?
    &lt;/li&gt;
    &lt;li&gt;
        Does the actor need to be informed about certain occurrences, such as unavailability of a network resource,&amp;nbsp;in
        the system?
    &lt;/li&gt;
    &lt;li&gt;
        Will the actor perform a system startup or shutdown?
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    Understanding how&amp;nbsp;the target&amp;nbsp;organization works and how this information system might be incorporated into
    existing operations gives an idea of system's surroundings. That information may reveal other use case candidates.
&lt;/p&gt;
&lt;p&gt;
    Give a unique name and brief description that clearly describes the goals for each use case. If the candidate use case
    does not have goals, ask yourself why it exists, and then either identify a goal or eliminate the use case.
&lt;/p&gt;
&lt;h4&gt;
    Outlining Use Cases
&lt;/h4&gt;
&lt;p&gt;
    Without going into details, write a first draft of the flow of events of the use cases identified as being of high
    priority. Initially, write a simple step-by-step description of the basic flow of the use case. The step-by-step
    description is a simple ordered list of interactions between the actor and the system. For example, the description of
    the basic flow of the Withdraw Cash use case of an automated teller machine (ATM) would be something like this:
&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
        The&amp;nbsp;customer inserts a bank card.
    &lt;/li&gt;
    &lt;li&gt;
        The system validates the card and prompts the person to enter a personal identification number (PIN).
    &lt;/li&gt;
    &lt;li&gt;
        The customer&amp;nbsp;enters a PIN.
    &lt;/li&gt;
    &lt;li&gt;
        The system validates the PIN and prompts the customer to select an action.
    &lt;/li&gt;
    &lt;li&gt;
        The customer selects Withdraw Cash.
    &lt;/li&gt;
    &lt;li&gt;
        The system prompts the customer to choose which account.
    &lt;/li&gt;
    &lt;li&gt;
        The customer selects the checking account.
    &lt;/li&gt;
    &lt;li&gt;
        The system prompts for an amount.
    &lt;/li&gt;
    &lt;li&gt;
        The customer enters the amount to withdraw.
    &lt;/li&gt;
    &lt;li&gt;
        The system validates the amount (assuming sufficient funds), and then issues cash and receipt.
    &lt;/li&gt;
    &lt;li&gt;
        The customer takes the cash and receipt, and then retrieves the bank card.
    &lt;/li&gt;
    &lt;li&gt;
        The use case ends.
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
    As you create this step-by-step description of the basic flow of events, you may discover alternative and exceptional
    flows. For example, what happens if the customer enters an invalid PIN? Record the name and a brief description of each
    alternate flow that you identified.
&lt;/p&gt;
&lt;h4&gt;
    Representing relationships between actors and use cases
&lt;/h4&gt;
&lt;p&gt;
    The relationship between actors and use cases should be captured, or documented&amp;nbsp; There are several ways to do
    this. If you are using a use-case model on the project, you can create use-case diagrams to show how&amp;nbsp;actors and
    use cases&amp;nbsp;relate to each other.&amp;nbsp; Refer to&amp;nbsp;&lt;a class=&quot;&quot; href=&quot;./../../../openup_basic/guidances/guidelines/uc_model,_0VAUsMlgEdmt3adZL5Dmdw.html&quot; guid=&quot;_0VAUsMlgEdmt3adZL5Dmdw&quot;&gt;Guideline: Use-Case Model&lt;/a&gt;&amp;nbsp;for more information.
&lt;/p&gt;
&lt;p&gt;
    If you are not using a use-case model for the project, make sure that each use case identifies the associated primary
    and secondary actors.
&lt;/p&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>
