Выбор системы управления базой данных



Государственное бюджетное профессиональное образовательное учреждение города Москвы

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

 

КУРСОВОЙ ПРОЕКТ

Тема: РАЗРАБОТКА МОДУЛЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ФОРМИРОВАНИЯ РЕЙТИНГА ТОВАРОВ

 

ПМ.07 СОАДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

 

09.02.07 «Информационные системы и программирование»

 

Студент:     ____________ Таранухин Данила Дмитриевич

                                     (подпись)                        (фамилия, имя, отчество)

 

Оценка выполнения и защиты курсового проекта        ____________   

 

Руководитель: ____________ Шашков Роман Игоревич

                                     (подпись)                        (фамилия, имя, отчество)

 

«____» ___________ 2021 г.

 

Москва, 2021


Согласовано На заседании кафедры Информационных технологий Протокол № _____ от «___»____________2021 г.   Заведующий кафедрой ИТ ___________ Е.И. Емелина Утверждаю   Руководитель учебно – методического отдела ПО «____»____________2021 г.   __________ Л.Г. Зубкова

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ

 

 

студента группы ИСП-318 Таранухина Данилы Дмитриевича          

                           (фамилия, имя, отчество)               

 

Тема курсового проекта: Разработка модуля информационной системы формирования рейтинга товаров

 

Срок сдачи: «18» марта 2021 г.

 

Руководитель:                 Шашков Роман Игоревич

                         (фамилия, имя, отчество)

Дата составления технического задания: «22» декабря 2020 г.

 

Студент          ____________ Таранухин Данила Дмитриевич

                                     (подпись)                        (фамилия, имя, отчество)

 

Руководитель ____________ Шашков Роман Игоревич

                                     (подпись)                        (фамилия, имя, отчество)


Согласовано На заседании кафедры Информационных технологий Протокол № _____ от «___»____________2021 г.   Заведующий кафедрой ИТ ___________ Е.И. Емелина Утверждаю   Руководитель учебно – методического отдела ПО «____»____________2021 г.   __________ Л.Г. Зубкова

 

КАЛЕНДАРНЫЙ ПЛАН

выполнения курсового проекта

 

студентом группы ИСП-318 Таранухиным Данилой Дмитриевичем

(фамилия, имя, отчество)

Тема курсового проекта: Разработка модуля информационной системы формирования рейтинга товаров

Содержание этапов работы Срок выполнения Планируемый объем, % Отметка о выполнении
1 Введение. Глава Общий раздел (1.1, 1.2, 1.3) 18.01.2021 10%  
2 Разделы 2.1, 2.2 Написание программного кода 1.02.2021 15%  
3 Разделы 2.3, 2.4 Написание программного кода 15.02.2021 20%  
4 Раздел 3.1 Написание программного кода 24.02.2021 35%  
5 Разделы 3.2 Написание программного кода 12.03.2021 50%  
6 Готовый П.П. Раздел 3.3, Заключение 15.03.2021 80%  
7 Список источ.литературы Приложение 1.Презентация 17.03.2021 100%  

 

Студент          ____________ Таранухин Данила Дмитриевич

                                     (подпись)                        (фамилия, имя, отчество)

 

Руководитель ____________ Шашков Роман Игоревич

                                     (подпись)                        (фамилия, имя, отчество)


 

 

СОДЕРЖАНИЕ:

Введение. 5

ГЛАВА 1. ОБЩИЙ РАЗДЕЛ.. 6

1.1. Анализ задачи. 6

1.2. Выбор среды разработки. 8

1.3. Выбор системы управления базой данных. 13

ГЛАВА 2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ.. 16

2.1 . Проектирование модели базы данных. 16

2.2 . Проектирование базы данных. 19

2.3. Разработка и описание алгоритмов решения. 23

ГЛАВА 3. РЕАЛИЗАЦИЯ.. 31

3.1. Реализация базы данных. 31

3.2. Реализация приложения. 32

ЗАКЛЮЧЕНИЕ.. 35

Список литературы: 36

 

 


Введение

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

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

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

· Отсутствие статистики о популярности приобретаемых товаров у покупателей

· Данный трудоёмкий процесс происходит неавтоматизированно, при помощи людей, что занимает очень много времени

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

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

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


ГЛАВА 1. ОБЩИЙ РАЗДЕЛ

Анализ задачи

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

Для выполнения данной задачи разработаем UML - диаграммы.

UML (Unified Modeling Language — унифицированный язык моделирования) - язык графического описания для объектного моделирования в области разработки программного обеспечения, моделирования бизнес-процессов, системного проектирования и отображения организационных структур.

диаграммы.

Рис.1 UML-диаграмма последовательности

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

Рис. 2 UML-диаграмма вариантов использования

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

Функциональная схема (см. рисунок 3) — документ, разъясняющий процессы, протекающие в отдельных функциональных блоках проекта. Функциональная схема является поясняющим материалом отдельных видов процессов, протекающих в целостных функциональных блоках.

Рис. 3 Функциональная схема

