Смекни!
smekni.com

Web-приложение Сайт системы научных конференций (стр. 2 из 6)

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

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

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

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

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

1.2.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.2.2Проектирование структуры программного обеспечения и алгоритмов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

•Главная страница сайта;

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

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

•Страница просмотра информации о заказах;

•Страница авторизации администратора;

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

•Главная страница;

•Страница со всеми моделями часов;

•Страница подбора часов по параметрам;

•Страница просмотра информации о фирмах;

•Страница корзины;

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

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

1.3Реализация

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

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

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

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

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

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

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

- Index.pl – основной скрипт

- Ind.pl – главная страница сайта

- All_model – скрипт для вывода всех моделей часов магазина

- Model_find – скрипт для подбора модели часов по параметрам

- Firms.pl – отображает информацию о фирмах