Бизнес-план интренет-магазина

Автор работы: Пользователь скрыл имя, 17 Мая 2013 в 10:12, дипломная работа

Описание работы

Целью данного дипломного проекта является создание web-приложения, представляющего собой интернет – магазин по продаже музыкальных CD и DVD дисков, которое позволит продавцу размещать в Интернет информацию о продукции и принимать заказы покупателей. А покупатели соответственно смогут просматривать каталог и заказывать музыкальную продукцию, доставка которой будет осуществляться через систему почтовой связи.
В качестве ОС для разработки была выбрана Windows XP Professional. В качестве технологии разработки будет использоваться ASP.NET 2.0. Информационная система будет представлять собой реляционную базу данных под управлением СУБД SQL Server 2000.

Содержание работы

Перечень сокращений………………………………………………………………………………9
Введение……………………………………………………………………………………………10
1 Исследование предметной области…………………………………………………………….11
1.1 Актуальность систем электронной коммерции……………………………………...11
1.2 Требования к системе………………………………………………………………….11
1.3 Сравнение с аналогами………………………………………………………………..12
1.4 Описание способов оплаты……………………………………………………….…...14
1.5 Решения по реализации………………………………………………………………..15
1.5.1 Выбор технологии для разработки………………………………………….15
1.5.2 Основные особенности технологии ASP.NET……………………………..17
1.5.3 Выбор ОС и web-сервера………………………………………………...….18
1.5.4 Выбор языка программирования для разработки………………………….19
1.5.5 Выбор информационной системы…………………………………………..20
1.5.6 Выбор среды разработки…………………………………………………….21
1.6 Обработка страниц на web-сервере и модель событий ASP.NET………………..…22
2 Проектирование БД…………………………………………………………………………...…25
2.1 Физическая модель БД………………………………………………………………...25
2.2 Описание таблиц БД……………………………………………………………….….27
3 Взаимодействие с БД………………………………………………………………………...….30
3.1 Архитектура ADO.NET……………………………………………………………..…30
3.2 Компоненты доступа к данным…………………………………………………….....31
3.3 Привязка данных……………………………………………………………………....34
3.4 Пример взаимодействия с БД………………………………………………………...35
4 Разработка компонентов web-приложения…………………………………………………....38
4.1 Общая структура web-приложения……………………………………………….….38
4.1.1 Структура каталогов…………………………………………………………38
4.1.2 Файла конфигурации web-приложения web.config………………………..43
4.2 Компоновка и оформление web-страниц…………………………………………….46
4.2.1 Мастер-страницы………………………………………………………….....46
4.2.2 Пользовательские элементы управления…………………………………...49
4.2.3 Каскадные таблицы стилей и темы оформления…………………………..50
4.3 Элементы управления проверкой достоверности……………………………….…..52
4.4 Класс web-страницы с возможностью отслеживания обновления………………....53
4.5 Аутентификация и авторизация пользователей……………………………………..58
4.5.1 Описание и настройка интерфейса Membership API………………………58
4.5.2 Аутентификация форм………………………………………………………60
4.5.3 Авторизация и настройка интерфейса Roles API………………………….63
4.6 Описание профилей пользователей………………………………………………….68
4.7 Основные элементы интерфейса покупатель музыкального Интернет-магазина...72
4.7.1 Регистрация нового покупателя…………………………………………….72
4.7.2 Личные данные покупателя…………………………………………………74
4.7.3 Каталог продукции…………………………………………………………..75
4.7.4 Страница подробностей о продукции………………………………………76
4.7.5 Отзывы о продукции………………………………………………………...77
4.7.6 Корзина покупателя………………………………………………………….79
4.7.7 Оформление заказа…………………………………………………………..80
4.7.8 История заказов……………………………………………………………...81
4.7.9 Страница вопросов покупателей……………………………………………82
4.8 Основные элементы интерфейса администратора музыкального Интернет-магазина…………………………………………………………………………………………….84
4.8.1 Управление каталогом товаров……………………………………………..84
4.8.2 Управление заказами………………………………………….......................87
4.8.3 Страница для ответов на вопросы покупателей…………….......................88
5 Производительность и масштабируемость web-приложения………………………………..89
5.1 Способы повышения производительности и масштабируемости………………....89
5.2 Применение механизма кэширования……………………………….........................90
5.2.1 Кэширование вывода………………………………………………………..90
5.2.2 Кэширование данных…………………………………………………….....91
5.3 Настраиваемое разбиение на страницы с помощью ObjectDataSource…………93
6 Развёртывание web-приложения и модели компиляции……………………………………..98
6.1 Развёртывание web-приложения……………………………………………………..98
6.2 Модели компиляции………………………………………………………………......99
7 Разработка бизнес-плана……………………………………………………………………….101
7.1 Резюме………………………………………………………………………………...101
7.2 Анализ положения дел в отрасли……………………………………………………101
7.3 Суть разрабатываемого проекта……………………………………………………..102
7.3.1 Назначение…………………………………………………………………..102
7.3.2 Форма реализации…………………………………………………………..102
7.3.3 Преимущества перед аналогами…………………………………………..103
7.4 План маркетинга……………………………………………………………………..103
7.4.1 Анализ конкурентоспособности товара………………………………….103
7.4.2 Анализ рынка сбыта……………………………………….........................104
7.4.3 Разработка стратегии ценообразования и стратегии продвижения товара……………………………………………………………………………………………..105
7.5 Производственный план…………………………………………………………….105
7.6 Планирование разработки и определение себестоимости программного обеспечения………………………………………………………………………………………106
7.6.1 Планирование разработки…………………………………………………106
7.6.2 Определение себестоимости программного обеспечения………………107
7.7 Оценка экономической эффективности инвестиционного проекта.......................109
7.7.1 Критерии эффективности коммерческих инв

