Web-приложение «Сайт системы научных конференций»

Содержание 

 Введение……………….………………………………………………………...

1 Web-приложение «Сайт системы научных конференций»....…………........

      1.1 Анализ  требований………………………………………….…................

      1.1.1 Анализ  предметной области…………………...................................

      1.1.2 Анализ функциональных требований………....................................

      1.1.3 Анализ  требований к интерфейсу пользователя...............................

      1.1.4 Выбор  технологий и инструментальных  программных средств....

      1.2. Проектирование……………………………….........................................

      1.2.1 Проектирование  структуры данных……………………………......

      1.2.2 Проектирование  структуры программного обеспечения  и алгоритмов.........................................................................................

      1.2.3 Проектирование пользовательского интерфейса..............................

      1.3 Реализация……………………………………...........................................

      1.3.1 Программная  реализация...................................................................

      1.3.2 Кодирование…………….....................................................................

      1.4 Тестирование…………………………………...........................................

Заключение…………………………………………………………..…………..

Список  использованных источников………………………………..…………

Приложение А. Код приложения ……………………….......……….………...

Приложение Б. Результаты тестирования……………..……………………… 

5

6

6

6

7

10

11

12

12

14 

16

18

18

18

20

21

22

23

55

    

Введение

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

      Одним из таких языков является Perl (Practical Extraction and Report Language) — это мощное средство для создания командных сценариев, которые могут использоваться для файловых операций, создания отчётов и выполнения множества других задач.

      Изначально Perl задумывался как высокоуровневый кросс-платформенный язык системного программирования. Perl вышел далеко за пределы исходного предназначения, но он продолжает широко использоваться в системном программировании в родных системах семейства UNIX и на других платформах. [2]

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

      CGI (Common Gateway Interface) — стандарт интерфейса, используемого для связи внешней  программы с веб-сервером. Программу,  которая работает по такому  интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя  многие предпочитают названия «скрипт» (сценарий) или «CGI-программа». [2]

      Сам интерфейс разработан таким образом, чтобы можно было использовать любой  язык программирования, который может  работать со стандартными устройствами ввода/вывода. [2]

Цель  данной курсовой работы — разработка интернет-магазина , который упрощает покупку необходимых товаров.

В качестве средств для реализации поставленной задачи были выбраны: веб-сервер Apache, sql-сервер MySQL и языки программирования Perl и JavaScript.

    Web-приложение «Интернет магазин часов»

    1. Анализ  требований
      1. Анализ  предметной области

     В рамках данного курсового проекта  разработано Web-приложение «Интернет-магазин  часов».

     Приложение  актуально для пользователей  Интернета, которые могут посмотреть информацию об интересующем товаре, а также осуществить его заказ

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

     Вся информация на сайте считывается  из БД построчно, либо по запросам. Обращение  к БД реализуется в CGI- программах.

     Основное назначение CGI-программы состоит в выполнении трех  нижеследующих этапов:

  • получение и декодирование запроса пользователя;
  • обработка запроса лично или путем обращения к другим CGI-программам или прикладным программным продуктам;
  • генерация результирующей HTML-формы и пересылка ее пользователю.

     CGI-программы  получили широкое распространение  потому, что их использование   позволяет генерировать HTML-документы  “на лету”, что избавляет от  необходимости хранить все возможные  варианты ответов в дисковой  памяти. Взаимодействие браузера, Web-сервера и CGI-программы осуществляется в соответствии с протоколом  HTTP.

     В нашем приложении выделяются 2 основных категории:

  • ПОЛЬЗОВАТЕЛЬ
  • АДМИНИСТРАТОР

     Краткое описание основных действующих лиц  представлено в таблице 1.

Таблица 1 - Действующие лица.

Название Профиль, подготовка и навыки
ПОЛЬЗОВАТЕЛЬ Обычный пользователь. Может просматривать размещённую  на сайте информацию о товарах  представленных магазином. Может осуществлять заказ необходимой продукции. Использует возможности графического интерфейса приложения. Требуются базовые навыки работы с ПК.
АДМИНИСТРАТОР Человек, занимающийся поддержанием работы сайта. Может просматривать  и редактировать размещённую  на сайте информацию о товарах  и услугах, может добавлять новый  товар, редактировать характеристики, просматривать статистические данные. Использует возможности графического интерфейса приложения. Требуются средние навыки работы с ПК.
      1. Анализ  функциональных требований

     В соответствии с требованиями к осуществляемым Web-приложением функциям можно отнести следующие:

  • просмотр списка моделей часов;
  • подбор часов по параметрам;
  • просмотр информации о фирмах;
  • добавление выбранного товара в корзину;
  • оформление заказа;
  • добаление фирм;
  • добавление новых моделей часов;
  • редактирование информации о фирмах;
  • редактирование параметров часов;
  • удаление невостребованных моделей часов из базы;
  • просмотр сведений о заказах;
  • авторизация администратора.

     Краткое описание основных вариантов использования  разрабатываемого приложения представлено в таблице 2. 
 
 

