Abstract
When a collection exceeds a certain size there will be a need for
tools to help organise and manage it. Collection management software
is one such tool. Collectors of mainstream collectibles, such as
coins and books, usually have access to multiple software of this
type. However, due to the great variations in what people tend to
collect there is an abundance of collecting areas. Most of these
areas are small and therefore not the focus of software
developers. As a consequence, few or no tools are tailored to
managing these more uncommon types of collectibles.
A generic Collection Engine might solve this gap. Such a framework
will offer a powerful foundation for developing tools able to
represent all types of collectibles, and at
the same time be tailored towards the collection or collections in
question. Such a solution will also support different types of
combined collections.
This master report describes an attempt to develop a Collection
Engine. The success of the resulting Collection Engine is mainly due
to a parameterised and generic database model at its base. This
database model emerges around a set of generic terms abstracted from typical
collectible properties. Several structures make it flexible enough to
store all major aspects of any collectible. The database model will accomodate
itself to changes in the represented problem domain. This database is
used by a back-end, and the two in combination offer a solid
foundation for offering collection management software. The back-end
does not, in this version, take advantage of all the possibilities
that lie in the database.
To illustrate a set of the Collection Engine's features at the
present time, a simple terminal based front-end is offered. The
Collection Engine has more potential than this front-end is able to
use. A more advanced front-end will take better advantage of the full
potential that lies in the Collection Engine, both in the current
version and even more if some suggested extensions, to both model and
back-end, are implemented.