As outlined in the UI Overview, the Grader Tool system is comprised of one large, scaleable interface which is scoped as necessary for use by different user levels. It provides functionality to connect to a central server on which student and course information is stored and to view and modify gradebooks for those courses.
The major objects in the program are the classwork items and students, each maintained in a local database. Managing these databases and sychronization with the central server will be one of the more complex implementation details. A fully-featured RDBMS would be an effective choice for managing local data.
A significant portion of the implementation will need to be focused on the user interface functionality. At its core, the base functionality of a gradebook program is fairly straightforward, especially in the context of a RDBMS. The complicated interfaces to manage, manipulate, and display this data will be the primary programming artifacts of concern.
Of particular concern will be the graphical grading curve manipulation tools, as their implementation requirements fall outside of the tools offered by simple user interface software packages. The requirement that changes be dynamically sychronized between the gradebook and all graphical visualization tools will also pose as a difficult implementation detail.