The project that you will be working on in this course is an online shopping system for Books.
In part 1 you will be creating the administration part of the system that allows the shop staff to add new categories and books to the system.
In part 2 you will be creating the web based user interface that the customers will use to purchase books from the shop.
You will be working on the project throughout the entire course. Each week there will be a project task that is related to the topic covered in the lab that week. By completing each project task each week you will eventually end up with a complete project.
We strongly recommend that you keep on top of the project tasks and don’t fall behind. This is not a trivial project, and you will not be able to leave it until the last minute and complete it.
The requirements analysis identified eight use cases that need to be implemented in this phase of the project:
We have already performed the analysis and design phase of the development. The following is some of the design documentation that describes the system.
The following are screenshots of the high fidelity prototype:
The Main Menu. This could be a button based menu (as shown) or a standard pull down menu with the company’s logo in the centre of the frame.
The books category editor.
Finding existing categories. This frame is shown when the staff member clicks the “Find” button in the Category Editor.
Deleting a book category. This is shown when a staff member selects a category and clicks the “Delete” button.
Editing an existing category. This is shown when the staff member selects a category and clicks the “Edit” button. The selected category will be loaded into the Category Editor frame so that its details can be edited.
The books editor. Book Categories that are in the system are displayed in a drop down list (JComboBox). The staff member chooses the category that the product they are entering belongs to.
Finding existing products. This frame is shown when the staff member clicks the “Find” button in the Product Editor.
Deleting a product. This is shown when a staff member selects a product and clicks the “Delete” button.
Editing an existing product. This is shown when the staff member selects a product and clicks the “Edit” button. The selected category will be loaded into the Product Editor frame so that its details can be edited.
NOTE: The final implementation of this system doesn’t have to be identical to these screen shots, but should have similar functionality.
The system should be separated into four packages:
The architecture for this system is a logical 3-tier system (as opposed to a physical 3tier system where each tier is separated by a network):
The 3 tiers
The presentation tier provides the user interfaces, the business tier provides the domain objects and the classes that manage them (the data access objects), and the persistent storage tier which in the case of this project is a database provided by a DBMS called MySQL.
Using this architecture gives us better control over the dependencies between the different packages:
The dependencies between the packages.
(URL to modify the above UML http://yuml.me/43afef56)
Class Diagram of Domain Model
Book - Contains information about a product that is offered for sale at the shop. Category - Used to group related or similar products to make it easier for customers to find a particular product.
Customer - Contains the account details for a customer of the shop.
Order - Contains information about a single transaction made at the shop.
OrderItem - Represents how much of a single product was purchased in an order.
ShoppingCart - Used to keep track of which products a customer has selected while they are browsing the web site. Once the customer is finished browsing they will “check out” the shopping cart which will create an order using the contents of the shopping cart.
Book, Category, Order, OrderItem, and Customer objects will all be stored in the database. ShoppingCart objects are only temporary, so are not going to be stored.
For this version of the system you are required to:
In this phase you are adding a dynamic web site to the system that will allow your customers to browse and purchase the products that have been entered into the database.
You will be using a web framework using JSP and Servlets 2.1 Use cases for the web site:
Assignment Writing Help
Engineering Assignment Services
Do My Assignment Help
Write My Essay Services