FIT5042 Assignment | Page 1 of 5 +- WEB APPLICATION DEVELOPMENT OVERVIEW: 1. Assignment Background and Description </br>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. 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). 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). 3. 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). All P/C/D demos should be completed in Week 12 or before. The details of arrangement for HD level interviews will be released on Moodle. 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 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)
欢迎咨询51作业君