Developing Enterprise Systems

The purpose of assessment is to assess students on the following Learning Outcomes:

LO1: Apply best practices to design application components and business objects by  analyzing the business needs and adopting software engineering best practices. 

LO2: Structure Web Tier & Application Components by identifying the most appropriate  structural pattern. 

LO3: Implement data access/persistence mechanisms including implementing enterprise grade transactions in traditional as well as non-SQL data environments. 

LO4: Carry out research on emerging tools and use expert knowledge gained to choose the  right developmental strategy and tools to implement enterprise solutions without  compromising prudent design principles. 

LO5: Synthesize complex enterprise business and operational needs to develop robust,  reliable and secure applications in a chosen implementation platform such as spring, jsf etc. 

This is a group assessment. In this assessment, you are required to develop a J2EE project with  MVC architecture using NetBeans environment and MySQL database component. The aim of  the project is to enhance student’s skills by applying their theoretical knowledge to develop enterprise application using J2EE. The students are requested to use J2EE specifications and  techniques including session management, Custom tags, Enterprise Java Beans, Java Database  Connectivity (JDBC) and JPA (Java Persistence API) in the given project. 

Project Description 

The project is to develop a small-scale enterprise application system of your choice. The  application can have basic/similar functionalities as You must  implement all the features and functionalities indicated in sub-sections below. You may explore  further additional features to score higher marks. This information is detailed enough for you to  complete the project. However, you will need to determine any unspecified details on your own. 

Project Tasks 

  1. Proposal – Due in week 4 

The project proposal needs to be submitted in week 4 along with the details of the group  members involved in it. The group members should not exceed the count of four. The  project proposal should contain a B2C (Business to Consumer) online store  company/organization name with details of the goods to be sold by it. The student must provide clear indication of the organization and the online goods they propose to work on  in the proposal.  

The student needs to implement the following functionalities: – 

(A) User Authentication, login and logout 

The component authenticates the user before the access to the online store. The  interface needs to be professional with appropriate logo, header and footers. The  system needs to have more than one type of user e.g., administrator and customers  (it may include more). It allows a new user to register into the system. A new user  registration interface with input fields may include email, full name, password, re typed password and contact number (optional). Required client and server-side scripts for field validation needs to be provided. A login interface is must for the  registered user to login to the system with the email address/username and a  password. The inputted email address and password needs to be checked against the database. Otherwise, login failure message will be displayed. The system  needs to have a logout button that redirects to the login page and clears the  resource in use. As the user logs in, it displays the index page. This page can be  used to add, update or delete products. The system needs to have customized  interface for each user with their functionalities. 

(B) Product Maintenance 

A series of pages needs to be created that allows a user to add, update or delete a  product that is available for a particular category in the system. The  

administrator/vendors can enter new product categories and add list of products  with their details within a category. The category and product details may include  name, description, image, cost, quantity and any special features about the  product. The information of the goods for the online store is stored in MySQL  database. An interface to update/delete the products should be provided. The  stock of the product based on the purchase/sale needs to be updated automatically.  

(C) Search product and checkout screen 

The registered customer may want to search for a product based on the category,  or name of the product. A search functionality that displays a detailed description  with an image(s) of the product needs to be provided. Based on the search, the  customer may want to buy the goods online. They can buy product(s) of different  category and add them in the shopping cart. Further, functionality may be added  to the shopping cart: adding products, listing products and empty cart. A checkout  page must display the selected product by the customer to purchase. The  purchased product quantity needs to be updated in the database accordingly.  

  1. Database Design – Due in week 7 

You will be designing an efficient and useful database design to store the information needed  for the proposed system.  

A well-structure database:

  1. List all the entities with their attributes including the datatype to store the information  for the given system. The nonduplicate entities gets converted into table with  attributes as fields within the given database. 
  2. Identify the attribute(s) that will serve as a primary/foreign key for each table.  Attributes chosen as primary key should be unique, unchanging and never defined as  NULL/empty. 
  3. Create relationships between the given tables. Each defined entity has a relationship  with every other one (one-to-one, one-to-many, many-to-many, mandatory etc.)
Deliverables Description Due week
Proposal document Part 1 (10%) The proposal is a document to be uploaded on Moodle that contains the B2C company, products with project details of your choice to work on. The group details need to be included in the document and submitted in LMS. Week 4
Database and UI design Part 2 (20%) User interface of the project using HTML/CSS/JSP needs to  be demonstrated and documented. Database model with the  demonstration in MySQL to the lecturer. The database and UI  design need to be submitted in LMS. Week 7
Demonstration, Project Code with report Part 3 (70%) The J2EE project including the required functionalities needs to be demonstrated to the lecturer. The project code with the report needs to be submitted in LMS. Week 12

Important Note: All the components that include database connectivity needs to be  implemented using JDBC and JPA. However, implementation of both the techniques in a  single module is not mandatory in the project. This means the student may choose to  implement JDBC/JPA in a module. But at least one instance of both is necessary. 

Code related Guidelines 

1.) Your J2EE application should include the following: 

  • The code should have a consistent, professional and well-organized appearance. 
  • Carefully chosen, meaningful identifier names 
  • Code is well organized: clear, simple, & DRY (Don’t repeat Yourself)
  • Thoughtful comments, where needed, expressed in concise, precise English. e. Code should compile without errors 

2.) The developed system takes input and handles the error in friendly manner.

3.) Connects to given database operating the basic CRUD operations following the proposed  data model in week 4.  

4.) Your project must adhere to MVC architecture with implementation guidelines including  modularity, reusability, extensibility, maintainability and adaptability. 

5.) You can find all the required software installations freely at following locations.

Submission Guidelines

  • Follow the links in Moodle to upload your report on or before the deadline. The report  must be submitted on the LMS in the respective link i.e., MITS5502 Project – (Melbourne/Sydney).  
  • The J2EE application along with the database queries developed must be submitted in a  zip folder on the LMS in the available link. The zip folder should include: o A document that consists of introduction, requirements, proposed database model  with the attributes, screen shots and output with references. 
  1. The NetBeans project folder with all the source codes (JSP, html, .java),  configuration files, document containing database model and the database (.sql)  file. 
  2. A readme.txt file, which include your information.
  3. Follow the links in Moodle to upload your answer on or before the deadline. Late penalty  applies on late submission, 10% per day would be deducted. 
  4. Incidence of plagiarism will be penalized.