You are on page 1of 24

Project Report on online shopping

ABSTRACT
The Online Shopping is a web based application intended for online retailers. The main Objective of this application is to make it interactive and its ease of use. It would make Searching, viewing and selection of a product easier. It contains a sophisticated search Engine for users to search for products specific to their needs. 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 users 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. The main emphasis lies in providing a user friendly search engine for effectively showing the desired results and its drag and drop behavior.

Index
1. Introduction 1.1 Goal.......................................................................................................................5 1.2 Need of the application..........................................................................................5 1.3 Scope......................................................................................................................6 1.4 Platform Specifications Deployment....................................................................6 1.4.1 Hardware Specification.......................................................................................6 1.4.2 Software Specification........................................................................................6 2. System Requirement Analysis 2.1 Information Gathering..............................................................................................7 2.2 System Feasibility....................................................................................................7 2.2.1 Economic Feasibility............................................................................................7 2.2.2 Technical Feasibility............................................................................................8 3. System Analysis 3.1 ER Diagram.........................................................................................................8-13 3.2 Data Flow Diagram.............................................................................................14-16 4. Introduction to .NET framework.17-19 5. SQL server19-22 6. Results & Challenges 6.1 Challenges..............................................................................................................23 7. Conclusions...............................................................................................................23 7.1 Limitations...............................................................................................................23

1. Introduction
1.1 Goal
Shopping has long been considered a recreational activity by many. Shopping online is no exception. The goal of this application is to develop a web based interface for online retailers. The system would be easy to use and hence make the shopping experience pleasant for the users. The goal of this application is To develop an easy to use web based interface where users can search for Products view a complete description of the products and order the products. A search engine that provides an easy and convenient way to search for products specific to their needs. The search engine would list a set of products based on the search term and the user can further filter the list based on various parameters. A user can view the complete specification of the product along with various Images and also view the customer reviews of the product. They can also write Their own reviews.

1.2 Need of the application


There are large numbers of commercial Online Shopping websites offering large number of products tailored to meet the shopping interests of large number of customers. These online marketplaces have thousands of products listed under various categories. Problem: The basic problems with the existing systems are the non-interactive environment they provide to the users. The use of traditional user interfaces which make continuous post backs to the Server; each post back makes a call to the server, gets the response and then Refreshes the entire web form to display the result. This scenario adds an extra Trade off causing a delay in displaying the results A search engine that would display the results without allowing the users to

Further filter the results based on various parameters. Use of traditional and non user friendly interfaces that are hard to use

Solution: 1) The motive of this Online Shopping Web Application is to allow the user to play with the search tool and create different combinatorial search criterion to perform exhaustive search 2) Provide Interactive interface through which a user can interact with different area of application easily. 3) A search engine that provides an easy and convenient way to search for products specific to their needs. The search engine would list a set of products based on the search term and the user can further filter the list based on various parameters.

1.3 Scope
y y y  The current system can be extended to allow the users to create accounts and 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 can be Extended to have an easy to use check out process.

1.4 Platform Specifications Deployment


1.4.1 Hardware Specification
    Processor P IV RAM 512 MB or more Hard disk more than 40 GB Display 16 bit color

1.4.2 Software Specification


 Operating Environment Win vista/XP  Front End-ASP.NET  Back End- Microsoft SQL Server 2008

2. System Requirement Analysis


2.1 Information Gathering
As the goal of the application is ease of use and to provide an interactive interface, extensive research has been done to gain an insight into the needs and behaviors of various users. Users can be classified into two types based on their knowledge of the products that suits their needs. They can be classified as users who know about the product that would satisfy their needs and users who have to figure out the product that would satisfy their needs. Users who know about the product should be able to find the product easily with the click of a button. Such users can search for the product by using the product name as the search term. Users who have to figure out the product that would satisfy their needs could use a search term to find a list of products and then should be able to filter the results based on various parameters like product type, manufacturer, price platform supported etc. The users should be able to view the complete specification of the product and various images at different Zoom levels. To increase the ease of use the user should be able to add a product to the shopping cart by dragging a product and dropping it in the shopping cart. A user should able to edit the contents of a shopping cart. They should be able to update the quantities of the products added to the cart and remove the products from the cart. The user should be able to remove the product from the shopping cart by dragging the product and dropping it outside the cart. The application can be made interactive by pop up messages when a product has

