paraphrase

profilesony.tayq
paraphase_3.docx

ABSTRACT

The objective of this project is to design a Music store web application with user interface which will enable them to browse, search, get song recommendations and buy the song-items of their choice. The motivation of this project comes from my desire to learn the increasingly growing field of .NET, SQL server database designing, website designing and their growing popularity by taking up this case study.

The word “design” in the context of a Web Application can mean many things. Its most popular usage probably refers to the visual and user interface (UI) design of a web site. This aspect is crucial because, the visitor is often more impressed with how a website looks and how easy it is to use than about which technologies and techniques are used behind the scenes, or what operating system the web server is running. If the site is hard to use and easy to forget, it just doesn’t matter what technologies was used to create it. Unfortunately, this truth makes many inexperienced programmers underestimate the importance of the way the invisible part of the site is implemented—the code, the database, and so on. The visual part of a site gets visitors interested to begin with, but its functionality makes them come back. A web site can sometimes be implemented very quickly based on certain initial requirements, but if not properly architected, it can become difficult, if not impossible, to change.

Thus, performance is also a major thrust area in the Web application which is one of the main reasons why users get attracted to it. Growing user needs should be taken in to concern with new features to be included. Effective performance can be achieved by making proper database design strategy. Also, easy navigation also needs to be accomplished while executing this project.

2

1. Introduction

1.1. Purpose and Motivation

The objective of this project is to implement a Music CD store web application with user interface. The motivation of this project comes from my desire to learn the increasingly growing field of .NET, SQL server database designing, website designing and their growing popularity by taking up this case study.

The word “design” in the context of a Web Application can mean many things. Its most popular usage probably refers to the visual and user interface (UI) design of a web site. This aspect is crucial because, the visitor is often more impressed with how a website looks and how easy it is to use than about which technologies and techniques are used behind the scenes, or what operating system the web server is running. If the site is hard to use and easy to forget, it just doesn’t matter what technologies was used to create it. Unfortunately, this truth makes many inexperienced programmers underestimate the importance of the way the invisible part of the site is implemented—the code, the database, and so on. The visual part of a site gets visitors interested to begin with, but its functionality makes them come back. A web site can sometimes be implemented very quickly based on certain initial requirements, but if not properly architected, it can become difficult, if not impossible, to change.

Thus, performance is also a major thrust area in the Web application which is one of the main reasons why users get attracted to it. Growing user needs should be taken in to concern with new features to be included. Effective performance can be achieved by making proper Database design strategy. Also, easy navigation also needs to be accomplished while executing this project. These are the main motivations for the project.

2. Project Overview

2.1. Introduction

This application, called the Music Store is implemented using C# and ASP.NET 2.0.

10

This project covers the following implementations:

1) An online product catalog that can be browsed: The work starts with adding many new product catalog features which includes displaying categories, products, and product details.

2) Searching the Catalog: For the visual part, a text box is used in which the visitor can enter one or more words to search through the product catalog. In Music CD Shop, the words entered by the visitor are searched for in the products’ names and descriptions. Also, the user can search for a particular song by entering the title, artist, style, format and the price range.

3) A Custom Shopping Cart and checkout in ASP.NET: A custom shopping basket is implemented, which stores its data into the local database. Also a “shopping cart summary control” is created that shows up in every catalog page except the shopping cart page.

4) Handling Customer Accounts: In customer account system, details such as credit card numbers are stored in a database so that customers don’t have to retype this information each time they place an order. Customers can log in via a login page or dialog box to get access to secured areas of the web site. Once logged in, the Web Application remembers the customer until the customer logs out (either manually via a Log Out button or automatically, if the session times out or a server error occurs). All secure pages in a Web Application need to check whether a customer is logged in before allowing access.

5) Making Song Recommendations: One of the most important advantages of an online store is the capability to customize the web site for each visitor based on his or her preferences, or based on data gathered from other visitors with similar preferences. In product recommendations system, additional products are suggested to an individual visitor in a clever way to increase sales. Here, song (product) will have recommendations based on the users’ past purchases and based on data gathered from other users with similar preferences.

