联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2020-12-04 09:26

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 codeSessionTeacherWeekdayTimeCapacity

COM1000L01Prof PoonMonEvening10

COM1000L02Dr KongTueEvening15

COM2001L01Dr KKCSatMorning10


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.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp