\documentstyle[12pt]{article}
\title{\bf Xspread - A project progress report}
\author{Rama Devi Puvvada}
\date{9 July 1994}

\begin{document}
\maketitle
\begin {abstract}
Xspread is a public domain spreadsheet program on the X window system similar 
to Lotus 1-2-3. At present Xspread is already useable and has no major defects 
except for a few bugs/deficiencies. My project as a part of the course work of 
the Software Engineering course, summer '94 is to make some improvements and 
enhancements to the existing software. This project helps in understanding 
some of the qualitys of the Software Engineering such as the extendability, 
maintainability, userfriendliness, understandability.
\end{abstract}

\section{Introduction}

Xspread is a spreadsheet program whose structure and operation is similar to standard spreadsheets. 
Like other spreadsheets the workplace is arranged in rows and columns of cells. 
Each cell can contain a number, a label or a formula which evaluates to a number or label. 
One can start the xspread program with an empty workplace or by giving a file name whose contents are placed in the work place. 
The original spreadsheet program supports many standard spreadsheet features like cell entry and editing, row and column insertion and deletions, specification of range names, function references, manual and automatic recalculation etc \ldots. 
A postscript manual is found in the ``/usr/proj/se/summer94'' directory under the name `xspread.dvi'. 
The later versions improved it by adding other features like graphing capability. 
The main goal of my project is to add utilities like ``sort'', ``search'' \ldots math functions. 
The other subgoals are to correct some errors in the existing software.

\section{To Do}
The following are some of the improvements I plan to make.
    \begin{itemize}
     \item Add utilities such as ``sort'', ``search'', \ldots math functions.
     \item Make the changes/fixes suggested by Richard Lloyd.
     \item Run lint on all the c programs to remove unreasonable constructs.
     \item Correct the errors in plotting graphs when the size of the ranges 
do not match.
     \item Add colors to the graphs.
     \item Improve the efficiency of the matrix functions. 
    \end{itemize}

\section{So Far}
I have been reading a lot of books on X-windows and writing some simple 
programs to get a deeper understanding of the concepts. I have gone through 
almost the entire existing code comprising of approximately 22,000 lines to 
have an idea of what each routine is doing. Going through the code I found 
that the matrix functions are not efficient and they need to be fixed. Running 
the xspread program I myself found some errors in the graph plotting which I 
would like to correct. I have already made the changes suggested by Richard 
Lloyd. Presently I am running lint on all c programs to remove unreasonable 
constructs. There are some more improvements to be made to the software which 
I haven't mentioned in the list of things to do and which I would love to do 
but may not be able to because of the shortage of time.

\end{document}

