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.
Milestones:
- By February 4 (Monday), decide your group and email us your group name.
- The phase is due February 18. 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.
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 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.
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.
What and When Do I hand in?
- On or before February 19th at 11:59pm (note: there has been a 24 hour extension) use the following page to turnin a .zip file that contains all of your project code plus a file named "README.txt" that contains the url of your web application. You should be able to find your .NET project code under My Documents -> Visual Studio Projects. If you don't find it here (you only see a .sln file), you can also find your code on the server at C:\Documents and Settings\[your_login]\VSWebCache\iisqlsrv. Please do not edit your project after you turn it in. We may need to look at the timestamps to verify timeliness, correctness, etc.