
\section{Methods of monitoring and reporting}

\subsection{Reporting working hours}

All project group members will report their working hours in a file in the CVS. The file is /doc/reporting/hours/id.txt, where id is the member's user name in the CS computer system.

Working hours are recommended to be updated to the file daily. The absolute deadline is the next week's Monday, as they are required in the weekly report.

A program called Report.pl will be used to gather statistics about the working hours. For that reason, all the working hour reporting files must be in the following format:

\begin{itemize}
\item The first line is the member's name.
\item Following lines are in the format `date   phase   hours   description'. The parts must be separated by a single tabulator.
\item The file may include comments, those lines must begin with \#.
\end{itemize}

The format for date must be dd.mm.yyyy, zeros in front of numbers may be skipped. For example, it's possible to write 23.5.2005 instead of 23.05.2005.

Phase is a four letter code of the phase on which the time was spent. The phase codes are:

\begin{tabular}{ll}
PROJ&Project planning\\
REQU&Requirements analysis\\
DESI&Design\\
IMPL&Implementation\\
TEST&Testing\\
OTPR&Other deliverables (for example writing the user's manual or installation scripts)\\
KNOW&Getting to know the problem scope and environment\\
MEET&Meeting with the project group and preparing for the meetings\\
INST&Installing tools, learning to use them and maintaining them\\
OTHE&Anything that doesn't fall under the other categories\\
\end{tabular}

Hours are reported in half an hour's precision.

\pagebreak

\subsection{Weekly reporting}

The group will produce weekly reports concerning the project's progress. They are written by Joonas, Marja will provide the working hour statistics. During the project, last week's report will be returned to the instructor by Tuesday morning.

A weekly report includes:

\begin{itemize}
\item Working hours during the week
\item Tasks finished or agreed on during the week and all unfinished tasks
\item Problems solved during the week and all unsolved problems
\end{itemize}

\pagebreak

\subsection{Reporting to the Software Engineering Project's information system}

The Software Engineering Project has an information system where all groups must report some information about their projects.

The information system is located at http://db.cs.helsinki.fi/~tkt\_ohtu/metrics/v0/index.php.

Every group member must report their working hours on the following dates: 

\begin{itemize}
\item Monday 30.5.
\item Monday 13.6.
\item Monday 27.6.
\item (Monday 11.7. - this is during the holiday)
\item Monday 25.7.
\item Monday 8.8.
\item Monday 22.8.
\item Friday 2.9.
\end{itemize}

Also some information must be reported about the project planning, requirements analysis, design and implementation phases. This will be done by Joonas. In all phases, the following dates are reported:

\begin{itemize}
\item When the phase started
\item When the phase was supposed to end
\item When the phase really ended
\end{itemize}

Additional information about project planning:
\begin{itemize}
\item The project's size estimates (lines of code and function points)
\end{itemize}

Additional information about requirements analysis:
\begin{itemize}
\item Number of requirements, use cases and words in the document
\item The project's size estimates (lines of code and function points)
\end{itemize}

Additional information about the design phase:
\begin{itemize}
\item Number of operations designed according to the Requirements Specifications, operations changed and new operations
\item Number of classes
\item Number of pages, words, diagrams and pictures in the Design Document
\end{itemize}

Additional information about the implementation phase:
\begin{itemize}
\item Implementation languages
\item Number of operations implemented according to the Design Document, operations changed and new operations
\item The project's size estimates (lines of code and function points)
\item Number of classes, methods per class, depth of inheritance hierarchy, number of immediate subclasses and connections between the classes
\end{itemize}