been dropped in to the shopping cart or out of the shopping cart. The user can be notified

2.2 System Feasibility


The system feasibility can be divided into the following sections:

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

2.2.2 Technical Feasibility


To deploy the application, the only technical aspects needed are mentioned below: Operating Environment Win vista /XP Platform .Net Framework Database SQL Server 2008 For Users: Internet Browser and Internet connection

3. System Analysis
3.1 Entity Relationship Diagram (ERD)
An Entity Relationship Diagram (ERD) is a snapshot of data structures. ERDs show entities in a database and relationships between tables within that database. It is essential to have one of these if you want to create a good database design. The patterns help focus on how the database actually works with all of the interactions and data flows, although another useful tool is a Data Flow Diagram (DFD) which more directly describes this. Entity Relation Model Entity Relation Model (ERM) is used to create a data model of a system and its requirements in a top-down approach. This is frequently the approach utilized in database design. The diagrams which emerge from this methodology is called ER diagrams. Structured data is represented by an Entity Relationship Model (ERM). Entity-Relationship Modeling is the model-generating process. The end-product of the modeling process is an entity-relationship diagram (ERD) or ER diagram, a type of Conceptual Data Model or Semantic Data Model. Important concepts in Entity Relation Model

An entity is an object that exists and is distinguishable from other objects. For instance, Larry Beach with S.S.N. 890-12-3456 is an entity, as he can be uniquely identified as one particular person in the universe. An entity set is a set of entities of the same type (e.g., all persons having an account at a bank). An entity set that does not possess sufficient attributes to form a primary key is called a weak entity set. One that does have a primary key is called a strong entity set. An entity is represented by a set of attributes. y E.g. name, S.S.N., street, city for ``customer'' entity. y The domain of the attribute is the set of permitted values (e.g. the telephone number must be seven positive integers). Formally, an attribute is a function which maps an entity set into a domain. o Every entity is described by a set of (attribute, data value) pairs. o There is one pair for each attribute of the entity set. o E.g. a particular customer entity is described by the set {(name, Harris), (S.S.N., 890-123-456), (street, North), (city, Georgetown)}. A relationship is an association between several entities. A relationship set is a set of relationships of the same type. Keys A super key is a set of one or more attributes which, taken collectively, allow us to identify uniquely an entity in the entity set. A super key may contain extraneous attributes, and we are often interested in the smallest super key. A super key for which no subset is a super key is called a candidate key. A primary key is a candidate key (there may be more than one) chosen by the DB designer to identify entities in an entity set. How to Make Entity Relationship Diagram An E-R diagram expresses the overall logical structure of a database graphically. 1.) Use rectangles representing entity sets. 2.) Use ellipses representing attributes 3.) Use ellipses representing attributes. 4.) Use diamonds representing relationship sets. 5.) Use lines linking attributes to entity sets and entity sets to relationship sets.

ENTITY RELATIONSHIP DIAGRAM:

Category

OrderDetails

Product

SubCategory

Sub2Category

City

Orders

Customer

State

Country

PaymentMode

Feedback

CustomerID FirstName LastName DOB Email ID Username Password Customer

TeleNo MobileNo Address CityID StateID CountryID PINCode

ProductNo ProductName ProductCode CategoryID SubCatID Sub2CatID ProductBrand Product

Description ActualPrice OurPrice Savings SavingPer Weight ImageFile

OrderNo ProductNo Quantity Orderdetails

TotalPrice

TotalWeight

FeedbackNo OrderNo CustomerId Feedback

Issue

Feedback

OrderNo Status CustomerID ShippingAddress OrderDate ShippingCity SentDate TotalPrice ShippingCountry Discount ShippingPIN PaymentModeId Orders ShippingState

CountryID

Country

CountryName

CategoryID

Category

CategoryName

CouponNo

Discount

Discount

PaymentModeID

PaymentMode

ModeName

