Project Phase II
Goal:
In this phase you form groups of 3 students, one from each domain of
Phase I. Together, each group forms an E-Business
company. Your company will provide a web shopping interface to
clients, and a decision support workbench to managers in the company.
Through this project, you will learn:
- How to implement applications that use several databases. The
operations on the databases may or may not be simultaneous
- How to handle queries that are across different databases
- How to coordinate with project group members and implement new
functions based on previous work
- Most importantly, you will face the same data management
problems often seen in the Real World.
About Grouping:
- You will form your own groups of 3, with one student from each
domain of phase1. Email us
your group name and members by Oct 28.
- If you still don't have a group by Oct 28, we will assign some
groups randomly.
- Your group project spaces will be up by Oct 29... if you have a
group.
- There're currently 49 students enrolled in this class, that means
there would be 1 extra student.... hence we plan to allow 2 groups to
have 2 students, and those 2 groups will receive a small amount of
extra credit (according to the prof), but they would have to design and
implement the database for the missing domain as well.
Milestones:
- By Oct 28, decide your group and email us your group
name.
- The phase is due November 17. You will email us the URLs of your
web-shopping webpage and your query webpage.
Details:
Web-Shopping
Most of you have web-shopping experiences, so it's easy to
understand what needs to be done. In this part, you'll
generate your own web-shopping site.
The details of web shopping includes:
- Browsing: A customer can browse books and music CDs in
store. The browsing methods are either (1) find by title, (2) find by
author or musician, and (3) view all products. Your work in Phase 1
should have prepared you well for this.
- Log-in: Customers can register for customer accounts.
During registration, the customer provides their basic information and
contact details. Associated with each account, there is a shopping
cart. Afterwards, the customer needs to log in using that account for
any transaction. He can also manage his account and change his
information.
- Shopping Cart Arrangement: A customer can add certain
products to the shopping cart, change the quantity of a chosen book or
music CD in the cart, and delete items in the shopping cart. Once the
customer has chosen to buy, the entire shopping cart is shipped. You
don't have to maintain more than one active shopping cart for customer.
- Transaction: A customer can make a transaction of all the
items in his/her shopping cart. There are several sub-tasks for each
transaction:
- The customer chooses shipping company and shipping method.
When making his choices, he can browse information on different
shipping vendors and shipping methods, as supported by Domain III,
Phase I. Besides, he fills in delivery date and special delivery
instructions, if any. If the goods is delivered to another customer, he
needs to provide the delivery address and contact information about
that customer. You can assume that all the products in the cart are
shipped to the same location.
- A warehouse from which the prodcuts are shipped are assigned
automatically. Products are shipped from a warehouse which contains
enough quantities of bought items. If no single warehouse can provide
that quantity of items, it can be shipped from several warehouses. When
considering different warehouses, we give higher priority to the
warehouses that are in the same city as the delivery address.
- The price for purchased items, discounts, shipping and tax
are provided and the customer verifies them. We assume the same local
tax rate for different cities.
- The customer chooses a payment method. If she chooses to pay
by credit card, she needs to provide the credit card information. Here
we omit the authentication of credit cards.
- After the transaction, the shopping cart is reset to empty
- Delivery Status Tracing: After making a transaction, the
customer can trace the delivery status of each item in his invoice by
providing the invoice number. Besides, he can check his shopping
history.
Management Information Query
The second part of Phase II is to built a tool that helps the
managers in the company get certain information
for further business analysis and decision making.
You should provide a simple front-end to answer the following 3
queries.
Even though you are asked to provide answers only to the three queries
below, you should try to figure out a general solution for the problem
of querying across multiple databases. So when we give
you some other queries at the end of Phase II, you should be able to
implement
the interfaces and answer the queries quickly. NOTE: you only have to
consider select-project-join queries possibly with grouping and
aggregation.
- For each book or CD, give the sale amount made so far.
- For each city, give the shipping method and the shipping vendor
that are most preferred for delivery addresses in that city.
- For each city, give the number of items shipped from the
warehouses in that city.
Rules and Restrictions
You should implement web-shopping based on the 3 separate databases
for the
3 domains.
- You may need to generate several new tables in appropriate
databases.
- You may NOT create new
databases, but you can (actually must) create a database for the
missing domain if you're in a group of 2.
- You need to ensure the consistency of data in different databases.
- Considering the huge cost of schema structure change and table
duplication, you are strongly advised to work on current databases you
created for Phase I. If you feel that it's necessary to make
modifications to existing schemas, you need to write a petition to us, as you need to do in
real life. The petition needs to specify the change you want to make to
the schema, the drawbacks of the old design, the benefits of the new
version, the expected cost of the change, and the time needed for
making the change.
- You are required to check
for errors, exceptions and handle them in a proper way (e.g. display
error messages when necessary)
What and When Do I hand in?
- On or before November 17, throw allll your files into the
"turnin" folder under your project space. Make sure that your project can be viewed
through
http://iisqlsrv/phase2/<your_group_folder>/turnin/<startingPage.aspx>,
so I don't need to create a VS project in order to view and grade it.
- Also, it would be better if you name your starting page as
"index.aspx"...
- Points off (catastrophically) if
I can't run your webapp on iisqlsrv this time