<?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.5/uma.ecore"
    xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
    epf:version="1.5.0" xmi:id="-T2IeqdOunweffIDgL-aM0w"
    name="use_case,_0Vk8cMlgEdmt3adZL5Dmdw" guid="-T2IeqdOunweffIDgL-aM0w" authors="Paul Bramble"
    changeDate="2006-05-01T10:13:56.264-0700" version="0.1">
  <copyrightStatement href="uma://_iVydgENdEdy245g62lfWcA#_uuunoPsDEdmyhNQr5STrZQ"/>
  <sections xmi:id="_663wMNk1Edq2Q8qZoWbvGA" name="The use-case name is meaningful and un-ambiguous"
      guid="_663wMNk1Edq2Q8qZoWbvGA">
    <sectionDescription>&lt;p>&#xD;
    Does the use case have a unique name?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is the name a verb + noun phrase (for example, Withdraw Cash)?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does the name accurately&amp;nbsp;summarize the&amp;nbsp;main goal&amp;nbsp;of the use case?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is the name &quot;actor independent&quot;?&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_ZTA8QJznEduBcbjYtLtItQ" name="The brief description clearly describes the primary goal of the use case"
      guid="_ZTA8QJznEduBcbjYtLtItQ">
    <sectionDescription>&lt;p>&#xD;
    Is it clear from the brief description what the main purpose of the use case is?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is the &quot;observable result of value&quot; obvious?&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_4wJRgJznEduBcbjYtLtItQ" name="Associated actors and information exchanged are clearly defined"
      guid="_4wJRgJznEduBcbjYtLtItQ">
    <sectionDescription>&lt;p>&#xD;
    Is the use case associated with one or more actors?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is the primary, or initiating actor, defined?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is it clear who wishes to perform the use case?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is all information exchanged between the actor(s) and the system clearly specified?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    If a &quot;time&quot; actor is used, are you sure you did not miss an important actor and associated use cases (such as&#xD;
    administrative or maintenance personnel that define schedule events)?&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_Qys_INk2Edq2Q8qZoWbvGA" name="Pre-conditions have been specified"
      guid="_Qys_INk2Edq2Q8qZoWbvGA">
    <sectionDescription>&lt;p>&#xD;
    Does each pre-condition represent a tangible&amp;nbsp;state&amp;nbsp;of&amp;nbsp;the system (for example, the Withdraw Cash use&#xD;
    case for an automated teller machine has a precondition that the user has an account)?&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_q3qV0Nk2Edq2Q8qZoWbvGA" name="The Basic Flow and Alternate Flows are complete, correct and consistent"
      guid="_q3qV0Nk2Edq2Q8qZoWbvGA">
    <sectionDescription>&lt;p>&#xD;
    Is it clear how the use case is started?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is the triggering event clearly described?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does the flow have a definite ending?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does&amp;nbsp;each step in the scenario contain&amp;nbsp;the same level of abstraction?&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does each step in the scenario describe something that can actually happen and that the system can reasonably detect?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does each step make&amp;nbsp;progress towards the goal?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Are there any missing steps? Is it clear how to go from one step to the next? Does the sequence of communication&#xD;
    between the actors and the use case conform to the user's expectations?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Does each step describe how the step helps the actor achieve their goal?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Is each step technology independent? Is it free of technical details, and design decisions?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Are the steps correctly numbered?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    For each alternate flow is the condition(s) for initiation of the flow clearly defined?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    For each alternate flow is it clear how the use case ends or where in the basic flow that the use case resumes?&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_dnLXMNk2Edq2Q8qZoWbvGA" name="Post-conditions have been specified"
      guid="_dnLXMNk2Edq2Q8qZoWbvGA">
    <sectionDescription>&lt;p>&#xD;
    If &quot;Minimal Guarantees&quot; are present, do they always happen when the use case completes, regardless of success? (A&#xD;
    Minimal Guarantee represents&amp;nbsp;a condition&amp;nbsp;that will be true when the use case ends, regardless of how it&#xD;
    terminates.)&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    If &quot;Success Guarantees&quot; are present, do they always happen when the use case completes successfully? (A Success&#xD;
    Guarantee represents a condition that will be true when the use case ends successfully, regardless of which path it&#xD;
    takes.)&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_vkbMAJzrEduBcbjYtLtItQ" name="Applicable non-functional requirements have been captured"
      guid="_vkbMAJzrEduBcbjYtLtItQ">
    <sectionDescription>&lt;p>&#xD;
    Are non-functional requirements (such as performance criteria) that are&amp;nbsp;applicable to the&amp;nbsp;use case captured&#xD;
    in the use case?&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Are these non-functional requirements applicable to many use cases?&amp;nbsp; It they are, consider capturing them in the&#xD;
    system-wide requirements specification to simplify maintenance.&#xD;
&lt;/p></sectionDescription>
  </sections>
</org.eclipse.epf.uma:ContentDescription>
