Автор работы: Пользователь скрыл имя, 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 Критерии эффективности коммерческих инв
В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении
Страницы, находящиеся в корневом каталоге web-приложения доступны всем пользователям.
Назначение web-страниц корневого каталога:
Также в корневом каталоге находится конфигурационный файл web.config и файл обработчиков глобальных событий web-приложения. Подробнее о назначении этих файлов описано в пункте 4.1.2.
4.1.2 Файл конфигурации web-
Файл web.config является xml-файлом, позволяющий задавать различные настройки web-приложения, такие как методы аутентификации и авторизации пользователей, настройка системы профилей, управление доступа к каталогам, строки подключения к источникам данных и многие другие.
Всё содержимое конфигурационного файла вкладывается в корневой элемент <configuration>. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении:
<connectionStrings>
<add name="connStr"
connectionString="Data Source=localhost; Integrated
……………………………………………………….
providerName="System.Data.
</connectionStrings>
<membership defaultProvider="
<providers>
<add name="MyMembershipProvider"
type="System.Web.Security.
……………………………………..
applicationName="/
enablePasswordRetrieval="true"
enablePasswordReset="true"
…………………………………….
requiresQuestionAndAnswer="
requiresUniqueEmail="true"
……………………………….
minRequiredPasswordLength="7"/
</providers>
</membership>
<authentication mode="Forms">
<forms name="CookieName"
loginUrl="Login.aspx"
……………………..
slidingExpiration="true"
cookieless="AutoDetect"
protection="All"
……………………..
path="/">
</forms>
</authentication>
<roleManager
defaultProvider="
………………………………….
cookieName=".MyRoleCookie"
cookieTimeout="20"
cookieSlidingExpiration="true "
………………………………
createPersistentCookie="false"
<providers>
<add name="MySqlProvider"
type="System.Web.Security.
………………………………………
applicationName="/
</providers>
</roleManager>
<profile defaultProvider="
<providers>
<add name="MySqlProvider"
type="System.Web.Profile.
…………………………………………
applicationName="/
</providers>
<properties>
<add
name="Cart" type="ComponentsShoppingCart.
……………………………………………………………………..
<add name="SumPurchase" type="decimal" serializeAs="Binary"/>
</properties>
</profile>
Также в файле web.config находятся элементы конфигурации SMTP-сервера, уровни доступа к различным подкаталогам, модель генерации html-кода. Более подробное описание каждого элемента конфигурации приведено в соответствующих пунктах пояснительной записки. Полный код файла web.config приведён в приложении 1.
Файл global.asax позволяет определять обработчики событий, реагирующие на глобальные события web-приложения, такие как начало и завершение запроса, моменты завершения аутентификации и авторизации и многие другие. При разработке дипломного проекта был определён обработчик Profile_MigrateAnonymous, позволяющий переносить товары из временной корзины в корзину покупателя, когда пользователь входит в систему или регистрируется. Подробнее об этом написано в пункте 4.6.
4.2 Компоновка и оформление web-
4.2.1 Мастер-страницы
Процесс создания web-приложения включает не только проектирование отдельных web-страниц, необходимо также обеспечить их интеграцию в завершённый, единообразный web-сайт. Каждая web-страница разрабатываемого web-приложения имеет содержит много одинаковых элементов, таких как различные заголовки, навигационные, поисковые и информационные панели. Для того чтобы использовать их на каждой web-странице, но при этом не размещать на ней их исходный код, а также обеспечить их одинаковое расположение, используются мастер-страницы.
Мастер-страницы представляют собой шаблоны web-страниц, которые могут определять фиксированное содержимое и объявлять часть web-страницы, в которую можно вставить динамическое содержимое. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Элемент Content является дескриптором верхнего уровня для страницы содержимого, она не содержит дескрипторов <html>, <head> и <body>, они наследуются из соответствующей мастер-страницы.
Чтобы связать страницу
Ниже приведён текст мастер-страницы AdminMasterPage.master, для web-страниц, входящих в интерфейс администратора музыкального Интернет-магазина:
<%@ Master Language="C#" AutoEventWireup="true"
CodeFile="AdminMasterPage.
Inherits="MasterPages_
<%@ Register Src="../UserControls/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/
……………………………………………………………
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server" style="text-align: center;">
………………………………………………………….
<tr>
<td colspan="2" style="vertical-align: middle; text-align: center; height: 150px;">
………………………………………………………………………..
<div class="HeaderPageFont2">
</td>
</tr>
<tr>
<td style="width: 150px; vertical-align: top;">
…………………………………………….
</td>
<td style="vertical-align: top; text-align: center; height: 700px; width: 850px;" class="PageBackColor">
…………………………………………………………….
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td colspan="2">
<span>copyright Луцкин Д.В. гр. № 4231</span>
</td>
</tr>
……...
</form>
</body>
</html>
Она определяет компоновку и расположение всех повторяющихся элементов и страницы-содержимого. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Каждая страница содержимого для данной мастер страницы будет иметь следующий шаблон:
<%@ MasterPageFile="~/MasterPages/
<asp:Content ID="Content1"
ContentPlaceHolderID="
Содержимое соответствующей web-страницы.
</asp:Content>
На рисунках 8 и 9 представлена компоновка мастер-страниц AdminMasterPage.master и UserMasterPage.master, для web-страниц, входящих в интерфейс покупателя и администратора, соответственно.
Рис. 8 «Компоновка мастер-страницы AdminMasterPage.master»
Рис. 9 «Компоновка мастер-страницы UserMasterPage.master»
4.2.2 Пользовательские элементы управления
Ещё одним средством стандартизации компоновки web-страниц ASP.NET, использованным при разработке дипломного проекта, являются пользовательские элементы управления (UserControl). Пользовательский элемент управления – это небольшая часть страницы, которая может содержать статический HTML-код и серверные элементы управления ASP.NET. Один и тот же пользовательский элемент управления может использоваться на множестве web-страниц. Применение пользовательских элементов управления значительно облегчает процесс отладки и модификации, а также позволяет более гибко использовать механизм кэширования. Подробнее о кэшировании пользовательских элементов управления описано в пункте 5.2.1.
Как уже было сказано выше, пользовательские элементы управления, как и web-страницы могут содержать в себе статический HTML-код и серверные элементы управления ASP.NET, а также имеют такой же жизненный цикл. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Далее приведён пример регистрации пользовательского элемента управления MenuGenre.ascx в мастер-странице UserMasterPage.master:
<%@ Register Src="../UserControls/
После этого элемент управления можно использовать на web-странице:
<uc:MenuGenres ID="MenuGenres1" runat="server" />
При разработке дипломного проекта
были созданы различные
4.2.3 Каскадные таблицы стилей и темы оформления
Для того чтобы web-приложение имело единообразный визуальный стиль, необходимо настроить цвет фона каждой web-страницы и пользовательского элемента управления, задать шрифт и стиль каждой кнопки и надписи. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Поэтому для стандартизации элементов дизайна при разработке дипломного проекта использовались каскадные таблицы стилей (CSS) и темы оформления.
Каскадные таблицы стилей состоят из правил. Каждое из правил содержит набор атрибутов и их значений, определяющих формат элемента управления. Имя каждого правила состоит из двух частей. Часть правила, находящаяся слева от точки, указывает дескриптор, к которому оно будет применяться. Если перед точкой ничего не стоит, то правило может применяться к любому дескриптору. Справа от точки указывается уникальное имя, которое идентифицирует правило, оно называется именем класса CSS.
Например, правило HeaderSpanFont определяет шрифт Times New Roman, кегель 14, цвет – красный.
.HeaderSpanFont
{
font-family:Times New Roman;