# uml diagram



## teresa91198 (Apr 24, 2007)

Problem Scenario  Reseller Information and Order System
Reseller Information and Order System (RIOS) is a web-based reseller system for Amita Co to automate its operations. Amita Co is a reseller of various speakers and speaker products. It obtains its products from different vendors, and resells them to customers. RIOS can store and update specific information of sales orders, products, and contact information of vendors, customers as well as warehouse. All functions of RIOS can be accessed by a web browser via Internet. A common login interface is used for Amita staff, warehouse staff, customer, and vendor. Customer and vendor will receive their login IDs and passwords when their details are added in RIOS.
RIOS will determine the type of login from the privilege in user account and show available
functions accordingly.
RIOS consists of three sub-systems: Order Management, Product and Inventory, Contact
Information. The Order Management sub-system keeps information about sales orders and
allows sales staff of Amita to update sales orders. Customer can also browse their own order information to track the order process. The Product and Inventory sub-system allows sales staff to update products on hand. It also allows warehouse staff to browse its own inventory information. Vendors can access this sub-system for browsing products supplied by them.
There are three types of contact information stored in Contact Information sub-systems:
Customer, Vendor and Warehouse. Only sales manager of Amita can update vendor
information and warehouse information. He/she can also create ID/password for vendor to
login Product and Inventory subsystem to browse their own products via Internet. Sales staff and sales managers can update customer information. All customers who have account in Amita can login RIOS to browse their own sales orders. From time to time, new warehouse is needed for extra storage. Sales managers can update new warehouse information to Contact Information.

The core component of RIOS is the Order Management sub-system. A sales staff must login before he/she can add a new sales order. The login procedure requires the sales staff to enter staff ID and password. The sales staff will then be provided a main menu with three options: New Order, Browse Order, and Search Order. To add a sales order, the sales staff chooses New Order from the main menu. The system will prompt the sales staff to enter order date. A new order number will then be generated. The system will also show sales staff with a list of existing customers. Sales staff select for which customer the order is being placed. After the customer is selected, the sales staff is prompted to enter product codes and ordered quantities.
Each order can take up to 20 different products. For each product being ordered, the system will check whether Amitas warehouse has enough stock for the order. If a particular product has insufficient stock for the order, the system will prompt the sales staff with a list of vendor for back order. The sales staff selects a particular vendor and enter re-ordered product code and re-ordered quantity. Every order with insufficient stock will be marked with back order and its vendor. After the sales staff enters all the ordered products, he/she will be asked to confirm it before the system save the order.
During adding new sales order, if a customer is not found in the existing customer list, the
sales staff can select New Customer function (in the Contact Information sub-system) to
create new customer account by entering the customers name, delivery address, email
address, and contact phone number.Whenever a sales staff or sales manager creates a new account for a customer, the customer will receive login ID and password for browsing all his/her orders to Amita. A sales order will be forwarded to warehouse for delivery when it is completed by a sales staff. If there are sufficient stocks to fulfill the sales order, products will be packed and waited for delivery. If a sales order needs back order, its products will not be packed until all its backs order are received.

i want to know how to draw the refined class diagram and the state diagram???


----------



## Chicon (Jul 29, 2004)

Hi teresa91198,

I've had a look to your sequence diagram. Good job !
To refine your class diagram, you still have to insert attributes and methods for each class.
For example, your Order class should show at least the customer ID and a list of ordered products as attributes. 
To draw the state diagram, I would focus on the order as it is the central process of your application :
initial state : how the order is triggered
transitional states : the order is suspended while the ordered products are being checked for limit (20) or products shortage, all backs order must be received
final state : products are packed and ready to be shipped.


----------

