realtime commercial bidding system team 6 brenda harvey john johnston jason labumbard peter tirrell
TRANSCRIPT
Realtime Commercial Bidding System
Team 6
Brenda HarveyJohn Johnston
Jason LaBumbardPeter 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
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
Overview of Features continued…
• Users may participate in multiple auctions
• Forgotten password retrieval
• “On the fly” account setup
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
Login Screen
Auction Information Screen
Regular Auction Screen
Regular Auction Screen 2
Regular Auction Finished
Withdrawing a Bid
Auction Information Screen 2
Reverse Auction Screen
Reverse Auction Finished
Create Auction Screen
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?
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
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
Class Model
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
Sequence Diagram
Bidding in a Standard Auction
Bidding in a Reverse Auction
Setting up a Reverse Auction
Setting up a Standard Auction
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
Main Use Case Diagram
Seller Use Case Diagram
Bidder Use Case Diagram
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
Administrator State Diagram
Auction State Diagram
User State Diagram
User Account State Diagram
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
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
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?