Develop applications involving complex component technology


Enterprise Programming Assignment

Overview

You are required to work on this Assignment as a group of, ideally, 2-4 students. Each group member is required to work with their group as the project mark is given to the group. This means that every group member receives the same mark. Group members are encouraged to work together during the lab exercises as this would improve group communication and quality of work. Each group member should make a significant contribution to the project. The specifications are provided below.

Timelines and Expectations

Learning Outcomes Assessed

S1. Design, construct and test non-trivial enterprise systems applications;

S2. Develop applications using integrated development environments and application programming interfaces that support the development of server-side software solutions;

S3. Develop applications involving complex component technology;

S4. Apply complex problem solving skills to design and implement a server-side software solution;

A1. Design and implement technical solutions addressing connectivity between components;

A2. Construct scalable systems, capable of being deployed on the internet using middleware and database systems

Details

You are required to develop a database driven web application which will be used as a basis for a Postgraduate Student Enrolment Database (PSEDB) application. The application will allow the students to view the courses they are enrolled in and the marks they have obtained in each enrolled courses for a semester. The application will allow the teacher to see the courses they are conducting in a semester, the students who are enrolled in his/her courses and the assessment marks the students have obtained in those courses. Additionally, they will be allowed to upload assessment marks for the students.

The application will allow administrators to create new courses, add students and staff members in the database, and manage all other necessary information.

Your site should be written in Java (using the NetBeans IDE) and store all persistent data in a MySQL Server database.

Database ER Diagram: Figure 1 shows an Entity Relationship Diagram. The relationship between entities are in "Crows Foot" notation. Please note, this could be a part of a very large system for a university student database, and might need more entities, attributes and relationships.

Figure 1: ER Diagram

Information Requirements - MySQL:

Your MySQL Server database should store all persistent data for your site, including:

1. Student and Lecturer Personal Information (see "student"/"lecturer" database table).
2. Course related information (see "course" and "course_conduction" table)
3. Student enrolment related information (see "enrolment" database table)
4. Assessment related information (see "assessment" and "course_assessment" database table)

Database Assumptions:

1. Each postgraduate student is enrolled in one or more courses (mandatory relationship between "enrolment" and "student" DB tables as indicated by at "enrolment" side of the connection).

2. A course can be enrolled by 0 or more students (relationships between "course" and "enrolment" DB tables as indicated by ).

3. An enrolment relates a student with a course that he/she enrolled in for a semester. This relationship is represented by in the ER diagram.

4. Each course has a list of prerequisites, stored as a comma separated text in the filed "Prerequisites" in "course" table.

5. Each course conducted by a lecturer for a semester has a capacity: the "Capacity" field in table "course-conduction".

6. All other relationships will be interpreted in similar ways. If you want to interpret the relationships in different ways, you can do it. However, please mention your assumptions in the report.

Functional Requirements:

The application needs to be designed to allow University postgraduate students and lecturers to login by using their login name (email address) and password. The users (both students and lecturers) will be able to view his/her information through properly designed web interfaces.

Students:

A student is enabled to check their student records (only for the course that they are currently enrolled in). The student has the ability (password protected) to view their records.

The following student tasks are identified:

1. Login;

2. View the current courses they are enrolled in. For each enrolled courses they can see the details including the course title, lecturer name and email addresses, and the pre-requisites of that course;

3. For each enrolled courses, view the assessment marks they obtained.

4. View all the courses he/she enrolled in the previous semesters (do not include current semesters).

5. Can enrol themselves in a course for the current semester.

Lecturer:

The lecturer is enabled to check on the details of the courses they are conducting in a semester and the progress of their students. The lecturer has the ability (password protected) to view students' records. The following tasks are identified:

1. Login;

2. The list of courses they are conducting in a semester, and their individual capacity;

3. For each courses, the list of students enrolled in for that semester and the marks they have obtained in the assessment tasks;

4. Be able to edit the marks (upload) for the students.

5. Be able to change the capacity of a class they currently conducting this semester.

Administrator:

For administration, create a super-user for you system (password protected) who will be able to modify everything in the database, such that, adding/deleting/modifying the students', lecturers and courses' details and all other table in the database. Design appropriate web interfaces (web sites) for that administrator. Please note the administrator is not shown in the ER diagram.

Additional Information:

Your application home page should enable staff and student users to login. User needs to select user type (student or staff) and provide login name and password. There is no user registration required as staff and student accounts will be maintained by super-user.

Your application home page should also provide a link to "About Us" file (e.g. about_us.html) which will display your group name and group member's information including student's name and student id. You can optionally provide your group or individual photos in this file.

Application Page Layout:

The layout (see Figure 2) only shows web pages needed to meet application functional requirements. Please note that About Us, Acknowledgment files are still required (you need to create those html pages and provide appropriate web links) however there are not displayed in this layout. All web pages shown in the layout need to be written in Java. Moreover, if you need other webpages (or breakdown one task into multiple sub-tasks) to complete the tasks, please add them.

MySQL Data Requirements for the test Case:

For testing and marking, please ensure that your final database is well populated with appropriate data. The following is a guideline -

1. A user in "lecturer" table with the privilege of being administrator of the system.
2. At least one teaching staff in "lecturer" table except the administrator.
3. At least two students in "student" table.
4. At least two courses in the "course" table.
5. The lecturer conducts the two courses and the students enrolled in both the courses.
6. Populate the "assessment" and "course_assessment" tables accordingly so that for each enrolment of a student, two assessment marks will be in the system (A1 and A2 in the ER diagram)

Further Instructions:

Your application should follow a Model/View/Controller paradigm.

• The Model involves the data and should use Enterprise Data Beans where each table in your database should be modelled as an entity bean with a session façade.

• The View involves the visible pages and should use suitable Java technologies.

• The Controller involves actual processing (usually without visible components) and should use appropriate Java technologies.

Attachment:- Enterprise-Programming-Assignment.rar

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Develop applications involving complex component technology
Reference No:- TGS02769504

Expected delivery within 24 Hours