37
Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Embed Size (px)

Citation preview

Page 1: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Realtime Commercial Bidding System

Team 6

Brenda HarveyJohn Johnston

Jason LaBumbardPeter Tirrell

Page 2: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

• Provides realtime bidding capabilities

• Motivation for project– Strong market demand for e-commerce systems– Few existing B-2-B commodities brokerages– Low market pricing means automation needed– System fills a market niche and does so cost

effectively

Realtime Commercial Bidding System

Page 3: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Overview of Features

• Standard and reverse auctions• Realtime bidding and viewing• Self-serve auction setup• Administrator• Distributed “auctioneer” attributes

& operations• Account management functions• Combined account functionality

Page 4: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Overview of Features continued…

• Users may participate in multiple auctions

• Forgotten password retrieval

• “On the fly” account setup

Page 5: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Prototype

• Login screen

–Existing and new users

• Auction list view/select

• Join, bid in, and view an auction

–Bid history, withdrawing

• Client-side view of reverse auction

Page 6: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Login Screen

Page 7: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Auction Information Screen

Page 8: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Regular Auction Screen

Page 9: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Regular Auction Screen 2

Page 10: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Regular Auction Finished

Page 11: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Withdrawing a Bid

Page 12: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Auction Information Screen 2

Page 13: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Reverse Auction Screen

Page 14: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Reverse Auction Finished

Page 15: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Create Auction Screen

Page 16: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Grey Areas• What is an “Auctioneer?”

– Automated piece of code

– One approach: handle as distinct class

– Second approach: divide functionality to other classes

• Why an “Administrator?”– Can all site maintenance be automated?

– What can be handled by auctioneer or user account functions and what cannot?

Page 17: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

How Problems Were Solved

• Auctioneer– Logically divide auctioneer data and functions

into auction and user account classes– Avoid redundancy and simplify design

• Site Administration

– Create an administrator class

– Administrator basically a special type of user account

Page 18: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Description of Class Model

• Aggregated under “Realtime Auction Site” • Makes use of “Administrator” • Abstract classes:“Auction”• User account aggregated for client and

bidders• Client side: login, sign-up, get password• Auctioneer attributes and functionality

distributed among several classes

Page 19: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Class Model

Page 20: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Sequence Diagrams• Generalized overall sequence diagram

–Many possible object interactions

–Not a single stepwise progression of events

–Most possible interactions presented

• Use specific sequence diagrams

–Depict major interaction scenarios

–Single stepwise progression of events

–Ack used to denote acknowledgement of messages

Page 21: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Sequence Diagram

Page 22: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Bidding in a Standard Auction

Page 23: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Bidding in a Reverse Auction

Page 24: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Setting up a Reverse Auction

Page 25: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Setting up a Standard Auction

Page 26: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Use Case Diagrams• Generalized use case diagram

–Many possible actor/activity interactions

–Actors include bidder, client, and administrator

• Specific use case diagrams

–Client interactions w/ in progress auctions

–Setting up an auction

–Bidder auction participation scenarios

Page 27: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Main Use Case Diagram

Page 28: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Seller Use Case Diagram

Page 29: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Bidder Use Case Diagram

Page 30: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

State DiagramsUsed to show possible states of major objects

• Administrator state diagram

–Fail-safe site intervention capabilities

• Auction state diagram

–Describes progression of auction behavior

• User state diagram

–Describes user interaction in realtime

• User account state diagram

–“On the fly” account maintenance

Page 31: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Administrator State Diagram

Page 32: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Auction State Diagram

Page 33: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

User State Diagram

Page 34: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

User Account State Diagram

Page 35: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Critical System Properties

• Summary of critical system properties– No distinct auctioneer class– Administrator– One user account, both client and bidder

capabilities– Self-serve account maintenance– Auction abstract class and inheritance– Client-side functionality

Page 36: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Promela and XSpin

• Analysis of two client-supplied state diagrams– Performed initial visual analysis of diagrams– Coded state machines in promela– Developed basic test case scenarios

• Future work

– LTL

– Additional scenario analyses

Page 37: Realtime Commercial Bidding System Team 6 Brenda Harvey John Johnston Jason LaBumbard Peter Tirrell

Client State Diagram• Spin Analysis

–Issue of “end_auction” signal in any state other than

Idle results in deadlock

–Failure of auctioneer to send “bidok” results in deadlock in User_Bid state

–Dropped bids on timeout

• Non-Spin Analysis

–No “bid-not-ok” signal (timeout?)

–What happens when client bid is not high bid?