CategoryID

Subcategory

SubCatID

SubCatName

SubCatID

Sub2Category

Sub2CatID

Sub2CatName

CountryID

State

StateID

StateName

StateID

City

CityID

CityName

3.2 Data Flow Diagram

Figure 3.2: A Context Level Diagram

Figure 3.3: A First Level Diagram

Figure 3.4: A Second Level Diagram

Figure 3.5: A Second Level Diagram

14. Introduction to .NET framework


The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a virtual machine that manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform. The framework's Base Class Library provides a large range of features including user interface, data and data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers, who combine it with their own code to produce applications. Programs written for the .NET Framework execute in software environment that manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together constitute the .NET Framework. Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. The current version of the framework can also be installed on Windows XP and the Windows Server 2003 family of operating systems.[2] A reduced version of the .NET Framework is also available on Windows Mobile platforms, including smart phones as the .NET Compact Framework. Version 4.0 of the framework was released as a public Beta on 20 May 2009. The .NET Framework is designed to fulfill the following objectives: To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, Including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of Scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any

other code. Principal design features Interoperability Because interaction between new and older applications is commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System, Runtime. InteropServices and System. Enterprise Services namespaces of the framework; access to other functionality is provided using the P/Invoke feature. Common Runtime Engine The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling. Language Independence The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible data types and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports the exchange of instances of types between programs written in any of the .NET languages. This is discussed in more detail in Microsoft .NET Languages. Base Class Library The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation. Simplified Deployment The .NET framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements. Security The design is meant to address some of the vulnerabilities, such as buffer overflows that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications. Portability The design of the .NET Framework allows it to theoretically be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft's commercial implementations of the framework cover Windows, Windows CE, and the Xbox 360. In addition, Microsoft submits the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and

the Common Intermediate Language),the C# language, and the C++/CLI language[9] to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.

SQL Server
SQL Server is an incredible database management system (dbms). It Offers an excellent mix of performance, reliability, ease of administration, and new Architectural options, yet enables the developer or DBA to control minute details when desired. SQL Server is a dream system for a database developer. If theres a theme to SQL Server 2008, its new architectural optionsSQL Server 2008 opens several new possibilities for designing more scalable and powerful systems. A database management, or DBMS, gives the user access to their data and helps them transform the data into information. Such database management systems include dBase, paradox, IMS, SQL Server and SQL Server. These systems allow users to create, update and extract information from their database. A database is a structured collection of data. Data refers to the characteristics of

people, things and events. SQL Server stores each data item in its own fields. In SQL Server, the fields relating to a particular person, thing or event are bundled together to form a single complete unit of data, called a record (it can also be referred to as raw or an occurrence). Each record is made up of a number of fields. No two fields in a record can have the same field name. During an SQL Server Database design project, the analysis of your business needs identifies all the fields or attributes of interest. If your business needs change over time, you define any additional fields or change the definition of existing fields. SQL SERVER TABLES SQL Server stores records relating to each other in a table. Different tables are created for the various groups of information. Related tables are grouped together to form a database. PRIMARY KEY Every table in SQL Server has a field or a combination of fields that uniquely identifies each record in the table. The Unique identifier is called the Primary Key, or simply the Key. The primary key provides the means to distinguish one record from all other in a table. It allows the user and the database system to identify, locate and refer to one particular record in the database. RELATIONAL DATABASE Sometimes all the information of interest to a business operation can be stored in one table. SQL Server makes it very easy to link the data in multiple tables. Matching an employee to the department in which they work is one example. This is what makes SQL Server a relational database management system or RDBMS. It stores data in two or more tables and enables you to define relationships between the table and enables you to define relationships between the tables. FOREIGN KEY When a field is one table matches the primary key of another field is referred to as a foreign key. A foreign key is a field or a group of fields in one table whose values match those of the primary key of another table. REFERENTIAL INTEGRITY Not only does SQL Server allow you to link multiple tables, it also maintains consistency between them. Ensuring that the data among related tables is correctly matched is referred to as maintaining referential integrity. DATA ABSTRACTION A major purpose of a database system is to provide users with an abstract view of the data. This system hides certain details of how the data is stored and maintained. Data abstraction is divided into three levels. Physical level: This is the lowest level of abstraction at which one

