470 likes | 483 Views
MyBookStore – E-shopping for books. Committee Members: Dr. Daniel Andresen Dr. Gurdip Singh Dr. Mitchell Neilsen. Presented By : Sushma Reddy Chitturi MS FINAL DEFENSE May 10 2010. Outline. Introduction Approach
E N D
MyBookStore – E-shopping for books. Committee Members: Dr. Daniel Andresen Dr. Gurdip Singh Dr. Mitchell Neilsen Presented By : Sushma Reddy Chitturi MS FINAL DEFENSE May 10 2010.
Outline • Introduction • Approach • Requirement Analysis • System Analysis • Design • Implementation • Testing • Demo- a first look • Conclusion • Challenges • Limitations • Future Work • Resources • References • Acknowledgments
Introduction • Motivation …The Web • Web is a Shopper’s paradise. • Design of an Efficient application which can serve to the needs of shoppers providing a user friendly environment. • Goal Design and Develop a user interactive e-commerce web application that is • User friendly • Highly Responsive • And has efficient search and filter methodologies.
Introduction • Problems • Use of non-interactive and traditional user interface which can make an application slow to respond. • No effective search methodologies have been implemented for finding a particular product amongst numerous products. • Filtering of products based on various criterions. • Can be non-user friendly.
Solution – MyBookStore • Need of the application • Sophisticated search and filter techniques to efficiently locate books. • A rich user friendly application to cater the needs efficiently. • Enables users to view complete specifications of books. • Ability for the users to manage their accounts.
Approach-Requirement analysis • Information Gathering for functionality • E-commerce applications available online • Information Gathering for Implementation. • Microsoft Asp.net website. • Msdntechnical forums. • Design Patterns in Web Programming.
Approach-Requirement analysis - Continued • System Feasibility • Economic Feasibility • A Computer with an internet connection • Pretty feasible economically. • Technical Feasibility • Operating Environment : Windows 2000/XP or Above • Platform : .Net Framework 2.0 or above, IIS • Programming Language : C#, Java Script • Database : MS Sql Server 2005 or above • Behavioral Feasibility Most of the features in this application are self-explanatory to the user. No special technical guidance is required
Approach-System analysis • Use Case Diagram
Approach-System analysis - Continued Approach-System analysis • Entity – Relationship Diagram
Approach-System analysis - Continued • Dataflow Diagrams
Approach-System analysis - Continued • Dataflow Diagrams
Approach-Design • Design Goals • Sophisticated search and filtering techniques. • Building user interactive web pages for viewing available books, searching for a particular book, viewing the details of the book. • Implementing easy navigability throughout the application. • Flicker free web pages during post-backs through usage of AJAX framework controls.
Approach-Design - Continued Architectural Context Diagram
Approach-Design - Continued • Modular Approach • Available Products Module • Cart Module • Login Module • Checkout Module • Administrator Module • Categories Module • Sub Categories Module • Products Module • Orders Module
Approach-Design - Continued • System Architecture • Presentation Layer – UI Designed in Asp.net and AJAX Framework. • Business Logic Layer • Data Access Layer – Designed in MS Sql server 2005.
Approach-Design - Continued • System Architecture • Presentation Layer – UI Designed in Asp.net and AJAX Framework.
Approach-Implementation • Database
Approach-Implementation - Continued • User Interface – Home Page
Approach-Implementation - Continued • User Interface – View Cart Page
Approach-Implementation - Continued • User Interface – View Cart Page
Approach-Implementation - Continued • User Interface – Product Details Page
Approach-Implementation - Continued • User Interface – Order Summary Page
Approach-Implementation - Continued • Technical Discussions • Implementing sophisticated search and filter methods. • Use of AJAX controls to handle the issues caused due to post backs to improve the behavior of web pages. • Minimizing access to database by using session variables. • Use of Yahoo-API to implement a web service. • User navigability. • Auto-population of available books while searching. • Complete Administrator site developed. • Validating all data entry done by the user as well as admin.
Approach-Implementation - Continued • Break down of Program code. • Initial Estimate – about 4000 LOC • Final Outcome – 4534 LOC
Approach-Testing • Testing • Testing Environment • Processor: Intel Centrino • Processor Speed : 2.2 GHz • Memory: 2.0 GB • Operating System : Windows 7 Professional • Server : IIS Local Machine
Approach-Testing - Continued • Testing • White Box Testing • Tester has access to internal data structures and code to test the system. • All logical paths in the code have been executed at least once. • All conditional statements have been executed for both true and false results. • All loops in the code have been executed. • Results • All Tests passed for both correct as well as incorrect inputs.
Approach-Testing - Continued • Testing • Unit Testing • Integrated unit testing tool in visual studio 2008. • Tested for both correct and incorrect values to see if the desired results are achieved. • Unit Test cases that were performed. • Login method was tested so that only registered users were allowed to login into the system and proper messages were displayed if there is an error while logging in. • Hitting a back button doesn’t produce any undesired results in view cart page like adding a new product into the cart. • Entering a value zero in the quantity box in cart removes that particular item from the cart. • Price and quantity values are updated properly whenever user clicks Update cart button in view cart page. • Navigation Link buttons take users to designated pages. • Categories and sub categories are displayed in the left menu. • Proper filtering of books. • Filtering Panel is displayed only when there are books available. • All Orders are displayed when user queries his order history.
Approach-Testing - Continued • Testing • Results
Approach-Testing - Continued • Testing • Integration Testing • To make sure that the interfaces between components comply with design. • Iterative – Bottom – up fashion. • Each module was developed and tested individually and was then integrated with other module(s) and tested. • Results • Each module executed independently as well as when integrated with other modules correctly.
Approach-Testing - Continued • Testing • Non Functional Testing • To ensure that the application works correctly even when wrong inputs are given to the application. An Example : Entering Alphabets where numerical values are expected. • Results • Application behaved correctly by displaying appropriate user-friendly error messages whenever wrong inputs were given.
Approach-Testing - Continued • Testing • Validation Testing • final assurance for the quality, functionality and behavioral requirement of the application. • comprises of validation test criterion which makes sure that input fields receive proper type of inputs • Results • Application behaved as per its functionality.
Approach-Testing - Continued • Testing • Performance Testing • to determine how fast a system performs under varying loads. • to validate and verify other attributes of the system such as scalability, reliability and resource usage. • Apache JMeter was used to perform load testing. • NeoLoad tool developed by NeoTys was used to simulate multiple users hitting the system simultaneously. • Microsoft web application Stress tool. • Factors effecting the performance of the system. • number of users accessing the system. • Constant load vs. Peak Load.
Approach-Testing - Continued • Testing • Performance Testing • Tests were conducted by changing the number of users. • Results
Approach-Testing - Continued • Testing • Performance Testing • Tests were conducted to test the response times of two web pages both differing in the complexity. • Loop Count – 150 , Ramp Up Period – 10sec. • Results
Approach-Testing - Continued • Testing • Performance Testing • Tests were conducted to test the throughputs of two web pages both differing in the complexity. • Results - Throughput of a simple web page.
Approach-Testing - Continued • Testing • Results - Throughput of a complex web page.
Approach-Testing - Continued • Testing • CPU Utilization – Tested using WAS. • When tested for 100 users for about an hour was about 40%. • When tested for 200 users for about an hour it increased to about 75%.
Approach-Testing - Continued • Testing • Interpreting Results and Observations • 100% CPU utilization might be achieved by increasing the duration of test script. • Increase in the number of Users increases the number of server requests as well as response times. • The Response Time of more complex pages is much more than that of simple pages. • Throughput under constant load conditions is high when compared to increasing loads. • The application could handle loads up to 1000 users. • Better configuration systems can produce even better results.
Conclusion • Challenges • Design a proper structure for the application which should be user friendly. • Designing of database so that there is no redundancy. Normalization of the tables that have been designed. • Learning of Ajax framework for implementing many controls in the application and the usage of java script for client side validations. • Using Web services in the application. • Learning and implementing the application using .NET technologies.
Conclusion - Continued • Limitations • Validating the check-out process which means validating the credit card details that have been entered by the user while checking out. • Ability for the users to save their cart so that they can check out later. • Ability for the users to subscribe to price alerts for books.
Conclusion - Continued • Future Work • Saving the cart for future check-out purpose. • Subscribing for price alerts. • Ability to save the billing and payment details so that data entry work for a user can be reduced while checking out. • Ability to add multiple receivers. • Drag and drop of the items into the cart.
Resources and Tools Utilized • Asp. Net Ajax Controls. • Microsoft Visual Studio 2008 • MS Sql 2005 • Apache JMeter • NeoLoad • Microsoft Web Application Stress tool
References • “Microsoft Ajax Control Tool Kit”, Microsoft Corporation 2009. • (http://www.asp.net/ajaxlibrary/act_tutorials.ashx). • “Apache JMeter”, Apache Software Foundation 1999-2009. • (http://jakarta.apache.org/jmeter/). • “Nhibernate for .NET”, Red Hat Middleware, 2009. • (https://www.hibernate.org/343.html) . • “Nhibernate - Relational Persistence for Idiomatic .NET”, hibernate.org. • (https://www.hibernate.org/hib_docs/nhibernate/html/quickstart.html). • Geoffrey Sparks, Database Modeling in UML, Sparx Systems. • “A UML Profile for Data Modeling”, Scott.W.Ambler, 2009 . • (http://www.agiledata.org/essays/umlDataModelingProfile.html). • “How to: Measure Asp .NET Responsiveness with Web Application Stress Tool”, Microsoft Support 2010. • (http://support.microsoft.com/kb/815161).
acknowledgments • Dr. Daniel Andresen. • Dr. Gurdip Singh. • Dr. Mitchell Neilsen.