Файлы: 1 файл

Диплом.doc

— 2.87 Мб (Скачать файл)

 

1.5.4 Выбор языка программирования  для разработки

 

Так как для разработки web-приложения была выбрана технология ASP.NET, то в  качестве языка программирования мы можем выбрать один из трёх языков – С#, Visual Basic.NET, J# или даже использовать несколько.

В качестве языка программирования был выбран C#. Это достаточно новый  язык программирования, который характеризуется  следующими двумя преимуществами:

- Он спроектирован и разработан  специально для применения с  платформой .NET Framework. Таким образом, он позволяет наиболее полно и эффективно использовать все широчайшие возможности, предоставляемые этой средой.

- Это язык, основан  на современной объектно-ориентированной  методологии проектирования. При  его создании был использован  весь более чем двадцатилетний опыт разработки подобных языков.

- С# вобрал  в себя все лучшее из таких  популярных языков как С++, Visual Basic, Java и Object Pascal. С# обеспечивает  быструю разработку, в то же  время позволяет писать эффективный  код. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборщика мусора», обработки исключений, безопасности типов.

 

Основные особенности нового языка: 
 - автоматическая “сборка мусора” – освобождение неиспользуемой памяти; 
 - возможность манипулировать указателями и иметь непосредственный доступ к; 
 - поддержка свойств и (аналогично VB); 
 - поддержка атрибутов; 
 - встроенная поддержка основных типов (строка, массив и); 
 - множественное наследование возможно только от интерфейсов (как в Java); 
 - поддержка С API, Windows API и COM+ на уровне языка; 
 - контроль типов; 
 - автоматическая инициализация переменных;

 

Таким образом, для разработки был  выбран язык программирования C#, который  был специально разработан для платформы .NET Framework полностью в соответствие с объектно-ориентированными принципами и позволяет наиболее полно и эффективно использовать все возможности платформы.

 

1.5.5 Выбор информационной  системы

 

Разрабатываемое web-приложение будет  хранить значительные объёмы структурированной информации, к которой необходимо обеспечить эффективный множественный доступ. Исходя из этого, в качестве информационной системы была выбрана реляционная база данных.

Для управления базой данных необходимо выбрать СУБД, которая будет максимально отвечать требованиям, предъявляемым к разрабатываемому web-приложению.

Довольно часто для малых  и средних проектов используется СУБД MySQL, однако она первоначально  была разработана как простая  бесплатная база данных, в которой  в угоду простоте, дешевизне и быстродействию были исключены многие функции, например, поддержка целостности и хранимые процедуры. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.

