\documentclass[a4paper,11pt]{article}
% Each of the strings TBD (To Be Defined) needs to be replaced by its definition.
\newcommand{\theproductname}{TBD}
\newcommand{\theproduct}{\emph{\theproductname\/}}
\newcommand{\thedocumenttype}{TBD}
\newcommand{\theversion}{TBD}
\newcommand{\thestatus}{TBD}
\RequirePackage[a4paper,pdftitle={\theproductname{} \thedocumenttype},pdfauthor={TBD},bookmarks]{hyperref}
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\lhead{\theproduct{} \thedocumenttype{}}
\chead{}
\rhead{Version~\theversion}
\lfoot{\thestatus}
\cfoot{}
\rfoot{Page~\thepage~of~\pageref{lastpage}}
\begin{document}

\title{\theproduct{} \thedocumenttype{}}
\author{TBD}
\date{TBD -- Version~\theversion{} -- \thestatus{} -- \pageref{lastpage}~pages}
\maketitle

\section {Introduction}
\label{sec:introduction}

This document defines the TBD for \theproduct{}.

\subsection {Definitions, acronyms and abbreviations}
\label{subsec:definitions}

\begin{description}
\item[x] Definition of x.
\end{description}

\section {General Description}
\label{sec:general-description}

\theproduct{} is \ldots

\subsection {General capabilities}
\label{subsec:general-capabilities}
\theproduct{} \ldots

\subsection {General constraints}
\label{subsec:general-constraints}
\ldots

\subsection {User characteristics}
\label{subsec:user-characteristics}
\ldots

\subsection {Operational environment}
\label{subsec:operational-environment}
\ldots

\subsection {Assumptions and dependencies}
\label{subsec:assumptions-and-dependencies}
\ldots

\section {Specific Requirements}
\label{sec:specific-requirements}
The specific user requirements are labeled UR-xx.

Priorities are indicated by P-y, where y is 1, 2, or~3,
with the following meanings:
\begin{enumerate}
\item[P-1] This requirement has \textbf{highest priority}
  and must be delivered.
\item[P-2] This requirement has \textbf{medium priority},
  and may only be omitted when approved by the customer.
  This is only acceptable,
  if there are no requirements at priority~P-3
  whose omission would enable realization of the P-2~requirement.
\item[P-3] This requirement has \textbf{lower priority},
  and may be omitted if the developer is unable deliver it.
  The developer is required to report this to the customer.
\end{enumerate}

\subsection {Capability requirements}
\label{subsec:capability-requirements}

\subsubsection {Autonomous capabilities of \theproduct{}}
\begin{description}
\item[UR-10, P-1] \theproduct{} automatically \ldots
\end{description}

\subsubsection {Capabilities triggered by the user}
\begin{description}
\item[UR-20, P-1] \ldots
\end{description}

\subsection {Constraint requirements}
\label{subsec:constraint-requirements}

\begin{description}
\item[UR-80, P-1] \theproduct{} has a graphical user interface,
  with \ldots
\item[UR-81, P-1] The user interface uses the English language.
\item[UR-82, P-1] The software user manual is written in English.

\item[UR-90, P-1] The software is written in Java \ldots
\item[UR-91, P-1] The comments in the software are written in English.
\item[UR-92, P-1] The software adheres to the
  ESA Java Coding Standards~\cite{BSSC:2005}.
\end{description}

\begin{thebibliography}{9}

\bibitem{BSSC:2005}
\href{http://www.esa.int/TEC/Software_engineering_and_standardisation/}
  {Board for Software Standardisation and Control} (BSSC).
\emph{Java Coding Standards}.
\href{http://www.esa.int/}{European Space Agency},
03~March 2005.\\
\href{ftp://ftp.estec.esa.nl/pub/wm/wme/bssc/Java-Coding-Standards-20050303-releaseA.pdf}{\footnotesize\texttt{ftp://ftp.estec.esa.nl/pub/wm/wme/bssc/Java-Coding-Standards-20050303-releaseA.pdf}}

\end{thebibliography}

\label{lastpage}
\end{document}
