FIT5042 S2 2020 Assignment Spec V1.1 Xiaoxiang Guan and teaching team
+-
WEB APPLICATION DEVELOPMENT
OVERVIEW:
1. Assignment Background and Description
FIT5042 Assignment comprises three deliverables: Design Report, Java EE web application, Research Report. These are all individual based deliverables.
Assume that you work for a world-wide company (AUSPrintings Pty Ltd) based in Australia. This company is a manufacturer of large printing machines. You are responsible to design and develop a (fictitious) Customer Management (CM) web application for the staff of the company that interact with the system to manage customer and customer contact information.
There are around 300 staff in the company. At least two types of users should be considered in your application: Admin and Normal User. These users are your company’s staff.
The CM web application should contain at least two major business components: Customer and Customer Contact. A Customer is an organisation or company which has purchased your company’s products (i.e. printing machine). A Customer can have zero, one or more Contacts. A Contact is a person who must belong to one and only one Customer.
For attributes and other requirements of Customer and Customer Contact, please see Section 3 for more details.
The rest of this specification is organised into two parts: 1) the business and technical requirements, and 2) the instructions on how you should approach this task and grading method used.
FIT5042 Assignment | Page 1 of 6
2. Business and technical requirements
The new Web Application must be able to meet the following Functional and Non- Functional Business requirements:
BUSINESS REQUIREMENT (A):
BR (A.1): Development Stack
The new Web Application must be developed using Java EE and built in Java DB (Derby).
BUSINESS REQUIREMENT (B):
BR (B.1): Visual Design
The new Web Application must have a consistent look and feel. A navigation bar (on each page) should provide quick links to other pages.
BUSINESS REQUIREMENT (C):
BR (C.1): System Users
The new Web Application must have at least two types of user (Admin and Normal User) with additional business rules defined for each in your Design Report. Some basic requirements of these types of user are specified later in this document.
BR (C.2): CRUD (Create, Update, Delete and View)
All types of user should have relevant CRUD features of data (see Section 3 for more details).
BR (C.3): Validations
The new Web Application must implement validations with minimum two types of validations.
BR (C.4): Database Table
The new Web Application must have Two or more tables linked with foreign keys, Persistence managed using persistence API. Use JPQL to retrieve data.
A variety of data types should be used, e.g. Integer, String, double, Date, Array, etc …
BR (C.5): Search Functions
The new Web Application must be able to search results of at least two tables, with headings of columns shown in results. A selection of columns should be returned (not all columns in table).
BR (C.6): Web Clients
Implemented in JavaServer Faces (JSF).
FIT5042 Assignment | Page 2 of 6
BUSINESS REQUIREMENT (D):
BR (D.1): Authentication
The new Web Application must have authentication mechanism to provide confidentiality (implemented using JAAS).
BR (D.2): Role based authentication
The new Web Application must have role-based authentication mechanism with minimum two roles to facilitate CRUD.
BR (D.3): CRUD (Create, Update, Delete and View)
All roles (of registered users) in Web Application should have relevant CRUD features of data (see Section 3 for more details).
BR (D.4): EJBs
EJBs should be used in Web Application to manage interaction between clients and database. Different examples of BOTH Criteria API and JPQL should be used for data retrieval.
BR (D.5): Additional Validations
The new Web Application must implement additional two types of validations, e.g. checking for Dates, emails, phone numbers, two passwords same when changing passwords etc.
BUSINESS REQUIREMENT (E):
BR (E.1): Combination Search
Search for data in tables using a combination of fields selected by user.
BR (E.2): Web Service
Illustrate the use of a RESTful Web Service in your application.
BR (E.3): JavaScript Frameworks / Ajax
Implement a business feature demonstrating a JavaScript Framework/Ajax etc.
BR (E.4): Inheritance Mapping
Demonstrate mapping of inheritance to database.
BR (E.5): Bean Validations
Also use Bean based validation (as well as other forms listed above).
Note: All users in the Java EE system should be added / registered by Admin. There is no need to implement a normal user registration feature (unless you want to for fun).
FIT5042 Assignment | Page 3 of 6
3. Instructions and Grading Method
To receive feedback on time, you must upload draft work in the EFolio.
In order to smoothly give feedback and track the progress of the assignment, a Git repository must be created with private visibility and shared with your own tutors with a role of maintainer. All projects are expected to be pushed to your Git repository and committed regularly with reasonable comments to indicate continuous development of the project. The repository should be named in the format of “FIT5042-Assignment-[Student Full Name]-[Student ID]”.
For each component out of Customer and Customer Contact, you must determine a few meaningful and reasonable attributes. The minimum number of attributes for each component are as follows.
Customer: 8 Contact: 6
A Customer must have an attribute which is the type of industry. This attribute must have one of the following values.
Bank
Building
Data Communication Education
Farm
Health
Mining
Publishing
A Customer can have zero, one or more Contacts. A Contact must belong to one and only one Customer.
A Customer must contain an address, and the information of an address will be stored as part of the Customer record the address refers to in the same table.
The following points are for C level only:
• Normal users must have CRUD features of their own data (created by themselves), including Customer and Customer Contact.
• An Admin must have CRUD features of all Customer and Customer Contact.
The following points are for D/HD levels only: All features of C level, plus:
• Normal users can change their own password.
• An Admin must also have CRUD features of normal users, and type of industry. An Admin must be able to assign a Customer to a user.
FIT5042 Assignment | Page 4 of 6
A stepped approach is mandated to implement the new JEE Web Application. Before you move on to implement a higher-level business requirement i.e. BR (A) towards BR(E), you will need to show your tutor your work for feedback first. The following table outlines grading overview:
Deliverables
Grade
Final Learning Summary from EFolio
Part of Assignment Portfolio
BR (A1) and BR (B1)
P → P++
BR (C1, C2, C3, C4, C5, C6)
C → C++
BR (D1, D2, D3, D4, D5)
D → D++
BR (E1, E2, E3, E4, E5)
HD → HD+
Research report
HD+ → HD++
Final Demonstration
Mandatory for D/HD
Please refer to the Design report and Research report templates (EFolio) in Moodle.
DEVELOPMENT HINTS (IN ADDITION TO LECTURE AND STUDIO MATERIALS)
• Log in Authentication should use JAAS SUBMISSION AND DEMONSTRATION
You will be given the opportunity to show your interim work to your tutor during the studio sessions or during the consultation times. This will give you an opportunity to fix issues and improve. You will receive feedback soon after Assignment in Week 5 (Credit level design), Week 7 (Credit level code) and Week 9 (D/HD level design and code). To receive feedback on time, please upload draft work in the EFolio.
The final assignment portfolio (Design Report, JEE web application, Research Report, Learning Summary) submission is due in Moodle at the end of Week 12.
Warning: there will be no extensions to the due date. Any late submission will incur the 10% per day penalty. It is strongly suggested that you submit the assignment well before the deadline, in case there are some unexpected complications on the day (e.g. interruptions to your home internet connection).
In FIT5042 All P/C demos should be completed in Week 12 or before. D/HD demos can be completed in Week 13.
PLAGIARISM
Cheating and plagiarism are viewed as serious offences. In cases where cheating has been confirmed, students have been severely penalised, from losing all marks
FIT5042 Assignment | Page 5 of 6
for an assignment, to facing disciplinary action at the Faculty level. Monash has several policies in relation to these offences and it is your responsibility to acquaint yourself with these.
Plagiarism (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism- policy.html)
FIT5042 Assignment | Page 6 of 6