Appendix D. Order a Product from a Catalog

Anoto created a technology involving special paper and pens that has very interesting applications. It gives paper the flexibility and capabilities of electronic systems and closes the gap between the ease of use of paper and the processing capabilities of computers. Briefly, the technology works like this: Paper has a near-invisible pattern printed on it that identifies the "application" the paper is for, and uniquely addresses each area of the paper sheet. The pen contains a tiny video camera that reads the pattern on the paper, allowing it to record what is written, and where. Many applications, ranging from medical charts to day planners, have been proposed for this technology.

For this example, we write a high-level set of use cases to define an application that uses the Anoto system. This will demonstrate use cases that have system actors, and how use cases are a tool for exploring a new system. The application is an enhancement to a catalog ordering system. The premise is to employ the Anoto technology to make it simple for existing customers to order from a catalog. To achieve this, we plan to print the product catalog on Anoto patterned paper and mail our catalog to our existing customers. Of course, these customers will have to own an Anoto capable pen, but since these have been released by companies such as Logitech and Sony-Erricson, we feel justified in the risk of planning our marketing campaign (which includes specifying the software) and determining the feasibility of our idea before the technology is widely adapted .

Each page in the catalog will be printed on top of the unique pattern that we will license from Anoto. Except for this near-invisible pattern, the catalog will look exactly like our existing catalog ”each page shows pictures, specifications, and prices for a variety of merchandise. Until now, we have given consumers three ways to purchase our goods: mail, telephone, and Web. Often, customers will find articles in a paper catalog and then visit our Web site to order them. Since much of our business is impulsive ordering by repeat customers, we feel that by simplifying the steps a customer would take to complete a purchase after he has seen something interesting in the catalog, we can increase our sales. The addition of the Anoto pen will give the customer the ability to buy a product by marking the catalog entry for the item. Each product will have a "Buy Now" box printed near the product's price. The shopper only has to tick this box with an Anoto pen, and he will have the product delivered to his home.

We write up our initial understanding of the requirements as a use case description.

Figure D.1. Order Product from Catalog

graphics/dfig01.gif

Use Case D.1 Order Product from Catalog

Use Case Name :

Order Product from Catalog

Description:

A customer orders a product from our catalog by making a tick mark in the "Buy Now" box next to a catalog item.

Actors:

  • Customer ” An existing consumer to whom we ship our catalog, and who has an Anoto-enabled catalog

  • Order Fulfillment A system that processes and ships inventory

Preconditions:

  • The customer has requested the Anoto-enabled version of our catalog.

  • The customer has an Anoto-enabled pen.

Triggers:

The customer has found an item that he wants to purchase from our catalog.

Basic Course of Events:

  1. The customer checks the "Buy Now" box in the catalog.

  2. The order fulfillment system receives the product, quantity, and customer identity.

Exceptions:

None

Postconditions:

  • The Fulfill Order use case is invoked.

  • The customer has placed a product order.

Use Case D.2 Fulfill Order

Use Case Name:

Fulfill Order

Description:

A customer placed an order via the "Order Item from Catalog" use case; the system identifies the product and the customer account and prepares the order for delivery and invoicing .

Actors:

  • Order Product from Catalog use case

  • Order Fulfillment ” an existing system used for telephone and Web sales

Triggers:

A customer used an Anoto pen to order a product from the catalog.

Preconditions:

None

Basic Course of Events:

  1. Identify the item for purchase by referencing the data provided by the Order Product from the Catalog user case.

  2. Check that there is inventory of the item available.

  3. Look up the customer's record by referencing the identity provided by the Pen.

  4. Reduce the inventory to reflect the order.

  5. Invoke the Deliver Order use case. This will debit the customer's credit card and ship the product.

Exceptions:

None

Postconditions:

The order is marked as suspended or fulfilled.

