Assignment title: Information
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 2 of 9
ITECH6401 Enterprise Programming
Group 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
Percentage Value of Task: 20%
Due: Thu, Jun 2, 2016 - 16:00 (Week 11)
Minimum time expectation: 20 hours
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 interne,t using middleware and
database systems
Assessment Details
You are required to develop a database driven web application which will be used as a basis for a
Postgraduate Student Progress Database (PSPDB) application. The application will allow administrators
to maintain progress throughout the postgraduate study. The application will also allow the student to
view their progress online.
Your site should be written in Java (using the NetBeans IDE) and store all persistent data in a MySQL
Server database
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 3 of 9
There are three main areas of development required for completion of this project:
Information Requirements – MySQL:
Your MySQL Server database should store all persistent data for your site, including:
Student Personal Information (see "student" database table)
Student Postgraduate Course Information (see "student_degree" and "student_comments"
database table)
University Staff Information (see "staff" database table)
Postgraduate Supervision Information (see "student_supervisor" database table)
Lookup Data Information (see "lu_access level", "lu_degree type" and "lu_thesis status" database
lookup tables
Database Entity Relationship Diagram:
Figure 1 shows an Entity Relationship Diagram. The relationship between entities are in "Crows Foot" notation.
Figure 1 ER Diagram
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 4 of 9
Database Assumptions:
Each postgraduate student degree is supervised by one or more staff members (mandatory
relationship between "student_supervision" and "staff" and DB tables)
Each staff member may supervise one or more postgraduate student degrees (optional
relationship between "staff" and "student_supervision" DB tables)
Each staff member has one and only one access level (mandatory relationship between "staff"
and "lu_access_level" DB tables)
Each access level may be associated with one or more staff members (optionally relationship
between "lu_access_level" and "staff" DB tables)
Each postgraduate student is associated with one or more postgraduate degree enrollments
(mandatory relationship between "student"and "student_degree" DB tables)
Each postgraduate degree enrolment is associated with one and only one postgraduate student
(mandatory relationship between "student_degree" and "student" DB tables)
Each postgraduate student degree may be associated with one or more staff member's (admin
only) comments (optional relationship between "staff" and "student_comment" DB tables)
Each student comment belongs to one and only one postgraduate degree enrollment (mandatory
relationship between "student_comment" and "student_degree" DB tables)
Each postgraduate degree enrollment is associated with one and only one thesis status
(mandatory relationship between "student_degree" and "lu_thesis_status" DB tables)
Each thesis status may be associated with one or more postgraduate degree enrollments
(optionally relationship between "lu_degree_status" and "postgraduate degree" DB tables)
Each postgraduate degree enrollment is associated with one and only one degree type
(mandatory relationship between "student_degree" and "lu_degree_type" DB tables)
Each degree type may be associated with one or more postgraduate degree enrollments
(optionally relationship between "lu_degree_type" and "postgraduate degree"DB tables)
Level of Access and Functional Requirements:
The application needs to be designed to allow University postgraduate students and staff to login by
using their login name and password. Depending on user type (student or staff) and access level (staff
user's only) the user will be able to view his/her information (postgraduate student), view student
information (supervisor) or administer the whole system (administrator). Level of access is described in
the database table called "lu_access_level". Each staff member (see database table called "staff") is
given either level of access 1 (denotes administrator) or level of access 2 (denotes supervisor).
Student's access level is not stored in the database because students do not have access level options.
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 5 of 9
Administrator:
The administrator is a superuser who is enabled to maintain the database. The administrator has the ability
(password protected) to add, delete and modify records. The following administration tasks are identified:
Login
Manage Students (View/Add/Edit/Delete)
Manage Staff (View/Add/Edit/Delete)
Manage Student Comments (View/Add/Edit/Delete)
Manage Supervision Info (View/Add/Edit/Delete)
Supervisor
The supervisor is enabled to check on the progress of their students. The supervisor has the ability
(password protected) to view their records. The following supervision tasks are identified:
Login.
View list of students that they supervise.
Click on student's ID link and see student information including degree information but not comments
(only for their own students - see student_supervisor table).
Postgraduate Student:
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:
Login
View their student information including degree information but not comments.
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 superuser.
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.
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 6 of 9
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.
Figure 2 Page Layout to meet minimum Functional Requirements
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 7 of 9
MySQL Data Requirements for the Test Case:
Your final database must meet the following data requirements in order to be tested and marked:
Default superuser Paul Smith (login psmith ) exists in the "staff" table with admin access level.
psmith user's information is as per original postgraduate.sql file (see postgraduate.sql - "staff"
table) - login: psmith, passwd: psmith100, fk_access_level: 1, etc
Two default supervising staff users exist in the "staff" table with supervisor access level–
John Waters (login: jwaters, passwd: john100 ) and Andrew Etrange (login: aetrange,
passwd: andrew100 )
Default student exists in the "student" table with student id 30102624 (login: 30102624, passwd:
simon100 ).
Default student (30102624) enrolled in "Master by Computing" on January 20, 2011 (for degree
type see original postgraduates.sql file - "lu_degree_type" table)
John Waters was principal supervisor for student 30102624 enrolled in "Master by Computing"
Andrew Etrange was associate supervisor for student 30102624 enrolled in "Master by Computing"
Default student (30102624) has completed "Master by Computing" on December 10, 2013 Degree
status for "Master by Computing" is set to "Completed" (see original postgraduates.sql file -
"lu_thesis_status" table) and Date Completed is set to December 10, 2013.
Default student (30102624) is currently enrolled in "Ph.D" (see original postgraduates.sql file -
"lu_degree_type" table). Date enrolled: September 20, 2015
John Waters is principal supervisor for student 30102624 enrolled in "Ph.D"
Default admin Paul Smith is associate supervisor for student 30102624 enrolled in "Ph.D"
Default admin Paul Smith made a comment (see "student_comment" table) about student
30102624 enrolled in "Ph.D". The comment text reads: "Student made significant progress this
semester"
All staff and student passwords are stored as text
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.
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 8 of 9
Submission
Each submission should come with a very detailed report1 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.
Feedback
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:
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:
http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism
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).
1
http://federation.edu.au/students/learning-and-study/online-help-with/study-skills-and-writing-guides
CRICOS Provider No. 00103D ITECH6401 2016-07 Page 9 of 9
Federation 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:
http://federation.edu.au/library/resources/referencing
You will be required to demonstrate your application – in lab sessions in week 11. All group members
are expected to attend this session. Only submitted assignments will be assessed. Each group should
have the latest version of their application installed and ready for demonstration on either a lab PC or
their own laptop.
Marking Criteria/Rubric
Report 10%
Programming 10%
Functional Requirements (lab demonstration) 10%
Total: 30%
Final Grade: /20%
Group Name
Total Marks (out of 30) Final Grade (out of 20)
Student ID Student Name
Table 1 Report (10%)
Task
Mark Obtained Mark
Cover Page provided with group name, student names and IDs and
executive summary
1
Instructions for installation 2
Details of problems faced and their solutions 4
Generic problem solving routine 3
Total out of 10
Page 10 of
9
CRICOS Provider No. 00103D ITECH6401 2016-07
Table 2 Program Code (10%)
Task
Mark Obtained Mark
EJB and Session Facades for each table 1
Appropriate Java technologies used to model the "controller" parts of
application 4
Appropriate Java technologies files used to model the "view" parts of
application. 4
The latest postgraduates.sql file imports without errors 1
Total out of 10
Table 3 Functional Requirements (lab demonstration) (10%)
Task Mark
Obtained Mark
All Functionality exists 8
All members are able to discuss and answer questions on the
application 2
Total out of 10