11

6) Catalog Administration: This administrative interface is implemented for easy management of the web store data. The catalog administration page allows the administrator to:

· Add or remove genres, and update the details of existing genres

· View and manage the categories that belong to a genre

· Manage the list of products in a specific category, and edit product details

· Assign an existing product to an additional, or move it to another category

· Remove a product from a category or delete the product from the catalog

· Manage orders by updating their status

· Manage the shopping carts by removing those which haven’t been updated by the customer in certain amount of time.

· The administration page also needs to ask for a username and password, so that only the website administrator is allowed to perform administrative tasks.

The diagram below captures the page flow (ASP.NET Web forms) model for the user:

12

Fig1. Page Flow Diagram

Figure below shows the high-level layout diagram of the system.

Fig2. Overview of System

13

The said system will interact as follows:

a. The client sends request and .NET form inputs over the network.

b. The Internet Information Server (IIS) receives .Net form inputs.

c. IIS Web server

i. Processes inputs

ii. If required, queries to the database and retrieves data

d. The IIS Web server sends back processed output over the network as a Web page.

e. The client receives the output as a Web page.

2.2. Goal

The goal of this project is to provide an automated .NET Web application that allows a user to browse and buy a music CD over the Internet at any time.

2.3. Purpose

The purpose of this project is to explore the capabilities of the Microsoft .NET Framework and to provide a convenient service of buying a music CDs to online customers.

3. Requirement Specifications

3.1. Main Requirements

1. Construct a system with three-tier architecture. Figure 3 shows the system on three-tier architecture.

2. Microsoft Visual Studio 2005, ASP.NET, C# language, Microsoft SQL Server 2005 and XML will be used to develop the system.

3. The final product will be run on Internet Information Server (IIS).

4. Mozilla Firefox will be used as a main browser.

14

Fig3. System on three-tier architecture

3.2. External Interface Requirements

All user interfaces are ASP.NET-generated Web pages. In order to access the system, the user will need to use a workstation with Internet accessibility equipped with Internet Explorer. It is also a must that the Microsoft .NET Framework is installed on the same machine. A broadband connection is recommended to boost the performance. A Web page will be displayed according to the user’s choice. The Administrator can add new or update the quantity and details of existing Genres/Categories/Products. The online customer can browse/search through the catalog and buy the music CDs/DVDs of his choice.

15

3.3. Critical Use Case Requirements

Fig4. Use Case Diagram

There are two actors for Online Music CD Store - a Customer and an Administrator. A customer can use the system in four scenarios

· Browse Catalog

· Search Catalog

16

· Get Song Recommendation

· Manage Account

· Place Order

1) Use Case 1 : Browse Catalog Requirements:

Purpose: A customer can browse through the different genres, categories and can also view the details of the products such as the description, price and songs listing etc. Depending upon the genre/category selected, the contents of the table are accessed using a select query.

Input: The User will select one of the genre and its category.

Output: The system will display product list and information of the selected genre and/or category. The product list will be displayed on product.aspx page and 6 products will be displayed on each page and the rest (if any) will be on the next page. This will be executed using the “pagination” property i.e. there will a link named “Previous” and “Next” on the bottom of every product.aspx page to enable the customers to go to the next and previous pages to view products. The current page of the customer will also be displayed on every page.

17

2) Use Case 2 : Perform Product Search Requirements:

Purpose: The purpose of this part of the application is to enable the customer to find the available product (music CD/DVD etc) of his choice without browsing the entire catalog.

Input: The customer will hit the Search button on the top of every page. This will redirect the user to Search.aspx Web page where he/she will have the options to enter name of the music-album/CD, artist, style, format and price range of his/her choice. Also, the user can enter any text in the search text box and can choose for the system to search for all the words he entered and hit the “Search” button. This will redirect the user to the page which will display all the matched items; otherwise an appropriate message will be displayed.

