Бизнес-план интренет-магазина
Дипломная работа, 17 Мая 2013, автор: пользователь скрыл имя
Описание работы
Целью данного дипломного проекта является создание 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:
- Когда страница запрашивается в первый раз, ASP.NET создаёт объекты страницы и элементов управления, выполняет код инициализации, страница преобразуется в HTML и возвращается клиенту. После чего объекты страницы удаляются из.
- В определённый момент пользователь выполняет действие, инициирующее обратную отсылку – например, щёлкает по кнопке, расположенной на странице. В этот момент страница со всеми данными формы отправляется на.
- В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
- Затем ASP.NET проверяет, какая именно операция инициировала обратную отсылку, и запускает определённые события, например, событие нажатия кнопки – Button.Click. При этом выполняются определённая операция, например запрос к базе данных или считывание определённой информации из файла. После этого изменяются объекты элементов управления так, чтобы они отображали новую информацию.
- Изменённая страница преобразуется в HTML и возвращается клиенту. После чего все объекты страницы снова удаляются из памяти. Если происходит ещё одна обратная отсылка, то.
Как было сказано, выше после отправки страницы клиенту вся информация о ней удаляется из памяти web-сервера, что позволяет экономить ресурсы сервера, это означает, что информация будет теряться после каждой обратной отсылки. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Эта информация используется, чтобы при повторном создании объёктов страницы на web-сервере, привести их в состояние, в котором они были перед последней отправкой страницы клиенту.
На рисунке 2 представлен жизненный цикл страницы ASP.NET.
Рис 2. «Жизненный цикл страницы ASP.NET»
В данном пункте был обобщённо рассмотрен процесс взаимодействия пользователя с web-приложением посредством web-сервера и среды ASP.NET, а также приведён порядок обработки страниц средой ASP.NET.
2 ПРОЕКТИРОВАНИЕ БД
2.1 Физическая модель БД
Проектирование таблиц базы данных
и связей между ними осуществлялось
с помощью встроенного
Рис. 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 состоит из управляемых
классов, позволяющих
В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Важным элементом автономного доступа к данным является контейнер для табличных данных, который не знает о СУБД. Такой контейнер представлен в ADO.NET классом DataSet или DataTable.
Архитектуру ADO.NET можно разделить на две фундаментальные части: подключённую и автономную. Все различные классы ADO.NET можно отнести к подключённой или автономной части. Единственным исключением является класс DataAdapter. Работающий как посредник между подключённой и автономной частями.
Подключённая часть содержит классы, которым для работы нужно доступное открытое соединение, чтобы взаимодействовать с источником данных. Сюда входят классы для установки подключения к источнику данных (Connection), управления транзакциями (Transaction), выполнения команд (Command) и другие.
К автономной части относятся классы, которым не требуется доступное открытое подключение. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Далее на рисунке 4 представлена общая структура ADO.NET и то, как с помощью неё программа взаимодействует с источником данных.
Рис. 4 «Общая структура ADO.NET и её место в обеспечении доступа к данным»
Отличительной особенностью ADO.NET являются то, что для доступа к разным базам данных используются разный набор классов. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Классы автономной части ADO.NET являются одинаковыми для всех баз данных.