1.3. Overview of this Document

Chapter 1 of this document will introduce the general concepts of the projact. These will include an overview of the project itself, the aims of the project, and the target user group, and this document overview.

Chapter 2 of the document will present the background of the project. This will consist of the need for such a program as CsvSQL, the basics of what a CSV is and what it is used for, and a brief look into any alternative programs which may be available that provide similar functionality.

Chapter 3 documents the design of the program. It will detail the design process, and will include a formal EBNF definition of the language to be used by CsvSQL. This chapter will also contain an in depth analysis of one of the SQL commands used by CsvSQL including a data flow diagram.

Chapter 4 documents the actual implementation of the project. This includes a description of the Perl language and the reasoning why I chose this language. This chapter includes a description of the implemented SQL algorithms used by CsvSQL, along with examples. In this chapter will also be included the algorithms used by CsvSQL in executing various queries. Finally the chapter will look at the use of regular expressions in the program, and any difficulties encountered during the implementation stage.

Chapter 5 contains the documentation for the process of project management. This includes the different technologies used and the reasons why I used these technologies in order to manage the project.

Chapter 6 follows the steps used to test the software, the methods implemented during testing, and the tools used. This section also details the results of testing the software.

Chapter 7 summarises the project with ideas for future development and final thoughts on the program.