labs
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
labs [2007/11/08 06:47] – roumani | labs [2008/09/02 21:21] (current) – old revision restored roumani | ||
---|---|---|---|
Line 2: | Line 2: | ||
* **An eCommerce Site Backed by Web Services** | * **An eCommerce Site Backed by Web Services** | ||
- | * Due Date: <hi>Thu November 22</hi> | + | * Due Date: <hi>Wed Nov 26 by 5:00 pm</hi> |
* Team Size: min=2, max=3 students | * Team Size: min=2, max=3 students | ||
* Technological Platform to be used: JEE | * Technological Platform to be used: JEE | ||
Line 17: | Line 17: | ||
===== Analysis of Part 1 (B2C) ===== | ===== Analysis of Part 1 (B2C) ===== | ||
+ | |||
==== Use Case: A client makes a fresh visit ==== | ==== Use Case: A client makes a fresh visit ==== | ||
- | The relevant URL is '' | + | The relevant URL is '' |
Line 25: | Line 26: | ||
The Cart servlet must react by displaying the content of the shopping cart. The display should be tabular with one item per row. The table columns display the number, name, and price of each item in a read-only fashion. In addition, there should be a writable column for the desired quantity and a read-only one for the extended price. The display should also indicate a total, PST and GST (based on Ontario), a shipping cost ($5 that is waived for orders of $100 or more before taxes), and a grand total. The page has three buttons: Update (to refresh the calculated fields after editing a quantity), Continue Shopping, and Checkout. Notice that if the entered quantity of an item is zero then it should be removed from the cart. You need to also handle the case of negative or non-numeric quantities. | The Cart servlet must react by displaying the content of the shopping cart. The display should be tabular with one item per row. The table columns display the number, name, and price of each item in a read-only fashion. In addition, there should be a writable column for the desired quantity and a read-only one for the extended price. The display should also indicate a total, PST and GST (based on Ontario), a shipping cost ($5 that is waived for orders of $100 or more before taxes), and a grand total. The page has three buttons: Update (to refresh the calculated fields after editing a quantity), Continue Shopping, and Checkout. Notice that if the entered quantity of an item is zero then it should be removed from the cart. You need to also handle the case of negative or non-numeric quantities. | ||
+ | |||
+ | |||
+ | ==== Use Case: A client logs in ==== | ||
+ | Upon checkout or at anytime, a login form (normally transmitted over https) is served prompting for the client name, shipping address, and payment details. We are not going to switch to https in this project. Instead, we will continue to use http and we will assume that all clients have already established accounts with the Company, i.e. each client has a profile that contains the shipping address and payment preferences. Hence, the login form prompts only for the client' | ||
==== Use Case: A client checks out ==== | ==== Use Case: A client checks out ==== | ||
- | Upon checkout, the servlet | + | Upon checkout, the controller |
==== Use Case: A client visits the URL of a P/O ==== | ==== Use Case: A client visits the URL of a P/O ==== | ||
- | Upon confirmation of a P/O, the system stores its content in an XML file based on the PO.xsd schema. The name of the P/O file is derived from the account number of the client and the P/O number (a per-client serial number that starts at 1). For example, the URL of the 3rd P/O of account number 1234B555, is: http:// | + | Upon confirmation of a P/O, the system stores its content in an XML file based on the PO.xsd schema. The name of the P/O file is derived from the account number of the client and the P/O number (a per-client serial number that starts at 1). For example, the the 3rd P/O of account number 1234B555, is: po1234B55503.xml. Since this is an XML file, it needs to be transformed to XHTML before the client can see it. Note that this use case does not involve authentication. |
In addition to the above use cases, it is recommended that your site supports the following uses: the ability to view the shopping cart from the catalog screen (i.e. without having to add an item); the ability to checkout from the catalog screen; the ability to cancel an order from the login screen. | In addition to the above use cases, it is recommended that your site supports the following uses: the ability to view the shopping cart from the catalog screen (i.e. without having to add an item); the ability to checkout from the catalog screen; the ability to cancel an order from the login screen. | ||
Line 62: | Line 68: | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Deliverables ===== | ===== Deliverables ===== | ||
Line 76: | Line 89: | ||
Create a war file of your webapp and upload it to the project' | Create a war file of your webapp and upload it to the project' | ||
- | The report is meant to describe your execution of the project to someone who is familiar with the project, e.g. a fellow student who is also executing the same project and writing a similar report. Hence, the report should focus on your own experience and efforts, i.e. what you actually did, rather than on general description. It is expected to be very brief, to the point, and made up of at most five typed pages (excluding | + | The report is meant to describe your execution of the project to someone who is familiar with the project, e.g. a fellow student who is also executing the same project and writing a similar report. Hence, the report should focus on your own experience and efforts, i.e. what you actually did, rather than on general description. It is expected to be very brief, to the point, and made up of //at most// ten pages of typed text and diagrams |
- | + | ||
- | - Design | + | |
- | During the execution of this project, several design decisions had to be made, e.g. file formats, algorithms, representations, | + | |
- | + | ||
- | - Implementation | + | |
- | Indicate here how data is represented and any java classes that are used in addition to the main servlets. Indicate also whether the project (as submitted) is fully functional or not. If it is, indicate the type of testing that was done. If it is not, indicate clearly any parts of it that are functional. If certain parts could not be implemented, | + | |
- | + | ||
- | - The Team | + | |
- | Provide the cs# and name of each member of the team and indicate the contact person in case there are questions. Describe how the project was executed by the team, e.g. who did what. | + | |
- | - The XML Order | + | |
- | Include | + | - Implementation: |
+ | - The Team: Provide the cs# and name of each member of the team and indicate the contact person in case there are questions. It is essential that you explain how the work was divided and how was communication and consistency maintained. | ||
+ | - Printouts: Include printouts | ||
+ | - The Source Code: Provide listing of all programs (including jspx, tags, xsl, web.xml, etc.). Partition this section into subsections, | ||
- | - The Source Code | ||
- | | ||
===== Evaluation ===== | ===== Evaluation ===== | ||
- | The project will be evaluated based primarily (80%) on what your team achieved | + | The project will be evaluated based primarily (80%) on meeting the specs (these include system functionality and report |
labs.1194504475.txt.gz · Last modified: 2007/11/08 06:47 (external edit)