describes how the data are actually stored. Conceptual Level: At this level of database abstraction all the attributed and what data are actually stored is described and entries and relationship among them. View level: This is the highest level of abstraction at which one describes only part of the database. ADVANTAGES OF RDBMS Redundancy can be avoided Inconsistency can be eliminated Data can be Shared Standards can be enforced Security restrictions can be applied Integrity can be maintained Conflicting requirements can be balanced Data independence can be achieved. DISADVANTAGES OF DBMS A significant disadvantage of the DBMS system is cost. In addition to the cost of purchasing of developing the software, the hardware has to be upgraded to allow for the extensive programs and the workspace required for their execution and storage. While centralization reduces duplication, the lack of duplication requires that the database be adequately backed up so that in case of failure the data can be recovered. FEATURES OF SQL SERVER (RDBMS) SQL SERVER is one of the leading database management systems (DBMS) because it is the only Database that meets the uncompromising requirements of todays most demanding information systems. From complex decision support systems (DSS) to the most rigorous online transaction processing (OLTP) application, even application that require simultaneous DSS and OLTP access to the same critical data, SQL Server leads the industry in both performance and capability SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched performance, continuous operation and support for every database. SQL SERVER RDBMS is high performance fault tolerant DBMS which is specially designed for online transactions processing and for handling large database application.SQL SERVER with transactions processing option offers two features which contribute to very high level of transaction processing throughput, which are The row level lock manager ENTERPRISE WIDE DATA SHARING The unrivaled portability and connectivity of the SQL SERVER DBMS enables all the systems in the organization to be linked into a singular, integrated computing resource. PORTABILITY

SQL SERVER is fully portable to more than 80 distinct hardware and operating systems platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary platforms. This portability gives complete freedom to choose the database server platform that meets the system requirements. OPEN SYSTEMS SQL SERVER offers a leading implementation of industry standard SQL. SQL Servers open architecture integrates SQL SERVER and non SQL SERVER DBMS with industrys most comprehensive collection of tools, application, and third party software products SQL Servers Open architecture provides transparent access to data from other relational database and even non-relational database. DISTRIBUTED DATA SHARING SQL Servers networking and distributed database capabilities to access data stored on remote server with the same ease as if the information was stored on a single local computer. A single SQL statement can access data at multiple sites. You can store data where system requirements such as performance, security or availability dictate. UNMATCHED PERFORMANCE The most advanced architecture in the industry allows the SQL SERVER DBMS to deliver unmatched performance. SOPHISTICATED CONCURRENCY CONTROL Real World applications demand access to critical data. With most database Systems application becomes contention bound which performance is limited not by the CPU power or by disk I/O, but user waiting on one another for data access. SQL Server employs full, unrestricted row-level locking and contention free queries to minimize and in many cases entirely eliminates contention wait times. NO I/O BOTTLENECKS SQL Servers fast commit groups commit and deferred write technologies dramatically reduce disk I/O bottlenecks. While some database write whole data block to disk at commit time, SQL Server commits transactions with at most sequential log file on disk at commit time, On high throughput systems, one sequential writes typically group commit multiple transactions. Data read by the transaction remains as shared memory so that other transactions may access that data without reading it again from disk. Since fast commits write all data necessary to the recovery to the log file, modified blocks are written back to the database independently of the transaction commit, when written from memory to disk.

Results & Challenges


The application can be used for any Ecommerce application. It is easy to use, since it uses the GUI provided in the user dialog. User friendly screens are provided. The application is easy to use and interactive making online shopping a recreational activity for users. It has been thoroughly tested and implemented. 7.1 Challenges Compatibility with browsers like Mozilla Firefox, Internet explorer etc Using a layered approach in developing the application which would make the application maintainable. 8. Conclusions The Online Shopping 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 users input. The user can then view the complete specification of each product. 8.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. 8.2 Scope for Future Work The following things can be done in future. The current system can be extended to allow the users to create accounts and 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 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.

You might also like