Case Overview: Pug Uglies Petshop
Rafael Parikh and Aida Chin own Pug Uglies Petshop (PUP), an independent company that sells food and other supplies to pet owners, specializing in supplies for dogs and cats. Parikh and Chin want to automate PUP’s record-keeping. All of PUP’s revenues are produced through the large volume of retail sales of these supplies. For now, Parikh and Chin want to focus on the ‘sell’ side of the business, tracking customers, sales order, and inventory sold.
Customers at PUP are generally repeat customers. Chin and Parikh know many customers by face, but they want to build stronger customer loyalty by knowing their customers’ names, and by tracking their purchase history. They think that it would be great if they could keep track of the name, type of animal (i.e., ‘cat’, ‘dog’, ‘bird’, etc), and age of every pet a customer owns.
For each item, PUP keeps descriptive information: SKU# (stock keeping unit), the item’s name and the item’s description. PUP also records the cost per unit, the suggested retail price per unit, the quantity on hand, and a reorder point. PUP keeps this information in hardcopy binders. Currently, when a customer shops at PUP, a clerk must go through the binders and manually update the inventory to show what items have been purchased. Customers typically buy more than one item at a time, and often will buy several units of an item. Every item has the price stamped on it, but if the price is not on the item, the clerk must look up the price in the binder.
Parikh and Chin would like to have a way for the system to automatically look up the price of an item based on the item’s SKU#, and also update the inventory amount of that item. They’d like to be able to see which items move faster and which move slower, and also would like to have a report that informs them when an item is low on quantity, so that they can reorder it. They also want to categorize PUP’s inventory into groups like ‘Food’, ‘Toys’, ‘Grooming’, in order to track sales per category better. They would like to avoid having to type in the entire category label, however, to minimize clerical errors.
PUP needs a DBMS, but Parikh and Chin know the pet business, not database design. They have heard horror stories about DBMS that were difficult to use, lost data, and gave inaccurate reports, so they want to pursue the project carefully.
TASK: You are to develop and submit an entity-relationship diagram (ERD) for this case. Plan on developing and refining several drafts before reaching complete and accurate ER diagrams.
Plan on developing and refining several drafts before reaching complete and accurate ER diagrams.
Please read the Standards for Submissions on the BlackBoard site. You should submit your ERDs rendered with software design tool such as Visio or Lucidchart (Lucidchart.com). You can get MS-Visio for free from the Dreamspark program; you can create ERDs with MS-Word or PowerPoint if you do not have other drawing tools.
You should do the following:
Draw the UML E-R diagram for this enterprise, including the attributes for each entity;
Identify all possible relationships;
Identify the connectivity (in other words, the cardinality) for each relationship;
Identify the mandatory/optional dependencies (in other words, the optionality) for the relationships;
Identify any weak entities;
Resolve all M:N relationships.
Also, on a separate sheet, specify any additional assumptions you made in designing your diagram.