System编程设计讲解、Java程序调试、辅导Java语言编程 辅导留学生 Statistics统计、回归、迭代|讲解留学生Processing
- 首页 >> Python编程 Background Information
A New Course Registration System
The Advanced Honours Computing College (AHCC) is a new school in Hong Kong that offers IT modules. They are now hiring a team of developers to install a new course registration system.
The Users
It is expected that the new system will be used by their staff in their service counter as well as in their back-office for entering course registration data for the students.
The Courses
AHCC currently has around ten courses, which are listed in appendix one. They are expected to add more courses in the future. Each course is identified by a course code and a course name, for example, COM1000 - Contemporary Information Technologies. A course starts in September of each year and ends in May of the following year. However, not all courses are offered in the current year.
Course Sessions
Each course offered by AHCC may have one or more sessions. Each session is identified by a session ID that begins with the letter “L”, for example, COM1000-L01. Each session also has a teacher, a weekday and a time. The following are some examples:
Course code Session Teacher Weekday Time Capacity
COM1000 L01 Prof Poon Mon Evening 10
COM1000 L02 Dr Kong Tue Evening 15
COM2001 L01 Dr KKC Sat Morning 10
Note that each session has one class per week only. Each class is marked by the weekday that it takes place (Mon to Sun) as well as the time, which is either Morning (9.00 – 12.00), Afternoon (14.00 – 17.00), or Evening (18.30 – 21.30). Each session also has a capacity, which is the highest number of students who can enroll in the course.
The Students
AHCC maintains a list of currently registered students, which is renewed on a year-to-year basis. Each student is identified by a Student ID, a gender (either M or F) and a student name. For example, S200001 – M – Chan Tai Man.
Course Registrations
Each student enrolled in the current year may register in up to three courses, provided that the courses are not full (i.e., the number of students is less than the capacity), and there are no conflicts in the offering times in the student’s courses. Also, each student may enroll in one session of each course only.
Course Adding, Course Dropping and Course Add/drop
From late August to mid-September of each academic year, the students may select the course they would like to register by submitting requests to the college. There are three types of request:
Course Add: The student may request to take a course. To do so, he/she needs to indicate his student ID, the course code and the session number. The application will be approved automatically provided that i) He is not already enrolled in that course ii) The session is not full, iii) The student has not exceeded his three courses quota and iv) There is no conflict in the course day and time with other courses that he has enrolled in.
Course Drop: The student may request to drop a course. To do so, he/she needs to indicate his student ID and the course code he would like to drop. The application will be approved automatically provided that the information he is supplying is correct.
Course Add/Drop: This is the same as a Course Add followed by a Course Drop. However, the Course Drop will only take place if the Course Add is successful.
Non-functional Requirement
The system prototype should be implemented in Java.
The data should be stored either in data files or in a relational database of your choice (e.g. mysql or MS Access).
You must follow the MVC design pattern.
What you need to implement
Basic Requirements (must do)
Develop a system prototype for evaluation by the users, and complete with the relevant documents (User Requirement, System Design and System Testing). As the basic requirements, you should implement the three functions of Course Add, Course Drop and Add Drop. Also, implement a function for letting the user to view the course information that
a student has registered in.
Additionally, apart from the basic requirements, there are also a few other functions that the users considered as desirable, if time permitting:
Advanced Requirements
Login function. Provide a log-in page for the staff to access the application
Pending Add/Drop. If an add/drop request failed, the request would be moved to a pending add/drop list. This list will be processed again in a batch when the user selects a Pending Add/Drop function later, and if successful (e.g., if a course become available again), the pending request will be removed from the list.
Matching Add/Drop. This is an advanced version of the above function. If an add/drop request failed, the request would be moved to a pending add/drop list as before. However, this time, the requests inside the list will be compared and matched against each other. For example, if two students (in two different course/sessions) wish to swap the course/sessions they are registered, and they could not do it themselves because both sessions are full. This function should match these two requests and help both students to add/drop their sessions.
Others
To make the system development process easier, please also provide functions for generating reports for the showing the list of students enrolled in each module. This function will be used for debugging and can be implemented in any format.
Data Source
You may assume that the student lists and the course lists are provided to you via other computer systems, and are available in data files or a database of your choice.
A New Course Registration System
The Advanced Honours Computing College (AHCC) is a new school in Hong Kong that offers IT modules. They are now hiring a team of developers to install a new course registration system.
The Users
It is expected that the new system will be used by their staff in their service counter as well as in their back-office for entering course registration data for the students.
The Courses
AHCC currently has around ten courses, which are listed in appendix one. They are expected to add more courses in the future. Each course is identified by a course code and a course name, for example, COM1000 - Contemporary Information Technologies. A course starts in September of each year and ends in May of the following year. However, not all courses are offered in the current year.
Course Sessions
Each course offered by AHCC may have one or more sessions. Each session is identified by a session ID that begins with the letter “L”, for example, COM1000-L01. Each session also has a teacher, a weekday and a time. The following are some examples:
Course code Session Teacher Weekday Time Capacity
COM1000 L01 Prof Poon Mon Evening 10
COM1000 L02 Dr Kong Tue Evening 15
COM2001 L01 Dr KKC Sat Morning 10
Note that each session has one class per week only. Each class is marked by the weekday that it takes place (Mon to Sun) as well as the time, which is either Morning (9.00 – 12.00), Afternoon (14.00 – 17.00), or Evening (18.30 – 21.30). Each session also has a capacity, which is the highest number of students who can enroll in the course.
The Students
AHCC maintains a list of currently registered students, which is renewed on a year-to-year basis. Each student is identified by a Student ID, a gender (either M or F) and a student name. For example, S200001 – M – Chan Tai Man.
Course Registrations
Each student enrolled in the current year may register in up to three courses, provided that the courses are not full (i.e., the number of students is less than the capacity), and there are no conflicts in the offering times in the student’s courses. Also, each student may enroll in one session of each course only.
Course Adding, Course Dropping and Course Add/drop
From late August to mid-September of each academic year, the students may select the course they would like to register by submitting requests to the college. There are three types of request:
Course Add: The student may request to take a course. To do so, he/she needs to indicate his student ID, the course code and the session number. The application will be approved automatically provided that i) He is not already enrolled in that course ii) The session is not full, iii) The student has not exceeded his three courses quota and iv) There is no conflict in the course day and time with other courses that he has enrolled in.
Course Drop: The student may request to drop a course. To do so, he/she needs to indicate his student ID and the course code he would like to drop. The application will be approved automatically provided that the information he is supplying is correct.
Course Add/Drop: This is the same as a Course Add followed by a Course Drop. However, the Course Drop will only take place if the Course Add is successful.
Non-functional Requirement
The system prototype should be implemented in Java.
The data should be stored either in data files or in a relational database of your choice (e.g. mysql or MS Access).
You must follow the MVC design pattern.
What you need to implement
Basic Requirements (must do)
Develop a system prototype for evaluation by the users, and complete with the relevant documents (User Requirement, System Design and System Testing). As the basic requirements, you should implement the three functions of Course Add, Course Drop and Add Drop. Also, implement a function for letting the user to view the course information that
a student has registered in.
Additionally, apart from the basic requirements, there are also a few other functions that the users considered as desirable, if time permitting:
Advanced Requirements
Login function. Provide a log-in page for the staff to access the application
Pending Add/Drop. If an add/drop request failed, the request would be moved to a pending add/drop list. This list will be processed again in a batch when the user selects a Pending Add/Drop function later, and if successful (e.g., if a course become available again), the pending request will be removed from the list.
Matching Add/Drop. This is an advanced version of the above function. If an add/drop request failed, the request would be moved to a pending add/drop list as before. However, this time, the requests inside the list will be compared and matched against each other. For example, if two students (in two different course/sessions) wish to swap the course/sessions they are registered, and they could not do it themselves because both sessions are full. This function should match these two requests and help both students to add/drop their sessions.
Others
To make the system development process easier, please also provide functions for generating reports for the showing the list of students enrolled in each module. This function will be used for debugging and can be implemented in any format.
Data Source
You may assume that the student lists and the course lists are provided to you via other computer systems, and are available in data files or a database of your choice.