140 likes | 268 Views
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
E N D
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
Usage Scenarios • 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
Data Model • SQL Server • Long term storage • Class-Based • Short term storage • Provides an interface between SQL database and front end code
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
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
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 • 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
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?
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.
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
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