Professional Documents
Culture Documents
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.
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.
been dropped in to the shopping cart or out of the shopping cart. The user can be notified
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.
Category
OrderDetails
Product
SubCategory
Sub2Category
City
Orders
Customer
State
Country
PaymentMode
Feedback
TotalPrice
TotalWeight
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
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.