Вы находитесь на странице: 1из 7

MET CS 682 - Module 4

Assignment 4 – Models
1. System Overview

The OTrack System is intended to provide a reliable online auction platform, where customers
place bids on the company's items and can track them, and the orders they may bring to
existence as well. On the company side, the system controls the whole bid processing workflow,
which includes:

• Bid Acceptance: A bid clerk is notified of a new winning bid, verifies it, and can approve
or reject it. Every bid has a unique identifier.

• Order Fulfillment: Accepted bids originate new orders. Orders contains one item which
may have several parts. The system provides information to the fulfillment department, in
order to allow proper retrieval of item's parts from stock, packaging, labeling and shipping.
Stickers with the bid identifier are added to each part of the order's item, so that they can
be precisely bound together.

• Billing: Once an order has shipped, a bid clerk verifies the order and shipped items and
sends a bill electronically to the bidder.

2. External Actors

Bidder: The value OTrack delivers to a bidder is the capability to place bids on company's items,
through the Internet. The system also provides them with tracking features for bids and orders,
and an electronic billing functions.

Bid Clerk: A bid clerk uses the system to receive, review, accept or reject bids. Additionally, the
clerk interacts with the system in order to process bills of completed orders, by verifying
information and adding details if needed.

Order Fulfillment Worker: These users receive information on orders that should be fulfilled,
prints the labels and sticks them to each part of the order's item; and notify the system about the
completion of orders (after they are shipped).

Label Printer: A printer is used by the system, to print the Bid Label IDs. These labels are used
to identify the parts of an ordered item.

3. Enumerate and describe each of the key processes in the use case including display and
approval of the winning bid, handling and shipping the item, and billing the bidder. Name them in
such a way that you can use them in your diagrams (e.g., Display Winning Bid).

• Display Winning Bid: The system detects an online bidder has placed a winning bid. The
bid clerk refreshes the “Pending Winning Bids” list. The system shows the new winning
bid as pending.

• Bid Approval: The bid clerk opens the new winning bid, verifies it and if everything looks
good, approves it, otherwise the bid is rejected and a notification sent to the user.
• Fulfill Order: Once a winning bid is marked as accepted, anyone in the fulfillment
department is able to open it by refreshing the “Pending Shipment” list, retrieve materials,
print labels, stick them to the items, package and submit to shipping. After that, an order
fulfillment worker marks the order as “fulfilled”.

• Bill Bidder: The bid clerk refreshes the “Pending Billing” list and finds the recently fulfilled
orders. The clerk opens and order, verifies payment history, payment options, and
shipment, and submits the bill electronically to the bidder.

4. Draw a system sequence diagram showing interactions between the system and the external
actors

Bidder OTrack System Bid Clerk

Submit Winning Bid The "Reject Winning Bid " action is also
possible here , but it's been ommited
"You Win " Message for simplicity .

Refresh Pending Winning Bids List

Display Winning Bid in the List

Open Winning Bid

Display Winning Bid Details

Approve
Order Fulfillment Worker
"Bid Approved " Message

Refresh the "Pending Shipment " list

List containing order Pending Shipment

Open Order

Order Details

Print Bid ID Labels

At this point all the physical


work is executed .

Label Printer

Print Labels

Labels

Order Shipped

Refresh "Pending Billing " list

Pending Billing Order

Open Order

Order Details

Submit Bill

Billing Notification
5. Enumerate all candidate classes for a class model; describe why you are rejecting the classes
that you do not select for your model

• Bidder
• Bid
• Bid List – Synonym of Bid
• You Win Message – Synonym of Message
• Winning Bid List – Synonym of Bid List
• Bid Details – Synonym of Bid
• Bid Approved Message – Synonym of Message
• Pending Shipment List – Synonym of Order List
• Order List – Synonym of Order
• Order
• Order Details – Synonym of Order
• Label – Built based on Bid and Item Parts associated to an order
• Item
• Item Part
• Bill
• Billing Notification Message – Synonym of Message
• Message

6. Select your entity classes (business classes, domain classes) for your class model, and explain
your selections. Describe their class responsibilities, attributes, relationships and multiplicity.

Multiplicity is not specified numerically, but textually here.

• Bidder: Represents a bidder, may be associated to zero or more Bids.

◦ Name
◦ User name
◦ Password
◦ Address
◦ E-mail address

• Bid: A bid placed by a bidder. It's associated to an Item, and a Bidder.

◦ Identifier
◦ Amount
◦ Status
◦ Time stamp
◦ Item
◦ Acceptance date

• Message: E-mail message sent to the bidder.

