coding alpacas alpacabid: phase two design presentation presentation available at...

13
Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Upload: lambert-walsh

Post on 03-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Coding AlpacasAlpacaBid: Phase Two Design Presentation

Presentation available at sourceforge.net/codingalpacas

Page 2: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Who We Are

Left to Right:• Jonathan• Rob• Kyle• Alan

Why Alpacas Make Good Engineers:• Highly trained• Intelligent• Mediocre understanding of

the software engineering process• Incredibly in-depth by

farm animal standards

Page 3: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Usage Scenarios

Use Case ID

Use Case Name

Use Case description Primary Actor

Preconditon

1 SignUp User signs up for an account on our site using valid data

User access the webUI, press "create account" button

2 SignUpInvalid

User signs up for an account on our site using invalid or incomplete data

User access the webUI, press “create account” button

3 LoginNative User logs into our service using an alpacabid account

User access the webUI, press login button

4 Login3rdParty

User logs into our service using a 3rd party account

User access the webUI, press login button

5 timeOut System times out due to inactivity User be logged into webUI and inactive for 1 hour

6 searchDefault

User searches for an auction using the default criteria (incomplete auctions only)

Buyer logged into system, in search domain

7 searchFinished

User searches for a closed auction Buyer logged into system, in search domain

8 searchAll User searches all auctions Buyer logged into system, in search domain

9 addAuction User creates a new auction Seller logged into system, in listing domain

10 addAuctionInvalid

User creates a new auction but uses invalid or incomplete data

Seller logged into system, in listing domain

11 placeBid User places bid on item Buyer logged into system, on specific auction page

12 winItem Winner is notified that they won auction Buyer auction ends13 endAuction winItem is triggered, auction marked as

complete (bidding is now prohibiited) seller is notified

Seller server system time reaches end time of given auction

14 sendMessage

user sends message to other user User logged into system, in messaging domain

15 sendMessageInvalid

user sends message to invalid username User logged into system, in messaging domain

16 addFavorite user clicks "add this seller to my favorite sellers list"

Buyer logged into system, on product page

17 viewFavorites

user clicks "view auctions by my favorites" Buyer logged into system, on main page

18 leaveRating user click “leave feedback” button Buyer logged into system, on personal page

AlpacaBid features all requirements in the original build spec, plus the following four “extra’ features:• Third party authentication

where users can log into AlpacaBid with Google or Facebook Accounts

• Seller feedback where buyers can leave public comments for sellers

• User-to-User messaging• “Favorite Sellers” feature

which includes an aggregated list of items being sold by members of the buyer’s favorite sellers list

Page 4: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Current Status

• Yellow•Way behind schedule• Still manageable

• Challenges Still ahead• ASP.NET• Timeliness

Page 5: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Current Status (continued)

• Hours worked: 50• Roughly 10 hours of working on the report per person• Another few hours on the PowerPoint• There is a reason that they don’t use OpenOffice in the real world

• We now all know ASP.NET• We thought we knew SQL until a few hours ago

• Framework status: Mountain Dew Color (Yellowish Green)• Version Control is still a disaster…sort of

Page 6: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Data Dictionary

Category Attribute Type Acceptable Values Source Security

Customer CustomerID 20x Any letter/numberCustomer Account Creation

Cannot be changed

Customer Password 20x Any letter/numberCustomer Account Creation Customer

Customer First Name 20a All lettersCustomer Account Creation Customer

Customer Last Name 20a All lettersCustomer Account Creation Customer

Customer Address 20x Any letter/numberCustomer Account Creation Customer

Customer City 20a All lettersCustomer Account Creation Customer

Customer State 2a All lettersCustomer Account Creation Customer

Customer Zip 5n NumbersCustomer Account Creation Customer

Customer Email 20xAll usable letter/numbers/symbols

Customer Account Creation Customer

Listing ListingID 20x Any letter/number Listing CreationCannot be changed

Listing Category 20x Any letter/number Listing Creation CustomerListing End Date 10x Date Values/Symbols Listing Creation Customer

Listing Winning Customer ID 20x Any letter/number Place Bid Bid MethodListing Current Bid 20n Any numbers Listing Creation Bid Method

Message MessageID 20n Any numbers Message CreationCannot be changed

Message SenderID 20x Any letter/number Message Creation CustomerMessage ReceiverID 20x Any letter/number Message Creation CustomerMessage Body 200x Anything Message Creation CustomerMessage Send Date 10x Date Values/Symbols Message Creation Customer

User Reviews ReviewID 20x Any letter/number Review CreationCannot be changed

User Reviews ReviewerID 20x Any letter/number Review Creation CustomerUser Reviews SellerID 20X Any letter/number Review Creation CustomerUser Reviews OverallRating 1n Number 0 <= n <= 5 Review Creation Customer

User Reviews Review Description 200x Anything Review Creation Customer

Autobid AutoBidID 20x Any letter/number Autobid CreationCannot be changed

Autobid ListingID 20x Any letter/number Autobid Creation Customer

Autobid CustomerID 20x Any letter/number Autobid CreationCannot be changed

Autobid maxBid 20n Any number > Current Bid Autobid Creation Customer

Page 7: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Functional Model Issues

• Login using AlpacaBid account or supported third party account• Incorporate built-in ASP.NET login system• Familiarize with openAuth

• Buying• Understanding the 10% rule

• Listing• Relatively simple implementation

• Posting a review• John’s problem• Likely to utilize messaging API

Page 8: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Functional Model Issues (continued)

• Favorite Sellers• Likely to utilize search API

• Private Messages• Simple Implementation on product page

• Searching• Simple implementation, but may have trouble integrating with web

page and optimizing for performance

Page 9: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Software Interface Issues

• Human Interface will be through ASP.NET• Getting better, still not perfect• We currently have 7 GUI pages: Login, Search/Search Results/View

Item/Create Listing/Private Messages/View Reviews/Post Review/Favorite Sellers

• Will probably need more• May combine view/post review screens

• Back-end Interface• Original plan was LINQ• Might be easier to ditch LINQ in favor of raw SQL connections unless

Professor Steiner wants to help us with it

Page 10: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Behavioral Model

• The central functionality of AlpacaBid (auction site) defines its core behavior

• Prior to expiration, the system will accept new bids• Bidding must follow 10% rule

• This has been a recurring cause of concern

• System always accepts new items

• Post-Auction behavior• Email notifications to buyer and seller?

Page 11: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Restrictions, Limitations, and Constraints

• Management• Challenging launch date• SQL Server EULA restrictions

• Technical Restrictions• Product will be shipped to customer on a preconfigured virtual

machine• C# and SQL• Must run on Microsoft SQL 2012 Express

• Database must not exceed 10GB under normal operating conditions• Development team must be aware of some minor differences between

MySQL code and MSSQL code.

Page 12: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Testing Plan

• Unit Testing• Domain based• White and black box• Multi-level

• Acceptance (usability) Testing• 80/20 rule

• System Testing• Automated• Might not actually happen if deemed unnecessary

Page 13: Coding Alpacas AlpacaBid: Phase Two Design Presentation Presentation available at sourceforge.net/codingalpacas

Testing Plan (continued)

• Writing Test Cases• Design for failure• Developers write unit test cases• Everyone writes Acceptance

• Loosely based on use cases

• Performance standards must be predefined• Crashing (never)• Speed (in ms)• Simultaneous connections

• Documentation• All bugs will be documented on SourceForge• Bug fixes will be assigned to the original coder