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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)

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

Страницы, находящиеся в корневом каталоге web-приложения доступны всем пользователям.

Назначение web-страниц корневого  каталога:

  • AddQuestion.aspx – добавление вопроса администрации магазина;
  • CatalogList.aspx – отображает список альбомов в зависимости от указанных критериев поиска;
  • Default.aspx – страница по;
  • ErrorPage.aspx – отображается при ошибке работы с;
  • FAQ.aspx – отображает вопросы покупателей и;
  • InfoShop.aspx – информация по работе Интернет-магазина;
  • TypePayment.aspx – информация о способах оплаты;
  • Login.aspx – страница входа в Интернет-магазин (аутентификация и авторизация);
  • PasswordRecovery.aspx – восстановление пароля;
  • ProductDetails.aspx – отображает подробности о выбранном альбоме, добавление отзывов об;
  • Registration.aspx – страница регистрации;
  • Responses.aspx – отображает отзывы покупателей о;
  • ShoppingCart.aspx – отображает товары, находящиеся в покупательской корзине;

Также в корневом каталоге находится  конфигурационный файл web.config и файл обработчиков глобальных событий web-приложения. Подробнее о назначении этих файлов описано в пункте 4.1.2.

 

4.1.2 Файл конфигурации web-приложения web.config

 

Файл web.config является xml-файлом, позволяющий  задавать различные настройки web-приложения, такие как методы аутентификации и авторизации пользователей, настройка системы профилей, управление доступа к каталогам, строки подключения к источникам данных и многие другие.

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

  • Строка подключения к БД

<connectionStrings>

     <add name="connStr"

connectionString="Data Source=localhost; Integrated

……………………………………………………….

            providerName="System.Data.SqlClient"/>

    </connectionStrings>

  • Конфигурация интерфейса MemberShip API, подробнее о котором написано в пункте 4.5.1.

   <membership defaultProvider="MyMembershipProvider">

      <providers>

        <add name="MyMembershipProvider"

         type="System.Web.Security.SqlMembershipProvider"

          ……………………………………..

          applicationName="/MusicInternetShop"

          enablePasswordRetrieval="true"

          enablePasswordReset="true"

         …………………………………….

          requiresQuestionAndAnswer="true"

          requiresUniqueEmail="true"

          ……………………………….

          minRequiredPasswordLength="7"/>

      </providers>

    </membership>

 

  • Конфигурация системы аутентификации, подробнее о которой написано в пункте 4.5.2

<authentication mode="Forms">

      <forms name="CookieName"

        loginUrl="Login.aspx"

        ……………………..

        slidingExpiration="true"

        cookieless="AutoDetect"

        protection="All"

        ……………………..

        path="/">

      </forms>

    </authentication>

  • Конфигурация интерфейса Roles API, подробнее о котором написано в пункте 4.5.3.

<roleManager

      defaultProvider="MySqlProvider"

      ………………………………….

      cookieName=".MyRoleCookie"

      cookieTimeout="20"

      cookieSlidingExpiration="true "

      ………………………………

      createPersistentCookie="false">

      <providers>

        <add name="MySqlProvider"

         type="System.Web.Security.SqlRoleProvider"

         ………………………………………

          applicationName="/MusicInternetShop"/>

      </providers>

    </roleManager> 

 

  • Конфигурация интерфейса Profiles API, подробнее о котором написано в пункте 4.6

<profile defaultProvider="MySqlProvider" automaticSaveEnabled="false">

<providers>

<add name="MySqlProvider"

          type="System.Web.Profile.SqlProfileProvider"

           …………………………………………

           applicationName="/MusicInternetShop"/>

</providers>

<properties>

         <add name="Cart" type="ComponentsShoppingCart.ShoppingCart" serializeAs="Binary" allowAnonymous="true"/>

         ……………………………………………………………………..

         <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>, они наследуются из соответствующей мастер-страницы.

 Чтобы связать страницу содержимого  с необходимой мастер-страницей  необходимо выполнить следующие  действия:

  • В директиве Page страницы содержимого указать путь к файлу мастер-страницы:  MasterPageFile="~/MasterPages/AdminMasterPage.master";
  • В дискрипторе Content страницы содержимого полю ContentPlaceHolderID присвоить идентификатор элемента ContentPlaceHolder, расположенному на;

Ниже приведён текст мастер-страницы AdminMasterPage.master, для web-страниц, входящих в интерфейс администратора музыкального Интернет-магазина:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="AdminMasterPage.master.cs"

    Inherits="MasterPages_AdminMasterPage" %>

<%@ Register Src="../UserControls/MenuAdmin.ascx" TagName="MenuAdmin" TagPrefix="uc" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

……………………………………………………………

<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">Интерфейс администратора</div>

                </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/AdminMasterPage.master" … %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

Содержимое соответствующей  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/MenuGenres.ascx" TagName="MenuGenres" TagPrefix="uc" %>, где

  • Src – путь к исходному файлу;
  • TagPrefix – префикс дескриптора;
  • TagName – имя дескриптора;

 

После этого элемент управления можно использовать на web-странице:

<uc:MenuGenres ID="MenuGenres1" runat="server" />

 

При разработке дипломного проекта  были созданы различные пользовательские элементы управления, их полный список и назначение приведены в пункте 4.1.1.

 

 

 

4.2.3 Каскадные таблицы  стилей и темы оформления

 

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

Каскадные таблицы стилей состоят  из правил. Каждое из правил содержит набор атрибутов и их значений, определяющих формат элемента управления. Имя каждого правила состоит из двух частей. Часть правила, находящаяся слева от точки, указывает дескриптор, к которому оно будет применяться. Если перед точкой ничего не стоит, то правило может применяться к любому дескриптору. Справа от точки указывается уникальное имя, которое идентифицирует правило, оно называется именем класса CSS.

Например, правило HeaderSpanFont определяет шрифт Times New Roman, кегель 14, цвет – красный.

.HeaderSpanFont

{

font-family:Times New Roman;

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