Our next step is to add detail to these use cases and to add an additional actor ”a system actor that we call Pen. This use case represents the system and processing present in an Anoto pen used by a customer, and the overall connectivity used by the Pen to access servers and the Internet, including the Anoto service, which identifies the application from the paper and routes information from the pen to the registered application owner. Note that we do not have to open the "black box" of Anoto; we only concern ourselves with the details necessary for us to be consumers of this technology. With that in mind, we expand our use cases to get a better idea of the feasibility of our idea.

Figure D.2. Order Product from Catalog ”Enhanced

graphics/dfig02.gif

Use Case D.3 Order Product from Catalog

Use Case Name:

Order Product from Catalog

Description:

A customer orders a product from our catalog by making a tick mark in the "Buy Now" box next to a catalog item.

Actors:

  • Customer ” An existing consumer to whom we ship our catalog, and who has requested the Anoto-enabled catalog

  • Order Fulfillment ” Our company's system that processes and ships inventory

Preconditions:

  • The customer has requested the Anoto-enabled version of our catalog.

  • The customer has an Anoto-enabled pen.

Triggers:

The customer has found an item that he wants to purchase from our catalog.

Basic Course of Events:

  1. The customer checks the "Buy now" box in the catalog.

  2. The Pen identifies the paper application ”in this case our catalog ”identifies the location on the page, and identifies that the "Buy Now" box has been checked.

  3. The Pen connects with the Anoto servers and passes the application identified.

  4. Anoto responds with an Internet address for our catalog application.

  5. The Pen sends the customer ID and the page location to our order fulfillment center.

Exceptions:

2. and 3. If the Pen is unable to make a connection, the Pen displays a status of "Error." Note that this is specific to the Pen's implementation and could be an audible or visible alert.

Postconditions:

  • The Fulfill Order use case is invoked.

  • The customer has placed a product order.

Use Case D.4 Fulfill Order

Use Case Name:

Fulfill Order

Description:

A customer placed an order via the "Order Item from Catalog" use case. The system identifies the product and the customer account and prepares the order for delivery and invoicing.

Actors:

  • Order Product from Catalog use case

  • Order Fulfillment ” An existing system used for telephone and Web sales

Triggers:

An Anoto pen transmitted an order to our servers.

Preconditions:

The Pen was able to identify the customer, the catalog, and the item being purchased for this use case to have been invoked.

Basic Course of Events:

  1. Identify the catalog and version.

  2. If the catalog is out of date

    1. Check that the item is still in inventory.

    2. Compare the price of the item.

  3. Identify the item for purchase by referencing the unique page area provided by the Pen information.

  4. Check that there is inventory of the item available.

  5. Look up the customer's record by referencing the identity provided by the Pen.

  6. Determine if the customer is set up for Anoto pen transactions.

  7. Reduce the inventory to reflect the order.

  8. Invoke the Deliver Order use case; this will debit the customer's credit card and ship the product.

Exceptions:

2a. If the item is out of inventory, send e-mail to the user explaining that the item is out of stock.

2b. If the price of the item has changed, and if the price has increased by more than 8%, send e-mail to the user explaining the price change and requesting that the user confirm the order at the new price.

3. If the catalog item cannot be identified, send e-mail to the customer explaining that the order was mishandled and cannot be delivered or invoiced.

4. If there is no inventory available, flag the order for review by an order clerk. The order clerk is responsible for ordering additional inventory and communicating the delay or cancellation to the customer.

5. If the customer cannot be found, that is, he is not an existing customer, send e-mail to the Pen user that includes a link to the sign-up area. Store the current order as suspended.

6. If the customer is not set up for Anoto pen transactions, mark the order as suspended and send the customer an e-mail that allows the transaction to be completed.

Postconditions:

The order is marked as suspended or fulfilled.

Business Rules:

  • Catalogs are out of date (stale) if the "cover" date is greater than 18 months old.

  • Stale prices ” When a customer orders goods from an out-of-date catalog, we will honor the original price if the change is no more than 8%. Otherwise, the order is suspended pending the customer agreeing to the new price.



Use Cases. Requirements in Context
Use Cases: Requirements in Context (2nd Edition)
ISBN: 0321154983
EAN: 2147483647
Year: 2002
Pages: 90

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net