Presentation

advertisement
NET-AUCTION
This online auction project
Directed by:
Mr. Maxim Gurevich
Submitted by: Yuri Kipnis
Alex Scheotkin
Agenda
Abstract
Goals
Architecture and Patterns
Design
Demo
Abstract
One of the ancient
and popular
market way is an
auctions.
Always, action was a
very loud place,
the travelling to
auction places
took a lot of
participants
time and were
dangerous.
Abstract
But now!...
You only need to turn on
your computer and
enter the web-site
NET-AUCTION
Abstract
 Net-Auction is an implementation of web
auction, like eBay, Sotheby, and others with
it’s own design and bid politics.
 This web site have an intuitive interface and
unique visual objects that make it friendly
for use.
 Common client operations were
implemented in this application. In addition,
there were used some original marketing
solutions.
Our goals
 The main goal is to provide easy way
for buying and selling over the web
 Studying ASP.NET 2, Microsoft SQL
Server, C# and an interaction of all
above .
 Throwing over an engineering process
from planning of project to it’s
implementation.
Net-auction features
Guests




Searching for items by tags and categories
Studying available tenders and items
Studying seller’s information
Web registration
Registered users




Proposing items for tender
Participating in active tenders
Account management
Commenting and rating other users
ASP.NET 2
• Dynamic web-applications
• ASPX file format
• Rendering technique
• Microsoft .NET languages (C#)
Design
Three layer design
pattern
• Presentation Layer
-Web pages (GUI).
• Business Logic Layer
- Project’s logic.
- Classes & algorithms
• Data Access Layer
- Ordered DB access.
 Related tables.
Three Layer design
pattern
• Advantages:
Modular software
Technology independency
• Disadvantage:
Complexity
Related tables – sql server
Years
Year
Months
Month
Counties
Categories
Name
Name
Description
Parent
Waiting Clients
ClientID
FirstName
SecondName
StreetAddress
StateProvince
ZipPostalCode
Country
eMail
NickName
Password
Telephone
SellersVSBuyers
SellerID
BuyerID
IsVoted
Clients
Products
ClientID
SerialNumber
FirstName
SecondName
StreetAddress
StateProvince
ZipPostalCode
Country
ItemTitle
Category
Condition
OwnerID
Quantity
AfterTender
City
Image
eMail
ItemLocation
NickName
ShipsTo
Password
CreditCardNumber
CreditCardExpiredDate
Active
Description
Cache
Telephone
FeedbacksVSClients
Rank
TagsVSProducts
FeedbackNumber
VotesNumber
SerialNumber
FeedbackText
NumberOfSales
Tag
AuthorID
NumberOfPurchases
Category
TargetID
RankImage
IsTitleTag
FeedbackDateTime
SoldProductsHistory
TenderNumber
NewOwnerID
ItemTitle
SellerID
SaleBid
BidsPerTender
Bid
ClientID
TenderNumber
Quantity
Quantity
DateTime
DateTime
QuantityBound
Tenders
ProductTenderNumber
StartTime
EndTime
StartPrice
Data access Technologies
ADO.NET Framework
-DataSet: object represents an entire
database, contains its tables and
relationships.
-DataAdapter: A bridge used to
transfer data between a data source and
a DataSet object.
Data Access Layer (dal)
Code structure
Auto generated classes
“DAL” access classes
Logics and Algorithms classes
Business Logic Layer
•
All links in this diagram represent composition UML links between classes.
Check the user account
Is present?
No
Sign In
Yes
Client not
registered
Is the users
account is
negative?
Update the user
account
Yes
No
Client is not
responsible
Get the bid
No
Is it a legal bid?
Compare to the
bigest bid and check
the required quantity
Yes
BLL:
bidding
algorithm
Accept the bid
Sold Quantity = 0
Sell this item, with
required quantity
No
Is the Bids per
Tender .Quantity
Bound is true?
Sell this item, with
available quantity
No
Are there enough
items
to supply?
Bids per Tender.quantity <
Product.quantity sold.quantity
Yes
Yes
Can’t supply
requered quantity
Yes
Throw away the field
from the “Bids per
Tender” table
Get the field with the
best bid in a “Bids per
Tender“ table
Yes. There are more items to supply, so lets check the next bid
BLL:
Winners
Detecting
algorithm
Add the product to
history list.
Add the product to
history list.
Sold products history .
Quantity= Bids per
Tender .Quantity
Sold products history .
Quantity = Product .
quantity - sold .quantity
Sold Quantity =+ Bids
per Tender .quantity
Product .
Quantity > 0
No
End
BLL:
Feedback
and vote algorithm
Is there is a pair of
Seller-Buyer in
“Sellers vs. Buyers”
table and “Votes”=false
Get the Client ID
Get the Author ID
No
Can’t perform
this operation.
Yes
Get the rank from
Buyer (-2,-2).
Increment the “Votes
No.” field.
Rank = [(“Votes No.”-1)*Rank
+ New Rank]/”Votes No.”
Renew the rank image for
client row.
End
BLL:
Search algorithm
• Parse the search string to get search elements
• Get all items from “TagsVSProductsTable” that
contain search elements
• Compute the number of search elements,
separately for title and regular elements
• Sort all appropriate items by number of
elements (high priority for title elements and
low priority for regular elements)
Web-Technologies
Master Pages
HTML Objects
Forms Authentication
CSS Visual Design
Presentation layer
Home Page
Categories
Found
products
About me
New Tender
Products
Product
User
Information
Sign In
Registration
MyAccount
Personal
Information
Product1
New Bid
Active
Tenders
History
Tenders
before
openning
History1
Tenders
before
openning
My not
succeed
tenders
DEMO
WELCOME…
http://softlab-dev-web.technion.ac.il/Auction
Download