Таблица 2 – Краткое  описание основных вариантов использования.

Действующее лицо Цель Краткое описание
ПОЛЬЗОВАТЕЛЬ, АДМИНИСТРАТОР Просмотреть список моделей часов Пользователь  просматривает список моделей часов, знакомится с характеристиками.
ПОЛЬЗОВАТЕЛЬ, АДМИНИСТРАТОР Подбор часов  по параметрам Пользователь  вводит в форму параметры необходимые  ему для  подбора часов и  получает результат.
ПОЛЬЗОВАТЕЛЬ, АДМИНИСТРАТОР Просмотр информации о фирмах Пользователь  просматривает информацию о фирмах производителях часов, их особенности и исторические аспекты.
ПОЛЬЗОВАТЕЛЬ, АДМИНИСТРАТОР Добавление  выбранного товара в корзину Пользователь, выбрав наиболее подходящие для него часы может добавить их в корзину  для дальнейшей покупки.
АДМИНИСТРАТОР Добаление фирм Администратор добавляет в базу новые фирмы  – производители часов.
АДМИНИСТРАТОР Добавление  новых моделей часов Администратор добавляет в базу новые модели часов.
АДМИНИСТРАТОР Редактирование  информации о фирмах Администратор редактирует информацию о фирмах.
АДМИНИСТРАТОР Редактирование  параметров часов Администратор редактирует в характеристиках  часов необходимые параметры.
АДМИНИСТРАТОР Удаление невостребованных моделей часов из базы Администратор удаляет фирмы и модели часов, которые по каким-либо причинам стали ненужными.
АДМИНИСТРАТОР Просмотр сведений о заказах Администратор просматривает информацию о продажах
АДМИНИСТРАТОР Авторизация и  деавторизация Авторизация администратора перед работой с приложением
 

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

Рисунок 1 – Диаграмма вариантов использования

      1. Анализ  требований к интерфейсу пользователя

     Из  требований к интерфейсу можно выделить следующие:

     — должны присутствовать текст, рисунок,  фоновый рисунок,  желательно наличие  таблиц;                                                                                                                                       

     — внутри страницы должен быть обеспечен  переход по ссылкам  — на начало страницы, в конец страницы, по тематическим разделам и элементам списка рисунков, возврат на главную страницу.                                                                            

     Эти требования реализуются средствами стандартного языка разметки Web-документов HTML.

      1. Выбор технологий и инструментальных программных  средств

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

     Веб-приложение – клиент-серверное приложение, в котором клиентом выступает браузер, а сервером – веб-сервер. Логика веб-приложения распределена между этими элементами, поэтому необходимо рассмотреть отдельно средства реализации для клиента и сервера.

     Логика  приложения на стороне клиента будет  реализована стандартными средствами: HTML, CSS и Javascript. Эти средства выбраны, поскольку они поддерживаются всеми браузерами и операционными системами, в отличие от Flash, Java-апплетов и других технологий.

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

     Для хранения пользовательских данных будет использован MySQL-сервер. Этот сервер является бесплатным и предоставляет все необходимые средства для хранения и обработки пользовательских данных.

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

     Для реализации серверной части приложения был выбран язык программирования Perl. CGI-сценарии на языке Perl, генерирующие HTML-страницы «на лету» являются мощным средством для решения поставленной задачи.

    1. Проектирование
      1. Проектирование  структур данных

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

Таблица 3 — описание таблицы firma(фирмы)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор фирмы int(2) Первичный ключ
Name_Firma Название фирмы varchar(15) Атрибут
Country Страна производитель varchar(30) Атрибут
Logos Логотип фирмы varchar(50) Атрибут
Resume Информация  о фирме text Атрибут

Таблица 4 — описание таблицы model (модели)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор модели int(2) Первичный ключ
id_Firma Идентификатор фирмы int(2) Внешний ключ
Name_Model Название модели varchar(40) Атрибут
id_Mechanism Идентификатор механизма int(1) Внешний ключ
id_Kreplen Идентификатор крепления int(1) Внешний ключ
id_Pol Идентификатор пола int(1) Внешний ключ
Data_post Дата поставки date Атрибут
Price Стоимость int(7) Атрибут
Photo Изображение varchar(50) Атрибут
 
 
 
 

Таблица 5 — описание таблицы mechanism(типы механизмов)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор механизма int(1) Первичный ключ
name Название механизма varchar(20) Атрибут

