Интернет-магазин по продаже музыкальных CD и DVD дисков
Как было сказано, выше после отправки страницы клиенту вся информация о ней удаляется из памяти web-сервера, что позволяет экономить ресурсы сервера, это означает, что информация будет теряться после каждой обратной отсылки. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые… Читать ещё >
Интернет-магазин по продаже музыкальных CD и DVD дисков (реферат, курсовая, диплом, контрольная)
1. Исследование предметной области
1.1 Актуальность систем электронной коммерции
1.2 Требования к системе
1.3 Сравнение с аналогами
1.4 Описание способов оплаты
1.5 Решения по реализации
1.6 Обработка страниц на web-сервере и модель событий ASP.NET
2. Проектирование БД
2.1 Физическая модель БД
2.2 Описание таблиц БД
3. Взаимодействие с БД
3.1 Архитектура ADO.NET
3.2 Компоненты доступа к данным
3.3 Привязка данных
3.4 Пример взаимодействия с БД
4. Разработка компонентов web-приложения
4.1 Общая структура web-приложения
4.2 Компоновка и оформление web-страниц
4.3 Элементы управления проверкой достоверности
4.4 Класс web-страницы с возможностью отслеживания обновления
4.5 Аутентификация и авторизация пользователей
4.6 Описание профилей пользователей
4.7 Основные элементы интерфейса музыкального Интернет-магазина
4.8 Основные элементы интерфейса администратора музыкального Интернет-магазина
5. Производительность и масштабируемость web-приложения
5.1 Способы повышения производительности и масштабируемости
5.2 Применение механизма кэширования
5.3 Настраиваемое разбиение на страницы с помощью ObjectDataSource
6. Развёртывание web-приложения и модели компиляции
6.1 Развёртывание web-приложения
6.2 Модели компиляции
7. Разработка бизнес-плана
7.1 Резюме
7.2 Анализ положения дел в отрасли
7.3 Суть разрабатываемого проекта
7.4 План маркетинга
7.5 Производственный план
7.6 Планирование разработки и определение себестоимости программного обеспечения
7.7 Оценка экономической эффективности инвестиционного проекта
7.8 Анализ рисков и неопределённостей
8. Безопасность и санитарно-гигиенические условия труда на рабочем месте пользователя ПЭВМ
8.1 Рабочее место, задачи его организации и проектирования
8.2 Требования к микроклимату рабочего помещения
8.3 Требования к содержанию в воздухе вредных веществ и пыли
8.4 Расчёт системы вентиляции
8.5 Требования к уровню шума и вибрации
8.6 Нормы по освещённости рабочего места. Расчёт системы освещения
8.7 Требования к электромагнитному излучению
8.8 Требования к обеспечению электробезопасности
8.9 Требования к обеспечению пожарной безопасности
8.10 Общие требования к организации режима труда при работе с ПЭВМ Заключение Список источников
Стремительное развитие сети Интернет, применение новейших технологий и коммуникаций в коммерческой деятельности и повседневной жизни обусловило возникновение новых экономических явлений, таких как электронная коммерция. Электронная коммерция — это довольно широкая сфера экономики, включающая в себя многие виды деятельности, такие как Интернет-магазины, Интернет-маркетинг и реклама, различные платёжные системы и многие другие. Сегодня всё больше и больше магазинов, от маленьких узкоспециализированных до крупных торговых сетей стремятся иметь своё представительство в сети Интернет, а многие вообще осуществляют свою деятельность исключительно в сети. Интернет предоставляет новые каналы сбыта продукции, открывает широкие возможности для рекламы и маркетинговых исследований.
Естественно, что для осуществления электронной коммерции, необходимо современное программное обеспечение. Сегодня существует множество технологий (такие как PHP, JSP, ASP, ASP.NET), позволяющих создавать надёжные и эффективные web-приложения, отвечающие самым современным требованиям, удобные в использовании, как со стороны продавца, так и со стороны покупателя.
Целью данного дипломного проекта является создание web-приложения, представляющего собой интернет — магазин по продаже музыкальных CD и DVD дисков, которое позволит продавцу размещать в Интернет информацию о продукции и принимать заказы покупателей. А покупатели соответственно смогут просматривать каталог и заказывать музыкальную продукцию, доставка которой будет осуществляться через систему почтовой связи.
В качестве ОС для разработки была выбрана Windows XP Professional. В качестве технологии разработки будет использоваться ASP.NET 2.0. Информационная система будет представлять собой реляционную базу данных под управлением СУБД SQL Server 2000.
1. Исследование предметной области
1.1 Актуальность систем электронной коммерции
Как уже было сказано выше, с развитием сети Интернет, электронная коммерция приобретает всё более и более широкий размах. И соответственно требуются различные программные средства, которые позволяют сделать её максимально эффективной. Ниже приведены некоторые преимущества систем электронной коммерции:
· Информация о товарах и услугах оборачивается быстрее. Фактически, вы получаете дополнительный коммуникационный канал, открытый 24/7 (оборот, вошедший в английский язык в связи с развитием электронной коммерции и обозначающий работу 24 часа в сутки, 7 дней в неделю). Вы более доступны для клиента географически и во времени, к тому же он получает новое средство поиска и работы с информацией.
· Быстрее оборачивается внутренняя информация (документы, служебная переписка, принятие и утверждение решений и пр.). Расширенная возможность для контроля исполнения. Иначе говоря, ускоряются все бизнес-процессы за счет доступности и скорости передачи информации.
· Интернет предлагает новые сервисы для клиентов — например, отслеживание продвижения заказа. Наличие дополнительных сервисов создает конкурентное преимущество и приводит к вам новых посетителей.
· Поскольку Интернет является технологической оболочкой, он позволяет собирать важную информацию о ваших клиентах. Кроме того, он позволяет использовать маркетинговый инструментарий — опросы, рассылки и т. п. оперативно и без дополнительных затрат.
· Системы электронной коммерции помогут сэкономить на персонале и на аренде площадей для торговых залов.
Таким образом, основными преимуществами электронной коммерции является доступность для большого количества клиентов, географически и во времени, широкие возможности рекламы и маркетинга, экономия средств на персонале и торговых площадях.
1.2 Требования к системе
Разрабатываемая система должна удовлетворять следующим требованиям:
· Иметь систему регистрации пользователей;
· Иметь систему аутентификации и авторизации пользователей;
· Предоставлять потенциальному покупателю полную информацию о музыкальной продукции (название, исполнитель, год выпуска, звукозаписывающая компания, жанр, год выпуска);
· Наличие расширенной системы поиска. Поиск по категориям (жанр, год выпуска, издатель) и по названию, путем ввода части слова или целиком;
· Предоставлять потенциальному покупателю всю необходимую информацию для совершения покупки в Интернет-магазине;
· Предоставлять потенциальному покупателю возможность задавать вопросы по работе Интернет-магазина;
· Иметь удобную и быструю систему заказа музыкальной продукции;
· Иметь несколько разных способов оплаты продукции;
· Наличие системы скидок для постоянных покупателей;
· Возможность просмотра истории заказов и отслеживание хода выполнения текущих;
· Возможность оставлять отзывы о музыкальной продукции;
· Возможность редактирование покупателями личных данных;
· Иметь систему восстановления пароля;
· Возможность подписки на новости Интернет-магазина;
· Обеспечивать конфиденциальность информации о покупателях и заказах.
· Возможность добавления, удаления и редактирования информации о продукции;
· Возможность добавления, удаления и редактирования информации о музыкальных жанрах, исполнителях, издателях, категориях музыкальной продукции;
· Иметь систему поиска заказов по дате и состоянию выполнения;
· Возможность просмотра заказов и изменение хода их выполнения;
· Возможность просмотра личных данных о покупателе;
· Возможность отвечать на вопросы покупателей;
1.3 Сравнение с аналогами
Первые Интернет-магазины появились в России в 1998 году, тогда их количество исчислялось несколькими десятками, но уже к 2001 году их количество превысило 800, а в 2003 уже 4000. Какие-то из них являются Интернет-версиями реальных магазинов, какие-то действуют только в сети, кто-то торгует широким спектром товаров, а кто-то специализируется на конкретном виде товара. Все Интернет магазины предоставляют потенциальному покупателю в целом идентичный набор функций, отличаясь друг от друга только широтой ассортимента и дизайном.
Таким образом, главным является качественная реализация функций Интернет-магазина, максимально ориентированная на удобство потенциального покупателя.
Основные требования покупателей, их ожидания от Web-сайта Интернет-магазина:
" легко найти" - понятный интерфейс и удобная навигация;
" хорошо предложить" - система перекрестных ссылок и предоставление дополнительной информации, объем которой не превышает разумных пределов;
" быстро купить" - чем меньше кликов мышкой нужно сделать для совершения покупки, тем лучше.
" способы оплаты" - предоставление различных способов оплаты.
" время доставки" - чем меньше время доставки товара, тем лучше.
В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Во многих Интернет-магазинах отсутствует такой способ оплаты, как наложенный платёж. Для многих покупателя важно сначала подержать товар в руках, а только потом заплатить за него, особенно если это первый заказ в Интернет-магазине. Скорее всего, покупатель выберет тот магазин, в котором будет присутствовать этот способ оплаты.
Ещё один важный аспект это скорость доставки. Хотя непосредственно реализация сайта никак не влияет на этот фактор, мы можем создать систему отслеживания продвижения заказа. При этом пользователь сможет узнать, на каком этапе выполнения находится его заказ, принят он к исполнению или уже отправлен на почту.
Таким образом, чтобы превзойти аналогичные Интернет-магазины, и исходя из требований покупателей, предъявляемых к Web-сайту Интернет-магазина, основной упор в разработке будет сделан на удобство пользовательского интерфейса, предоставление обширной информации о продукции, а также наличие удобных для пользователя способов оплаты.
1.4 Описание способов оплаты
Для успешной работы в сфере электронной коммерции необходимо предусмотреть различные способы оплаты продукции, которые подойдут максимальному числу потенциальных покупателей. В разрабатываемом Интернет-магазине планируется применять как традиционные способы оплаты (банковский перевод и наложенный платёж), так и новые, характерные для Интернет (web-money, yandex-деньги).
При осуществлении платежей через Интернет всё большую популярность приобретают такие электронные платёжные системы как web-money и yandex-деньги. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. У Интернет-магазина будут свои кошельки в этих платёжных системах. Пользователь должен лишь, используя web-сервис соответствующей платёжной системы, перевести необходимую сумму на счёт Интернет-магазина, указав номер своего заказа. О том, как это сделать, подробно описано на сайте платёжной системы. Безопасность денежного перевода также гарантируется средствами платёжной системы. Плюсом этого способа оплаты является то, что перевод средств происходит практически мгновенно, это означает, что заказ быстрее будет принят к исполнению и соответственно быстрее будет доставлен покупателю.
Однако не все потенциальные покупатели имеют виртуальные Интернет-кошельки, поэтому необходимо предусмотреть и другие способы оплаты.
Оплата через банковский перевод является ещё одним способом заказа продукции с предоплатой. Однако он не всегда удобен для пользователя. Как минимум сначала необходимо идти в банк для оплаты продукции, а потом почту, чтобы забрать товар.
Более удобным для пользователя является способ оплаты — наложены платёж. Покупатель оплачивает товар непосредственно при получении его на почте, при этом он может проверить его целостность.
Также возможна доставка товара курьером. При этом оплата происходит при получении товара. Это наиболее быстрый способ доставки, но также и наиболее дорогой. Однако доставка курьером может осуществляться на ограниченной территории, как правило, в том городе, где расположен склад Интернет-магазина.
1.5 Решения по реализации
1.5.1 Выбор технологии для разработки
Сегодня существует много различных технологий, позволяющих создавать web-приложения разной степени сложности. К ним относятся ASP, ASP.NET, PHP, JSP и многие другие. Наиболее популярной и распространённой технологией на сегодняшний день является PHP, во многом благодаря своей бесплатности. Однако с появлением технологии ASP.NET у PHP появился серьёзный конкурент. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Необходимо выбрать технологию для разработки Музыкального Интернет-магазина, которая позволит наилучшим образом реализовать все функции системы, обеспечить высокое быстродействие при одновременной работе большого числа пользователей, а также обеспечить безопасность данных от несанкционированного доступа. Также стоит отметить, что на создание web-приложения отводится короткий промежуток времени, поэтому необходимо наличие мощной среды программирования, позволяющей максимально ускорить процесс разработки и отладки.
Ниже приведён небольшой сравнительный анализ технологий ASP.NET и PHP. Его целью не является доказать какая технология лучше, а просто обосновать выбор для разработки конкретного web-приложения, а именно Музыкального Интернет-магазина.
ASP.NET — новая технология, разработанная компанией Microsoft и являющаяся частью среды.NET Framework. Она позволяет динамически создавать документы на web-сервере, когда они запрашиваются по протоколу HTTP.
PHP — это открытая и бесплатная технология. PHP — это скриптовый язык, созданный для динамического вывода HTML.
Для реализации функций разрабатываемого web-приложения подходят обе технологии, однако, используя ASP.NET, это сделать намного проще. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Технология PHP является кроссплатформенной, а ASP.NET на сегодняшний момент реализована только для ОС Windows, что является минусом и автоматически привязывает нас к одной ОС.
Одним из важнейших факторов, влияющим на выбор той или иной технологии, является быстродействие, особенно при одновременной работе с множеством пользователей. Утверждать, что какая-то из технологий всегда выигрывает в быстродействии нельзя, необходимо рассматривать каждый конкретный случай отдельно. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Скорость работы обеспечивается тем, что все РНР-приложения работают в едином адресном пространстве, тогда как ASP.NET за счет сложной модели классов многократно проверяет и перепроверяет данные, удерживая каждое приложение в отдельном адресном пространстве. Первый подход более быстр, но менее надежен, второй — более надежен, но за это приходится платить. Отдельно стоит упомянуть об обеспечении быстродействия при взаимодействии с СУБД. PHP ориентирован на работу с MySQL, а ASP.NET — с MS SQL Server. Это значит, что наилучшее быстродействие будет достигаться при использовании соответствующей СУБД. При этом необходимо отметить, что MS SQL Server по функциям и производительности превосходит MySQL.
Также при выборе технологии необходимо учитывать стоимость разработки и поддержки web-приложения. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении.
Таким образом, сравнив обе технологии, было принято решение использовать для разработки технологию ASP.NET. Главными аргументами в пользу этой технологии являются большие функциональные возможности, наличие высокоуровневых средств организации пользовательского интерфейса и работы с базой данных. Отдельно стоит отметить наличие мощной среды программирования — Visual Studio, которая позволяет быстро реализовать все функции Интернет-магазина в условиях ограниченного времени, отведённого на разработку.
1.5.2 Основные особенности технологии ASP.NET
Итак, в качестве технологии разработки была выбрана ASP.NET. Ниже более подробно описываются основные возможности этой технологии.
Технология ASP.NET написана с чистого листа. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. При этом сама результирующая страница не содержит ни кодов ASP.NET, ни элементов управления и может быть просмотрена в любом из браузеров, отредактирована в любом редакторе HTML.
Особенности ASP.NET:
— ASP.NET является составной частью среды.NET Framework, поэтому на стороне сервера мы имеем доступ ко всей богатейшей библиотеке классов.NET.
— ASP.NET предлагает полностью объектно-ориентированную модель программирования, включающую управляемую событиями, основанную на элементах управления архитектуру, которая обеспечивает инкапсуляцию и.
— ASP.NET позволяет писать код на любом языке, поддерживаемом.NET (включаю Visual Basic, C#, J# и множество других языков с компиляторами от).
— ASP.NET ориентирован на достижение высоких показателей производительности. Страницы и компоненты ASP.NET компилируются по требованию, а не интерпретируются при каждом использовании. Гибкий механизм кэширования также позволяет.
— ASP.NET имеет обширную коллекцию элементов управления, позволяющую создавать удобный и эффективный пользовательский интерфейс.
Отдельно стоит отметить простоту и удобство взаимодействия с базами данных и отображение информации на.
— ASP.NET является также платформой для построения Web-служб, являющихся многократно используемыми модулями кода, которые вызываются другими приложениями в рамках различных платформ и.
— Приложения ASP.NET легко развёртываются и конфигурируются. В простейшем случаев потребуется просто скопировать все файлы в виртуальный каталог на.
— Средства разработки web-приложений ASP.NET, такие как Microsoft Visual Studio 2005, позволяют сделать разработку и отладку приложения более быстрым и.
1.5.3 Выбор ОС и web-сервера
Как было описано выше, для разработки была выбрана технология ASP.NET. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Она является мощной и надёжной ОС, отличается относительной лёгкостью администрирования и имеет интегрированный web-сервер.
В качестве Web-сервера используется IIS (Internet Information Services — Информационные службы Internet). На сегодняшний день он является единственным Web-сервером, поддерживающим ASP.NET. Но это не значит, что он мало распространен или неэффективен в использовании. Как раз наоборот, IIS входит в состав всех серверных ОС Windows, а также в Windows Professional, таким образом, для того, чтобы развернуть Web-приложение, достаточно иметь одну из указанных ОС Windows. По сути IIS является службой Windows, отвечающей за обработку запросов, получаемых на определённых портах. В пункте 1.6 будет подробнее описан процесс взаимодействия Web-сервера с приложением ASP.NET.
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 «Физическая модель базы данных»
Скрипт для создания базы данных, а также примеры хранимых процедур, представлены в приложении 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 являются одинаковыми для всех баз данных.
В данном пункте была рассмотрена технология доступа к данным ADO.NET, определено её место в обеспечении взаимодействия приложения с базой данных, а также рассмотрены основные классы, которые будут использоваться при разработке дипломного проекта.
3.2 Компоненты доступа к данным
В профессиональных, хорошо спроектированных приложениях код взаимодействия с базой данных никогда не встраивается непосредственно в код, лежащий в основе web-страницы. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Чтобы выполнить операцию с базой данных, необходимо создать экземпляр класса и вызвать соответствующий метод.
При разработке дипломного проекта был использован именно такой подход. Для каждой таблицы базы данных, с которой будет взаимодействовать web-приложения, создан свой компонент доступа к данным, включающий все необходимые методы. Методы объявлены как статические, таким образом, вызывать их можно непосредственно через имя класса, не создавая его экземпляр. Каждый метод осуществляет обработку ошибок при взаимодействии с БД и информирует об этом web-страницу, из которой он был вызван.
Например, в компоненте данных OrdersDB, находятся все необходимые методы для управления заказами покупателей, взаимодействующие с таблицами базы данных Orders и OrderDetails. Вызов метода, который возвращает позиции заказа с указанным номером, в коде web-страницы будет выглядеть следующим образом:
OrdersDB. GetOrderDetails (orderID);
При этом весь код взаимодействия с базой данных находится в этом методе:
public class OrdersDB
{
…
public static DataSet GetOrderDetails (int orderID)
{
SqlConnection conn = new SqlConnection (WebConfigurationManager. ConnectionStrings [" connStr" ]. ConnectionString);
SqlCommand cmd = new SqlCommand («GetOrderDetails», conn);
…;
cmd. Parameters. Add («OrderID», SqlDbType. Int);
cmd. Parameters [" OrderID" ]. Value = orderID;
…;
SqlDataAdapter da = new SqlDataAdapter (cmd);
try
{
da. Fill (ds);
…;
return ds;
}
catch (SqlException)
{
…;
return null;
}
}
…
)
На рисунке 5 изображена диаграмма классов всех компонентов доступа к данным.
Рис. 5 «Диаграмма классов компонентов доступа к данным»
Примечание.
· ArtistDB — взаимодействие с таблицей Artists (Исполнители);
· OrdersDB — взаимодействие с таблицами Orders (Заказы) и OrderDetails (Детали заказа);
· TypeProductDB — взаимодействие с таблицей TypeProduct (Категории продукции);
· CatalogDB — взаимодействие с таблицей Catalogue (Каталог);
· ResponsesDB — взаимодействие с таблицей Responses (Отзывы);
· TypePaymentDB — взаимодействие с таблицей TypePayment (Способы оплаты);
3.3 Привязка данных
Помимо механизмов извлечения информации из источника данных, современные web-приложения нуждаются в удобном способе отображения этой информации на web-странице. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Это означает, что не нужно вручную программировать логику циклического чтения строк, состоящих из многочисленного количества столбцов, и манипулирования отдельными элементами управления.
Например, чтобы отобразить на web-странице таблицу, содержащую позиции заказа, необходимо выполнить следующий код:
GridViewOrderDetails. DataSource = OrdersDB. GetOrderDetails (orderID); GridViewOrderDetails. DataBind ();
Метод GetOrderDetails возвращает объект DataSet, содержащий результаты запроса к базе данных. Для того чтобы отобразить их на web-странице, используя привязку данных, необходимо присвоить DataSet специальному полю DataSource элемента управления (в данном случае GridView) и вызвать метод DataBind () элемента управления, чтобы выполнить привязку. В итоге на web-странице будет изображена таблица, содержащая позиции заказа с заданным номером.
Привязку данных можно также осуществлять с помощью элементов управления источниками данных. При разработке дипломного проекта использовался элемент управления источниками данных — ObjectDataSource, который для привязки данных использует компоненты доступа к данным. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Ниже приведён пример использования элемента управления источником данных ObjectDataSource при отображении отзывов покупателей об альбоме с заданным номером:
…
…
Всё это выполняется декларативно в файле дескрипторов web-страницы. При этом можно указывать, откуда ObjectDataSource должен брать параметры запроса, если они необходимы. В данном случае параметр ProductID берётся из строки запроса.
3.4 Пример взаимодействия с БД
Ниже приведён пример взаимодействия web-приложения с базой данных, используя технологию ADO.NET и компоненты доступа к данным. Web-страница HistoryOrders. aspx выводит на экран таблицу, содержащую все заказы данного пользователя.
На странице HistoryOrders. aspx находится элемент управления GridView, предназначенный для отображения табличных данных:
ShowFooter= «true» SkinID= «GridViewStyle» runat= «server» >
…
…
…