Output: If the user inputs are not valid (i.e. the user did not enter any of the required options), an appropriate error message will be displayed. If the inputs are valid, a message will be displayed affirming the user’s choices along with the appropriate product(s) information for the particular search. If there are no matches, the system will display an appropriate message.

18

3) Use Case 3: Get Song Recommendations:

Purpose: The purpose of this part of the application is to enable the customer to find recommendations for the songs of his choice.

Input: The customer will hit the “Get Recommendations” button on the top of every page. This will redirect the user to Recommendations.aspx Web page where he/she will have the options to enter title of the song, artist and style of his/her choice and click the “Get Similar Songs” button.

Output: Initially, a list of most similar songs (to the input song) will be displayed to the user, from which the user can choose some songs and get their most recommended songs.

To implement this functionality, a method called Case-based Reasoning is

used. A description of the method is included at the end of this chapter.

4) Use Case 4 : Manage Account Requirements: System Login:

Purpose: This is implemented to enable user authentication. A valid user account must be used for an existing customer.

Input: The customer can login to the e-Commerce shopping system by entering his user name and password.

Output: The system will verify that the login name matches the login password. If the user name or password is invalid, the appropriate error

19

message will be indicated and the user will be requested to re-enter user name and password. If the user inputs are valid, the main page will be displayed.

System Register:

Purpose: This is implemented to enable a new user authentication. A valid user account must be used for an existing customer or a new customer can register.

Input: If the customer is a new user, he can request to register with the system.

Output: The system displays a registration page and asks the customer to choose a user name, password and enter a valid email id, security question and answer.

20

5) Use Case 5 : Manage Profile Requirements:

Purpose: User can edit, update and save his personal information.

PreCondition: The user must be logged into his account to Update Personal Information. The user inputs will be saved to the database.

Input: The customer can request to update their customer info. The user will enter personal information such as:

First name and last name Street address

city, state, zip code, country Telephone

Email

Credit card information

Billing and Shipping addresses

After entering all the information the user must click the update/save button.

Output: The customer updates the customer information and the system will store the updated customer info in the system database.

21

6) Use Case 6 : Place Order Requirements:

Add to cart:

Purpose: This is implemented to add products to shopping cart while searching or browsing catalog.

PreCondition: The user must be logged in to add a product to the cart. The product will be added to a shopping cart table in the database using insert command.

Input: When the customer finds the products he wants, he adds them to the shopping cart by clicking on the “Add to Cart” button.

Output: The product will be added to the shopping cart and the system will store and keep track the information of the products that have been added into shopping cart.

22

View Cart Details:

Purpose: This is to view contents of the shopping cart while searching or browsing the catalog. The contents of the shopping cart table will be displayed by using a select query.

PreCondition: The user must be logged in and must have atleast one Cart item to view details of the shopping cart.

Input: The customer can request to view the contents of the shopping cart by clicking on the “view details” button.

Output: The system will return the contents of the shopping cart to the customer; the unit price and total price will be shown as well.

Edit Billing & Shipping Details:

Purpose: This is to allow customers to edit and update their billing & shipping information.

Input: When the customer requests to checkout and he does not have credit card information stored at this point (system cannot find his payment information), the system will prompt credit card information page. The

23

customer will be given a choice on whether he wants the item shipped to his

stored address or to an alternative address.

Output: The input payment information will be saved into the order form.

Checkout:

Purpose: To allow user to buy the products added to the shopping cart.

Precondition: User must be logged in and must have atleast one item in shopping Cart to be able to checkout and place the order.

Input: When the customer finishes shopping, he requests to checkout by clicking “checkout” button on Cart.aspx page.

Output: If the payment information of this customer already exists, the system prompts the customer to review or input a new one. If the credit card is valid, the order form will be processed by the system and checkout is complete.

