<?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.6/uma.ecore" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-yEWkrWZ3VUcjZPhq6bvScg" name="new_concept,_2jyfUAhVEduRe8TeoBmuGg" guid="-yEWkrWZ3VUcjZPhq6bvScg" changeDate="2010-11-23T11:24:10.272-0800" version="1.0.0">
  <mainDescription>&lt;h3>&#xD;
    Explanation&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    A use-case model is a model of how different types of users interact with the system to solve a problem.&amp;nbsp; As such,&#xD;
    it describes the goals of the users, the interactions between the users and the system, and the required behavior of&#xD;
    the system in satisfying these goals.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A use-case model consists of a number of model elements.&amp;nbsp; The most important model elements are: use cases, actors&#xD;
    and the relationships between them.&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A use-case diagram is used to graphically depict a subset of the model to simplify communications.&amp;nbsp; There will&#xD;
    typically be several use-case diagrams associated with a given model, each showing a subset of the model elements&#xD;
    relevant for a particular purpose.&amp;nbsp; The same model element may be shown on several use-case diagrams, but each&#xD;
    instance must be consistent.&amp;nbsp; If tools are used to maintain the use-case model, this consistency constraint is&#xD;
    automated so that any changes to the model element (changing the name for example) will be automatically reflected on&#xD;
    every use-case diagram that shows that element.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The use-case model may contain packages that are used to structure the model to simplify analysis, communications,&#xD;
    navigation, development, maintenance and planning.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Much of the use-case model is in fact textual, with the text captured in the&amp;nbsp;use-case specifications&amp;nbsp;that are&#xD;
    associated with each use-case model element.&amp;nbsp;These specifications describe the flow of events of the use case.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The use-case model serves as a unifying thread throughout system development. It is used as the primary specification&#xD;
    of the functional requirements for the system, as the basis for analysis and design, as an input to iteration planning,&#xD;
    as the basis of defining test cases and as the basis for user documentation&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Basic model elements&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The use-case model contains, as a minimum, the following basic model elements.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Actor&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A model element representing&amp;nbsp;each actor. Properties include the actors name and brief description. See&amp;nbsp;&lt;a&#xD;
    class=&quot;elementLinkWithType&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/actor_411726C.html&quot;&#xD;
    guid=&quot;_zGqO0MDpEduTGJ8i4u8TMw&quot;>Concept: Actor&lt;/a> for more information.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Use Case&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A model element representing&amp;nbsp;each use case. Properties include the use case name and use case specification.&#xD;
    See&amp;nbsp;Use Case artifact and &lt;a class=&quot;elementLinkWithType&quot;&#xD;
    href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/use_case_BB199D1B.html&quot;&#xD;
    guid=&quot;_KudM0NcJEdqz_d2XWoVt6Q&quot;>Concept: Use Case&lt;/a> for more information.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Associations&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    Associations are used to describe the relationships between actors and the use cases they participate in. This&#xD;
    relationship is commonly known as a &quot;communicates-association&quot;.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Advanced model elements&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The use-case model may also contain the following advanced model elements.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Subject&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A model element that represents the boundary of the system of interest.&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Use-Case Package&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A model element used to structure the use case model to simplify analysis, communications, navigation, and&#xD;
    planning.&amp;nbsp; If there are many use cases or actors, you can use use-case packages to further structure the use-case&#xD;
    model in much the same manner you use folders or directories to structure the information on your hard-disk.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    You can partition a use-case model into use-case packages for several reasons, including:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        To reflect the order, configuration, or delivery units in the finished system thus supporting iteration planning.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        To support parallel development by dividing the problem into bite-sized pieces.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        To simplify communication with different stakeholders by creating packages for containing use cases and actors&#xD;
        relevant to a particular stakeholder.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
    Generalizations&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A relationship&amp;nbsp;between actors to support re-use of common properties.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Dependencies&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    A number of dependency types between use cases are defined in UML. In particular, &amp;lt;&amp;lt;extend&amp;gt;&amp;gt; and&#xD;
    &amp;lt;&amp;lt;include&amp;gt;&amp;gt;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;lt;&amp;lt;extend&amp;gt;&amp;gt; is used to include optional behavior from an extending use case in an extended use case.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;lt;&amp;lt;include&amp;gt;&amp;gt; is used to include common behavior from an included use case into a base use case in order to&#xD;
    support re-use of common behavior.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The latter is the most widely used dependency and is useful for:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Factoring out behavior from the base use case that is not necessary for the understanding of the primary purpose of&#xD;
        the use case to simplify communications.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Factoring out behavior that is in common for two or more use cases to maximize re-use, simplify maintenance and&#xD;
        ensure consistency.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
    Example Use-Case Diagram&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Figure 1 shows a use-case diagram from an Automated Teller Machine (ATM) use-case model.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    &amp;nbsp;&lt;img alt=&quot;Figure 1: ATM Use-Case Diagram&quot; src=&quot;resources/atm_uc_diagram.gif&quot; />&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Figure 1: ATM Use-Case Diagram&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    This diagram shows the subject (atm:ATM), four actors (Bank Customer, Bank, Cashier and Maintenance Person), five use&#xD;
    cases (Withdraw Cash, Transfer Funds, Deposit Funds, Refill Machine and Validate User), three &amp;lt;&amp;lt;includes&amp;gt;&amp;gt;&#xD;
    dependencies, and the associations between the performing actors and the use cases.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The use cases Withdraw Cash, Deposit Funds, and Transfer Funds all need to include how the customer is identified to&#xD;
    the system. This behavior can be extracted to a new inclusion use case called Validate User, which the three base use&#xD;
    cases &amp;lt;&amp;lt;include&amp;gt;&amp;gt;. The base use cases are independent of the method used for identification, and it is&#xD;
    therefore encapsulated in the inclusion use case. From the perspective of the base use cases, it does not matter&#xD;
    whether the method for identification is to read a magnetic bank card, or perform a retinal scan. They only depend on&#xD;
    the result of Validate Customer.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Note that Figure 1 is only a partial view of the use-case model. The complete use-case model also includes descriptions&#xD;
    of each actor, descriptions of each use case, and use-case specifications for each use case.&amp;nbsp; For a more complete&#xD;
    example of this use case model see&amp;nbsp;&lt;a class=&quot;elementLink&quot;&#xD;
    href=&quot;./../../../core.tech.common.extend_supp/guidances/examples/uc_model_evolve_960F136B.html&quot;&#xD;
    guid=&quot;_t4QdAMNqEdu2IdAIaWZyAw&quot;>Evolution of the Use-Case Model&lt;/a>.&lt;br />&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
