%% Use Cases Template File
%% Created by Tom Desair (http://www.tomdesair.com)
%% Downloadable at: http://www.tomdesair.com/downloads/use-case-latex-template.zip
%% Date Modified: 03/04/2012
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.

\documentclass[a4paper, 10pt, oneside, draft]{article}

%include the usecases package
\usepackage{usecases}

\begin{document}

%Sometimes it is a good idea to put domain objects in \texttt{}
%The template and the descriptions are based on the book Applying UML and Patterns: 
%An Introduction to Object-Oriented Analysis and Design and Iterative Development
%(3rd Edition) by Craig Larman.
\begin{usecase}

\addtitle{Use Case 1}{Template test} 

%Scope: the system under design
\addfield{Scope:}{System-wide}

%Level: "user-goal" or "subfunction"
\addfield{Level:}{User-goal}

%Primary Actor: Calls on the system to deliver its services.
\addfield{Primary Actor:}{End-User}

%Stakeholders and Interests: Who cares about this use case and what do they want?
\additemizedfield{Stakeholders and Interests:}{
	\item Stakeholder 1 name: his interests
	\item Stakeholder 2 name: his interests
}

%Preconditions: What must be true on start and worth telling the reader?
\addfield{Preconditions:}{}
%when multiple
%\additemizedfield{Preconditions:}{} 

%Postconditions: What must be true on successful completion and worth telling the reader
\addfield{Postconditions:}{}
%when multiple
%\additemizedfield{Preconditions:}{}

%Main Success Scenario: A typical, unconditional happy path scenario of success.
\addscenario{Main Success Scenario:}{
	\item The first action
	\item The second action
}

%Extensions: Alternate scenarios of success or failure.
\addscenario{Extensions:}{
	\item[2.a] Invalid login data:
		\begin{enumerate}
		\item[1.] System shows failure message
		\item[2.] User returns to step 1
		\end{enumerate}
	\item[5.a] Invalid subsriber data:
		\begin{enumerate}
		\item[1.] System shows failure message
		\item[2.] User returns to step 2 and corrects the errors
		\end{enumerate}
}

%Special Requirements: Related non-functional requirements.
\additemizedfield{Special Requirements:}{
	\item first applicable non-functional requirement
	\item second applicable non-functional requirement
}

%Technology and Data Variations List: Varying I/O methods and data formats.
\addscenario{Technology and Data Variations List:}{
	\item[1a.] Alternative first action with other technology
}

%Frequency of Occurrence: Influences investigation, testing and timing of implementation.
\addfield{Frequency of Occurrence:}{}

%Miscellaneous: Such as open issues/questions
%\addfield{Open Issues:}{}

\end{usecase}

\end{document}