The Administrator actor can use the system for:

1) Use Case 7 : System Login Requirement

Purpose: This is implemented to enable user authentication. A valid user account must be used for an existing customer.

Input: The user will enter two inputs (user name and password) through the keyboard.

Processing: The user inputs will be validated and authenticated against the local server. The system will check the user name and password to see if they match the data stored onto the database.

Output: If the user name or password is invalid, the appropriate error message will be displayed and the user will be requested to re-enter user name and password. If the user inputs are valid, the default page will be displayed. If the user is classified as an administrator, he/she will be redirected to an administrator page wherein he/she can update the category details and view customer orders.

24

2) Use Case 8 : Manage Catalog Requirements:

This is implemented to allow Administrator to do the following tasks:

Add New Genre/Category:

Purpose: To create and add new genres, categories to the catalog.

Precondition: Administrator must be logged in to be able to create and add a new genre or category. Also, the genre to which the new category is to be associated should exist in catalog.

Input: Administrator will enter the name and necessary details to create a new genre or category to the Catalog and click “Add” button to complete the action.

Output: After the action, the changes to the catalog will be updated and saved and a message will be displayed accordingly.

Delete genre/category:

Purpose: To remove genres, categories from the catalog.

Precondition: Administrator must be logged in to be able to delete a genre or category. There has to be atleast one genre already present in catalog.

Input: Administrator will select a genre/category that is to be removed from the catalog and click “Remove” button.

Output: After the action, the changes to the catalog will be updated and saved and a message will be displayed accordingly.

Add New Product:

Purpose: To create and add new products to the catalog.

Precondition: Administrator must be logged in to be able to create a new product. Also, the genre and/or category to which the new product is to be associated should exist in catalog.

Input: Administrator will enter the name and necessary details to create a new product to the Catalog and click “Add” button to complete the action.

25

Output: After the action, the changes to the catalog will be updated and saved and a message will be displayed accordingly.

Delete Product:

Purpose: To remove product from the catalog.

Precondition: Administrator must be logged in to be able to delete a product. There has to be atleast one product already present in catalog.

Input: Administrator will select a genre/category that is to be removed from the catalog and click “Remove” button.

Output: After the action, the changes to the catalog will be updated and saved and a message will be displayed accordingly.

Manage Orders:

Purpose: To allow the site administrator to review and manage pending and past orders according to various criteria such as date and status.

Precondition: Administrator must be logged into the system. There has to be atleast one order already present in database.

Input: Administrator will enter the number of recent records he wishes to view and the range of dates the records are created. He/she will press the Go button against one or both the options – to view unverified, uncanceled orders and/or to view verified, uncompleted orders.

Output: If the administrator enters invalid dates (Start date should be more recent then the End date) to view orders between the range, the system should display appropriate error message. The orders will be displayed as a dataset. Also, after all the orders are displayed and the administrator presses select button for an order, he/she will be redirected to OrdersAdmin Web form where he can view and update order information. When selecting an order, its details are displayed.

Manage Shopping Carts:

26

Purpose: To enable the administrator to see how many old shopping cart entries exist (shopping carts that haven’t been updated by their respective user for certain amount of time) and delete them if necessary.

Precondition: Administrator must be logged into the system. There has to be atleast one shopping cart before and up to that date.

Input: Administrator will select the number of days from the drop-down list (e.g 10, 15, 20 etc.) and click on “Count Old Shopping Carts” and/or “Delete Old Shopping Carts” button(s) on ShoppingCartAdmin.aspx Web form.

Output: After the action, the changes to the catalog will be updated and saved and a message will be displayed accordingly.

3.4. Performance Requirements