Таким образом, для управления базой  данных Музыкального Интернет-магазина потребуется более производительная СУБД с большим набором функций, например, Oracle 9i Database или MS SQL Server 2000. Ниже приведены некоторые преимущества каждой из них.

 

Преимущества SQL Server 2000:

- SQL Server 2000 дешевле  Oracle 9i Database в 0 раза.

- SQL Server 2000 удерживает высшие результаты TPC-C по производительности и.

- SQL Server 2000, в общем, считается более легким для установки, использования и.

 

Преимущества Oracle 9i Database:

- Oracle 9i Database поддерживается на всех известных платформах, а не только на Windows-платформах.

- PL/SQL более мощный язык, чем T-SQL.

- Большее количество тонких  настроек конфигурации может  быть сделано через параметры  запуска. 

 

Оба продукта могут быть использованы для построения стабильных и эффективных систем, однако, в нашем случаё более подходящим является MS SQL Server 2000. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. К тому же использование SQL Server обойдётся в 2-3 раза дешевле, чем аналогичный вариант на Oracle.

Также необходимо отметить, что часть  среды .NET Framework – ADO.NET,  которая обеспечивает взаимодействие с базами данных, во многом ориентирована на взаимодействие именно с SQL Server. Это позволяет достичь  наилучшего быстродействия при обращении к базе данных, что особенно важно для web-приложений. Кроме того, в библиотеке классов .NET есть всё необходимое для подключения и взаимодействия с базами данных SQL Server.

Исходя из вышеперечисленного, в  качестве СУБД был выбран Microsoft SQL Server 2000. Это эффективный и надёжный сервер, отвечающий самым высоким требованиям к производительности, масштабируемости и отказоустойчивости, имеет широкую поддержку языка XML и стандартов Интернета. Он обладает эффективными и удобными средствами администрирования.

1.5.6 Выбор среды разработки

 

В качестве среды разработки была выбрана Microsoft Visual Studio 2005.

  Это профессиональный инструмент разработки приложений любой степени сложности, в том числе и приложений ASP.NET. Она позволяет сделать процесс разработки и отладки быстрым и эффективным. Ниже приведены некоторые преимущества Visual Studio:

-  Реализация принципа WYSIWYG (“Что видишь, то и получаешь”), позволяющего максимально упростить проектирование пользовательского интерфейса и.

- Встроенный Web-сервер, наподобие IIS для.

- Многоязыковая разработка. Разные  web-страницы в одном приложении могут быть реализованы на.

- Большой набор отладочных средств,  позволяющих увеличить скорость и.

- Механизм IntelliSense, отлавливающий ошибки и предлагающий решения в.

 

Исходя из требований к разрабатываемому web-приложения, было принято вести  разработку на ОС Windows Professional, на платформе .NET Framework. В качестве технологии для  разработки используется ASP.NET, а языком программирования выбран C#. В качестве СУБД выбран SQL Server 2000, а для доступа к базе данных используется технология ADO.NET. Для разработки используется Visual Studio 2005.

 

1.6 Обработка страниц  на Web-сервере и модель событий ASP.NET

 

В общем случае процесс взаимодействия пользователя с web-приложением происходит следующим образом. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. После соответствующей обработки ресурс возвращается IIS, а затем и клиенту. Общая схема обработки запросов представлена на рисунке 1.

 

 Рис 1. «Обработка запросов  с помощью IIS и ASP.NET»

 

После того как web-сервер передал запрос исполняющей среде ASP.NET, вся последующая  обработка происходит уже там. Ниже кратко описана модель событий ASP.NET:

  1. Когда страница запрашивается в первый раз, ASP.NET создаёт объекты страницы и элементов управления, выполняет код инициализации, страница преобразуется в HTML и возвращается клиенту. После чего объекты страницы удаляются из.
  2. В определённый момент пользователь выполняет действие, инициирующее обратную отсылку – например, щёлкает по кнопке, расположенной на странице. В этот момент страница со всеми данными формы отправляется на.
  3. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
  4. Затем ASP.NET проверяет, какая именно операция инициировала обратную отсылку, и запускает определённые события, например, событие нажатия кнопки – Button.Click. При этом выполняются определённая операция, например запрос к базе данных или считывание определённой информации из файла. После этого изменяются объекты элементов управления так, чтобы они отображали новую информацию.
  5. Изменённая страница преобразуется в HTML и возвращается клиенту. После чего все объекты страницы снова удаляются из памяти. Если происходит ещё одна обратная отсылка, то.

