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

Post on 15-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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?

top related