Диплом (1189781), страница 4
Текст из файла (страница 4)
Логотип MySQL в виде дельфина носит имя «Sakila». Он был выбран из большого списка предложенных пользователями «имён дельфина». Имя «Sakila» было отправлено Open Source-разработчиком Ambrose Twebaze.
Преимущества [12]:
– скорость работы и обработки данных;
– высокая надежность и стабильность;
– быстрота установки на компьютер;
– функциональность и гибкость;
– безопасность;
– бесплатное распространение;
– открытый код, позволяющий легко вносить изменения;
– нетребовательность к вычислительным мощностям – для установки базы данных подойдет даже компьютер средней производительности, имеющий диск небольшого размера;
– возможность работы с множеством платформ: Linux, Mac OS X, Windows 95/98/NT/2000/XP/Server 2003/Vista/7, FreeBSD, etBSD, OpenBSD, SGI IRIX, Solaris, SunOS, SCO OpenServer, OS/2 Warp, UnixWare, Tru64, WinCE, AIX, BSDi, HP-UX, OpenVMS;
– возможность взаимодействия с интерфейсом программного приложения API и поддержка множества языков программирования, в том числе, популярного PHP, а также C, C++, Delphi, Java, Perl, Python, Ruby, Smalltalk, Паскаль, Tcl и так далее;
– отличная техподдержка;
– постоянное совершенствование, выпуск новых, улучшенных версий.
Отличные качества MySQL высоко оценены разработчиками во всем мире. В 2011 году она была признана «Лучшей системой управления данными» в конкурсе Impact Awards и в опросе читателей журнала Linux Journal. Более 2000 независимых разработчиков ПО используют ее для создания своих продуктов.
Недостатки [12]:
– ограничения – в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях;
– надежность – из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности;
– медленная разработка.
В каких случаях нужно использовать MySQL:
– распределённые операции;
– высокая безопасность: функции безопасности MySQL предоставляют надёжную защиту доступа и использования данных;
– веб-сайты и приложения: большая часть веб-ресурсов может работать с MySQL, несмотря на ограничения, этот инструмент весьма гибок и прост в обращении;
– кастомные решения: если осуществляется работа над очень специфичным продуктом, MySQL подстраивается под потребности благодаря широкому спектру настроек и режимов работы.
Когда не стоит использовать MySQL:
– SQL-совместимость: поскольку MySQL не пытается полностью реализовать стандарты SQL, она не является полностью совместимой с SQL;
– конкурентность: одновременные операции чтения-записи могут вызвать проблемы;
– недостаток функций: в зависимости от выбора движка MySQL может недоставать некоторых функций.
3.1.3 PostgreSQL
PostgreSQL – свободная объектно-реляционная система управления базами данных [14]. Она свободно распространяемая и максимально соответствует стандартам SQL. Логотип программы представлен на рисунке 7.
Рисунок 7 – Логотип PostgreSQL
От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и/или реляционного подхода к базам данных. Благодаря мощным технологиям Postgre очень производительна. PostgreSQL очень легко расширять своими процедурами, кроме того эти функции упрощают использование постоянно повторяемых операций.
Преимущества [15]:
– полная SQL-совместимость;
– большое количество дополнений;
– расширения – PostgreSQL можно программно расширить за счёт хранимых процедур;
– объектность – PostrgreSQL не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и многого другого.
Недостатки:
– производительность – при простых операциях чтения PostgreSQL может значительно замедлить сервер и быть медленнее своих конкурентов, таких как MySQL;
– популярность – из-за своей сложности инструмент не очень популярен;
– хостинг – из-за вышеперечисленных факторов проблематично найти подходящего провайдера.
Когда стоит использовать PostgreSQL:
– целостность данных;
– сложные процедуры: если база данных должна выполнять сложные процедуры, PostgreSQL подходит для этой задачи в силу её расширяемости;
– интеграция: если в будущем предстоит перемещать всю базу на другое решение, меньше всего проблем возникнет с PostgreSQL.
Когда не стоит использовать PostgreSQL
– скорость: если всё, что нужно – это быстрые операции чтения, не стоит использовать PostgreSQL;
– простые ситуации: если не требуется повышенная надёжность, поддержка ACID, использование PostgreSQL.
3.2 Программные среды для разработки интерфейса
3.2.1 C++ Builder
C++ Builder один из самых популярных на сегодняшний день инструментов для создания как настольных, так и корпоративных информационных систем благодаря уникальному сочетанию удобства разработки пользовательских интерфейсов, компонентной архитектуры, однотипности доступа к разнообразным базам данных [16]. Интерфейс программы представлен на рисунке 8.
Рисунок 8 – Интерфейс C++ Builder
Преимущества визуальной разработки в C++ Builder [17]:
– расширенный менеджер проектов управляет большими и сложными проектами, объединенными в группы, предоставляя разработчику свободу выбора формата составляющих файлов: CPP, PAS, DLL, LIB, RES и OBJ;
– механизмы двунаправленной разработки обеспечивают контроль кода посредством гибкого, интегрированного и синхронизированного взаимодействия между инструментами визуального проектирования и редактором кода;
– конструирование способом «перетаскивания» позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонентов – из палитры на форму приложения;
– свойства, методы и события – это элементы языка, которые обеспечивают ускоренную разработку приложений в рамках объектно-ориентированного программирования;
– испытание прототипа позволяет без труда переходить к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах единой интегрированной среды;
– средства интегрированной отладки существенно облегчают этап разработки;
– открытые инструменты API могут быть непосредственно интегрированы в визуальную среду системы;
– расширенная математическая библиотека содержит дополнительные унифицированные функции статистических и финансовых вычислений.
3.2.2 Qt Creator
Qt Creator – кроссплатформенная свободная IDE для разработки на С, С++ и QML. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML [18]. Интерфейс QT Creator представлен на рисунке 9.
Рисунок 9 – Интерфейс Qt Creator
Основная задача Qt Creator – упростить разработку приложения с помощью фреймворка Qt на разных платформах. Поэтому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов как на QML, так и на QtWidgets.
Qt Creator поддерживает системы сборки qmake, cmake, autotools, с версии 2.7 qbs. Для проектов, созданных под другими системами, может использоваться в качестве редактора исходных кодов. Есть возможность редактирования этапов сборки проекта.
В Qt Сreator реализовано автодополнение, в том числе ключевых слов, введённых в стандарте C++ , подсветка кода. Начиная с версии 2.4, есть возможность задания стиля выравнивания, отступов и постановки скобок.
Реализован ряд возможностей при работе с сигнатурами методов, а именно:
– автогенерация пустого тела метода после его обновления;
– возможность автоматически изменить сигнатуру метода в определении, если она была изменена в объявлении и наоборот;
– возможность автоматически поменять порядок следования аргументов.
При навигации по коду доступно переключение между определением и объявлением метода, переход к объявлению метода, переименование метода как в отдельном проекте, так и во всех открытых. Также есть возможность вызвать справку согласно текущему контексту [19].
Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются следующие режимы отладки:
– простой для отладки локально запущенных приложений, таких как GUI приложения на Qt;
– терминал для отладки локально запущенных процессов, которым требуется консоль, обычно это приложения без GUI;
– подключённый для отладки локальных процессов, запущенных вне Qt Creator;
– удалённый для отладки запущенных на другой машине процессов (используя gdbserver);
– ядро для отладки завершившихся аварийно процессов на Unix;
– Post-mortem для отладки завершившихся аварийно процессов на Windows;
– TRK для отладки процессов, запущенных на устройстве Symbian.
Точки остановки можно задать различными способами, а именно [19]:
– останавливаться на заданной строчке заданного файла;
– останавливаться при вызове функции с определенным именем;
– останавливаться при обращении к данным по заданному адресу;
– останавливаться при поимке исключения;
– останавливаться при запуске или создании нового процесса;
– останавливаться при выполнении системного вызова;
– останавливаться при изменении в данных с адресами, заданными выражением.
Функция main – вызов загрузчика плагинов, которые и реализуют всю функциональность. Поэтому все компоненты QtCreator так или иначе связаны с плагинами.
ExtensionSystem представляет интерфейс для разработки плагинов, обеспечивает загрузку плагинов и базовое взаимодействие. Содержит в себе класс-интерфейс IPlugin, от которого должны наследоваться все плагины в программе.
Aggregation содержит функции и классы, предназначенные для объединения нескольких компонентов в единое целое.
Utils — библиотека утилит, которые могут вызывать плагины.
QmlJS — библиотека для поддержки QML и JavaScript.
Преимущества [19]:
– быстрая многоуровневая разработка;
– кросс-платформенность – возможность переноса и последующей работы программы на иную программную и аппаратную платформу;
– использование в мобильных платформах, таких как Symbian, Harmattan, Maemo, Android, IOS;
– наличие слотов и сигналов;
– удобное межпроцессное взаимодействие;
– переносимость на уровне исходного кода (Microsoft Windows, Linux, Mac OS X, QNX, Android, IOS);
– хорошая документация.
Недостатки:
– большой вес приложений;
– низкий порог вхождения;
– относительная сложность распространения приложений.
3.2.3 Microsoft Visual Studio
Microsoft Visual Studio – линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать консольные приложения, приложения с графическим интерфейсом, веб-сайты, веб-приложения, веб-службы [20].
Visual Studio содержит встраиваемые инструменты, которые включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода, добавление новых наборов инструментов или инструментов для прочих аспектов процесса разработки программного обеспечения. Интерфейс программы представлен на рисунке 10.
Рисунок 10 – Интерфейс Visual Studio
Преимущества [21]:
– использование вычислительных мощностей локального компьютера и облака;
– простая реализация общих задач и индивидуальный подход;
– быстрое создание высококачественного кода;
– функция поддержки нескольких мониторов;
– возможность реализации идей и решений для широкого спектра платформ, включая Windows, Windows Server, веб-среду, облачную среду, Office и SharePoint.















