If you're just looking for something other than the normal document classes, here's an example using tufte-handout, TikZ for UML diagrams, and the listings example from @CounterTerrorist

\documentclass{tufte-handout}
\usepackage{listings}
\lstset
{
basicstyle=\ttfamily\scriptsize,
identifierstyle=\color{blue},
commentstyle=\color{red},
breaklines=true,
backgroundcolor=\color{yellow!30},
numbers=none,
language=[Sharp]C
}
\usepackage{tikz-uml}
% from http://www.ensta-paristech.fr/~kielbasi/tikzuml/index.php?lang=en
\title{A Report with Code and UML}
\author{Somebody Else}
\begin{document}
\maketitle
\section{Section Heading}
This is the introductory text of your report, with enough text to show the
column size. There's a UML diagram in Figure~\ref{fig:uml-diagram}.
\begin{figure}
\begin{tikzpicture}
% From http://www.ensta-paristech.fr/~kielbasi/tikzuml/doc/tikzuml-v0.9.6-fr.pdf
% section 1.2
\umlemptyclass{A1}
\umlemptyclass[x=3,y=-3]{A2}
\umluniaggreg[arg2=a,mult2=1,pos2=0.9]{A1}{A2}
\umluniassoc[geometry=-|,arg1=x,mult1=1,pos1=1.9,arg2=y,mult2=*,pos2=0.2]{A1}{A2}
\umlunicompo[arg=z,mult=1..*,pos=0.8,angle1=-90,angle2=-140,loopsize=2cm]{A2}{A2}
\end{tikzpicture}
\caption{UML diagram}
\label{fig:uml-diagram}
\end{figure}
This is the second paragraph of your report, with enough text to show the
indentation.
\subsection{Subsection Heading}
Also, we can include code, as shown in Listing~\ref{lst:csharp}.
\begin{lstlisting}[caption={A C\# code snippet},label={lst:csharp}]
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
\end{lstlisting}
\end{document}