Файл: Разработка сайта магазина игрушек "Geek Toys".pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

ВВЕДЕНИЕ

Сегодня рынок игрушек и сопутствующих товаров по мотивам популярных фильмов, мультфильмов, сериалов и разного рода книг – огромен. Компании, имеющие права на персонажей зарабатывают на продаже игрушек больше, чем с самих произведений. Любой поклонник супергероев имеет какую-то вещь, связанную с кумиром. Актёры так же строят карьеру на основе популярных персонажей, и имеют много «мерча». По этому, бизнес-ниша «взрослых» игрушек очень прибыльна: их хотят заполучить как дети, так и взрослые. И самым удобным инструментом популяризации товара является интернет, так как поиск необходимого начинается с запроса информации в поисковых системах.

Интернет - единственный в мире инструмент, сочетающий огромную скорость с максимальной простотой и широким охватом. Иметь собственный сайт для компании – необходимость. Разработка красивого, удобного и функционального сайта является важной задачей для практически любой компании. Существуют отрасли для которых данное направление работы является особо актуальным. К таким сферам деятельности относится развлекательная индустрия в любых своих проявлениях, потому, что когда человек приобретает развлечения предназначенные для того, чтобы доставлять удовольствие, то любой может стать фактором, который заставит заказчика выбрать другого исполнителя. Поэтому сайт должен быть приятен для глаз, удобен для просмотра, а также предоставлять клиенту весь функционал, который необходим для получения полной информации об услуге и её исполнителе.

Целью данной работы является разработка сайта магазина коллекционных игрушек.

Для достижения данной цели необходимо решить следующие задачи:

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

1. Техническое задание и выбор средств реализации

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


Руководство магазином осуществляет руководитель организации, в непосредственном подчинении которого находятся бухгалтер, IT инженер и руководитель отдела продаж, у последнего в подчинении двое помощников-консультантов (рис.1).

Рис. 1 – Организационная структура магазина

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

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

Таким образом, в рассматриваемой организации существуют два основных бизнес-процесса, в которых необходимо использование сайта:

  • Актуализация информации на сайте (в данном процессе непосредственное участие принимает только IT инженер, который получает данные для обновления от специалистов других отделов),
  • Просмотр информации на сайте (в данном процессе принимают участие все специалисты, работающие непосредственно с клиентами, а также сами клиенты).

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

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

Системы управления базами данных классифицируются по модели данных:

  • Иерархические
  • Сетевые
  • Объектно-ориентированные
  • Реляционные

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

Также СУБД подразделяются по способу доступа к базе данных:

Файл-серверные: (Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.)

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


Достоинства: низкая нагрузка на процессор файлового сервера.

Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД. Данная технология считается устаревшей.

Клиент-серверные: (Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР)

Располагаются на сервере вместе с БД и осуществляют доступ к БД непосредственно, в монопольном режиме.

Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

Недостатки: повышенные требования к серверу.

Встраиваемые: (OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР)

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

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

Из приведенных выше клиент-серверных СУБД была выбрана MySQL, так как:

  • Является одной из самых быстрых баз данных из имеющихся на современном рынке
  • Является высокопроизводительной и относительно простой в использовании СУБД
  • Работает на языке запросов SQL
  • Количество строк в таблицах может достигать 50 миллионов
  • Сервер позволяет одновременно подключаться неограниченному количеству пользователей
  • Возможен и с помощью приложений, поддерживающих ODBC
  • Предназначена для работы в сети и может быть доступна через Internet
  • Снабжена развитой системой защиты от несанкционированного доступа
  • Отлично работает как под управлением самых различных версий UNIX, так и под управлением систем, таких как Windows и OS/2
  • Имеет ограниченный размер

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


JavaScript является мультипарадигменным языком программирования, который поддерживает объектно-ориентированный, императивный и функциональный стили, а также является реализацией языка ECMAScript.

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

Основные архитектурные черты:

  • Слабая типизация,
  • Динамическая типизация,
  • Прототипное программирование,
  • Автоматическое управление памятью,
  • Функции как объекты первого класса.

На рассматриваемый язык оказали влияние многие языки. В самом начале при разработке ставилась цель сделать язык похожим на Java, однако, при этом легким для использования непрограммистами. Язык JavaScript не является собственностью какой-либо компании или организации, что является одним из его отличий от ряда языков программирования, используемых в веб-разработке. Название «JavaScript» – зарегистрированный товарный знак компании Oracle Corporation.

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

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

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Данный проект распространяется под собственной лицензией, несовместимой с GNU GPL.

Выбранные языки программирования и технологии:

  • Язык запросов – SQL,
  • Система управления базами данных – MySQL,
  • Язык гипертекстовой разметки – HTML,
  • Язык программирования на стороне клиента – JavaScript,
  • Язык программирования на стороне сервера – PHP.

2. Описание модулей серверной части программы и их взаимодействие

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


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

Рис. 2 – Общая структура серверной части приложения

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

Рис. 3 – Дерево вызова программных модулей

Таблица описания программных модулей (Таблица 1):

Программный модуль

Пакет

Описание

Авторизация

Модуль управления пользователями

Проверяет данные введенные пользователем. При отсутствии пользователя с указанными данными производит перенаправление на страницу регистрации, при наличии пользователя типа «Администратор» производит перенаправление на страницу администратора, при наличии пользователя типа «Обычный пользователь» производит перенаправление на главную страницу.

Регистрация

Добавляет пользователя с введенными регистрационными данными в базу данных.

Добавление данных

Модуль управления данными

Добавляет записи в таблицы базы данных

Редактирование данных

Редактирует записи в таблицах базы данных

Удаление данных

Удаляет записи в таблицах базы данных

Загрузка категорий

Модуль отображения данных

Выбирает категории, которые необходимо отобразить на данной странице из базы данных, и выводит их на экран

Загрузка объектов категории

Выбирает объекты, соответствующей категории из базы данных, и выводит их на экран

3. Описание структуры базы данных и ее функций