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

%include the usecases package
\usepackage{usecases}

\begin{document}


\begin{usecase}
\addtitle{Use Case 3.1}{Create ConstantRateConstant} 
\addfield{Primary Actor:}{End-User}
\additemizedfield{Preconditions:}{
	\item None
} 
\additemizedfield{Postconditions:}{
	\item The ConstantRateConstant is initialized and valid
}
\addscenario{Main Success Scenario:}{
	\item The user calls ConstantRateConstant's parameterized constructor with its name, and rate, k, as the two arguments
	\item The ConstantRateConstant is initialized successfully 
}
\addscenario{Extensions:}{
	\item[2a.] The ConstantRateConstant's name is an empty string
		\begin{enumerate}
		\item[1.] System throws a runtime exception notifying the user that the name cannot be empty 
		\end{enumerate}
}
\end{usecase}
\pagebreak

\begin{usecase}
\addtitle{Use Case 3.2}{Get ConstantRateConstant Rate} 
\addfield{Primary Actor:}{End-User}
\additemizedfield{Preconditions:}{
	\item The ConstantRateConstant is initialized and valid
} 
\additemizedfield{Postconditions:}{
	\item The rate is returned and the ConstantRateConstant is unmodified
}
\addscenario{Main Success Scenario:}{
	\item The user calls ConstantRateConstant's getRate() function with a smart\_ptr to a StateOfTheWorld instance as the only argument (StateOfTheWorld does not have to be valid)
	\item The rate is calculated as (k * 1) and is returned to the user
}
\addscenario{Extensions:}{
	\item None
}
\end{usecase}

\end{document}