ITECH6401 Enterprise
Programming
Assignment 2 – 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 4, XXXXXXXXXX: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 internet
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 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.
Teacher
Course View
Teacher
Login
Student
Administrator
Student
Administrator
View
Administrator
View
Teacher Course
Details View
Edit Capacity
Upload/ Edit Marks
Course View
Student
Assessment
View
Enrol
Manage
Student
Manage
Enrolment
Manage
Teacher
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
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.
Submission:
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.
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).
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
Marking
Criteria/Rubric:
Report
25%
Programming
|
40%
|
Functional Requirements
(lab demonstration)
35%
Total: 100% Final
Grade: /20%
Group Name:
Student ID: Student name: Student ID: Student name: Student ID: Student
name:
Student ID:
Student name:
Table 1 Report (25%)
Task
Mark
Obtained Mark
Cover Page provided
with group name, student names and IDs and
executive
summary
|
3
|
|
Instructions for installation
|
7
|
|
Details of problems
faced and their solutions
|
8
|
|
Generic problem solving routine
|
7
|
|
Total out of 25
:
Table 2
Program Code (40%)
Task
Mark
Obtained Mark
EJB and Session Facades for each table
|
5
|
|
Appropriate Java
technologies
used to model the “controller” parts of
application
15
Appropriate Java
technologies files used to model the “view” parts of
application.
15
The latest yourdatabase.sql file imported without errors
|
5
|
|
Total out of 40:
Table 3 Functional Requirements (lab
demonstration) (35%)
Task
Mark
Obtained Mark
All Functionality exists
|
20
|
|
All members are
able to discuss
and answer questions on the
application
|
15
|
|
Total out of 35:
CRICOS Provider No.
00103D ITECH6401 Assig 1 Sem XXXXXXXXXXPage 7 of 6