Consider the following high-level specifications for an Online Bookstore and answer the following questions:

1) The user of the bookstore can be a customer, a seller, or a moderator

2) The bookstore must be able to sell books, with orders accepted over the Internet.

3) The customer must be able to add books into an online shopping cart, prior to checkout. Similarly, the user must be able to remove items from the shopping cart.

4) The customer must be able to maintain wish lists of books that he or she wants to purchase later.

5) The customer must be able to cancel orders before they've shipped.

6) The customer must be able to pay by credit card or purchase order.

7) It must be possible for the user to return books.

8) The user must be able to create an account, so that the system remembers the user's details

(name, address, credit card details, role) at login.

a. The system shall maintain a list of accounts in its central database.

b. When a user logs in, his or her username must be checked if exists, and password must be matched against the passwords in the master account list. If any problem, a login failure notification will be sent to user.

c. Then the main page is displayed according to the user role.

9) The customer must be able to view book details, to do that the user must search for books by various search methods-title, author, keyword, or category.

10) It must be possible for the customer to post reviews of favorite books; the review comments should appear on the book details screen. The review should include a customer rating (1-5), which is usually shown along with the book title in book lists.

a. Book reviews must be moderated-that is, checked and approved by a moderator

before they're published on the website. After the review is published, a notification is

sent to the customer.

b. Longer reviews should be truncated on the book details screen; the customer may click to view the full review on a separate page.

11) It must be possible for staff to post editorial reviews of books. These should also appear on the book details screen.

12) The bookstore shall allow third-party sellers (e.g., second-hand bookstores) to add their own

individual book catalogs. These are added into the overall master book catalog so that sellers'

books are included in search results.

13) The bookstore must be scalable, with the following specific requirements:

a. The bookstore must be capable of maintaining user accounts for up to 100,000

customers in its first six months, and then a further 1,000,000 after that. b. The bookstore must be capable of serving up to 1,000 simultaneous users (10,000 after

six months).

c. The bookstore must be able to accommodate up to 100 search requests per minute

(1,000/minute after six months). d. The bookstore must be able to accommodate up to 100 purchases per hour (1,000/hour after six months).


a) Draw a complete UML Use Case diagram.

b) Write a detailed description for the "Moderate review" use case.

c) Draw a sequence diagram for the following use cases: "view book details"

d) Draw UML Class Diagram.

e) Draw a UML State diagram for the "review" object.

f) Draw and activity diagram for the system