4.0 Developer Overview
Executive Summary
EasyGrader is a new multi-platform program created by Cal Poly students. The program may be toward Cal Poly, but also be use by other interested groups.
EasyGrader emphasis on online integration, unlimited numerical values, features in curving classes, and flexible organization of classes.
Major development includes: fully customizable assignment hierarchy, prediction mode, and central server coordinating between students, TA, and instructors.
Services
EasyGrader offers three different versions, one for students, one for TA, and one for instructors. Instructors has access to all available operations. TA
does not have the option to create new gradebook, assignments, or students. Otherwise, they have same operations as the instructor. Students version is
limited to only fetching gradebook, prediction mode, visual operations like expand/collapse, and viewing graphs.
Customers
EasyGrader is available to anyone who has interest in using a more flexible grading program. Our aim is for instructors and students but any one who are
interested can also be the customer.
Management
EasyGrader will soon be in the implementation stage. During this stage, at least five people are require to implement and design EasyGrader.
How you want to define what work and how to implement it is up to the implementers.
Highlights
There are certain features in EasyGrader that are the most important and is hard to implement. They are prediction mode, graphs (histogram, piechart), central server
, and the tedious fmsl objects. In prediction mode, the implementers have to solve variations of predicting grades or scores. The graphs need to have
draggable segments to change the curves. The central server is probably the easiest part, just connecting to the server and downloading/uploading data. The
fmsl objects and operations are a pain. There is object item that is recursive to itself. Object student is bunch of string and integer, the important object inside student
is Score. The object Score is what makes up all the statistics and numbers. Some operations are simple such as add, delete, and modify. Others are hard, like
synchronizing roster, merging roster, grouping/ungrouping, and changing curves in the graphs. In terms of the UML diagram, it is pretty straightforward, there are no
complicated events like a inheritance between objects.
Overall, these features should be the designers focus next quarter.
Prev: Non-Functional Requirements
| Next: [None]
| Up: index
| Top: index