Добавлен: 28.03.2023
Просмотров: 245
Скачиваний: 7
СОДЕРЖАНИЕ
1. Техническое задание и выбор средств реализации
2. Описание модулей серверной части программы и их взаимодействие
3. Описание структуры базы данных и ее функций
3.1. Разработка инфологической модели
3.2. Даталогическое проектирование
4. Описание структуры клиентской части
4.2. Описание интерфейса «Обычный пользователь»
3.1. Разработка инфологической модели
Под разработкой инфологической модели подразумевается построение независимой от СУБД информационной структуры путем объединения информационных требований всех предполагаемых пользователей системы.
Для создания инфологической модели данных необходимо определить сущности, их атрибуты и связи между ними.
Сущности:
- Пользователи
- Категории
- Коллекционные вещи
- Печатная продукция
- Партнёры
- Вопросы/Ответы
- Отзывы
Атрибуты сущностей:
Пользователи:
- Логин
- Пароль
- Дата последнего посещения
- Тип
Категории:
- Название категории
- Краткое описание
- Фотография
- Ссылка на страницу
Коллекционные вещи:
- Название
- Описание
- Категория товара
- Ссылка на фотографию
- Редкость
- Минимальная стоимость
Партнеры:
- Название
- Категория товара
- Фотография
- Краткая информация
Печатная продукция
- Название
- Описание
- Категория товара
- Ссылка на фотографию
- Редкость
- Минимальная стоимость
Вопросы/ответы:
- Идентификационный номер
- Категория
- Вопрос
- Ответ
Отзывы:
- Идентификационный номер
- Категория товара
- Текст
- Оценка
Теперь рассмотрим связи между описанными сущностями (Таблица 2):
Таблица сущностей (Таблица 2):
Сущность |
Связь |
Сущность |
||
Категории |
1 |
присвоена |
n |
Коллекционные вещи |
1 |
присвоена |
n |
вопрос/ответ |
|
1 |
присвоена |
n |
отзыв |
|
n |
соответствует |
n |
партнер |
|
1 |
присвоена |
n |
Печатная продукция |
Связь «присвоена» представляет собой связь типа «один ко многим», то есть, если услуге/отзыву/вопросу присвоена одна категория, то одной услуге/отзыву/вопросу присвоена только одна категория, в то же время, одна категория может быть присвоена нескольким услугам/отзывам/вопросам. Связь «соответствует» является связью типа «многие ко многим», что означает, что один партнер/музыка может соответствовать нескольким категориям. Точно также, одной категории соответствует несколько партнеров/экземпляров музыки.
На основе приведенных выше данных построена «ER - диаграмма», которая представлена на рисунке 4.
Рис. 4 – ER-диаграмма
3.2. Даталогическое проектирование
Даталогическое проектирование состоит в создании схемы базы данных на основе конкретной, в нашем случае, реляционной, модели данных. Для реляционной модели данных даталогическая модель – это набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
Рассмотрим отдельно таблицы для каждой из выделенных в инфологической модели сущностей.
В каждой из представленных ниже таблиц представлены имена столбцов данной таблицы. Красным цветом выделено имя/имена столбца/столбцов, которое является первичным ключом для данной таблицы.
Таблица 3 – Пользователи
Логин |
Пароль |
Тип |
Дата последнего посещения |
Таблица 4 – Категории
Название категории |
Краткое описание |
Фотография |
Ссылка на страницу |
Таблица 5 – Коллекционные вещи
Название |
Описание |
Категория |
Ссылка на фотографию |
Редкость |
Минимальная стоимость |
Таблица 6 – Партнеры
Название |
Категория |
Краткая информация |
Фотография |
Таблица 7 – Печатная продукция
Название |
Описание |
Категория |
Ссылка на фотографию |
Редкость |
Минимальная стоимость |
Таблица 8 – Вопросы/ответы
Идентификационный номер |
Категория услуги |
Вопрос |
Ответ |
Таблица 9 – Отзывы
Идентификационный номер |
Категория услуги |
Оценка |
Текст |
На основе представленных выше таблиц можно построить схему разрабатываемой базы данных (рисунок 5).
Рис. 5 – Схема базы данных
4. Описание структуры клиентской части
4.1. Общее описание
Общая структура клиентской части приложения представлена на рисунке 6.
Рис. 6 – Структура клиентской части приложения
Клиентская часть приложения делится на три части с разными настройками доступа:
- Гостевая часть (светло серый фон) – данная часть состоит из страницы авторизации и страницы регистрации, которые доступны всем посетителям сайта (зарегистрированным или незарегистрированным),
- Административная часть (темно серый фон) – данная часть состоит из страницы администратора, а также страниц добавления, редактирования и удаления информации, которые доступны только администратору сайта,
- Пользовательская часть (белый фон) – данная часть состоит из страниц сайта, представляющих основную информацию об услугах, которые доступны только зарегистрированным пользователям.
4.2. Описание интерфейса «Обычный пользователь»
Интерфейс обычного пользователя состоит из страниц, которые представляют собой основное содержание сайта праздничного агентства.
После авторизации обычный пользователь попадает на главную страницу (рисунок 7), которая является единственной страницей первого уровня интерфейса обычного пользователя.
С главной страницы пользователь может попасть на любую из страниц второго уровня:
- О нас (рис. – 8)
- Коллекционные вещи (рис. – 9)
- Печатная продукция (рис. – 10)
- Партнеры (рис. – 11)
- Отзывы (рис. – 12)
- Вопросы/Ответы (рис. – 13)
- Вход/Регистрация (рис. – 14)
На большинстве страниц представлены различные категории объектов с фотографией и кратким описанием, а также ссылкой на страницу категории, на которой представлены объекты, принадлежащие к данной категории.
Страницы, на которых представлены объекты, относящиеся к одной категории, являются страницами третьего уровня.
Рис. 7 – Главная страница интерфейса «Обычный пользователь» Рис. 8 – О нас Рис. 9 – Коллекционные вещи Рис. 10 – Печатная продукция Рис. 11 – Партнеры Рис. 12 - Отзывы Рис. 13 - Вопросы |
Рис. 14/15 – Вход/Регистрация
4.3. Описание интерфейса «Администратор»
После авторизации как администратор, открывается новый интерфейс.
Интерфейс администратора (рисунок 16) предназначен для управления данными в базе данных. На главной странице интерфейса администратора представлены ссылки, каждая из которых открывает соответствующую форму для редактирования, добавления и удаления данных.
Рис. 16 – Пример формы редактирования
Заключение
В первом разделе дана краткая характеристика организационной структуры магазина игрушек, а также описаны основные бизнес-процессы, при выполнении которых используется сайт.
Обоснован выбор следующих средств разработки:
- Язык запросов – SQL,
- Система управления базами данных – MySQL,
- Язык гипертекстовой разметки – HTML,
- Язык программирования на стороне клиента – JavaScript,
- Язык программирования на стороне сервера – PHP.
Во втором разделе разработана структура серверной части приложения, а также приведены описания основных модулей.
В третьем разделе разработана база данных, которая предназначена для хранения учетных записей пользователей, а также всей динамической информации сайта.
В четвертом разделе разработана структура клиентской части приложения с разделением на интерфейсы администратора и обычного пользователя. Таким образом, в процессе выполнения работы были решены все задачи, поставленные перед началом её выполнения:
- Проведен анализ организационной структуры магазина игрушек,
- Описаны основные бизнес-процессы компании,
- Выбраны средства разработки,
- Проведено проектирование серверной части приложения,
- Проведено проектирование базы данных,
- Разработана структура сайта,
- Разработаны интерфейсы различных категорий пользователей.
В результате выполнения работы достигнута её основная цель – разработан сайт магазина игрушек “Geek Toys”.
Список использованной литературы
- Куликов Г.Г. Набатов А.Н. Речкалов А.В. Автоматизированное проектирование информационно-управляющих систем. Системное моделирование предметной области.. — Уфа: Уфимский государственный авиационный технический университет, 1998. — 104 с. — ISBN 5-89611-190-0.
- Мейер, Б. Инструменты, алгоритмы и структуры данных / Б. Мейер. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016.
- Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.
- Богданов, М.Р. Перспективные языки веб-разработки / М.Р. Богданов. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- Савельева, Н.В. Язык программирования PHP / Н.В. Савельева. - 2-е изд., испр. - М. : Национальный Открытый Университет «ИНТУИТ», 2016
- Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.
- Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.
- PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.
- Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.
- Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.
- Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
- Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — 1328 с. — ISBN 0-321-19784-4.
- Peter Pin-Shan Chen «The Entity-Relationship Model — Toward a Unified View of Data» (англ.) // ACM Transactions on Database Systems (TODS) : Сб. — Нью-Йорк: ACM, 1976. — Vol. 1. — P. 9-36. — ISSN 0362-5915. — DOI:10.1145/320434.320440.
- Когаловский М. Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4.
- Федоренко, Е.В.Базы данных: учебное пособие / Е.В. Федоренко, А.С. Самардак. – М. : Находка, 2016. – 116 с.
- Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс = Database Systems: The Complete Book. — Вильямс, 2003. — 1088 с. — ISBN 5-8459-0384-X.
- MySQL 5.7 Reference Manual [Электронный ресурс] // Официальный сайт MySQL URL: https://dev.mysql.com/doc/refman/5.7/en/
- Учебное пособие по MySQL [Электронный ресурс] URL:http://www.mysql.ru/docs/man/Tutorial.html
- Триггеры в MySQL [Электронный ресурс] URL: https://habrahabr.ru/sandbox/65316/
- Date, C. J. Database in Depth. — O'Reilly, 2005. — 240 с. — ISBN 0-596-10012-4.
Фрагмент кода модуля отображения данных, который получает данные из таблицы базы данных и выводит их на страницу сайта: