Sei sulla pagina 1di 3

Advance Java Assignments: ONLINE SHOPPING


The purpose of the assignments is to provide a practical opportunity to apply the

theoretical concepts, ideas and knowledge within the scope of this subject. The
assignment focus on RMI technology, using JDBC to support data persistence.
In general terms the assignment goal is to develop an e-Commerce type system
in Java To fulfill this goal the assignment must have a significant database and
involve transactions that simulate financial operations.


The kind of intended system is the one in which registered and authenticated
users can access product lists and make purchases via the Internet. The internet
is wide open for all to access, so a business just cannot afford to make its
business critical data up there on your business server for anyone to browse.
Quite often there are requirements to identify users of specific resources in order
to apply specific business rules. As internet sites are progressively reflecting the
complexity of real business environments, the online applications have to be able
to perform operations in which users are known (authenticated) by the system.
Once the user is known, a higher level of facility can be applied to content
through access control of data resources and all user actions can be logged for
security reasons.

The task is to build a system that will enable registered members to order some
kind of product (you may choose the product line) by creating an online store
based on ease of use and continuous availability. By giving the users the
opportunity to become members of our virtual shop, the system should give them
certain privileges that will make their online experience better. The system should
create for each member a personal profile including preferences in terms of
payment options, delivery address, product price ranges or product types. By
giving the member a sense of easiness and customization, the system should
encourage the member to change their habits and make shopping online a part
of their everyday experience.

The business processes that need to be implemented are as follows:

1. Registration. New users are given the opportunity to become members of

the store by filling out an online form with personal information and
selecting preferences.
2. Login. Registered users can login and access and modify their online
3. Catalog Browsing. All users can examine the product line, but only
logged in users can see prices.
4. Selection. Logged in users can select products and add them to the
shopping cart.
5. Checkout. Logged in users can buy their selection and have their order

The database should be as follows:

USER: Username, Password, Given Name, Family Name, Street, City, Country,
Post code, Email address, Other customization information (e.g. category of
products listed by default on login). At registration, the user will need to create a
username that is unique to the system; the system will need to verify that the
username is unique and have a dialog to enforce a unique username. At
registration, the user should also choose the password.

PRODUCT: Name, Picture, Description, Price, Category, ID (need not be visible

to the user, but should be unique in the database). It must be assumed that the
number of products can exceed what could be presented within one screen so
that either a paging mechanism or scrollable list will be necessary in order to
enable the users to view all the products. The products could be presented
densely in a list with a single line per product or alternatively more attractively
with a description next to each item, perhaps only allowing a few items to be
presented per page. The system must provide one of these ways – it is optional
to provide both. The purpose of the category is to enable the system to subdivide
their product lists and also to give the system a way of giving customization to
users by giving them a default choice as to which category of products will be
displayed by default when they log in.

ORDER: When the users are selecting products for their shopping cart, nothing
needs to be stored in the database. Once they confirm their order and have
made payment, the details of the products ordered – the Name, ID, Price,
Quantity, Total price and Order date and possibly other information need to be
stored into the database. Also, each order must be uniquely identifiable in the
system. All purchases must be made by credit card only and include the credit
card number, expiry date and the amount being paid.

LOG: A record of each transaction in date time order must be kept. This must
include sufficient information to identify every registration, every login and logout
and every purchase made including the amount of the purchase. The primary
purpose of the log is for security and error tracking and recovery should the
system fail.

If the data is being stored in a relational database, the database tables must be
normalized to at least 3NF. Given that you are coding the system in Java, the
data stored in tables must be mapped into good object-oriented design objects
within you program.
Use RMI and JDBC to develop a threaded, distributed application . Allow the
client-side to be both an application and an applet. Modify security so that the
applets can be loaded via a web server to access a remote database. Must have
3-tier architecture.
This software must initially be developed to run on Windows 2000, execute with
jdk1.3.1 . Databases allowed are Microsoft SQL Server.

Software that has been developed using an integrated development environment

such as Visual Café (any version) or JBuilder must be able to run independently
of these environments.

All files must be compressed into a single zip file. Source code should be
properly commented and organized. Only documentation needed is printed notes
explaining how to use the software, a summary of the features included and a
bug list indicating what works and what doesn’t..