Differences in the file protection and other security mechanisms afforded by different operating systems were important factors, as we were only prepared to deploy the software on machines on which we had sufficient confidence that our software and stored files would not be vulnerable either to malicious attack or to accidental system failure. This has worked fine for most modules, but occasionally a more sophisticated and configurable model of staff duties and privileges is needed. Logical representations of the institution processes such as submission policies and assignment marking schemes are heavily dependent on the UNIX directory and file structure. Information is held in text files placed under a fixed and predefined directory structure, effectively forcing a tree structure on the BOSS data storage . Thus modules subdivide into assignments, which subdivide into exercises.
Data retrieval is done via traversing the relevant directories systematically.
This strong coupling of data representations and the software implementation does not accurately model the actual presentation of a module, which may have a more complex interrelationship between the various assessment units. The new version of BOSS, Boss2, is rewritten using the Java language which boosts its portability, robustness and ease of integration with other computer software and systems. The new BOSS software is built upon this 3-tier architecture which includes clients and servers, both written in Java, and a relational database, MySql. With this approach, the clients just provide a user interface whereas the servers contain all the complicated application logic including handling student assignment submissions, automatic testing and assignment marking. All information ranging from student registration to assignment marking schemes is held in a MySql database which can be assessed via the JDBC link from the servers.