Secure Checkout
In the ninth iteration, we had to adjust the project plan to take into account a new requirement that led to a slight redesign of the online store. So instead of dealing only with secure payment, we now must also implement all the forms for the checkout procedure. Now that the shopping cart functionality is in place, the overall goal for this iteration is the completion of customer orders, which involves a number of tasks: |
- Creating a customer database: Each customer's personal profile needs to be stored so that returning customers do not have to reenter all their information.
- Authentication of online customers: Shipping and payment information may be displayed only after a customer is authenticated by a secret password.
- Entering or updating shipping and payment information: New users must enter their shipping and payment information to complete the order. Returning customers should be able to update this information when they place a new order.
- Shipping and tax computation: After the shipping information is entered, we need to compute local sales tax and shipping cost.
- Order summary for order processing: After the order has been completed it must be summarized for order processing.
Table 12.1 shows the requirement keys that will be addressed during this tenth iteration.
Requirement |
Type |
Summary |
---|---|---|
F:customer_login |
Functional |
Returning customers shall be able to use their previous shipping and payment information by providing e-mail and a password. |
F:order_checkout |
Functional |
At any point while browsing through the product catalog, customers shall be able to proceed to checkout and finalize the order. |
F:checkout_shipping |
Functional |
During checkout, shipping information needs to be collected. |
C:checkout_shipping_cont |
Constraint |
Shipping is possible to U.S. customers only. |
F:checkout_payment |
Functional |
During checkout, payment information needs to be collected. |
C:checkout_payment_method |
Constraint |
Payment is possible by credit or debit card only. A separate billing address shall not be collected (must match shipping address). |
F:checkout_summarize |
Functional |
For each completed order, the entire order information shall be transferred to order processing. |
C:online_shop_codebehind |
Constraint |
Web forms shall be created using the Visual Studio Web Form wizard and follow separation of code and design (code behind). |