Comments on Project #1
CSCI 5931A  Advanced Database Development

    Finally, after spending my weekend in grading, I have completely graded project #1.  I cannot grade every detail of your work as it will take tens of hours more.  I just selected the more important parts of your projects to grade.  I also did not write down all the problems to save time.  Instead you should read the problems I listed below.

Use Cases

    Use case diagrams are used to specify the external view of the system: system functionalities (use cases) and how external users (actors) interact with the system.  The goal is to define the boundary of the system.

    One of the most common problems in project #1 is to model the students to "enrol courses", "pay tuition", "transfer courses", etc.  Students do not interact with the systems to do these tasks.  You don't want them to do that themselves for security reasons.  Instead, it is likely staffs will interact with the systems to do these tasks (with input from students).

    Other issues:

Priorities

Your priority list should in general include the followings:

This is because your business is to make money by offering courses to students.  Without these two use cases, your system prototype will not adequate.  Other use cases are less important and may be implemented later.  For example, "make teaching notes" is obvious not of central importance.   Even "check password" or "Create and manage accounts" are less important as in the first cut of your prototypes, you may ignore security issues and focus on the business functionality

Class Diagrams

   The most significant and frequent errors are confusion between "course" and "course offering".  Many missed the class "course offering".  Many have wrong associations.  For examples, associations between "enrolment" and "course" is incorrect.  It should be between "enrolment" and "course offering".  Formally, you are not enrolled in "CSCI 5931A", but the offering of "CSCI 5931A", section 1 in the Fall semester of 1998.

    Other common mistakes and problems: