Файл: Вебсайт ресторана на платформе asp. Net.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 135

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Такая архитектура разбивает процесс обработки данных между клиентом, сервером приложений и хранилищем данных. В отличие от традиционной двухзвенной архитектуры здесь присутствует сервер приложений, как промежуточное звено между клиентом и хранилищем данных.

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

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

Клиент лишь получает результат в виде HTML-файла. Таким образом, сервер приложений является стандартизованной платформой для динамической доставки контента и построения основных приложений.

Серверов приложений может быть много, а связь с ними происходит через Web-сервер.

В таблице 2.1 приведены результаты сравнительного анализа архитектур Web-представительства.






По результатам анализа при реализации Web-представительства выбрана трехзвенная архитектура «клиент-сервер».
2.4. Выбор средств реализации Web-представительства 2.4.1 Выбор системы управления базами данных

При выборе СУБД учитывалось требование заказчика обеспечить низкую стоимость владения Web-представительства.

Рассмотрим бесплатно распространяемые СУБД MySQL, FireBird, Oracle Database XE и произведем их сравнительный анализ.

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

Firebird (FirebirdSQL) – компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.

В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно, потому что читающие пользователи не

блокируют пишущих), компактность (дистрибутив 5Mb), высокую

эффективность и мощную языковую поддержку для хранимых процедур и триггеров.

Oracle Database 10g Express Edition (Oracle Database XE) – бесплатная версия СУБД для разработчиков.


Oracle Database XE предоставляет те же интерфейсы SQL и PL/SQL, что и во всех остальных версиях Oracle Database 10g, а также широкий спектр программных интерфейсов. Предоставляется полная поддержка разработки и развертывания приложений для разработчиков, работающих на платформах Java, .NET, PHP и Windows.

Максимальный размер БД – 5 Гб.
Сравним эти СУБД по основным критериям оценки серверов баз данных, результаты сравнения представлены в таблице 2.2.

Таблица 2.2 - Сравнительный анализ СУБД



Из сравнительной таблицы можно сделать вывод, что СУБД MySQL, обеспечивает лучшие характеристики, поэтому выбрана именно она в качестве сервера баз данных Web-представительства.

Самой популярной версией данной СУБД в настоящее время является MySQL 5.х.

34
2.2.2 Физическая модель данных Web-представительства

Физическая модель данных – логическая модель данных, выраженная в терминах языка описания данных конкретной СУБД.

Физическая модель данных содержит все детали, необходимые конкретной СУБД для создания базы: наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.

Физическая модель данных строится на основе логической модели данных с учетом ограничений, накладываемых особенностями архитектуры и типизации данных СУБД MySQL.

На рисунке 3.1 представлена физическая модель данных Web-представительства, построенная на основе вышеперечисленных рекомендаций в методологии IDEF1X.




Рисунок 2.5 – Физическая модель данных Web-сайта
В базе данных, реализованной на основе представленной модели, используется нормальная форма Бойса-Кодда.


2.2.3 Выбор языка программирования Web-приложения

В настоящее время для разработки динамических сайтов широко применяются такие технологии Web-программирования, как ASP.NET, Perl и PHP [19].

ASP.NET – технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.



Perl – высокоуровневый интерпретируемый динамический язык программирования общего назначения. Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе, работа с регулярными выражениями, встроенная в синтаксис. Perl унаследовал много свойств от языков Си, AWK, скриптовых языков командных оболочек UNIX.

PHP – свободно распространяемый язык Web-программирования. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических Web-сайтов [15].

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

Таблица 2.3 -Сравнительный анализ языков Web- программирования



По результатам анализа выбрана технология ASP.NET.

ASP.NET является объектно-ориентированной моделью разработки Web-приложений. Сами ASP.NET-страницы являются объектами классов. Можно создавать программный код с возможностью его повторного использования классами. Эти классы можно использовать для создания экземпляров объектов.

Объектная модель — это иерархия объектов, предоставляющих разработчикам определенные возможности. В ASP.NET используется новая структура Web-страниц, которая отличается от структуры ASP-страниц и обеспечивает поддержку объектной модели для сохранения содержимого ASP.NET-страницы. Добавлен новый класс элементов управления — серверные элементы управления. Можно добавлять собственные комментарии и связывать эти данные с серверными элементами управления. Для оформления Web-страниц имеются наборы директив, которые предназначены для установки параметров. Например, параметры TraceContext и isEnabled позволяют, соответственно, включить и отключить механизм отслеживания Web-запросов.

ASP.NET определяет шесть внутренних объектов структуры страниц:

  • application;

  • ObjectContext;

  • response;

  • request;

  • server;

  • session.

Эти объекты встроены в модель ASP.NET-страниц и готовы к использованию.

В объекте application хранятся данные, которые будут доступны всем пользователям, одновременно работающим с Web-приложением.

