COM3205 Mid Term Exam – Winter 2000

All questions have equal weight.

CookingStuff.com is a new Internet company that plans to sell all kinds of cooking-related items online. The strategy is to start with a selection of spices, then followed by specialty baking ingredients (flour etc), cooking and baking utensils and finally supporting a broad set of ingredients and utensils for cooking traditions around the world (French, Chinese, etc).

The CookingStuff.com wants:

  1. to maintain a catalog of items for sale, each item has a description and name,
  2. the price of each item will change, depending on the day (e.g. a sale, or special offer)
  3. to maintain a database of the people (their shipping and credit card details) that buy things from the site.
  4. to keep track of what is in stock. Each item is provided to CookingStuff by one of many suppliers. Orders are submitted to the supplier when the stock becomes low. The company wants the system to send an email to the purchasing person when something runs low. In addition, the purchasing person wants to be able to be able request a report of the different stock levels, on demand.
  5. to keep track of the number of visits to the page of each item in the catalog. This demonstrates interest in the item category, even if the customer does not buy the item. Cooking stuff wants to track the level of interest in baking goods versus spices etc.
  6. the information system to grow with the company and grow to support the new lines of business that the company enters.
  7. to get a 'Web presence' as fast as possible, adding more functions as the company needs.
  8. the purchases are made via VISA, AMEX and MC credit cards. CookingStuff has purchased a service, and software from another company to verify the credit card numbers and to make the appropriate debits when required.
  9. to keep track of each sale, detailing the customer, each item bought, the date and the price of each item at the time of the sale.
  10. to be able to analyze the activity on the site, number of total visits, visits per item on the catalog, item category and number of sales per catalog visit etc. They will do this by looking a various reports that are generated at the end of the day.

Shoppers can browse the catalog by selecting item categories and going from item to item using forward and back buttons.

They can add things to the "shopping cart", which will allow them to see the total cost of the current things in the cart.

From the shopping cart page they can choose to return to the catalog or proceed to the "check out" area where they need to fill in credit card information, mailing address and confirm the process.

If they are a new customer, they can choose to provide a password, which (together with their name) can be used by the system to identify the customer when they shop again, thus avoiding the steps of filling out mailing information or credit card information. They can choose to cancel at any time, which will take them back to the home page.

COM3205 Inc. has been asked to propose a specification for this system.

Questions

  1. Choose the software cycle model that you think will best suit the needs of this customer and this application. Explain why your choice is a good match for the project. Outline the time line for this project (not including dates), that describes the different stages and milestones of development for this project, identifying any parallel, overlapping and sequential tasks.
  2. Produce a data flow diagram that captures the main processes, data flows, information sources, external systems and data stores of this application.
  3. Draw an Entity Relationship Model that describes the relationships between the different data entities. Name the relationship and define its cardinality (1-1, 1-m, etc).
  4. Define a finite state diagram that presents how a customer interacts with the system, moving through the different stages of the shopping process from initial arrival on the site to the final approval of the sale.
  5. Bonus question:

  6. Present a high level architecture for this system - questions B, C, D define logical views of the application - describe elements of the process, physical and development views using block diagrams or any other notation.