Assignment 2 – Group
You are required to work on
this Assignment as a group of, ideally, 2-4 students. Each group member
is required to work with
group as the project mark is given
to the group. This means that every group member receives the same mark. Group members
encouraged to work
together during the lab exercises as this would improve group communication and quality of work.
make a significant contribution
to the project. The specifications are provided below.
Percentage Value of Task: 20%
Due: Thu, Jun 4, XXXXXXXXXX:00
11) Minimum time expectation: 20 hours
Learning Outcomes Assessed
S1. Design, construct and
test non-trivial enterprise systems
S2. Develop applications using integrated development environments
programming interfaces that support
development of server-side
S3. Develop applications involving complex component
S4. Apply complex problem
solving skills to design and
implement a server-side software
A1. Design and
A2. Construct scalable
systems, capable of
on the internet
and database systems
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
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 application will allow administrators to create new courses, add students and staff members
in the database,
manage all other
Your site should be written in Java (using the NetBeans IDE) and store all persistent data in a
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
for a university student database, and might
more entities, attributes and relationships.
Figure 1: ER Diagram
Information Requirements –
Your MySQL Server database should store all persistent
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
and “course_assessment” database
1. Each postgraduate student is enrolled in one or more courses (mandatory relationship between
“student” DB tables as indicated
by at “enrolment” side of the
2. A course can be enrolled by 0 or more students (relationships between “course” and “enrolment”
DB tables as indicated
3. An enrolment relates a student with a course that he/she enrolled in for a semester. This
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
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,
your assumptions in the report.
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.
A student is enabled to check their student records (only for the course that they are currently
in). The student
has the ability (password protected) to
view their records. The following student tasks are identified:
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
and the pre-requisites
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
enrol themselves in
a course for the current
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
following tasks are identified:
2. The list of courses they are conducting in
and their individual capacity;
3. For each courses,
the list of students enrolled
in for that semester
the marks they have
obtained in the assessment tasks;
4. Be able to edit the marks (upload) for
5. Be able to change the capacity of a class they currently conducting this semester.
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
that administrator. Please note the administrator is not
in the ER diagram.
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
staff and student accounts will
maintained by super-user.
Your application home page should
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.
The layout (see Figure
shows web pages
meet application functional
requirements. Please note
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
(or breakdown one task into multiple sub-tasks) to complete the tasks, please add them.
Upload/ Edit Marks
Figure 2 : Page Layout
to meet minimum Functional Requirements
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
privilege of being administrator of
one teaching staff
in “lecturer” table except the administrator.
two students in
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
a student, two assessment marks will be in the system (A1 and A2 in the ER
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
The View involves the visible pages and
The Controller involves actual processing (usually without visible components) and should use appropriate Java technologies.
Each submission should come with
a very detailed
supplies the following:
1. A cover page displaying course code,
course name, assignment title and group name.
cover page should also contain group member's
details such as name and student id with
2. A list of instructions about how to
3. Details of problems that you encountered while trying to implement the specifications.
While you should detail the solution that you came up with, it is more important to
outline the processes
you used to solve the problem (e.g. went back to the plan and determined
approach would be
. . . and so on). Note –
your tutor is acceptable but not a good solution to any
problem – all other avenues should be explored
4. A generic problem solving routine – a generic process that you should be followed for future problems that you encounter.
5. A detailed account of what you implemented and, more importantly, what you did not
6. Furthermore, if you made changes to the specifications or outline these should be fully
documented with detailed reasons
the change. Such changes should not be made without consulting
7. Consideration to mainframe requirements/design/implementation.
8. A summary of meetings, what was discussed, who attended, duration etc. in tabular
What to submit:
Each group (NOT each student) to submit a zip file, containing the project folder and the report should
be uploaded to Moodle.
Assessment marks will be made available in fdlMarks, feedback to individual students will be provided via Moodle or as direct
your tutorial class.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to
your work and must take care to safeguard against this happening. More information about
the plagiarism policy and procedure for the university can
Your support material must be compiled from reliable sources
such as the academic resources in Federation University
library which might include, but not limited to: the main library
databases and the BONUS+ collection as well as any reputable online resources (you should
confirm this with your
Federation University General
Guide to Referencing:
guide to help
students correctly reference
information they use in assignments. A copy
of the University’s citation guides can be found on
the university’s web site. It is imperative that students cite all sources of information. The
General Guide to Referencing can be purchased from the University bookshop or accessed online at:
Total: 100% Final
Student ID: Student name: Student ID: Student name: Student ID: Student
Table 1 Report (25%)
Cover Page provided
with group name, student names and IDs and
Instructions for installation
Details of problems
faced and their solutions
Generic problem solving routine
Total out of 25
Program Code (40%)
EJB and Session Facades for each table
used to model the “controller” parts of
technologies files used to model the “view” parts of
The latest yourdatabase.sql file imported without errors
Total out of 40:
Table 3 Functional Requirements (lab
All Functionality exists
All members are
able to discuss
and answer questions on the
Total out of 35:
CRICOS Provider No.
00103D ITECH6401 Assig 1 Sem XXXXXXXXXXPage 7 of 6