WEB APPLICATION DEVELOPMENT
OVERVIEW:
- Assignment Background and Description FIT5042 Assignment comprises three deliverables: Design Report, Java EE web
application, Research Report. These are all individual based deliverables.
You are required to build a web-based Java prototype of a Banking Enterprise Application
with Java enterprise technologies.
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 how the
grading method is used.
- 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).
If you try to use other techniques introduced or to be introduced in this unit, you will need
to discuss with your tutor to get approval.
BR (A.2): Entity class
The new Web Application must have at least one entity class for building banking related
information. There must be at least one table in the database for holding banking data.
BR (A.3): View data
The new Web Application must be able to display the banking information.
FIT5042 S2 2021 Assignment Spec V1.0
Xiaoxiang Guan, Elliot He and teaching team
FIT5042 Assignment | Page 2 of 5
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.0): Credit Level Design Report
Completed Credit level design report.
BR (C.1): System Users
The new Web Application must have at least two types of user (Bank Worker and Public
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): Banking Transactions
A Public User can use Banking transactions with the system, e.g transferring funds
between accounts (When finished using the Banking transaction this information must be
stored).
BR (C.3): Validations
The new Web Application must implement validations with minimum two types of
validations.
BR (C.4): Search Functions
The Web Application must be able to search results of at least two tables.
All users can search for a Banking transaction by its Type, Name, and No, etc.
Search results are displayed in tabular format with heading. Only Banking transaction
Name, Banking transaction No and amount of funds will be shown.
BR (C.5): 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.6): Web Clients and Business Rules
Implemented in JavaServer Faces (JSF) and Enterprise JavaBeans (EJBs).
BUSINESS REQUIREMENT (D):
BR (D.0): Distinction Level Design Report
Completed Distinction level design report.
FIT5042 Assignment | Page 3 of 5
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 banking transactions / CRUD.
BR (D.3): CRUD (Create, Update, Delete and View)
A Bank Worker can at least View/Add/Update/Delete (CRUD) Public Users.
Public users can make transactions. Public users can only view their own banking
transactions. Bank workers can view all the banking transactions.
On top of the above (C.4), add a function to view the full details of a banking transaction from
the search result.
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): Entity Manager
Make use of container managed entity manager.
BR (D.6): Additional Validations
The new Web Application must implement additional two types of validations, e.g.
checking for Dates, emails, two passwords same when changing passwords etc.
BUSINESS REQUIREMENT (E):
BR (E.0): High Distinction Level Design Report
Completed High Distinction level design report.
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).
FIT5042 Assignment | Page 4 of 5
Note: All users in the Java EE system should be added / registered manually into the
database. There is no need to implement a registration feature (unless you want to for
fun).
- Instructions and Grading Method
Appropriate and sufficient data validations and corresponding error messages are to be
implemented.
For every submission, all source code must conform to the Java coding standard and must
be well commented.
To receive feedback on time, you must upload draft work in Gitlab and Moodle.
All projects are expected to be pushed to your Gitlab repository and committed regularly
with reasonable comments to indicate continuous development of the project.
For each entity out of the banking application, you must determine a few meaningful and
reasonable attributes.
A bank account must contain an address attribute, and the information of an address will
be stored as part of the bank account record the address refers to in the same table.
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 in Moodle Part of Assignment Portfolio
BR (A1, A2, A3) and BR (B1) P → P++
BR (C0, C1, C2, C3, C4, C5, C6) C → C++
BR (D0, D1, D2, D3, D4, D5, D6) D → D++
BR (E0, 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 in Moodle.
DEVELOPMENT HINTS (IN ADDITION TO LECTURE AND LAB MATERIALS)
? Log in Authentication should use JAAS.
FIT5042 Assignment | Page 5 of 5
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 your work. You will receive feedback on Moodle 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 Moodle and the Gitlab
repository prior to your tutorial in the respective week.
The final assignment portfolio (Design Report, JEE web application, Research
Report, Learning Summary) submission is due in Moodle and Gitlab at the end of
Week 12.
Warning: there will be no extensions to the due date in normal circumstances. An
extension may be granted in special circumstances as per the faculty policy.
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).