Software Requirements Specification with LaTeX

Are there anybody who uses LaTeX to produce quality Software Requirements Specification documents?

If yes, do you have any template which you can share?

-
IMO, this type of documents requires only basic sectioning commands, not a complex template or document class. Just write it! – Andrey Vihrov Jan 28 '12 at 17:51
@AndreyVihrov of course you got your point, but software requirements specification is a field of study in Software Engineering that should be taken as seriously as the actual coding. One can go coding their softwares with no planning, but it may compromise its quality, the same for writing these kind of documents. – Rodrigo Martins Mar 20 at 19:28

1 Answer

It does not appear that there is any particular class or package devoted to Software Requirements Specifications and perhaps the reason is that this sort of document will follow an in-house format. It is not that difficult to develop one from scratch using one of the standard classes or any other class you are familiar with. I have used the KOMA-Script, report class for a short template to get you going. Here is the minimal code.

\documentclass{scrreprt}
\usepackage{listings}
\usepackage{underscore}
\usepackage[bookmarks=true]{hyperref}
\hypersetup{
bookmarks=false,    % show bookmarks bar?
pdftitle={Software Requirement Specification},    % title
pdfauthor={Yiannis Lazarides},                     % author
pdfsubject={TeX and LaTeX},                        % subject of the document
pdfkeywords={TeX, LaTeX, graphics, images}, % list of keywords
colorlinks=true,       % false: boxed links; true: colored links
linkcolor=blue,       % color of internal links
citecolor=black,       % color of links to bibliography
filecolor=black,        % color of file links
urlcolor=purple,        % color of external links
linktoc=page            % only page is linked
}%
\def\myversion{1.0 }
\title{%
\flushright
\rule{16cm}{5pt}\vskip1cm
\Huge{SOFTWARE REQUIREMENTS\\ SPECIFICATION}\\
\vspace{2cm}
for\\
\vspace{2cm}
Materials Ordering System\\
\vspace{2cm}
\LARGE{Release 1.0\\}
\vspace{2cm}
\LARGE{Version \myversion approved\\}
\vspace{2cm}
Prepared by Yiannis Lazarides\\
\vfill
\rule{16cm}{5pt}
}
\date{}
\usepackage{hyperref}
\begin{document}
\maketitle
\tableofcontents
\chapter*{Revision History}
\chapter{Introduction}
\section{Purpose}
\section{Project Scope and Product Features}
\section{References}
\chapter{Overall Description}
\section{Product Perspective}
\section{User Classes and Characteristics}
% add other chapters and sections to suit
\end{document}


My own preference for such a document is to use XeLaTeX to process it, in order to have a wider selection of fonts.

-
This looks nice but I don't see why or how it is putting a blank page at the beginning and after the title – schwiz Sep 16 '13 at 20:31