The application will be used for client side caching for user inputs to reduce the load of the Web server. Also, JavaScript will be used to implement the client side validation to alleviate the task load on the server side. The system load will mostly be consisted of querying the data from the database. The Music CD data file should be about 6MB in size. The maximum response time and data transfer time between server and client will be about two minutes with a typical 56kbps per transaction. There would be approximately 100 total users. To allow maximum performance and to accommodate all user connections, the system will be built with the Microsoft SQL server instead of the test server, MSDE, which only accepts eight concurrent user connections. All users are encouraged to access the system with a broadband connection for faster performance.

3.5. Assumptions

· The user will have Internet connection whenever he/she is using the Online Music CD Store Website.

· The user will use Internet Explorer whenever he/she is using the Online Music CD Store Website.

· The database will be implemented using the Microsoft SQL Server.

27

3.6. Constraints

· The Web application is developed under the .NET Framework; therefore, the system can only be deployed on the IIS server.

· MSDE, which can only accommodate eight user connections, will be replaced by the Microsoft SQL server 2005 to allow maximum user connection.

3.7. Environment

· The Online Music CD Store Website will be written in C# language.

· The development environment will be Microsoft Visual Studio 2005.

· The Online Music CD Store Website will be tested on Windows XP platform.

3. Cost Estimate

3.1. COCOMO Model

In 1981, Barry Boehm designed "COnstructive COst MOdel" to give an estimate of the number of person-months it will take to develop a software product. The model also estimates the development schedule in months and produces an effort and schedule distribution by major phases. The model estimates cost using one of three different development modes: organic, semidetached and embedded. Organic projects - are relatively small, simple software projects in which small teams with good application experience work to a set of less than rigid requirements. Semi-detached projects - are intermediate (in size and complexity) software projects in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements. Embedded projects - are software projects that must be developed within a set of tight hardware, software, and operational constraints.

The Online Music CD Store will be a small scale application of average complexity and fair flexibility. Therefore, it is classified as an organic mode project under the COCOMO model. The basic COCOMO equations for organic projects take the form:

Effort = 3.2 * EAF * (Size) ^ 1.05 Time = 2.5 * (Effort) ^ 0.38

Where:

Effort = number of staff months (PM)

EAF = effort adjustment factor

Size = number of lines of code for completed product. It is measured in KLOC (thousands of lines of codes)

Time = total number of months

The Effort Adjustment Factor is the product of the 15 adjustment parameters. Each of the 15 attributes receives a rating on a 6-point scale that ranges from "very low" to "extra high" (in importance or value). An effort multiplier from the table below applies to the rating. The product of all effort multipliers results in an 'effort adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.

REFERENCES

1. Microsoft Application Center Test 1.0, Visual Studio .NET Edition. Available from http://msdn2.microsoft.com/en-us/library/aa287410.aspx.

2. Silberschatz, Abraham, Henry F. Korth, and S. Sudarshan. Database System Concepts. New York: McGraw-Hill Companies, Inc., 2002.

3. Albahari, Ben, Peter Drayton, and Brad Merrill. C# Essentials (First Edition). USA: O’Reilly & Associates, Inc., 2001.

4. Bill Evjen, Scott Hanselman, Farhan Muhammad, S. Srinivasa Sivakumar and Devin Rader. Professional ASP.NET 2.0. Wrox, November 10, 2005.

5. John Kauffman and Bradley Millington. Beginning ASP.NET 2.0 and Databases (Wrox Beginning Guides).

6. Chris Hart, John Kauffman, David Sussman, Chris Ullman. Beginning ASP.NET 2.0 with C#

(Wrox Beginning Guides).

7. .Net Framework Developer Center, .NET Framework programming. Available from

http://msdn2.microsoft.com/en-us/library/ms229284(VS.80).aspx

8. Royce, Walker. Software Project Management: A Unified Framework. Upper Saddle River: Addison-Wesley, 1998.

9. Apache JMeter, http://jakarta.apache.org/jmeter/.

image5.jpeg

image6.jpeg

image7.jpeg

image8.jpeg

image9.jpeg

image10.jpeg

image11.jpeg

image1.jpeg

image2.jpeg

image3.jpeg

image4.jpeg