Таблица 6 — описание таблицы kreplen (типы крепления)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор крепления int(1) Первичный ключ
name Название крепления varchar(10) Атрибут

Таблица 7 — описание таблицы pol (пол)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор пола int(1) Первичный ключ
name Название пола varchar(10) Атрибут

Таблица 8 — описание таблицы schet (счет)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор счета nt(10) Первичный ключ
nom Номер счета varchar(255) Атрибут
fio ФИО покупателя varchar(255) Атрибут
tel Телефон покупателя varchar(255) Атрибут
email Email покупателя varchar(255) Атрибут
data Дата и время  совершения заказа datetime Атрибут

Таблица 9 — описание таблицы sale (продажи)

Имя столбца Содержательное  наполнение Тип данных Роль
id Идентификатор продажи int(10) Первичный ключ
id_Model Идентификатор модели int(10) Внешний ключ
Schet_id Идентификатор счета int(10) Внешний ключ
 
 

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

     На  рисунке 2 приведена логическая модель базы данных.

Рисунок 2 – Диаграмма логической модели базы данных

      1. Проектирование  структуры программного обеспечения  и алгоритмов

     В процессе проектирования информационной системы были использованы следующие  модули языка Perl:

     DBI — библиотека, осуществляющая работу  с базами данных. Эта библиотека  независима от типа БД. В данной  работе используется СУБД MySQL, и  для взаимодействия с ней модуль DBI использует класс DBD::MySQL.

     CGI — данный модуль содержит набор  функций для создания HTML-документов.

     Оба модуля входят в состав ActivePerl 5.10.1.

     Рассмотрим  взаимодействие основных компонентов  разрабатываемого web-приложения.

     При загрузке сайта пользователь в первую очередь попадает на главную страницу. При выборе одного из пунктов меню запускается соответствующий cgi-скрипт для вывода необходимой информации.

     Диаграмма деятельности - диаграмма, на которой  показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого. [4]

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

     Диаграмма деятельности редактирования продукции представлена ниже на рисунке 3.

Рисунок 3 — Диаграмма деятельности 
 
 
 

     Диаграмма последовательности - это диаграмма, чаще всего, описывающая один сценарий приложения. На диаграмме изображаются экземпляры объектов и сообщения, которыми они обмениваются в рамках одного прецедента (use case). Рассмотрим диаграмму последовательности для варианта использования «Просмотр списка всех моделей часов».

     Пользователь  выбирает пункт меню «Все модели»  смотрит информацию о часах.

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

Рисунок 4 — Диаграмма последовательности

      1. Проектирование  пользовательского интерфейса

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

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

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

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

     Основные  веб-страницы сайта: 

     Администраторская часть:

  • Главная страница сайта;
  • Страница списка фирм с функциями добавления , редактирования и удаления записей;
  • Страница списка моделей часов с функциями добавления , редактирования и удаления записей;
  • Страница просмотра информации о заказах;
  • Страница авторизации администратора;

     Пользовательская  часть:

  • Главная страница;
  • Страница со всеми моделями часов;
  • Страница подбора часов по параметрам;
  • Страница просмотра информации о фирмах;
  • Страница корзины;

     Одну  из страниц сайта (главная пользовательская) можно увидеть на рисунке 5. 

Рисунок 5 — Главная страница пользовательской части сайта

    1. Реализация
      1. Программная реализация

     Данная  система разрабатывалась на языке Perl с использованием веб-сервера Apache и sql-сервера MySQL. MySQL был выбран в качестве веб-сервера, потому что подходит для решения малых задач, имеет достаточную гибкость, а также является бесплатным.

     Приложение  использует клиент-серверную технологию. В качестве клиента выступает браузер пользователя, в качестве сервера – совокупность программно-аппаратных средств, необходимых для работы разработанной системы.  На стороне клиента используется браузер, а на стороне сервера веб-сервер Apache, СУБД MySQL и CGI-программа на языке Perl. Диаграмма развертывания представлена на рисунке 6.

Рисунок 6 — Диаграмма развёртывания системы

      1. Кодирование

Программа, реализованная в данном проекте, включает в себя следующие файлы:

  • Пользовательская часть:
    • Index.pl – основной скрипт
    • Ind.pl – главная страница сайта
    • All_model – скрипт для вывода всех моделей часов магазина
    • Model_find – скрипт для подбора модели часов по параметрам
    • Firms.pl – отображает информацию о фирмах
    • Index.html – определяет расположение компонентов страницы
    • Setup.inf – хранит данные для подключения к базе данных
    • Basket.pl – отображает страницу для работы с содержимым корзины и отправки заявки на товар
    • Kvit.pm – модуль для отображения сгенерированной квитанции
    • Site.js – реализует функции для работы с корзиной
Web-приложение «Сайт системы научных конференций»