На данной функциональной схеме описаны функции информационной системы и процессы, которые выполняются в определённых функциях.

  Работа с базой данных: создание базы данных; внесение изменений в базу данных; добавление записей; редактирование записей; удаление записей.

  Авторизация: запрос в базу данных; вход/сообщение о том, что пользователь не найден.

 Формирование рейтинга товаров: внесение показателей товара, подсчет рейтинга, получение рейтинга товара

 

   Таким образом можно понять, что данная ИС поможет сократить время на принятие решения, а также благодаря методу аддитивного критерия позволит более точно определять товары на которые нужно сделать скидку

Выбор среды разработки

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

Структура приложения для работы с базой данных (см. рисунок 4) – это каким образом клиент будет взаимодействовать с базой данных.

Рисунок 4. Структура приложения для работы с базой данных

    Из структуры приложения для работы с базой данных, что клиент взаимодействует с сервером, а дальнейшие данные добавляются в базу данных. На данном рисунке презентационная логика (presentation login) отвечает за визуальную картинку, которую видит пользователь, когда взаимодействует с приложением. Бизнес-логика (business logic) – это часть приложения, которая определяет алгоритмы работы при решении задач приложения. Логика баз данных (database logic) отвечает за часть кода приложения, которая связана с обработкой данных. Служебные функции – это система управления базами данных.

Среда разработки (IDE, Integrated development environment) – система программных средств, используемая программистами для разработки программного обеспечения. [0]

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. [0]

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

Преимущества: огромная коллекция всевозможных расширений, которая постоянно пополняется; удобная система умного автодополнения [0]; возможность кастомизировать рабочую панель; поддержка разделенного экрана (split screen); есть бесплатная версия.

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

PHP Shtorm – продукт JetBrains. PHP Shtorm – Умная среда от известной компании JetBrains предназначена для разработки на PHP, JavaScript, HTML и CSS и идеально подходит для работы с различными CMS: Drupal, Wordpress, Symfony, Joomla и многими другими. Среда разработки глубоко анализирует структуру кода, помогая избегать ошибок, а также поддерживает базы данных и SQL

Преимущества: Автодополнение кода и качественная отладка; удобная навигация; возможность кастомизировать редактор; безопасный рефакторинг (процесс изменения кода, призванный упростить его обслуживание, понимание и расширение, при этом не изменяя его поведение) [0] – применить изменения во всем проекте можно за пару кликов; Интерфейс будет понятен даже новичкам.

Недостатки: Нет бесплатной версии.

IntelliJ IDEA – ёще одна IDE, разработанная компанией Jet Brains. Здесь тоже есть возможность использовать бесплатную версию Community Edition. Изначально IntelliJ IDEA создавалась как среда разработки для Java, но сейчас разработчики определяют эту IDE как «самую умную и удобную среду разработки для Java, включающую поддержку всех последних технологий и фреймворков». Используя плагины, эту IDE можно использовать для работы с другими языками. [0]

Преимущества: инструменты для анализа качества кода, удобная навигация, расширенные рефакторинги и форматирование для Java, Groovy, Scala, HTML, CSS, JavaScript, CoffeeScript, ActionScript, LESS, XML и многих других языков; интеграция с серверами приложений, включая Tomcat, TomEE, GlassFish, JBoss, WebLogic, WebSphere, Geronimo, Resin, Jetty и Virgo; инструменты для работы с базами данных и SQL файлами; интеграция с коммерческими системами управления версиями Perforce, Team Foundation Server, ClearCase, Visual SourceSafe; инструменты для запуска тестов и анализа покрытия кода, включая поддержку всех популярных фреймворков для тестирования; есть бесплатная версия.

Недостатки: для начинающих программистов сложна.

CLion – продукт JetBrains. CLion – идеальное кроссплатформенное (способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами) [0] решение для тех, кто работает на C и C++. Умный редактор, удобный генератор кода, статический и динамический анализ, безопасный рефакторинг (процесс изменения кода, призванный упростить его обслуживание, понимание и расширение, при этом не изменяя его поведение) [0].

Преимущества: поддержка удаленной разработки по SSH (сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой) [0]; просмотр значений переменных прямо в редакторе; умная помощь при написании кода; возможность кастомизировать редактор; быстрый и безопасный рефакторинг; широкий функционал. IDE можно использовать даже для программирования микроконтроллеров.

Недостатки: Нет бесплатной версии.

PyCharm – это интегрированная среда разработки на языке Python, которая имеет полный комплект средств необходимых для эффективного программирования Python. Эта среда разработки распространяется под несколькими лицензиями, в том числе как Community Edition, где чуть урезан функционал. Преимущества: PyCharm позволяет быстро производить рефакторинг кода, а также использовать удобный графический отладчик.; Ironpython, Jython, Cython, Pypy Wxpython, Pyqt, Pygtk и др.; поддержка Flask-фреймворка и языков Mako и Jinja2; В PyCharm можно проводить интегрированное Unit тестирование, использовать интерактивные консоли для Python, Django, SSH, отладчика и баз данных; интеграция с системами контроля версий (VCS); UML диаграммы классов, диаграммы моделей Django и Google App Engine; есть бесплатная версия.

