Late submission of coursework policy: Late submissions will be processed in accordance with current University regulations which state:
“the time period during which a student may submit a piece of work late without authorisation and have the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted unauthorised more than 14 calendar days after the original submission date will receive a mark of 0%. These regulations apply to a student’s first attempt at coursework. Work submitted late without authorisation which constitutes reassessment of a previously failed piece of coursework will always receive a mark of 0%.”
Following submission, your tutor will arrange an online viva with you (which should last approximately 15 minutes), where you will need to demonstrate your work and will be assessed on your understanding of the underlying design and implementation details. Failure to attend the viva might result in a mark of zero for this assignment.
The main focuses of the assignment are persistent state, access control, ADO.NET database operations, validation and AJAX. Another important requirement is that your web application has an underlying n-tier architecture, and utilises principles of abstraction, decomposition and modularisation, as has been taught during the module.
The web application that you will develop will form the foundations of an E-Learning Facility for students and tutors. For the purpose of this assignment, you have been specified to develop some of the basic essential functionality for this web application, which may then be further developed as necessary.
You have been provided with a prebuilt SQL Server Database (see Section 1.2) that you must use as a means of data storage and retrieval. Most of the required functionality has been comprehensively documented for you as a requirements specification consisting of use cases, and user interface designs (see Section 2). You should strictly adhere to this documentation and use it as a basis for completing PART A of the assignment. PART B of the assignment provides you with more freedom to show creativity and innovation.
An explanation of the tables and the relationships between them: -A
· The User has a User Role, which may either be Student or Tutor.
· A Student studies one Course and a Course is studied by many Students.
· A Tutor teaches on one Course and a Course is taught by many Tutors.
· A Course consists of many Modules and a Module can be taught across many Courses.
· This many-to-many relationship is broken down into the table CourseModules, which has a composite key.
It is worth noting that this database design is simplified compared to that used in practice for such a system in a University. For example, a Tutor could teach on multiple Courses. For the purpose of this assignment however you should develop the web application based on the database design that has been provided.
1. System ensures a user is logged in (i.e. a Session exists).
2. System loads the page.
3. User enters current password, new password and new password confirmation then
clicks update password Button.
4. System validates input fields.
5. System queries database to ensure current password is correct.
6. System updates user's password in database.
7. Student is redirected to UserAccount.aspx?UpdateSuccess=Password.
8. System processes query string and shows a success label message.
1. Tutor selects course from ListBox and clicks update course Button.
2. System connects to database and updates tutor's course.
3. System updates Session CourseID value.
4. Tutor is redirected to UserAccount.aspx?UpdateSuccess=Course.
5. System processes query string and shows a success label message.
System ensures a user is logged in (i.e. a Session exists).
2. System displays appropriate details depending upon Session RoleID value. If Student go to 3, if Tutor go to 4.
· Will display their username and their role name in a Label.
· Will display a Button that redirects to StudentDetails.aspx.
· Will display a Button that redirects to ChangePassword.aspx.
· Will display a Button that redirects to Logout.aspx.
· Will NOT display change password notification Label.
· Will NOT display Update Tutor Course Button.
· Will display their username and their role name in a Label.
· Will display a Button that redirects to TutorDetails.aspx.
· Will display a Button that redirects to ChangePassword.aspx.
· Will display a Button that redirects to Logout.aspx.
· Will display change password notification Label.
· Will display a Button that redirects to UpdateTutorCourse.aspx.