Download MS Presentation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

URL redirection wikipedia , lookup

Transcript
MyBookStore – E-shopping for books.
Presented By :
Sushma Reddy Chitturi
MS FINAL DEFENSE
May 10 2010.
Committee Members:
Dr. Daniel Andresen
Dr. Gurdip Singh
Dr. Mitchell Neilsen
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.

Msdn technical 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

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

Code Type
Number of Lines
Java Script
50
Automated C#
1012
Hand Written C#
2387
CSS
533
SQL Stored Procedures
552
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
Users
Ramp-Up Period
Loop Count
Home Page
Average Response (ms)
50
5
500
995
100
5
500
996
500
5
500
1010
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
Users
Home Page (ms)
Product
(ms)
100
28000
1060
500
105300
8000
1000
135000
11000
details
Page
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.
DEMO – LETS PLACE AN ORDER.
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.


“Apache JMeter”, Apache Software Foundation 1999-2009.


(http://jakarta.apache.org/jmeter/).
“Nhibernate for .NET”, Red Hat Middleware, 2009.


(http://www.asp.net/ajaxlibrary/act_tutorials.ashx).
(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.
QUESTIONS