forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thors...@apache.org
Subject svn commit: r425340 [3/10] - in /forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo: ./ docs/ docs/developer/ docs/developer/useCases/ docs/user/ docs/user/useCases/ images/ projectDetails/ projectDetails/category/ skin/ s...
Date Tue, 25 Jul 2006 09:07:46 GMT
Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.html?rev=425340&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.html (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.html Tue Jul 25 02:07:44 2006
@@ -0,0 +1,883 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Use Cases</title>
+<link type="text/css" href="../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../skin/profile.css" rel="stylesheet">
+<script src="../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://forrest.apache.org/">Apache Forrest</a> &gt; <a href="http://forrest.apache.org/pluginDocs/">Plugins</a><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Apache Forrest" src="../../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href=""><img class="logoImage" alt="Plugin: projectInfo input" src="../../../images/project.png" title="org.apache.forrest.plugin.input.projectInfo plugin for Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="http://forrest.apache.org/pluginDocs">Forrest Plugins</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../../index.html">Home</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../../../skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../index.html" title="Welcome to org.apache.forrest.plugin.input.projectInfo">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../../skin/')" id="menu_1.1.2Title" class="menutitle">Release Notes</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../releaseNotes_0.1.html">Version 0.1</a>
+</div>
+<div class="menuitem">
+<a href="../../../releaseNotes_0.2-dev.html">Version 0.2-dev</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../changes.html" title="History of Changes">Changes</a>
+</div>
+<div class="menuitem">
+<a href="../../../todo.html" title="Todo List">Todo</a>
+</div>
+<div class="menuitem">
+<a href="http://forrest.apache.org/docs/plugins" title="Index of Forrest Plugins">Plugins Index</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2', '../../../skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div onclick="SwitchMenu('menu_1.2.1', '../../../skin/')" id="menu_1.2.1Title" class="menutitle">User</div>
+<div id="menu_1.2.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/user/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/user/useCases/useCaseFeatures.html">Use Cases</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/user/useCases/all.html">All Cases</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2.2', '../../../skin/')" id="menu_selected_1.2.2Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Developer</div>
+<div id="menu_selected_1.2.2" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../docs/developer/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Use Cases</div>
+</div>
+<div class="menuitem">
+<a href="../../../docs/developer/useCases/all.html">All Cases</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', '../../../skin/')" id="menu_1.3Title" class="menutitle">Projects</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1', '../../../skin/')" id="menu_1.3.1Title" class="menutitle">Navigation Indexes</div>
+<div id="menu_1.3.1" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1.1', '../../../skin/')" id="menu_1.3.1.1Title" class="menutitle">All</div>
+<div id="menu_1.3.1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.html" title="Project details for projectInfo">projectInfo</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.1.2', '../../../skin/')" id="menu_1.3.1.2Title" class="menutitle">Java</div>
+<div id="menu_1.3.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.1.3', '../../../skin/')" id="menu_1.3.1.3Title" class="menutitle">Language Indexes</div>
+<div id="menu_1.3.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/Java_lang.html" title="All projects using Java">Java</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/XML_lang.html" title="All projects using XML">XML</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/XSLT_lang.html" title="All projects using XSLT">XSLT</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.2', '../../../skin/')" id="menu_1.3.2Title" class="menutitle">Page Indexes</div>
+<div id="menu_1.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/lang-index.html" title="A list of all projects, indexed by language">Index by Language</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/Java_lang.html" title="A list of Jave projects">Java Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/category-index.html" title="A list of all projects, indexed by language">Index by Category</a>
+</div>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2"></div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div class="trail">Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Use Cases</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Uses+Cases+for+the+Use+Case+management+features+of+org.apache.forrest.plugin.input.projectInfo">Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</a>
+<ul class="minitoc">
+<li>
+<a href="#Write+Use+Case+Documentation">Write Use Case Documentation</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification">Justification</a>
+</li>
+<li>
+<a href="#Summary">Summary</a>
+</li>
+<li>
+<a href="#Details">Details</a>
+</li>
+<li>
+<a href="#Implementation+Notes">Implementation Notes</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+Use+Case+Documentation+for+Developers">Generate Use Case Documentation for Developers</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification-N1019D">Justification</a>
+</li>
+<li>
+<a href="#Summary-N101AA">Summary</a>
+</li>
+<li>
+<a href="#Details-N101B5">Details</a>
+</li>
+<li>
+<a href="#Implementation+Notes-N101D7">Implementation Notes</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+Use+Case+Documentation+for+Users">Generate Use Case Documentation for Users</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification-N10214">Justification</a>
+</li>
+<li>
+<a href="#Summary-N10221">Summary</a>
+</li>
+<li>
+<a href="#Details-N1022C">Details</a>
+</li>
+<li>
+<a href="#Implementation+Notes-N10250">Implementation Notes</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+a+Functionality+Matrix">Generate a Functionality Matrix</a>
+<ul class="minitoc">
+<li>
+<a href="#Summary-N10287">Summary</a>
+</li>
+<li>
+<a href="#Details-N10292">Details</a>
+</li>
+<li>
+<a href="#Implementation+Notes-N102B4">Implementation Notes</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<a name="N10007"></a><a name="Uses+Cases+for+the+Use+Case+management+features+of+org.apache.forrest.plugin.input.projectInfo"></a>
+<h2 class="underlined_10">Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</h2>
+<div class="section">
+<a name="N1000B"></a><a name="Write+Use+Case+Documentation"></a>
+<h3 class="underlined_5">Write Use Case Documentation</h3>
+<p>Write semi-structured use case documents so that they can be reused in a variety of ways.
+      This use case describews a process for writing such documents. This document is derived from
+      such a <a href="useCaseFeatures.source.xml">source document</a>.</p>
+<a name="N10018"></a><a name="Justification"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project. It is very useful for describing what an applicaiton must
+        do and what patchs through the system can be taken.</p>
+<p>By bringing this information together in a semi-structured document we can use it in many
+        different ways. For example:</p>
+<ul>
+          
+<li>Requirements Documentation</li>
+          
+<li>Developer Documentation</li>
+          
+<li>User Documentaiton</li>
+          
+<li>Functionality Matrices</li>
+          
+<li>Task Lists</li>
+        
+</ul>
+<a name="N10037"></a><a name="Summary"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Create/open a Use Case file</strong>
+</li>
+
+      
+<li>
+<strong>Create a new use case</strong>
+</li>
+
+        
+<li>
+<strong>Describe the overall objective of the use case</strong>
+</li>
+
+        
+<li>
+<strong>Define each step in the Use Case</strong>
+</li>
+
+        
+<li>
+<strong>Descripbe the step</strong>
+</li>
+
+        
+<li>
+<strong>Describe the expected results</strong>
+</li>
+
+        
+<li>
+<strong>Add "fixme" notes</strong> (Optional)</li>
+
+        
+<li>
+<strong>Add alternatives</strong> (Optional)</li>
+        
+        
+<li>
+<strong>Write Implementation Notes</strong> (Optional)</li>          
+    
+</ol>
+<a name="N10065"></a><a name="Details"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Create/open a Use Case file</td><td>In your favourite XML editor either create a new file
+        or open an existing use case file. The default location of these files
+        within a Forrest content object is <span class="codefrag">/content/documentation/useCases/**.xml</span>
+        </td><td>You have either a blank use case document or an existing one ready for editing.</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+</td>
+</tr>
+
+      
+<tr>
+<td>2. Create a new use case</td><td>
+          
+<p>A use case is enclosed within a <span class="codefrag">useCase</span> element.
+          Each use case should be given a brief <span class="codefrag">title</span> to describe it.</p>
+
+        
+</td><td>You have the container for your new use case.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>3. Describe the overall objective of the use case</td><td>
+            
+<p>Each use case should be described in terms of:</p>
+            
+<ul>
+              
+<li>The objective</li>
+              
+<li>The expected results</li>
+              
+<li>The justification</li>
+            
+</ul>
+            
+<p>This information should be placed in the <span class="codefrag">description</span> element
+          of your use case. This node allows any XDoc markup and therefore you are
+          reasonably free to use whatever formatting or images are needed to convey the
+          important details most efficiently.</p>
+          
+</td><td>You have a use case that is described sufficiently well for an average user of the end system
+        to understand its purpose.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>4. Define each step in the Use Case</td><td>
+            
+<p>Each use case will be subdivided into one or more steps that must be carried out
+          in order to complete the task. Each of these steps is defined within a <span class="codefrag">step</span>
+          element which are chilren of a <span class="codefrag">steps</span> element.</p>
+          
+</td><td></td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>5. Descripbe the step</td><td>
+            
+<p>Each step has a title and a description. The description should provide enough information
+            for a user to complete the task and for a developer to implement support for the user in that
+            task.</p>
+
+            
+<p>In addition each step can be described as required or optional. By default a step is assumed
+            be required. To set it to optional add a <span class="codefrag">required="false"</span> attribute to the
+            <span class="codefrag">step</span> element.</p>
+          
+</td><td>A user will be able to follow instructions on how to carry out the step.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>6. Describe the expected results</td><td>
+            
+<p>Provide, within a <span class="codefrag">result</span> a brief description of the expected results from
+            this step. This should summarise what state the application will be in once this use case
+            has been performed.</p>
+          
+</td><td>You will have provided enough information to allow developers to test the functionality and
+          users to identify when a step has been succesfully completed.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>7. Add "fixme" notes<br>(Optional)</td><td>
+            
+<p>A fixme note is enclosed within a <span class="codefrag">fixme</span> element. It describes something that
+            remains to be done within this step. Each fixme has a priority attribute which can take one of
+            of the followin values:</p>
+
+            
+<ul>
+              
+<li>Enhancement - a nice to have ehancment that may or may not be implemented.</li>
+              
+<li>Low - this is considered an important addition to the use case, but everything works without it.</li>
+              
+<li>High - this is an important addition. Everything works without it, but having this implmeneted would
+              improve the application considerably.</li>
+              
+<li>Major - this is nor preventing work that utilises the use case, but it is considered a requirement
+              for the next release since it adds key functionlaity.</li>
+              
+<li>Blocker - this is preventing the correct operation of this use case and must be implmeneted ASAP</li>
+            
+</ul>
+
+            
+<p>Although this step is optional, it is good practice to allways add a 
+            <span class="codefrag">&lt;fixme priority="blocker"&gt;Not yet implemented&lt;/fixme&gt;</span>
+            element to all new steps. This is becuase these nodes will be used to build a 
+            functionality matrix later on.</p>
+          
+</td><td>Users will be able to understand to what degree a step is implemented and developers will be able to 
+          see what remains to be done.</td><td>
+           Implemented with fixmes:-<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>8. Add alternatives<br>(Optional)</td><td>
+            
+<p>Sometimes there will be alternative paths through each step. These can be described in an
+            <span class="codefrag">alternatives</span> element that allows free-form XDoc content. However, please be
+            careful, if an alternative is more than a simple variation you may want to consider a 
+            whole new use case for the alternative.</p>
+          
+</td><td>Minor variations in the path through a use case will be documented for your users.</td><td>Implemented</td>
+</tr>
+        
+        
+<tr>
+<td>9. Write Implementation Notes<br>(Optional)</td><td>
+            
+<p>Developer implementation notes for each of the steps should be added either when writing the
+            initial use case or later during the development phases of the use case. These notes are for technical readers
+            and are intended to help those who come after the initial author to get a starting point when inspecting how
+            a feature is implemented. It is not intended that these notes will contain full implementation details, only an
+            overview should be provided.</p>
+          
+</td><td>A technical reader will be able to gain a baisc understanding of how each step is implemented in the 
+          application.</td><td>Implemented</td>
+</tr>          
+    
+</table>
+<a name="N1013A"></a><a name="Implementation+Notes"></a>
+<h4>Implementation Notes</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Notes</th>
+</tr>
+      
+<tr>
+<td>1. Create/open a Use Case file</td><td>
+<br>
+<div class="fixme">
+<div class="label">Fixme (High)</div>
+<div class="content">Aggregate all documents in the useCases directory to provide
+        ne large document describing all use cases.</div>
+</div>
+</td>
+</tr>
+
+      
+<tr>
+<td>2. Create a new use case</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>3. Describe the overall objective of the use case</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>4. Define each step in the Use Case</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>5. Descripbe the step</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>6. Describe the expected results</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>7. Add "fixme" notes</td><td>
+<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>8. Add alternatives</td><td>
+<br>
+</td>
+</tr>
+        
+        
+<tr>
+<td>9. Write Implementation Notes</td><td>
+<br>
+</td>
+</tr>          
+    
+</table>
+<a name="N1017F"></a><a name="Generate+Use+Case+Documentation+for+Developers"></a>
+<h3 class="underlined_5">Generate Use Case Documentation for Developers</h3>
+<p>Generate a complete list of all use cases for a project in a format useful to 
+      developers of the application. This list is to include:</p>
+<ul>
+        
+<li>a description of the use case</li>
+        
+<li>a summary of each of the steps involved</li>
+        
+<li>full details of each of the steps</li>
+        
+<li>a description of the expected outcome of each step</li>
+        
+<li>details of common alternatives in each step</li>
+        
+<li>implementation notes for each step</li> 
+      
+</ul>
+<a name="N1019D"></a><a name="Justification-N1019D"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Unfortunately this use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</div>
+</div>
+<a name="N101AA"></a><a name="Summary-N101AA"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N101B5"></a><a name="Details-N101B5"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/developer/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that describes the use cases
+          </p>
+        
+</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+</td>
+</tr>
+    
+</table>
+<a name="N101D7"></a><a name="Implementation+Notes-N101D7"></a>
+<h4>Implementation Notes</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Notes</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+            
+<p>The source document for use cases is, by default, called <span class="codefrag">useCases.xml</span> and is
+            located in the root of the projects xdocs directory.</p>
+
+            
+<p>The URL space <span class="codefrag">docs/**/useCases.xml</span> is reserved for the projectInfo plugin. A request to
+            /docs/developer/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing. See the input.xmap file fo this plugin,</p>
+          
+<br>
+<div class="fixme">
+<div class="label">Fixme (High)</div>
+<div class="content">Make the summary optional - already added 
+        $includeImplementationNotes parameter to stylesheet. Need to pass value form sitemap.</div>
+</div>
+</td>
+</tr>
+    
+</table>
+<a name="N101F9"></a><a name="Generate+Use+Case+Documentation+for+Users"></a>
+<h3 class="underlined_5">Generate Use Case Documentation for Users</h3>
+<p>Generate a complete list of all use cases for a project. This list is to include:</p>
+<ul>
+        
+<li>a description of the use case</li>
+        
+<li>a summary of each of the steps involved</li>
+        
+<li>full details of each of the steps</li>
+        
+<li>a description of the expected outcome of each step</li>
+        
+<li>details of common alternatives in each step</li>
+      
+</ul>
+<a name="N10214"></a><a name="Justification-N10214"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Unfortunately the use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</div>
+</div>
+<a name="N10221"></a><a name="Summary-N10221"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N1022C"></a><a name="Details-N1022C"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/user/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that describes the use cases
+          </p>
+        
+</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+         Low: 1<br>
+</td>
+</tr>
+    
+</table>
+<a name="N10250"></a><a name="Implementation+Notes-N10250"></a>
+<h4>Implementation Notes</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Notes</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+            
+<p>The source document for use cases is, by default, called <span class="codefrag">useCases.xml</span> and is
+            located in the root of the projects xdocs directory.</p>
+
+            
+<p>The URL space <span class="codefrag">docs/**/useCases.xml</span> is reserved for the projectInfo plugin. A request to
+            /docs/user/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing, see input.xmap for more details.</p>
+          
+<br>
+<div class="fixme">
+<div class="label">Fixme (High)</div>
+<div class="content">Enable the retrieval of a specific use case rather than all at once.</div>
+</div>
+<div class="fixme">
+<div class="label">Fixme (Low)</div>
+<div class="content">Make the summary optional - there is a switch in the XSL for this, just need to pass a property
+        from the XMAP</div>
+</div>
+</td>
+</tr>
+    
+</table>
+<a name="N10275"></a><a name="Generate+a+Functionality+Matrix"></a>
+<h3 class="underlined_5">Generate a Functionality Matrix</h3>
+<p>If a use case document is correcly marked up with <span class="codefrag">fixme</span> elements it is possible
+      to create a functionality matrix for each use case. This will show how complete the implementation
+      of a use case is.</p>
+<p>A table can be created which shows each of the steps in a use case, each step can be given a
+      count for the bumber of fixme items outstanding on each of the steps. Furthermore, since each
+      <span class="codefrag">fixme</span> is given a priority we can clearly indicate which use cases are operational an 
+      hich are not.</p>
+<a name="N10287"></a><a name="Summary-N10287"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N10292"></a><a name="Details-N10292"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/developer/featureMatrix/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that lists the steps in each use case and identifies the status
+            of each use case.
+          </p>
+        
+</td><td>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Not Implemented</div>
+</div>
+         Blockers: 1<br>
+</td>
+</tr>
+    
+</table>
+<a name="N102B4"></a><a name="Implementation+Notes-N102B4"></a>
+<h4>Implementation Notes</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Notes</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+            
+<p>The source document for use cases is, by default, called <span class="codefrag">useCases.xml</span> and is
+            located in the root of the projects xdocs directory.</p>
+
+            
+<p>The URL space <span class="codefrag">docs/**/useCases.xml</span> is reserved for the projectInfo plugin. A request to
+            /docs/developer/featureMatrix/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing. See the input.xmap file fo this plugin,</p>
+          
+<br>
+<div class="fixme">
+<div class="label">Fixme (Blocker)</div>
+<div class="content">Not Implemented Yet - although the user and dev use case documents
+        do show the status of each step in the details table and implementation notes.</div>
+</div>
+</td>
+</tr>
+    
+</table>
+</div>
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2004-2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.source.xml
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.source.xml?rev=425340&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.source.xml (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.source.xml Tue Jul 25 02:07:44 2006
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+--><useCases>
+  <title>Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</title>
+
+  <useCase>
+    <title>Write Use Case Documentation</title>
+    <description>
+      <p>Write semi-structured use case documents so that they can be reused in a variety of ways.
+      This use case describews a process for writing such documents. This document is derived from
+      such a <a href="useCaseFeatures.source.xml">source document</a>.</p>
+
+      <section>
+        <title>Justification</title>
+
+        <p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project. It is very useful for describing what an applicaiton must
+        do and what patchs through the system can be taken.</p>
+
+        <p>By bringing this information together in a semi-structured document we can use it in many
+        different ways. For example:</p>
+
+        <ul>
+          <li>Requirements Documentation</li>
+          <li>Developer Documentation</li>
+          <li>User Documentaiton</li>
+          <li>Functionality Matrices</li>
+          <li>Task Lists</li>
+        </ul>
+      </section>
+      
+    </description>
+
+    <steps>
+      <step>
+        <title>Create/open a Use Case file</title>
+        <description>In your favourite XML editor either create a new file
+        or open an existing use case file. The default location of these files
+        within a Forrest content object is <code>/content/documentation/useCases/**.xml</code>
+        </description>
+        <result>You have either a blank use case document or an existing one ready for editing.</result>
+
+        <fixme priority="Medium">Create a DTD for use case descriptions.</fixme>
+        <fixme priority="High">Aggregate all documents in the useCases directory to provide
+        ne large document describing all use cases.</fixme>
+      </step>
+
+      <step>
+        <title>Create a new use case</title>
+        <description>
+          <p>A use case is enclosed within a <code>useCase</code> element.
+          Each use case should be given a brief <code>title</code> to describe it.</p>
+
+        </description>
+
+        <result>You have the container for your new use case.</result>
+      </step>
+
+        <step>
+          <title>Describe the overall objective of the use case</title>
+          <description>
+            <p>Each use case should be described in terms of:</p>
+            <ul>
+              <li>The objective</li>
+              <li>The expected results</li>
+              <li>The justification</li>
+            </ul>
+            <p>This information should be placed in the <code>description</code> element
+          of your use case. This node allows any XDoc markup and therefore you are
+          reasonably free to use whatever formatting or images are needed to convey the
+          important details most efficiently.</p>
+          </description>
+
+          <result>You have a use case that is described sufficiently well for an average user of the end system
+        to understand its purpose.</result>
+        </step>
+
+        <step>
+          <title>Define each step in the Use Case</title>
+          <description>
+            <p>Each use case will be subdivided into one or more steps that must be carried out
+          in order to complete the task. Each of these steps is defined within a <code>step</code>
+          element which are chilren of a <code>steps</code> element.</p>
+          </description>
+        </step>
+
+        <step>
+          <title>Descripbe the step</title>
+          <description>
+            <p>Each step has a title and a description. The description should provide enough information
+            for a user to complete the task and for a developer to implement support for the user in that
+            task.</p>
+
+            <p>In addition each step can be described as required or optional. By default a step is assumed
+            be required. To set it to optional add a <code>required="false"</code> attribute to the
+            <code>step</code> element.</p>
+          </description>
+
+          <result>A user will be able to follow instructions on how to carry out the step.</result>
+        </step>
+
+        <step>
+          <title>Describe the expected results</title>
+          <description>
+            <p>Provide, within a <code>result</code> a brief description of the expected results from
+            this step. This should summarise what state the application will be in once this use case
+            has been performed.</p>
+          </description>
+          <result>You will have provided enough information to allow developers to test the functionality and
+          users to identify when a step has been succesfully completed.</result>
+        </step>
+
+        <step required="false">
+          <title>Add "fixme" notes</title>
+          <description>
+            <p>A fixme note is enclosed within a <code>fixme</code> element. It describes something that
+            remains to be done within this step. Each fixme has a priority attribute which can take one of
+            of the followin values:</p>
+
+            <ul>
+              <li>Enhancement - a nice to have ehancment that may or may not be implemented.</li>
+              <li>Low - this is considered an important addition to the use case, but everything works without it.</li>
+              <li>High - this is an important addition. Everything works without it, but having this implmeneted would
+              improve the application considerably.</li>
+              <li>Major - this is nor preventing work that utilises the use case, but it is considered a requirement
+              for the next release since it adds key functionlaity.</li>
+              <li>Blocker - this is preventing the correct operation of this use case and must be implmeneted ASAP</li>
+            </ul>
+
+            <p>Although this step is optional, it is good practice to allways add a 
+            <code>&lt;fixme priority="blocker"&gt;Not yet implemented&lt;/fixme&gt;</code>
+            element to all new steps. This is becuase these nodes will be used to build a 
+            functionality matrix later on.</p>
+          </description>
+
+          <result>Users will be able to understand to what degree a step is implemented and developers will be able to 
+          see what remains to be done.</result>
+          
+          <fixme priority="enhancement">All fixmes to link to an issue tracker entry</fixme>
+        </step>
+
+        <step required="false">
+          <title>Add alternatives</title>
+          <description>
+            <p>Sometimes there will be alternative paths through each step. These can be described in an
+            <code>alternatives</code> element that allows free-form XDoc content. However, please be
+            careful, if an alternative is more than a simple variation you may want to consider a 
+            whole new use case for the alternative.</p>
+          </description>
+
+          <result>Minor variations in the path through a use case will be documented for your users.</result>
+        </step>
+        
+        <step required="false">
+          <title>Write Implementation Notes</title>
+          <description>
+            <p>Developer implementation notes for each of the steps should be added either when writing the
+            initial use case or later during the development phases of the use case. These notes are for technical readers
+            and are intended to help those who come after the initial author to get a starting point when inspecting how
+            a feature is implemented. It is not intended that these notes will contain full implementation details, only an
+            overview should be provided.</p>
+          </description>
+          
+          <result>A technical reader will be able to gain a baisc understanding of how each step is implemented in the 
+          application.</result>
+        </step>          
+    </steps>
+  </useCase>
+
+  <useCase status="In Progress" owner="open">
+    <title>Generate Use Case Documentation for Developers</title>
+
+    <description>
+      <p>Generate a complete list of all use cases for a project in a format useful to 
+      developers of the application. This list is to include:</p>
+
+      <ul>
+        <li>a description of the use case</li>
+        <li>a summary of each of the steps involved</li>
+        <li>full details of each of the steps</li>
+        <li>a description of the expected outcome of each step</li>
+        <li>details of common alternatives in each step</li>
+        <li>implementation notes for each step</li> 
+      </ul>
+
+      <section>
+        <title>Justification</title>
+        <p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+
+        <warning>Unfortunately this use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</warning>
+      </section>
+    </description>
+
+    <steps>
+      <step>
+        <title>Make HTTP request</title>
+        <description>
+          <p>
+            Request
+            http://localhost:8888/docs/developer/useCases.xml
+          </p>
+        </description>
+        <result>
+          <p>
+            An XDoc is created that describes the use cases
+          </p>
+        </result>
+
+        <fixme priority="High">Make the summary optional - already added 
+        $includeImplementationNotes parameter to stylesheet. Need to pass value form sitemap.</fixme>
+        
+        <alternatives>
+          <p>Depending on what plugins are available within your running instance of Forrest you will
+          be able to request different output formats as per the usual Forrest usage. For example requesting
+          a http://localhost:8888/docs/developer/useCases.html will generate the HTML document, whilst
+          http://localhost:8888/docs/developer/useCases.pdf will generate the PDF document (as long
+          as you have the relevant plugins installed).</p>
+        </alternatives>
+
+        <implementation>
+          <description>
+            <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+            located in the root of the projects xdocs directory.</p>
+
+            <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+            /docs/developer/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing. See the input.xmap file fo this plugin,</p>
+          </description>
+        </implementation>
+      </step>
+    </steps>
+  </useCase>
+  
+  <useCase status="In Progress" owner="open">
+    <title>Generate Use Case Documentation for Users</title>
+
+    <description>
+      <p>Generate a complete list of all use cases for a project. This list is to include:</p>
+
+      <ul>
+        <li>a description of the use case</li>
+        <li>a summary of each of the steps involved</li>
+        <li>full details of each of the steps</li>
+        <li>a description of the expected outcome of each step</li>
+        <li>details of common alternatives in each step</li>
+      </ul>
+
+      <section>
+        <title>Justification</title>
+        <p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+
+        <warning>Unfortunately the use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</warning>
+      </section>
+    </description>
+
+    <steps>
+      <step>
+        <title>Make HTTP request</title>
+        <description>
+          <p>
+            Request
+            http://localhost:8888/docs/user/useCases.xml
+          </p>
+        </description>
+        <result>
+          <p>
+            An XDoc is created that describes the use cases
+          </p>
+        </result>
+
+        <fixme priority="High">Enable the retrieval of a specific use case rather than all at once.</fixme>
+        <fixme priority="Low">Make the summary optional - there is a switch in the XSL for this, just need to pass a property
+        from the XMAP</fixme>
+        
+        <alternatives>
+          <p>Depending on what plugins are available within your running instance of Forrest you will
+          be able to request different output formats as per the usual Forrest usage. For example requesting
+          a http://localhost:8888/docs/user/useCases.html will generate the HTML document, whilst
+          http://localhost:8888/docs/user/useCases.pdf will generate the PDF document (as long
+          as you have the relevant plugins installed).</p>
+        </alternatives>
+
+        <implementation>
+          <description>
+            <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+            located in the root of the projects xdocs directory.</p>
+
+            <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+            /docs/user/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing, see input.xmap for more details.</p>
+          </description>
+        </implementation>
+      </step>
+    </steps>
+  </useCase>
+  
+  <useCase status="In Progress">
+    <title>Generate a Functionality Matrix</title>
+    <description>
+      <p>If a use case document is correcly marked up with <code>fixme</code> elements it is possible
+      to create a functionality matrix for each use case. This will show how complete the implementation
+      of a use case is.</p>
+      
+      <p>A table can be created which shows each of the steps in a use case, each step can be given a
+      count for the bumber of fixme items outstanding on each of the steps. Furthermore, since each
+      <code>fixme</code> is given a priority we can clearly indicate which use cases are operational an 
+      hich are not.</p>
+    </description>
+    
+    <steps>
+      <step>
+        <title>Make HTTP request</title>
+        <description>
+          <p>
+            Request
+            http://localhost:8888/docs/developer/featureMatrix/useCases.xml
+          </p>
+        </description>
+        <result>
+          <p>
+            An XDoc is created that lists the steps in each use case and identifies the status
+            of each use case.
+          </p>
+        </result>
+
+        <fixme priority="Blocker">Not Implemented Yet - although the user and dev use case documents
+        do show the status of each step in the details table and implementation notes.</fixme>
+        
+        <alternatives>
+          <p>Depending on what plugins are available within your running instance of Forrest you will
+          be able to request different output formats as per the usual Forrest usage. For example requesting
+          a http://localhost:8888/docs/developer/featureMatrix/useCases.html will generate the HTML document, whilst
+          http://localhost:8888/docs/developer/featureMatrix/useCases.pdf will generate the PDF document (as long
+          as you have the relevant plugins installed).</p>
+        </alternatives>
+
+        <implementation>
+          <description>
+            <p>The source document for use cases is, by default, called <code>useCases.xml</code> and is
+            located in the root of the projects xdocs directory.</p>
+
+            <p>The URL space <code>docs/**/useCases.xml</code> is reserved for the projectInfo plugin. A request to
+            /docs/developer/featureMatrix/useCases.xml results in the useCases.xml file being translated into an XDoc as per
+            the usual forrest processing. See the input.xmap file fo this plugin,</p>
+          </description>
+        </implementation>
+      </step>
+    </steps>
+  </useCase>
+</useCases>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/developer/useCases/useCaseFeatures.source.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/user/useCases/all.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/user/useCases/all.html?rev=425340&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/user/useCases/all.html (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/user/useCases/all.html Tue Jul 25 02:07:44 2006
@@ -0,0 +1,923 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Use Cases</title>
+<link type="text/css" href="../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../skin/profile.css" rel="stylesheet">
+<script src="../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://forrest.apache.org/">Apache Forrest</a> &gt; <a href="http://forrest.apache.org/pluginDocs/">Plugins</a><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Apache Forrest" src="../../../images/project-logo.gif" title="Apache Forrest"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href=""><img class="logoImage" alt="Plugin: projectInfo input" src="../../../images/project.png" title="org.apache.forrest.plugin.input.projectInfo plugin for Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="http://forrest.apache.org/pluginDocs">Forrest Plugins</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../../index.html">Home</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../../../skin/')" id="menu_1.1Title" class="menutitle">About</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../index.html" title="Welcome to org.apache.forrest.plugin.input.projectInfo">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../../skin/')" id="menu_1.1.2Title" class="menutitle">Release Notes</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../releaseNotes_0.1.html">Version 0.1</a>
+</div>
+<div class="menuitem">
+<a href="../../../releaseNotes_0.2-dev.html">Version 0.2-dev</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../changes.html" title="History of Changes">Changes</a>
+</div>
+<div class="menuitem">
+<a href="../../../todo.html" title="Todo List">Todo</a>
+</div>
+<div class="menuitem">
+<a href="http://forrest.apache.org/docs/plugins" title="Index of Forrest Plugins">Plugins Index</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.2', '../../../skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
+<div onclick="SwitchMenu('menu_selected_1.2.1', '../../../skin/')" id="menu_selected_1.2.1Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">User</div>
+<div id="menu_selected_1.2.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../docs/user/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/user/useCases/useCaseFeatures.html">Use Cases</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">All Cases</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2.2', '../../../skin/')" id="menu_1.2.2Title" class="menutitle">Developer</div>
+<div id="menu_1.2.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/developer/useCases/changeLogFeatures.html">Change Log</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/developer/useCases/useCaseFeatures.html">Use Cases</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/developer/useCases/all.html">All Cases</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', '../../../skin/')" id="menu_1.3Title" class="menutitle">Projects</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1', '../../../skin/')" id="menu_1.3.1Title" class="menutitle">Navigation Indexes</div>
+<div id="menu_1.3.1" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.3.1.1', '../../../skin/')" id="menu_1.3.1.1Title" class="menutitle">All</div>
+<div id="menu_1.3.1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.html" title="Project details for projectInfo">projectInfo</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.1.2', '../../../skin/')" id="menu_1.3.1.2Title" class="menutitle">Java</div>
+<div id="menu_1.3.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/projectDetails.forrest.html" title="Project details for Apache Forrest">Apache Forrest</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.1.3', '../../../skin/')" id="menu_1.3.1.3Title" class="menutitle">Language Indexes</div>
+<div id="menu_1.3.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/Java_lang.html" title="All projects using Java">Java</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/XML_lang.html" title="All projects using XML">XML</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/XSLT_lang.html" title="All projects using XSLT">XSLT</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3.2', '../../../skin/')" id="menu_1.3.2Title" class="menutitle">Page Indexes</div>
+<div id="menu_1.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../projectDetails/lang-index.html" title="A list of all projects, indexed by language">Index by Language</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/Java_lang.html" title="A list of Jave projects">Java Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../projectDetails/category-index.html" title="A list of all projects, indexed by language">Index by Category</a>
+</div>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2"></div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div class="trail">Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Use Cases</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Uses+Cases+for+Change+Log+management+features+of+org.apache.forrest.plugin.input.projectInfo">Uses Cases for Change Log management features of org.apache.forrest.plugin.input.projectInfo</a>
+<ul class="minitoc">
+<li>
+<a href="#Write+status.xml+File">Write status.xml File</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification">Justification</a>
+</li>
+<li>
+<a href="#Summary">Summary</a>
+</li>
+<li>
+<a href="#Details">Details</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Uses+Cases+for+the+Use+Case+management+features+of+org.apache.forrest.plugin.input.projectInfo">Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</a>
+<ul class="minitoc">
+<li>
+<a href="#Write+Use+Case+Documentation">Write Use Case Documentation</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification-N10116">Justification</a>
+</li>
+<li>
+<a href="#Summary-N10135">Summary</a>
+</li>
+<li>
+<a href="#Details-N10163">Details</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+Use+Case+Documentation+for+Developers">Generate Use Case Documentation for Developers</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification-N10257">Justification</a>
+</li>
+<li>
+<a href="#Summary-N10264">Summary</a>
+</li>
+<li>
+<a href="#Details-N1026F">Details</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+Use+Case+Documentation+for+Users">Generate Use Case Documentation for Users</a>
+<ul class="minitoc">
+<li>
+<a href="#Justification-N102AD">Justification</a>
+</li>
+<li>
+<a href="#Summary-N102BA">Summary</a>
+</li>
+<li>
+<a href="#Details-N102C5">Details</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Generate+a+Functionality+Matrix">Generate a Functionality Matrix</a>
+<ul class="minitoc">
+<li>
+<a href="#Summary-N102FC">Summary</a>
+</li>
+<li>
+<a href="#Details-N10307">Details</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<a name="N10007"></a><a name="Uses+Cases+for+Change+Log+management+features+of+org.apache.forrest.plugin.input.projectInfo"></a>
+<h2 class="underlined_10">Uses Cases for Change Log management features of org.apache.forrest.plugin.input.projectInfo</h2>
+<div class="section">
+<a name="N1000B"></a><a name="Write+status.xml+File"></a>
+<h3 class="underlined_5">Write status.xml File</h3>
+<p>Status.xml if an XML file that records the actions that have been taken in each release
+      of a project. You can then generate a Change Log from that file using the projectInfo
+      plugin.</p>
+<a name="N10014"></a><a name="Justification"></a>
+<h4>Justification</h4>
+<p>Provide a central location and a semi-structured format for recording
+        actions taken during project development. This file can then be used to 
+        generate various views on the changes in a release. For example:</p>
+<ul>
+          
+<li>Changes between releases</li>
+          
+<li>Developers involved in a release</li>
+          
+<li>Release notes</li>
+        
+</ul>
+<a name="N1002A"></a><a name="Summary"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Create/open a status.xml file</strong>
+</li>
+      
+      
+<li>
+<strong>Create a developer list</strong>
+</li>
+
+      
+      
+<li>
+<strong>Create a contexts list</strong>
+</li>
+      
+      
+<li>
+<strong>Create a changes element</strong>
+</li>
+      
+      
+<li>
+<strong>Create a release element</strong>
+</li>
+
+        
+<li>
+<strong>Create a notes element</strong>
+</li>
+
+        
+<li>
+<strong>Add actions taken during the development cycle</strong>
+</li>
+
+        
+<li>
+<strong>Generate the change log</strong>
+</li>
+    
+</ol>
+<a name="N10051"></a><a name="Details"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Create/open a status.xml file</td><td>
+          
+<p>In your favourite XML editor either create a new file
+          or open an existing status.xml file. The default location of these files
+          within a Forrest content object is in the project root. This file should
+          conform to one of the status.xml schemas. The root element for this
+          document is <span class="codefrag">status</span>.</p>
+        
+</td><td>You have either a blank status.xml document or an existing one ready for editing.</td><td>Implemented</td>
+</tr>
+      
+      
+<tr>
+<td>2. Create a developer list</td><td>
+          
+<p>In order to attribute changes to a specific developer it is neceessary to create
+          a <span class="codefrag">developers</span> element. Within this element you should add a single
+          <span class="codefrag">person</span> element for each develop who works on the project.</p>
+        
+</td><td>Each developer is identified in the status.xml file.</td><td>Implemented</td>
+</tr>
+
+      
+      
+<tr>
+<td>3. Create a contexts list</td><td>
+          
+<p>Each action within a release is given a context to help classify changes.
+          When reports are created the context of an action is used to create a more
+          readable report in which similar actions are grouped together. You can
+          specify any contexts you like within the <span class="codefrag">contexts</span> element.</p>
+          
+<p>Common contexts used in an software development project are:</p>
+          
+<pre class="code">
+&lt;contexts&gt;
+ &lt;context id="code" title="Changes to the Code Base"/&gt;
+ &lt;context id="docs" title="Changes to Documentation"/&gt;
+ &lt;context id="admin" title="Changes to Project Administration"/&gt;
+ &lt;context id="design" title="Changes to Design"/&gt;
+ &lt;context id="build" title="Changes to Build"/&gt;
+&lt;/contexts&gt; 
+          </pre>
+        
+</td><td>The status.xml file describes the sufficient contexts to group common
+        actions together.</td><td>Implemented</td>
+</tr>
+      
+      
+<tr>
+<td>4. Create a changes element</td><td>
+          
+<p>Actions that describe the changed in a release are placed within
+          a <span class="codefrag">changes</span>.</p>
+        
+</td><td>Status.xml holds an changes element that will group all release 
+        information.</td><td>Implemented</td>
+</tr>
+      
+      
+<tr>
+<td>5. Create a release element</td><td>
+          
+<p>The details of each release are enclosed within a <span class="codefrag">release</span> element,
+          so you need to create that now.</p>
+        
+</td><td>You have the container for your current development release.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>6. Create a notes element</td><td>
+            
+<p>Each release can have a <span class="codefrag">notes</span> section. This is used
+            to provide descriptive text at the start of many reports. The notes
+            should describe the release in fairly high level detail, it should
+            not describe any change descriptions, these will be added in the 
+            next step.</p>
+          
+</td><td>You have a user focussed description of the project and this release.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>7. Add actions taken during the development cycle</td><td>
+            
+<p>During the development cycle for the release <span class="codefrag">action</span> elements
+            should be added for each significant contribution to the release.</p>
+            
+            
+<p>If the change is of particular significance and you woul dlike it to appear
+            in the release notes generated by the projectInfo plugin you should set the
+            <span class="codefrag">importance</span> attribute to <span class="codefrag">"high"</span>.</p>
+          
+</td><td>Each significant change in this development cycle is describe in a 
+          <span class="codefrag">action</span> element.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>8. Generate the change log</td><td>
+            
+<p>To generate a changelog from your status.xml file you need to request
+            <span class="codefrag">/changes.html</span> or <span class="codefrag">changes.pdf</span> or whatever format
+            you have enabled within Forrest using output plugins.</p>
+            
+            
+<p>Note that the projectInfo plugin provides a special RSS output format
+            of. Technically, this should not be part of an input plugin and therefore
+            it may be moved at a later date. However, you will always be able to 
+            generate the RSS feed by requesting <span class="codefrag">changes.rss</span>.</p>
+            
+            
+<p>You can generate a change log for a specific version by specifying a 
+            version number in the request, for example, <span class="codefrag">changes_0.1.html</span>.</p>
+          
+</td><td>Your project is able to generate a changelog.</td><td>Implemented</td>
+</tr>
+    
+</table>
+</div>
+<a name="N10105"></a><a name="Uses+Cases+for+the+Use+Case+management+features+of+org.apache.forrest.plugin.input.projectInfo"></a>
+<h2 class="underlined_10">Uses Cases for the Use Case management features of org.apache.forrest.plugin.input.projectInfo</h2>
+<div class="section">
+<a name="N10109"></a><a name="Write+Use+Case+Documentation"></a>
+<h3 class="underlined_5">Write Use Case Documentation</h3>
+<p>Write semi-structured use case documents so that they can be reused in a variety of ways.
+      This use case describews a process for writing such documents. This document is derived from
+      such a <a href="useCaseFeatures.source.xml">source document</a>.</p>
+<a name="N10116"></a><a name="Justification-N10116"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project. It is very useful for describing what an applicaiton must
+        do and what patchs through the system can be taken.</p>
+<p>By bringing this information together in a semi-structured document we can use it in many
+        different ways. For example:</p>
+<ul>
+          
+<li>Requirements Documentation</li>
+          
+<li>Developer Documentation</li>
+          
+<li>User Documentaiton</li>
+          
+<li>Functionality Matrices</li>
+          
+<li>Task Lists</li>
+        
+</ul>
+<a name="N10135"></a><a name="Summary-N10135"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Create/open a Use Case file</strong>
+</li>
+
+      
+<li>
+<strong>Create a new use case</strong>
+</li>
+
+        
+<li>
+<strong>Describe the overall objective of the use case</strong>
+</li>
+
+        
+<li>
+<strong>Define each step in the Use Case</strong>
+</li>
+
+        
+<li>
+<strong>Descripbe the step</strong>
+</li>
+
+        
+<li>
+<strong>Describe the expected results</strong>
+</li>
+
+        
+<li>
+<strong>Add "fixme" notes</strong> (Optional)</li>
+
+        
+<li>
+<strong>Add alternatives</strong> (Optional)</li>
+        
+        
+<li>
+<strong>Write Implementation Notes</strong> (Optional)</li>          
+    
+</ol>
+<a name="N10163"></a><a name="Details-N10163"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Create/open a Use Case file</td><td>In your favourite XML editor either create a new file
+        or open an existing use case file. The default location of these files
+        within a Forrest content object is <span class="codefrag">/content/documentation/useCases/**.xml</span>
+        </td><td>You have either a blank use case document or an existing one ready for editing.</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+</td>
+</tr>
+
+      
+<tr>
+<td>2. Create a new use case</td><td>
+          
+<p>A use case is enclosed within a <span class="codefrag">useCase</span> element.
+          Each use case should be given a brief <span class="codefrag">title</span> to describe it.</p>
+
+        
+</td><td>You have the container for your new use case.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>3. Describe the overall objective of the use case</td><td>
+            
+<p>Each use case should be described in terms of:</p>
+            
+<ul>
+              
+<li>The objective</li>
+              
+<li>The expected results</li>
+              
+<li>The justification</li>
+            
+</ul>
+            
+<p>This information should be placed in the <span class="codefrag">description</span> element
+          of your use case. This node allows any XDoc markup and therefore you are
+          reasonably free to use whatever formatting or images are needed to convey the
+          important details most efficiently.</p>
+          
+</td><td>You have a use case that is described sufficiently well for an average user of the end system
+        to understand its purpose.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>4. Define each step in the Use Case</td><td>
+            
+<p>Each use case will be subdivided into one or more steps that must be carried out
+          in order to complete the task. Each of these steps is defined within a <span class="codefrag">step</span>
+          element which are chilren of a <span class="codefrag">steps</span> element.</p>
+          
+</td><td></td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>5. Descripbe the step</td><td>
+            
+<p>Each step has a title and a description. The description should provide enough information
+            for a user to complete the task and for a developer to implement support for the user in that
+            task.</p>
+
+            
+<p>In addition each step can be described as required or optional. By default a step is assumed
+            be required. To set it to optional add a <span class="codefrag">required="false"</span> attribute to the
+            <span class="codefrag">step</span> element.</p>
+          
+</td><td>A user will be able to follow instructions on how to carry out the step.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>6. Describe the expected results</td><td>
+            
+<p>Provide, within a <span class="codefrag">result</span> a brief description of the expected results from
+            this step. This should summarise what state the application will be in once this use case
+            has been performed.</p>
+          
+</td><td>You will have provided enough information to allow developers to test the functionality and
+          users to identify when a step has been succesfully completed.</td><td>Implemented</td>
+</tr>
+
+        
+<tr>
+<td>7. Add "fixme" notes<br>(Optional)</td><td>
+            
+<p>A fixme note is enclosed within a <span class="codefrag">fixme</span> element. It describes something that
+            remains to be done within this step. Each fixme has a priority attribute which can take one of
+            of the followin values:</p>
+
+            
+<ul>
+              
+<li>Enhancement - a nice to have ehancment that may or may not be implemented.</li>
+              
+<li>Low - this is considered an important addition to the use case, but everything works without it.</li>
+              
+<li>High - this is an important addition. Everything works without it, but having this implmeneted would
+              improve the application considerably.</li>
+              
+<li>Major - this is nor preventing work that utilises the use case, but it is considered a requirement
+              for the next release since it adds key functionlaity.</li>
+              
+<li>Blocker - this is preventing the correct operation of this use case and must be implmeneted ASAP</li>
+            
+</ul>
+
+            
+<p>Although this step is optional, it is good practice to allways add a 
+            <span class="codefrag">&lt;fixme priority="blocker"&gt;Not yet implemented&lt;/fixme&gt;</span>
+            element to all new steps. This is becuase these nodes will be used to build a 
+            functionality matrix later on.</p>
+          
+</td><td>Users will be able to understand to what degree a step is implemented and developers will be able to 
+          see what remains to be done.</td><td>
+           Implemented with fixmes:-<br>
+</td>
+</tr>
+
+        
+<tr>
+<td>8. Add alternatives<br>(Optional)</td><td>
+            
+<p>Sometimes there will be alternative paths through each step. These can be described in an
+            <span class="codefrag">alternatives</span> element that allows free-form XDoc content. However, please be
+            careful, if an alternative is more than a simple variation you may want to consider a 
+            whole new use case for the alternative.</p>
+          
+</td><td>Minor variations in the path through a use case will be documented for your users.</td><td>Implemented</td>
+</tr>
+        
+        
+<tr>
+<td>9. Write Implementation Notes<br>(Optional)</td><td>
+            
+<p>Developer implementation notes for each of the steps should be added either when writing the
+            initial use case or later during the development phases of the use case. These notes are for technical readers
+            and are intended to help those who come after the initial author to get a starting point when inspecting how
+            a feature is implemented. It is not intended that these notes will contain full implementation details, only an
+            overview should be provided.</p>
+          
+</td><td>A technical reader will be able to gain a baisc understanding of how each step is implemented in the 
+          application.</td><td>Implemented</td>
+</tr>          
+    
+</table>
+<a name="N10239"></a><a name="Generate+Use+Case+Documentation+for+Developers"></a>
+<h3 class="underlined_5">Generate Use Case Documentation for Developers</h3>
+<p>Generate a complete list of all use cases for a project in a format useful to 
+      developers of the application. This list is to include:</p>
+<ul>
+        
+<li>a description of the use case</li>
+        
+<li>a summary of each of the steps involved</li>
+        
+<li>full details of each of the steps</li>
+        
+<li>a description of the expected outcome of each step</li>
+        
+<li>details of common alternatives in each step</li>
+        
+<li>implementation notes for each step</li> 
+      
+</ul>
+<a name="N10257"></a><a name="Justification-N10257"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Unfortunately this use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</div>
+</div>
+<a name="N10264"></a><a name="Summary-N10264"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N1026F"></a><a name="Details-N1026F"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/developer/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that describes the use cases
+          </p>
+        
+</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+</td>
+</tr>
+    
+</table>
+<a name="N10292"></a><a name="Generate+Use+Case+Documentation+for+Users"></a>
+<h3 class="underlined_5">Generate Use Case Documentation for Users</h3>
+<p>Generate a complete list of all use cases for a project. This list is to include:</p>
+<ul>
+        
+<li>a description of the use case</li>
+        
+<li>a summary of each of the steps involved</li>
+        
+<li>full details of each of the steps</li>
+        
+<li>a description of the expected outcome of each step</li>
+        
+<li>details of common alternatives in each step</li>
+      
+</ul>
+<a name="N102AD"></a><a name="Justification-N102AD"></a>
+<h4>Justification</h4>
+<p>A use case describes a unit of work. It is typically used in the design
+        stages of a software project, however, they can often be useful in creating
+        user documentaiton. Especially when they describe user interface functionality.</p>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Unfortunately the use case document does not currently cover all functions
+        of the plugin since this functionlaity was added after many other features. Whilst you
+        are exploring this feature, why not add a use case to the plugin and submit a patch
+        so that those coming after you can enjoy more complete documentation.</div>
+</div>
+<a name="N102BA"></a><a name="Summary-N102BA"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N102C5"></a><a name="Details-N102C5"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/user/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that describes the use cases
+          </p>
+        
+</td><td>
+           Implemented with fixmes:-<br>
+         High: 1<br>
+         Low: 1<br>
+</td>
+</tr>
+    
+</table>
+<a name="N102EA"></a><a name="Generate+a+Functionality+Matrix"></a>
+<h3 class="underlined_5">Generate a Functionality Matrix</h3>
+<p>If a use case document is correcly marked up with <span class="codefrag">fixme</span> elements it is possible
+      to create a functionality matrix for each use case. This will show how complete the implementation
+      of a use case is.</p>
+<p>A table can be created which shows each of the steps in a use case, each step can be given a
+      count for the bumber of fixme items outstanding on each of the steps. Furthermore, since each
+      <span class="codefrag">fixme</span> is given a priority we can clearly indicate which use cases are operational an 
+      hich are not.</p>
+<a name="N102FC"></a><a name="Summary-N102FC"></a>
+<h4>Summary</h4>
+<ol class="steps">
+      
+<li>
+<strong>Make HTTP request</strong>
+</li>
+    
+</ol>
+<a name="N10307"></a><a name="Details-N10307"></a>
+<h4>Details</h4>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+<tr>
+<th>Step</th><th>Description</th><th>Result</th><th>Status</th>
+</tr>
+      
+<tr>
+<td>1. Make HTTP request</td><td>
+          
+<p>
+            Request
+            http://localhost:8888/docs/developer/featureMatrix/useCases.xml
+          </p>
+        
+</td><td>
+          
+<p>
+            An XDoc is created that lists the steps in each use case and identifies the status
+            of each use case.
+          </p>
+        
+</td><td>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">Not Implemented</div>
+</div>
+         Blockers: 1<br>
+</td>
+</tr>
+    
+</table>
+</div>
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2004-2006 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.input.projectInfo/docs/user/useCases/all.html
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message