ITECH6401 Enterprise Programming
Assignment 2 – Group Assignment
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
Percentage Value of Task: 20%
Due: Thu, Jun 4, 2017 - 21:00 (Week 11) Minimum time expectation: 20 hours
Learning Outcomes Assessed
Design, construct and test non-trivial enterprise systems applications;
Develop applications using integrated development environments and application programming interfaces that support the development of server-side software solutions;
Develop applications involving complex component technology;
Apply complex problem solving skills to design and implement a server-side software solution;
Design and implement technical solutions addressing connectivity between components;
Construct scalable systems, capable of being deployed on the internet using middleware 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 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.
atabase 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
ormation 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
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
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.
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
enrolled 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 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.
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:
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.
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.
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.
pplication 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.
Upload/ Edit Marks
Figure 2 : Page Layout to meet minimum Functional Requirements
ySQL 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)
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.
Each submission should come with a very detailed report which supplies the following:
1. A cover page displaying course code, course name, assignment title and group name. The cover page should also contain group member's details such as name and student id with student's signature;
2. A list of instructions about how to install your application;
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 that you used to solve the problem (e.g. went back to the plan and determined that a better approach would be . . . and so on). Note – seeing your tutor is acceptable but not a good solution to any problem – all other avenues should be explored first.
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 implement.
6. Furthermore, if you made changes to the specifications or outline these should be fully
documented with detailed reasons for the change. Such changes should not be made without consulting your client.
7. Consideration to mainframe requirements/design/implementation.
8. A summary of meetings, what was discussed, who attended, duration etc. in tabular format.
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 feedback during 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 copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at:
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 collection, library databases and the BONUS+ collection as well as any reputable online resources (you should confirm this with your tutor).
ation University General Guide to Referencing:
The University has published a style guide to help students correctly reference and cite 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:
tional Requirements (lab demonstration)
Total: 100% Final Grade: /20%
Student ID: Student name: Student ID: Student name: Student ID: Student name:
Student ID: Student name:
Table 1 Report (25%)
Total out of 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
Table 2 Program Code (40%)
Appropriate Java technologies used to model the “controller” parts of
EJB and Session Facades for each table
Appropriate Java technologies files used to model the “view” parts of
Total out of 40:
The latest yourdatabase.sql file imported without errors
Table 3 Functional Requirements (lab demonstration) (35%)
Total out of 35:
All Functionality exists
All members are able to discuss and answer questions on the
CRICOS Provider No. 00103D ITECH6401 Assig 1 Sem 8 2017 Page 7 of 6