Preamble

Abstract

The brief was to develop a "smart ticket", ie a device that somebody could carry around with them, input the required start and end point, and receive directions to their goal. The approach adopted can be broken down as follows:-

This thesis will look at each of these elements in turn. It will then look at how the thesis proceeded and make a note of what went right and what was done when things went wrong. Finally, it’ll consider possible developments in future and draw conclusions.

Design Principles

This thesis will adopt the following design principles.

  1. Small is better than big: Many small programs are preferable to one big one.
  2. Simple is better than good: Simple code that covers some cases is better than complicated code that covers all cases.
  3. Now is better than then: A program that can do some of what you want now is better than one that can do it all in a month’s time.
  4. Cheap is better than expensive: Cheap equipment that works is better than expensive equipment that works.
  5. Don’t keep a dog and bark for yourself: If a program already exists that does some of what you need, use it.
  6. If you don’t have to do it, don’t do it: If the system will still work if a part is not done, then don’t do that part.
  7. Separation of concerns: split the task into logical parts and devote a program to each part.

Adoption of these principles should result in small programs making up a system that can be implemented before deadline and which makes logical sense.

Style notes

Acknowledgements

Thanks are due to the following:-