Как было сказано, выше после отправки страницы клиенту вся информация о ней удаляется из памяти web-сервера, что позволяет экономить ресурсы сервера, это означает, что информация будет теряться после каждой обратной отсылки. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Эта информация используется, чтобы при повторном создании объёктов страницы на web-сервере, привести их в состояние, в котором они были перед последней отправкой страницы клиенту.

На рисунке 2 представлен жизненный  цикл страницы ASP.NET.

 


Рис 2. «Жизненный цикл страницы ASP.NET»

 

В данном пункте был обобщённо рассмотрен процесс взаимодействия пользователя с web-приложением посредством web-сервера и среды ASP.NET, а также приведён порядок обработки страниц средой ASP.NET.

 

 

 

2 ПРОЕКТИРОВАНИЕ БД

 

2.1 Физическая модель  БД

 

Проектирование таблиц базы данных и связей между ними осуществлялось с помощью встроенного редактора SQL Server 2000. На рисунке 3 представлена физическая модель базы данных web-приложения “Музыкальный Интернет-магазин”.

 

Рис. 3 лист 1 «Физическая модель базы данных»

 

Рис. 3 лист 2 «Физическая модель базы данных»

 

Скрипт для создания базы данных, а также примеры хранимых процедур, представлены в приложении 4.

Таблицы, представленные на рис. 3 лист 2, специально выделены в отдельную  группу. Они необходимы для работы интерфейсов Membership API, Roles API и Profile API, предназначенных  для обеспечения аутентификации и авторизации пользователей, а также управление профилями пользователей. Подробнее об этих интерфейсах и их использовании при разработке приложения написано в пунктах 4.5.1, 4.5.3 и 4.6 соответственно.

 

2.2 Описание таблиц  БД

 

В таблице 1 представлена структура основных таблиц базы данных.

Таблица 1 «Структура основных таблиц БД»

Таблица

Атрибут

Тип данных

Примечание

Catalogue

(Каталог)

ProductID

(Код продукта)

int

Первичный ключ, автоинкрементное

ProductCode

(Код продукта в каталоге фирмы-издателя)

nvarchar(30)

Уникальное

ArtistID

(Код исполнителя)

 

Внешний ключ из таблицы Artists, часть составного уникального поля

 

nvarchar(50)

Часть составного уникального поля

TypeProductID

(Код категории)

int

Внешний ключ из таблицы TypeProduct, часть составного уникального поля

GenreID

(Код муз. жанра)

int

 

PublisherID

(Код фирмы-издателя)

int

Внешний ключ из таблицы Publishers, часть составного уникального поля

YearRelease

(Год выпуска)

int

 

DateAddition

(Дата добавления в каталог)

smalldatetime

 

Description

(Описание)

nvarchar(4000)

 

TrackList

(Список композиций)

nvarchar(1000)

 
 

bit

 

BoughtQuantity

(Кол-во заказов)

int

 

UnitCost

(Цена)

money

 

ImageFile

(Файл обложки)

   

TypeProduct

(Категория продукта)

TypeProductID

(Код категории)

int

Первичный ключ, автоинкрементное

TypeProductName

(Название категории)

nvarchar(30)

Уникальное

Description

(Описание)

nvarchar(50)

 

Genres

(Музыкальные жанры)

GenreID

(Код муз. жанра)

 

Первичный ключ, автоинкрементное

GenreName

(Название жанра)

nvarchar(50)

 

Description

(Описание)

nvarchar(50)

 

Publishers

(Фирмы-издатели)

PublisherID

(Код фирмы-издателя)

int

Первичный ключ, автоинкрементное

PublisherName

(Название фирмы-издателя)

nvarchar(50)

Уникальное

 

nvarchar(50)

 

Artists

