Answered step by step
Verified Expert Solution
Question
1 Approved Answer
design and implement an objectoriented database system that tracks activities for a small warehouse. Client: Customers who order things from warehouse Product: Items that are
design and implement an objectoriented database system that
tracks activities for a small warehouse.
Client: Customers who order things from warehouse Product: Items that are stocked in the warehouse. Supplier: Companies from where warehouse procures products. Every supplier has a specific purchase price for each product they supply. Sale price: Price paid by the customer for a specific product. Order: A client's request for a list of products and associated quantities. Invoice: A list of products, associated quantities and cost for a package that is being shipped to a client. The business has the following requirements for the system: 1. Adding clients, products and suppliers. Note that deletion is not required. The ID for clients must be generated by the system. Allow adding multiple products in one activity. 2. Tracking product and suppliers. The supply (purchase) price must be stored for each (product, supplier) pair. We need to query the list of suppliers for a product. 3. Keeping track of inventory. For each product we track the sale price, amount in stock, and the list of wait-listed orders for that product. 4. Keeping track of customer transactions. Whenever there is a transaction involving a customer, the system keeps a record. Each transaction has just a date, a descriptive string and an number (for a dollar amount). 5. Accept and Process Clients' orders. Each client has a shopping cart which holds a set of products and associated quantities; products(with quantities) are added to the shopping cart one by one. When the customer places an order, the system generates an order using the entire contents of the shopping cart. Details of the order are recorded. When the order is processed, the system creates an invoice that shows all the products and quantities that can be shipped at that time. The items that cannot be filled are wait-listed. Order Processing can be done concurrently with the placing of the order, or in a separate operation. The amount due is debited to the Clients' account. 6. Generating an invoice. An invoice consists of a set of products with associated quantities and sale prices, and a total cost. Invoices result when customer orders are processed or when wait-listed items become available. 7. Accept payment from a customer. The amount is credited to the customer's account. Note that a client order can be processed and shipped before the payment has been made. In other words, placing and processing the orders is independent of the payment process. 8. Accept a shipment from a supplier. Clerk provides productid and quantity. wait-listed orders must be filled first, before inventory is updated. When the wait-listed orders are being filled, the system displays each one in turn, and the clerk answers Y/N. If the clerk answers Y, the order is filled; otherwise the system moves to the next one until it either runs out of stock or reaches the end of the wait-list. Any remaining quantity is added to the inventory. 9. Queries to be processed. The following queries must be handled: List all transactions for a specified client. List all manufacturers and their prices for a given product. List all clients who have an outstanding balance. List all products, quantity in stock, and total quantity of outstanding(waitlisted) orders. 10. Other miscellanea. As you build the system you will need some queries to verify that the system is behaving correctly. These should be added as required. Your overall submission will be evaluated for testability - whenever a business process is completed, it should be possible to easily query the system and verify that the appropriate changes were made. Client: Customers who order things from warehouse Product: Items that are stocked in the warehouse. Supplier: Companies from where warehouse procures products. Every supplier has a specific purchase price for each product they supply. Sale price: Price paid by the customer for a specific product. Order: A client's request for a list of products and associated quantities. Invoice: A list of products, associated quantities and cost for a package that is being shipped to a client. The business has the following requirements for the system: 1. Adding clients, products and suppliers. Note that deletion is not required. The ID for clients must be generated by the system. Allow adding multiple products in one activity. 2. Tracking product and suppliers. The supply (purchase) price must be stored for each (product, supplier) pair. We need to query the list of suppliers for a product. 3. Keeping track of inventory. For each product we track the sale price, amount in stock, and the list of wait-listed orders for that product. 4. Keeping track of customer transactions. Whenever there is a transaction involving a customer, the system keeps a record. Each transaction has just a date, a descriptive string and an number (for a dollar amount). 5. Accept and Process Clients' orders. Each client has a shopping cart which holds a set of products and associated quantities; products(with quantities) are added to the shopping cart one by one. When the customer places an order, the system generates an order using the entire contents of the shopping cart. Details of the order are recorded. When the order is processed, the system creates an invoice that shows all the products and quantities that can be shipped at that time. The items that cannot be filled are wait-listed. Order Processing can be done concurrently with the placing of the order, or in a separate operation. The amount due is debited to the Clients' account. 6. Generating an invoice. An invoice consists of a set of products with associated quantities and sale prices, and a total cost. Invoices result when customer orders are processed or when wait-listed items become available. 7. Accept payment from a customer. The amount is credited to the customer's account. Note that a client order can be processed and shipped before the payment has been made. In other words, placing and processing the orders is independent of the payment process. 8. Accept a shipment from a supplier. Clerk provides productid and quantity. wait-listed orders must be filled first, before inventory is updated. When the wait-listed orders are being filled, the system displays each one in turn, and the clerk answers Y/N. If the clerk answers Y, the order is filled; otherwise the system moves to the next one until it either runs out of stock or reaches the end of the wait-list. Any remaining quantity is added to the inventory. 9. Queries to be processed. The following queries must be handled: List all transactions for a specified client. List all manufacturers and their prices for a given product. List all clients who have an outstanding balance. List all products, quantity in stock, and total quantity of outstanding(waitlisted) orders. 10. Other miscellanea. As you build the system you will need some queries to verify that the system is behaving correctly. These should be added as required. Your overall submission will be evaluated for testability - whenever a business process is completed, it should be possible to easily query the system and verify that the appropriate changes were madeStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started