Данные о сеансе работы каждого отдельного пользователя сохраняет объект session. Объект application используется для хранения глобальных переменных, которые содержат информацию, общедоступную для всех пользователей Web-приложения, например, приветственное сообщение или индекс посещения Web-страницы. Этот объект представляет собой коллекцию разнородных элементов. Пользователи совместно используют объекты Web-приложения, поэтому требуется гарантировать, что несколько пользователей не смогут одновременно изменять переменные, хранимые в объекте application. Для блокирования содержимого коллекции объектов от изменения применяется метод Lock, для разблокирования — метод Unlock. Так же существуют методы Contents.Remove и Contents.RemoveAll, которые удаляют один элемент из семейства Contents или все сразу соответственно.


С помощью объекта ObjectContext выполняется фиксация или откат транзакций, управляемых MTS. Транзакции могут быть инициированы со страницы ASP.NET. Методы SetComplete и SetAbort объекта ObjectContext используются, соответственно, для фиксации и отката транзакций.

Объект response можно использовать для передачи выходной информации клиенту. Методы объекта respons:

  • AddHeader – устанавливает заголовок HTML имя равным значению.

  • AppendToLog – добавляет строку в конец записи журнала веб-сервера, относящейся к этому запросу.

  • BinaryWrite – записывает предоставленную информацию в текущий вывод HTTP без преобразования наборов символов.

  • Clear – стирает любой буферизованный вывод HTTP.

  • End – останавливает обработку файла .asp и возвращает текущий результат.

  • Flush – немедленно передает буферизованный вывод.

  • Redirect – отправляет обозревателю сообщение о перенаправлении, вызывая попытку обозревателя подключиться к другому URL.

  • Write – записывает переменную в виде строки в текущий вывод HTTP.

В объекте request сохраняется информация, отправляемая браузером клиента на сервер в HTTP-запросе. После обработки запроса с помощью объекта request пользователю отправляется ответная информация. С помощью метода BinaryRead объект request извлекает данные, передаваемые клиентом серверу, как часть запроса POST.

Объект server позволяет получить доступ к свойствам и методам Web-сервера. С помощью метода СreateObject можно создать экземпляр объекта server, Execute – выполняет файл .asp. Так же существует возможность сопоставляения указанного виртуального пути с физческим путем – это делает метод MapPath. А Transfer передает всю информацию о текущем состоянии другому файлу .asp для обработки.

Объект session используется для хранения информации о пользовательских сеансах. Значения переменных объекта session сохраняются, даже когда пользователь переходит на другую страницу Web-приложения. Этот объект создается при организации пользователем сеанса и уничтожается при его завершении. Например, в нём можно сохранять регистрационную информацию каждого пользователя, посещающего сайт виртуального магазина. Эта информация остаётся доступной для всего Web-приложения даже при переходе пользователя на другие Web-страницы сайта. Объект session использует три метода: Abandon для уничтожения объект session и освобождения его ресурсов, а Contents.Remove и Contents.RemoveAll для удаления одного элемента или всех элементов из семейства Contents соответственно.

Каждый из внутренних объектов ASP.NET обладает набором методов и коллекций для управления функциональными возможностями этого объекта. Назначение и возможности внутренних объектов технологий ASP и ASP.NET практически идентичны.


2.5 Описание программных модулей
Web-приложение состоит из следующих программных модулей: модуль управления заказами клиентов;

модуль администрирования Web-представительства. Ниже представлен PHP-класс формы вывода заказов
$db = mysql_connect ("localhost","root",""); mysql_select_db ("mcd",$db);

$result = mysql_query ("SELECT id, fio, phone, mail, adress, tovar, sum from zakaz",$db);

$myrow = mysql_fetch_array ($result); do {

printf ("





















id: %s



Заказчик: %s

Номер телефона: %s




e-mail: %s



Адрес: %s



Сумма заказа: %s ?

Заказ: %s




", $myrow["id"],$myrow["fio"],$myrow["phone"],$myrow["mail"],$myrow["adress"], $myrow["sum"],$myrow["tovar"]);

}

while ($myrow = mysql_fetch_array ($result)); ?>

2.6 Обоснование экономической эффективности разработки Web-представительства ООО «Честер»

Для обоснования экономической эффективности разрабатываемого ИТ-решения предлагается методика сравнения себестоимости приобретенного программного продукта (ПП) (базовый вариант) и разработанного ПП (проектный вариант) программистом по договору (ИТ-аутсорсинг).

ИТ-аутсорсинг – предполагает делегирование внешней специализированной компании решение вопросов связанных с разработкой, внедрением и сопровождением информационных систем как целиком на уровне инфраструктуры предприятия (сопровождение оборудования или ПО), так и объемов работ, связанных с развитием и/или поддержкой функционирования

отдельных участков системы (программирование, хостинг, тестирование и т.

д.).
Проектируемый продукт представляет собой Web-сайт ООО «Честер» . Пользователями данной системы являются клиенты ресторана.

Стоимость приобретенного ПП (базовый вариант, Сба) составила 25070 руб.

В процессе проектирования будут задействованы: менеджер, программист и администратор сайта.

В калькуляцию себестоимости разработки ПП включаются следующие статьи затрат:

основная зарплата;

дополнительная зарплата;

социальные страховые взносы; прочие прямые расходы;