MyBookStore E-shopping for books.

bubblesradiographerServers

Dec 4, 2013 (3 years and 7 months ago)

75 views

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

O
UTLINE


Introduction


Approach


Requirement Analysis


System Analysis


Design


Implementation


Testing


Demo
-

a first look


Conclusion


Challenges


Limitations


Future Work


Resources


References


Acknowledgments

I
NTRODUCTION


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.






I
NTRODUCTION


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.

S
OLUTION



M
Y
B
OOK
S
TORE


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.

A
PPROACH
-
R
EQUIREMENT

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.

A
PPROACH
-
R
EQUIREMENT

ANALYSIS

-

C
ONTINUED


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





A
PPROACH
-
S
YSTEM

ANALYSIS


Use Case Diagram




A
PPROACH
-
S
YSTEM

ANALYSIS

-

C
ONTINUED

A
PPROACH
-
S
YSTEM

ANALYSIS


Entity


Relationship Diagram





A
PPROACH
-
S
YSTEM

ANALYSIS

-

C
ONTINUED


Dataflow Diagrams


A
PPROACH
-
S
YSTEM

ANALYSIS

-

C
ONTINUED


Dataflow Diagrams

A
PPROACH
-
D
ESIGN


Design Goals


S
ophisticated 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.



A
PPROACH
-
D
ESIGN

-

C
ONTINUED


Architectural Context Diagram


A
PPROACH
-
D
ESIGN

-

C
ONTINUED


Modular Approach



Available Products Module


Cart Module


Login Module


Checkout Module


Administrator Module


Categories Module


Sub Categories Module


Products Module


Orders Module




A
PPROACH
-
D
ESIGN

-

C
ONTINUED


System Architecture


Presentation Layer


UI Designed in Asp.net and AJAX Framework.


Business Logic Layer


Data Access Layer


Designed in MS Sql server 2005.



































A
PPROACH
-
D
ESIGN

-

C
ONTINUED


System Architecture


Presentation Layer


UI Designed in Asp.net and AJAX Framework.


































A
PPROACH
-
I
MPLEMENTATION


Database




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


User Interface


Home Page




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


User Interface


View Cart Page




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


User Interface


View Cart Page




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


User Interface


Product Details Page




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


User Interface


Order Summary Page




A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


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.


A
PPROACH
-
I
MPLEMENTATION

-

C
ONTINUED


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

A
PPROACH
-
T
ESTING


Testing


Testing Environment



Processor: Intel
Centrino



Processor Speed :
2.2 GHz



Memory:
2.0 GB



Operating System : Windows
7 Professional



Server : IIS Local Machine


A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.


A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.




A
PPROACH
-
T
ESTING

-

C
ONTINUED


Testing


Results


A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.


A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.




A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.




A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.





A
PPROACH
-
T
ESTING

-

C
ONTINUED


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

A
PPROACH
-
T
ESTING

-

C
ONTINUED


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

details

Page

(ms)

100

28000

1060

500

105300

8000

1000

135000

11000

A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.


A
PPROACH
-
T
ESTING

-

C
ONTINUED


Testing


Results
-

Throughput of a complex web page.

A
PPROACH
-
T
ESTING

-

C
ONTINUED


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%.

A
PPROACH
-
T
ESTING

-

C
ONTINUED


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.



D
EMO



L
ETS

PLACE

AN

ORDER
.

C
ONCLUSION


Challenges


D
esign 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.



C
ONCLUSION

-

C
ONTINUED



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.



C
ONCLUSION

-

C
ONTINUED



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.



R
ESOURCES

AND

T
OOLS

U
TILIZED


Asp. Net Ajax Controls.



Microsoft Visual Studio 2008



MS Sql 2005



Apache JMeter



NeoLoad



Microsoft Web Application Stress tool

R
EFERENCES


“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.

Q
UESTIONS