Недостатки: PyCharm может медленно загружаться, а настройки по умолчанию, возможно, придётся подкорректировать для существующих проектов.

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

Среда разработки Доступность Уровень сложности Интерфейс Помощник кода
Visual Studio Бесплатная Средний Проработанный Есть + дополнения
PhpShtorm Платно/Пробный период Лёгкий Проработанный Есть
IntelliJ IDEA Бесплатная Сложный Проработанный Есть
CLion Платно/Пробный период Средний Проработанный Есть + дополнения
PyCharm Бесплатная Лёгкий Проработанный Есть

  Для выполнения установленной цели, в курсовом проекте также будут использованы дополнительные приложения. Для разработки моделей базы данных: Draw.io – сервис для создания блок-схем, графиков, диаграмм и других визуальных объектов [0]; phpMyAdmin – инструмент для визуального проектирования баз данных [0].

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

 

Выбор системы управления базой данных

Система управления базой данных (СУБД) (Database Management System, DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных [0].

СУБД — комплекс программ, позволяющих создать базу данных (БД) и манипулировать данными (вставлять, обновлять, удалять и выбирать). Система обеспечивает безопасность, надёжность хранения и целостность данных, а также предоставляет средства для администрирования БД [0].

Microsoft Access – cистема управления базами данных от Microsoft, которая сочетает в себе реляционное ядро БД Microsoft Jet с графическим интерфейсом пользователя и инструментами разработки ПО. [0]

Идеально подходит для начала работы с данными, но производительность не рассчитана на большие проекты. В MS Access можно использовать C, C#, C++, Java, VBA и Visual Rudimental.NET. Access хранит все таблицы БД, запросы, формы, отчёты, макросы и модули в базе данных Access Jet в виде одного файла.

Особенности: можно использовать VBA (это упрощенная версия Visual Basic, встроенная в множество продуктов линейки Microsoft Office. Она позволяет писать программы прямо в файле конкретного документа) [0] для создания многофункциональных решений с расширенными возможностями управления данными и пользовательским контролем; импорт и экспорт в форматы Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server и Oracle; формат базы данных Jet.

Microsoft SQL Server – cамая популярная коммерческая СУБД. Она привязана к Windows, но это плюс, если вы пользуетесь продуктами Microsoft. И графический интерфейс, и программное обеспечение основаны на командах. Поддерживает SQL, непроцедурные, нечувствительные к регистру и общие языки баз данных. [0]

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

MySQL – работает на Linux, Windows, OSX, FreeBSD и Solaris. Можно начать работать с бесплатным сервером, а затем перейти на коммерческую версию. Лицензия GPL с открытым исходным кодом позволяет модифицировать ПО MySQL. [0]

Эта система управления базами данных использует стандартную форму SQL. Утилиты для проектирования таблиц имеют интуитивно понятный интерфейс. MySQL поддерживает до 50 миллионов строк в таблице. Предельный размер файла для таблицы по умолчанию 4 ГБ, но его можно увеличить. Поддерживает секционирование и репликацию, а также Xpath (это язык запросов для выбора узлов из документа XML) [0] и хранимые процедуры, триггеры и представления.

    Особенности: масштабируемость; лёгкость использования; безопасность; поддержка Novell Cluster (высокоэффективный серверный программный продукт, который упрощает управление сетевыми ресурсами и устройствами памяти); [0]скорость; поддержка многих операционных систем.

Oracle – Oracle RDBMS (она же Oracle Database) на первом месте среди СУБД. Система популярна у разработчиков, проста в использовании, имеет понятную документацию, поддержка длинных наименований, JSON, улучшенный тег списка и Oracle Cloud. [0]

Особенности: обрабатывает большие данные; поддерживает SQL, к нему можно получить доступ из реляционных БД Oracle; Oracle NoSQL Database с Java/C API для чтения и записи данных.

PosgreSQL – масштабируемая объектно-реляционная база данных, работающая на Linux, Windows, OSX и некоторых других системах. В PostgreSQL 10 есть такие функции, как логическая репликация (это процесс, под которым понимается копирование данных из одного источника на другой) [0], ограничение таблиц, улучшенные параллельные запросы, более безопасная аутентификация. [0]

Особенности: поддержка табличных пространств, а также хранимых процедур, объединений, представлений и триггеров; восстановление на момент времени (PITR); асинхронная репликация.

Таблица 2. Сравнение систем управления базой данных.

Система управления базой данных Удобство Обработка больших данных Импорт/экспорт в другие форматы
Microsoft Access Лёгкий + Поддерживает
Microsoft SQL Server Средний - Не поддерживает
MySQL Лёгкий + Поддерживает
PosgreSQL Средний - Не поддерживает
Oracle Лёгкий - Поддерживает

Исходя из сравнения систем управления базой данных, для создания и редактирования базы данных в курсовом проекте была выбрана система управления базой MySQL. Она имеет удобный интерфейс, поддерживает обработку данных больших объёмов, импорт и экспорт базы данных в другие форматы.


 

ГЛАВА 2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ


Дата добавления: 2021-05-18; просмотров: 80; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!