Project Interfaces

 

Inventory Server

¡¤        Methods (behavior):

-          getItem()

-          getItemList()

-          getItemDescription()

-          getItemCost()

-          getItemPrice()

-          getItemQuantity()

-          setItemDescription()

-          setItemCost()

-          setItemPrice()

-          setItemQuantity()

-          addItem()

-          removeItem()

¡¤        Attributes (structure):

-          Number of ongoing queries

-          Number of ongoing inventory modifications

-          Inventory - list of items and their IDs, descriptions, prices, costs, and quantities

¡¤        Exceptions (error messages):

-          Server unavailable

-          Query or modification attempt on a non-existent item

-          Item out of stock

-          Request exceeds maximum item quantity allowed

-          Request exceeds maximum item price allowed

-          Attempt to add item failed due to full inventory

-          Attempt to add item with incomplete information

 

User Server

¡¤        Methods (behavior):

-          viewProfile()

-          updateProfile()

-          addUser()

-          removeUser()

-          login()

-          logout()

¡¤        Attributes (structure):

-          Number of purchasers currently logged in

-          Number of sellers currently logged in

-          List of users and their profiles

¡¤        Exceptions (error messages):

-          Server unavailable

-          Invalid username or password

-          Attempt to add an existing user

-          Attempt to add a user with invalid parameters (i.e. username or password too long)

-          Attempt to remove, update, or query a non-existent user profile

 

Purchase Server

¡¤        Methods (behavior):

-          getPurchaseOrders()

-          queryPurchaseOrder()

-          confirmPurchaseOrder()

-          generatePurchaseReport()

¡¤        Attributes (structure):

-          Number of ongoing purchase orders

-          Number of connected purchasers

-          List of current purchase orders

¡¤        Exceptions (error messages):

-          Server unavailable

-          Timeout on purchase confirmation

-          Invalid purchase order request field (price, quantity, etc.)

 

Sales Server

¡¤        Methods (behavior):

-          getSalesOrders()

-          querySalesOrder()

-          confirmSalesOrder()

-          generatePurchaseReport()

¡¤        Attributes (structure):

-          Number of ongoing sales orders

-          Number of connected sellers

-          List of current sales orders

¡¤        Exceptions (error messages):

-          Server unavailable

-          Timeout on sales confirmation

-          Invalid sales order request field (price, quantity, etc.)