◦ Message body
◦ Subject
◦ Recipient
• Order: Contains data about the Item of a bid. The separation between item and order was
kept in order to address the future possibility of multiple items per order.

◦ Bid
◦ Item
◦ Shipping & Handling fee
◦ Shipping Address
◦ Bill

• Item: Contained by the order, represents a single company item, which may be
associated to a bid. Contains Item Parts.

◦ Code
◦ Description
◦ Parts

• Item Part: Contained by an Order Item. Represents one of the parts of an Item.

◦ Code
◦ Description
◦ Model
◦ Serial number
◦ Location

• Bill: Conveys data about the amount owed, payment details. Contained by Order.

◦ Payment due date


◦ Total amount
◦ Payment type
◦ Billing Address

7. Select your design classes (including interface and GUI classes) for your class model, and
explain your selections. Describe their class responsibilities, attributes, relationships and
multiplicity. Define operations.

Interface Classes

• Bidding Page
• Pending Winning Bids List
• Bid Details
• Pending Shipment Orders List
• Order Details
• Pending Billing List
• Bill Details

Controller Classes
The items listed for each class in this section are operations.

• Order Fulfillment Handler: Handles the order fulfillment process.


◦ printLabels: Prints labels for the item's parts.
◦ setShipped: Marks the ordem in context as shipped.

• Bidding Handler: Responsible for actions related to bidding.


◦ getPendingWinningBids: Gets all pending winning bids.
◦ placeBid: When a bidder places a bid this operation is called.
◦ accept: Called when a Bid Clerk accepts a winning bid.
◦ reject: Called when a Bid Clerk cancels a winning bid.

• Billing Handler: Controls billing-related actions.


◦ sendBilling: Process billing for a given order and sends it to the bidder.

• Order Handler: Controls order-related actions.


◦ create: Creates a new order after a winning bid is accepted.

8. Draw your class model


ItemPart
Item -code
-description
-code
-model
-description
1 1..* -seriaNumber
-location

1
Bid Bidder
Bill
Order 0..1 -identifier -name
-paymentDueDate 1 0..* 1
-amount -username
-totalAmount -shippingAddress
-status -password
-paymentType -shipAndHandFee
1 1 -timestamp -address
-billingAddress
-acceptDate -email

Message
-body
-subject
-recipient
+send()

1
«controller»
«controller» BiddingHandler
«controller» «controller» OrderFulfillmentHandler
BillingHandler OrderHandler
+getPendingWinningBids ()
+printLabels() +placeBid()
+sendBilling () +create() +setShipped() +accept()
+reject()

«interface» «interface» «interface» «interface» «interface» «interface» «interface»


Bill Details Pending Billing List Order Details Pending Shipment Orders List Bid Details Bidding Page Pending Winning Bids List
9. Make and explain your selections for data stores, processes and data flows for a data flow
diagram:

Data Stores

• Bids: Bids placed by a bidder.


• Orders: Orders created after a bid is accepted.
• Items: Items belonging to an order.
• Item Parts: Parts of items.
• Bidders: Data about the bidders.
• Bills: Saved bills, each shipped should be associated to a Bill.

Processes

• Place Bid: Occurs when the bidder places a bid.


• Set Shipped: Occurs when someone from the fulfillment department ships an order.
• Print Labels: Generates labels for parts, triggered by a fulfillment department worker.
• Process Bid: When a Bid Clerk reviews, accepts or rejects a winning bid.
• Create Order: An order is created for each accepted winning bid.
• Send Billing: After an order is shipped, this process calculates the total amount to be
charged and sends the bill electronically.

Data Flows

• Bidder: An existing bidder.


• Bid: An existing bid.
• New Bid: A newly created bid.
• Order with Pending Shipping: An order with status equals to “Pending Shipping”
• Updated Order: An updated order, after an operation that changes it.
• Item Parts: Parts of an item.
• Item: An order item.
• Pending Winning Bid: A winning bid waiting to be processed.
• Updated Bid: An updated bid, after an operation that changes it.
• New Order: A newly created order.
• Shipped Order: An order marked as shipped.
• New Bill: A newly created Bill.

10. Draw your data flow diagram


Order
Bidder Fulfillment Label Printer
Worker

Bid

Place Bid Set Shipped Print Labels


Bidder
Item

Order with
Updated Order with
New Bid Pending Item Parts
Order Pending
Shipping
Shipping

Bidders Bids Orders Item Parts Items Bills

Accepted Bid New


Pending Bid Order Item Parts Item
Updated
Shipped
Bid
Order

Process Bid Create Order Send Billing New Bill

Bid Clerk

Вам также может понравиться