(Исполнители)

ArtistID

(Код испонителя)

int

Первичный ключ, автоинкрементное

ArtistName

(Название исполнителя)

nvarchar(50)

Уникальное

Description

(Описание)

nvarchar(50)

 

Responses

(Отзывы о продукции)

 

int

Часть составного первичного ключа, автоинкрементное

ProductID

(Код продукта)

 

Часть составного первичного ключа, внешний  ключ из таблицы Catalogue

Rating

(Оценка)

tinyint

 

UserName

(Имя пользователя)

nvarchar(250)

 

Response

(Отзыв)

nvarchar(500)

 

DateAddition

(Дата добавления)

smalldatetime

 

FAQ

(Вопрос/Ответ)

FAQID

(Код)

int

Первичный ключ, автоинкрементное

UserName

(Имя пользователя)

nvarchar(50)

 
 

nvarchar(500)

 

Answer

nvarchar(500)

 

Orders

(Заказы)

OrderID

(Код заказа)

int

Первичный ключ, автоинкрементное

 

uniqueidentifier

Внешний ключ из таблицы aspnet_Users

OrderDate

(Дата заказа)

smalldatetime

 

SendDate

(Дата отправки заказа)

   

ConditionOrderID

(Код состояния заказа)

int

Внешний ключ из таблицы ConditionOrder

TypePaymentID

(Код способа оплаты)

int

Внешний ключ из таблицы TypePayment

TotalPrice

(Цена заказа)

money

 

Discount

(Скидка)

int

 

OrderDetails

OrderID

(Код заказа)

int

Часть составного первичного ключа, внешний  ключ из таблицы Orders

ProductID

(Код продукта)

int

Часть составного первичного ключа, внешний  ключ из таблицы Catalogue

Quantity

(Кол-во)

int

 

UnitCost

(Цена)

money

 
 

ConditionOrderID

(Код состояния заказа)

int

Первичный ключ, автоинкрементное

ConditionName

(Наименование состояния заказа)

nvarchar(50)

 

Description

(Описание)

   

TypePayment

(Способы оплаты)

TypePaymentID

(Код способа оплаты)

int

Первичный ключ, автоинкрементное


3 ВЗАИМОДЕЙСТВИЕ С  БД

 

3.1 Архитектура ADO.NET

 

На сегодняшний момент существует множество технологий доступа к  данным - ODBC, DAO, ADO и многие другие. Среда .NET Framework имеет свою собственную технологию доступа к данным – ADO.NET.

ADO.NET состоит из управляемых  классов, позволяющих приложениям  .NET подключаться к источникам  данных (обычно реляционным базам  данных), выполнять команды, осуществлять  выборку, обработку и хранение данных.

В данной дипломной работе некоторые  фрагменты текста отсутствуют или  замещены на текст не соответствующий  теме этого диплома. Отсутствуют  или не соответствуют некоторые  необходимые формулы, расчеты, диаграммы  и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.

Важным элементом автономного доступа к данным является контейнер для табличных данных, который не знает о СУБД. Такой контейнер представлен в ADO.NET классом DataSet или DataTable.

Архитектуру ADO.NET можно разделить  на две фундаментальные части: подключённую и автономную. Все различные классы ADO.NET можно отнести к подключённой или автономной части. Единственным исключением является класс DataAdapter. Работающий как посредник между подключённой и автономной частями.

Подключённая часть содержит классы, которым для работы нужно доступное  открытое соединение, чтобы взаимодействовать  с источником данных. Сюда входят классы для установки подключения к  источнику данных (Connection), управления транзакциями (Transaction), выполнения команд (Command) и другие.

К автономной части относятся классы, которым не требуется доступное  открытое подключение. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.

Далее на рисунке 4 представлена общая  структура ADO.NET и то, как с помощью  неё программа взаимодействует  с источником данных.

 

Рис. 4 «Общая структура ADO.NET и её место в обеспечении доступа к данным»

 

Отличительной особенностью ADO.NET являются то, что для доступа к разным базам данных используются разный набор классов. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы.  Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Классы автономной части ADO.NET являются одинаковыми для всех баз данных.

Информация о работе Бизнес-план интренет-магазина