PROJECT REPORT ON
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DIPLOMA COURSE
IN
SOFTWARE PROGRAMING
BY
SANDESH MANOHAR
UNDER THE GUIDANCE OF
SHRADDHA MESTRY
DEPARTMENT OF INFORMATION TECHNOLOGY
INSTITUDE FOR DESIGN OF ELECTRICAL MEASURING INSTRUMENTS
INSTITUDE FOR DESIGN OF ELECTRICAL MEASURING INSTRUMENTS
CERTIFICATE
This is to certify that Mr. / Miss,
--------------------------------------------------------------------------------has successfully completed the academic project titled,
---------------------------------------------------------------------------------
in partial fulfillment of diploma course in software programming.
HOD. Internal Examiner
Acknowledgement
Sincere appreciation and warmest thanks are extended to the many individuals who in their own ways have inspired me in the completion of this project.
Many persons have contributed to make this project a reality. We would like to express our appreciation to our coordinator.
Mr. Shambharkar Sir, our Miss Shraddha Mestry for her generous support and encouragement.
We acknowledge the help and cooperation received from all the staff member of IT Department of Institute for Design of Electrical Measuring Instruments Mumbai.
Last but not the least we would like to thank our parents and other family members who have always guided us towards the path of success and our friends who have helped us indirectly through the entire project duration and also have been the source of encouragement.
And finally, our sincere thanks to our batch-mates, who have provided us with innumerable discussions on many technicalities and friendly tips. Without their cordial and friendly support, this activity would have been much tougher.
Sandesh Manohar
ABSTRACT
The business-to-consumer aspect of electronic commerce (e-commerce) is
the most visible business use of the World Wide Web. The primary goal of an e-
commerce site is to sell goods and services online.
This project deals with developing an e-commerce website for Online Pizza
Hut Shopping. It provides the user with a catalog of different Pizzas available for
purchase in the store.
In order to facilitate online purchase a shopping cart is provided to the user.
The system is implemented using a 3-tier approach, with a backend database, a
middle tier of Microsoft Internet Information Services (IIS) and ASP.NET, and a web
browser as the front end client.
In order to develop an e-commerce website, a number of Technologies must
be studied and understood. These include multi-tiered architecture, server and client
side scripting techniques, implementation technologies such as ASP.NET,
programming language (such as vb) and relational databases (such as SQL Server
2005).
This is a project with the objective to develop a basic website where a
consumer is provided with a shopping cart application and also to know about the
technologies used to develop such an application.
This document will discuss each of the underlying technologies to create and
implement an e-commerce website.
INDEX
1. IntroductionIntroduction of Project
2. System requirement Processing Environment - Hardware Acceptance criteria Technical feasibility Economical feasibility
3. Project plan Gantt chart Programming language and development tool
4. Design Document Context level diagram 1st level DFD Use Case diagram
5. Architectural Design Introduction
Architecture Presentation Tier User Page Flow Diagram Admin – Page Flow Diagram Business Tier Class Diagram
Sequence Diagram Data Tier E-R Diagram Data Table Screen layouts
6. Testing Unit Testing Integration Testing Validation Testing White Box testing
7. Limitation and future Enhancements Limitation Future Enhancement
8. Conclusion
9. Bibliography
1. Introduction of the Project
E-commerce is fast gaining ground as an accepted and used business
paradigm. More and more business houses are implementing web sites providing
functionality for performing commercial transactions over the web. It is reasonable
to say that the process of shopping on the web is becoming commonplace.
The objective of this project is to develop a general purpose e-commerce
store where any product (such as Veg Pizza and Non-Veg Pizza) can be bought from
the comfort of home through the Internet.
“www.PizzaHut.com” is a virtual store on the Internet where customers can
browse the catalog and select products of interest. The selected items may be
collected in a shopping cart.
At checkout time, the items in the shopping cart will be presented as an
order. At that time, more information will be needed to complete the transaction.
The customer will be asked to fill or select a shipping address, a shipping option, and
payment information such as credit card number. An e- mail notification is sent to
the customer as soon as the order is placed.
2.1 Processing Environment – Hardware
Processor :- Intel Pentium 4
RAM :- 256 MB
Minimum Space Required :- 20 GB
Display :- 16 bit color
2.2 Acceptance Criteria
The Acceptance criteria can be divided into the following sections:
2.2.1 Technical Feasibility
To deploy the application, the only technical aspects needed are
mentioned below:
Operating Environment Win 2000/XP
Platform .Net Framework & IIS
Database SQL Server 2005
For Users:
Internet Browser
Internet Connection
2.2.2 Economic Feasibility
The project is economically feasible as the only cost involved is having a
computer with the minimum requirements mentioned earlier.
For the users to access the application, the only cost involved will be in
getting access to the Internet.
3.1 Gantt Chart A Gantt chart is a horizontal bar chart developed as a Production control in 1917 by Henry l. Gantt, an American engineer and social scientist. Frequently used in project management, a Gantt chart provides an graphical illustration of scheduling of the project plan, coordinate and track specific task in the project.
Grants chart may be a simple version created on the graph paper or complex automated version created using project management application such as Microsoft project or excel.
A Gantt chart is constructed in a horizontal axis representing the total time span of the project, broken down into increments and vertical axis representing task that make the project. Horizontal bars of varying length represent sequence, time span of the each task in the project.
3.2 Programming languages and development Tools 3.2.1 Programming languages
asp.net
vb
SQL server 2005
3.2.1 Development Tools Microsoft Visual Studio 2008
4.1 Context level diagram
Login
Register
Search
Add Product
Add Category
Add Subcategory
5.1 Introduction
The purpose of this document is to provide an architectural
design for the Online Pizza Hut Shop. The design will show the presentation tier, the
middle tier consisting of classes, sequence diagrams, and the data tier consisting of
the database design diagram.
5.2 Architecture
Three-tier (layer) is a client-server architecture in which the user
interface, business process (business rules) and data storage and data access are
developed and maintained as independent modules or most often on separate
platforms.
The Architecture of Online Shopping of Software & E-Books is
based on three-tier architecture. The three logical tiers are
Presentation Tier - ASP.NET Web forms, ASP.NET User
Controls, ASP.NET Master Pages.
Business or Middle Tier – vb classes.
Data Tier – Database
1) Presentation Tier: - It is responsible for displaying the contents to the user.
2) Business Tier: - It communicates between Presentation Tier and Data Tier.
For Example,
Receiving the search request for the product and passing it to the
database and submitting the results back to presentation tier for
display.
Displaying the cart empty message when there is no product in the
shopping cart.
It is the main component of the website since it is responsible for
handling the overall logic.
3) Data Tier: - It is responsible for storing the product information, transactions
of the customer and shopping cart products. It is also responsible handling
the requests from the business tier and using stored procedures passing the
result back.
Fig. below shows the model of three-tier architecture.
The main reason for considering three-tier architecture for the Online
Pizza Hut Shop is as follows:
Flexibility:
• Management of data is independent from the physical storage support,
• Maintenance of the business logic is easier,
• Migration to new graphical environments is faster.
• If there is a minor change in the business logic, we don’t have to install the entire
system in individual user’s PCs.
Reusability:
• Reusability of business logic is greater for the presentation layer. As this
Component is developed and tested, we can use it in any other project and would be
helpful for future use.
Team Work:
• Team work is optimized.
Security:
• More secured architecture since the client cannot access the database directly.
5.2.1. Presentation Tier
The presentation tier for the Online Book Store is ASP.NET Web
Forms with User Controls. The presentation tier takes care of the user interaction
and the visual part of the website. The Visual Studio .NET IDE will be used to create
the Web forms. It uses code behind code, where the code for each ASPX page is
encapsulated into a separate file.
The various Web forms used by Users are listed below.
ASP.NET Web Forms Purpose
Default.aspx This web page is used to browse the entire website and also displays different categories, offers available
Aboutus.aspx The Web page displays information’s about the Pizza Hut.
Contactus.aspx The Web page is the display address to contact us.
Feedbackform.aspx The Web page is to feed back us about our service and query.
Registration.aspx The Web page where a new user can create a user account.
SuccesfullyRegistered.aspx The Web page for confirming successful registration.
UnSuccesfullyRegistered.aspx The Web page is not successful registration & says please try again.
Login.aspx This web page is used for a user to login and enter the website.
MyProfile.aspx The Web page where the users can view their profile information.
Mycart.aspx The Web page where he can view his items in shopping cart.
ProductList.aspx The Web page where the users can view a product details by selecting product list.
Checkout.aspx The Web page where the users can checkout
for order payment detail.SearchResult.aspx The Web page for searching an available
product.
The various Web forms used by Administrator are listed below.
ASP.NET Web Forms Purpose
Login.aspx This web page is used for an
Administrator to login and enter the
website.
Welcomeadmin.aspx The Web page for welcome screen.
Addminprofile.aspx The Web page is viewing details
information of his account
AddCategories.aspx The web page for viewing categories
and their respective subcategories and
adding new and view existing details of
categories.
AddSubCategories.aspx The web page for viewing
subcategories and their respective
products and adding new and view
existing details of subcategories.
AddProducts.aspx The web page for viewing all respective
products of particular subcategories
and adding new products.
SystemOrderDirect.aspx The Web page for directly order the no
of product as a System.
5.2.2 Business Tier
The Business Tier or Middle Tier consists of two classes
5.2.3 Data Tier
E-Diagram
Registration table
Category Table
Subcategory Table
Products Table
Feedback Table
5.3 Screen Layouts
Home Page screen
About us Page screen
Contact us Page screen
Feedback Page screen
Registration Page screen
Login Screen:
Site map Screen:
Searched Result Screen:
Successfully Register Screen:
Unsuccessfully Register Screen:
WelcomeAdmin Screen:
Admin Profile Screen:
AddProducts Screen:
Add Category Screen:
Add Subcategory Screen:
DirectSystemOrder Screen:
Logout Screen:
User My Profile Screen:
Product list and Add to the Cart Screen:
Shopping Cart Screen:
Checkout Screen:
Logout Screen:
Testing Software testing is a process of running with intent of finding errors
in software. Software testing assures the quality of software and represents final
review of other phases of software like specification, design, code generation etc.
6.1 Unit Testing
Unit testing emphasizes the verification effort on the smallest unit of
software design i.e.; a software component or module. Unit testing is a dynamic
method for verification, where program is actually compiled and executed. Unit
testing is performed in parallel with the coding phase. Unit testing tests units or
modules not the whole software.
I have tested each view/module of the application individually. As the
modules were built up testing was carried out simultaneously, tracking out each and
every kind of input and checking the corresponding output until module is working
correctly.
The functionality of the modules was also tested as separate units.
Each of the three modules was tested as separate units. In each module all the
functionalities were tested in isolation.
In the Shop Products Module when a product has been added to cart it has been
made sure that if the item already exists in the shopping cart then the quantity is
increased by one else a new item is created in the shopping cart.
Also the state of the system after a product has been dragged in to
the shopping cart is same as the state of the system if it was added by clicking the
add to cart button.
In the Product Description Module it has been tested that all the
images are displayed properly. Users can add review and the as soon as a user adds a
review it is updated in the view customer review tab.
It has been checked to see if the whole page refreshes or a partial
page update happens when a user writes a review.
In the Cart Details it has been tested that when a user edits a quantity
or removes a product from the cart, the total price is updated accordingly. It has
been checked to see if the whole page refreshes or a partial page update happens
when a user edits the cart.
Visual Studio 2005 has in built support for testing the application. The
unit testing can be done using visual studio 2005 without the need of any external
application.
Various methods have been created for the purpose of unit testing.
Test cases are automatically generated for these methods. The tests run under the
ASP.NET context which means settings from Web.config file are automatically picked
up once the test case starts running.
Methods were written to retrieve all the manufacturers from the
database, strings that match a certain search term, products that match certain filter
criteria, all images that belong to a particular product etc. Unit test cases were
automatically generated for these methods and it can be seen in figure 6.1 that the
tests have passed.
6.2 Integration Testing
In integration testing a system consisting of different modules is
tested for problems arising from component interaction. Integration testing should
be developed from the system specification.
Firstly, a minimum configuration must be integrated and tested. In
my project I have done integration testing in a bottom up fashion i.e. in this project I
have started construction and testing with atomic modules.
After unit testing the modules are integrated one by one and then
tested the system for problems arising from component interaction.
6.3 Validation Testing
It provides final assurances that software meets all functional,
behavioral & performance requirement. Black box testing techniques are used.
There are three main components
- Validation test criteria (no. in place of no. & char in place of char)
- Configuration review (to ensure the completeness of s/w configuration.)
- Alpha & Beta testing-Alpha testing is done at developer’s site i.e. at home & Beta
testing once it is deployed. Since I have not deployed my application, I could not do
the Beta testing.
Test Cases- I have used a number of test cases for testing the product. There were
different cases for which different inputs were used to check whether desired output
is produced or not.
1. Addition of a new product to the cart should create a new row in the shopping
cart.
2. Addition of an existing product to the cart has to update the quantity of the
product.
3. Any changes to items in the cart have to update the summary correctly.
4. Because same page is inserting data into more than one table in the database
atomicity of the transaction is tested.
6.4 White Box Testing
In white box testing knowing the internal working of the product,
tests can be conducted to ensure that internal operations are performed according
to specification and all internal components have been adequately exercised.
In white box testing logical path through the software are tested by
providing test cases that exercise specific sets of conditions and loops.
Using white-box testing software developer can derive test case that
• Guarantee that all independent paths within a module have been exercised at least
once.
• Exercise all logical decisions on their true and false side.
• Exercise all loops at their boundaries and within their operational bound.
• Exercise internal data structure to ensure their validity.
At every stage of project development I have tested the logics of the
program by supplying the invalid inputs and generating the respective error
messages. All the loops and conditional statements are tested to the boundary
conditions and validated properly.
Limitation & future Enhancements
7.1 Limitations
This application does not have a built in check out process. An
external checkout package has to be integrated in to this application. Also users
cannot save the shopping carts so that they can access later i.e. they cannot create
wish lists which they can access later.
This application does not have features by which user can set price
ranges for products and receive alerts once the price reaches the particular range.
7.2 Future Enhancements
The following things can be done in future.
• The current system can be extended to allow the users to save products in to wish
list.
• The users could subscribe for price alerts which would enable them to receive
messages when price for products fall below a particular level.
• The current system is confined only to the shopping cart process. It uses third Party
for Check out Process to Complete. It can be extended to have an easy to use check
out process.
• Users can have multiple shipping and billing information saved. During
Checkout they can use the drag and drop feature to select shipping and billing
information.
Conclusions
The ‘Online Pizza Hut Shop’ is designed to provide a web based
application that would make searching, viewing and selection of a product easier.
The search engine provides an easy and convenient way to search for
products where a user can Search for a product interactively and the search engine
would refine the products available based on the user’s input.
The user can then view the complete specification of each product.
They can also view the product reviews and also write their own reviews.
Use of Ajax components would make the application interactive and
prevents annoying post backs. Its drag and drop feature would make it easy to use.
BibliographyBibliography
Books
1. Anderson, R., Francis, B., Homer, A., Howard, R., Sussman, D. and Watson. (2001) Professional ASP.NET. Wrox Press Ltd. 2. Unleashed. SAMS Net.
3. Wiley, Y. M. J. & Sons. (1997) Creating the Virtual Store: Taking Your Web Site from Browsing to Buying.
4. Asp.net 3.5 by wrox professional in c#
Websites
1. http://encyclopedia.laborlawtalk.com/IIS
2. http://aspnet.4guysfromrolla.com/articles/020404-1.aspx 3. http://www.x-cart.com/articles/design_development.html For online customer behavior.
4. http://aspnet.4guysfromrolla.com/articles/011404-1.aspx For relation between IIS and ASP.NET.
5. http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm For definition of Data Flow Diagram.