Building the system

Once an implementation has been decided upon, we can begin to build the new system. This involves designing the database so that critical information can be stored and retrieved as efficiently as possible, as well as writing generic, reusable components to make the code more maintainable. The architecture should be made flexible enough so that future development won't require a complete rewrite.