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

Для написания АИС использовались следующие языки программирования, программные средства и библиотеки:

    - Язык программирования PHP 5.4; - Модернизированный и усовершенствованный вариант командной оболочки для Unix систем - Bash; - Пакетные файлы (batch file); - Расширение SimpleXML в PHP; - СУБД MySQL 5.6; - Библиотека MySQLi в PHP для расширения функциональности при работе с MySQL; - Система контроля версий Mercurial HG; - Программа для работы и управления базой данных HeidiSQL; - Инструмент слияния и сравнения для Windows - WinMerge.

Язык PHP.

PHP (англ. PHP: Hypertext Preprocessor "PHP: гипертекста препроцессор"; изначально Personal Home Page Tools -- "Инструменты для создания персональных web-страниц") -- скриптовый язык программирования общего назначения, повсеместно применяемый для разработки и поддержки web-приложений. В настоящее время поддерживается практически каждым хостинг-провайдером и является одним из лидеров среди языков программирования, используемых для создания динамических web-сайтов.

При написании данного дипломного проекта я использовал язык PHP, потому как он является одним из самых распространенных языков, используемых в web-разработке, по нему есть огромное количество документации, доступной, в том числе на русском языке, создано большое количество различных библиотек. Кроме того, согласно штатному расписанию компании заказчика, 7 из 11 сотрудников владеют данным языком программирования, что особенно важно для поддержки и дальнейшего развития разработанной АИС.

К недостаткам PHP можно отнести производительность. В среднем при обращении к скрипту PHP использует приблизительно 2 Мб оперативной памяти, т. е. при одновременном обращении к серверу 1800 запросов одновременно сервер может "упасть". Однако такая ситуация в принципе невозможна, т. к. разрабатываемая АИС будет запускаться на локальных серверах сотрудников и на сервере компании, а число пользователей АИС равно числу программистов ООО "БРеалИТ".

База данных MySQL

MySQL - свободная реляционная система управления базами данных. MySQL является наилучшим решением для малых и средних проектов, использующих СУБД. Поддерживает большое количество типов таблиц, в том числе MyISAM, с поддержкой полнотекстового поиска, InnoDB, с поддержкой транзакций на уровне отдельных записей, типа Merge, позволяющей разбить большую таблицу на несколько небольших, за счет чего увеличивается скорость работы, типа Federated, позволяет "связать" серверы MySQL таким образом, что получилась одна логическая база данных.

Для получения данных в MySQL используется язык запросов SQL. Версия базы данных 5.6 использует модификацию стандарта SQL - 2003.

Достоинства MySQL:

    - Компактная. - Если продукт не продается - бесплатная. - Имеет application programming interface (API), по средствам которого может очень быстро взаимодействовать с приложением. - Имеет встроенный сервер.

Недостатки:

    - Надежность таблицы типа MyISAM. При достижении размера в 10 Гб может "упасть"; - Таблицы InnoDB поддерживают до 1 ТБ, однако они гораздо медленнее MyISAM; - MyISAM таблицы поддерживают полнотекстовый поиск, но не поддерживают транзакции, а таблицы InnoDB поддерживают транзакции, но не поддерживают полнотекстовый поиск.

Интерфейс командной строки.

Интерфейс командной строки (англ. Command line interface, CLI) -- разновидность текстового интерфейса между человеком и компьютером, в котором инструкции компьютеру даются путем ввода с клавиатуры текстовых строк (команд). Также распространено название консоль.

Достоинства командной строки:

    - Естественное расширение интерфейса командной строки -- пакетный интерфейс. Означает, что в обычный текстовый файл, в определенном формате записывается последовательность команд, после чего этот файл можно выполнить в программе. Получится такой же эффект, как если бы эти команды были по очереди введены в командную строку. Например, shell - скрипты в Unix - системах, .bat - файлы в Windows. - Значительно меньший расход памяти в сравнении с системой меню. - Можно работать на выделенном сервере, т. е на операционных системах, не имеющих графического интерфейса. - Есть возможность просмотра сообщений об ошибках работы программы или сообщений программы, путем пролистывания консоли. - Для просмотра ранее введенных команд и их повторного выполнения можно пользоваться кнопками "^" и "v". - Можно пользоваться удаленным компьютером с любого устройства подключаемого к Интернету или локальной сети (ПК, ноутбук, сотовый телефон, портативная игровая консоль) без особых затрат трафика (единицы килобайт за сеанс). - Отсутствие графических деталей интерфейса (панели пуска и меню, оконные рамки и т. д.) позволяет вместить увеличить объем выводимой полезной информации.

Недостатки командной строки:

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

XML.

XML (англ. eXtensible Markup Language - расширяемый язык разметки). Средство для описания документа. К достоинствам данной разметки можно отнести то, что:

    - Позволяет стандартизировать внешний вид хранения данных визуально наиболее понятных для человека; - Поддерживает Юникод; - Возможность описать имена и структуру полей; - Рекомендован Консорциумом Всемирной паутины (W3C); - Абсолютно свободен в части требований по расположению атрибутов в элементах; - Реализованы парсеры для практически всех языков программирования; - Поддержка на низком программном уровне.

Из недостатков можно выделить следующие:

    - Избыточный синтаксис; - Размер документа получается больше, нежели в альтернативных форматах передачи текстовых данных; - Нет поддержки типов данных.

Система управления версиями Mercurial.

Mercurial (c англ. -- "ртутный, подвижный"), помимо этого названия известен как Hg -- кроссплатформенная распределенная система управления версиями, была разработана в 2005 году для работы с проектами, имеющими большие репозитории кода. В основном Hg является программой работающей через консоль, но для облегчения использования можно использовать графический интерфейс TortoiseHg (Рис. 8).

внешний вид диалогового окна программы tortoisehg

Рис. 8 -- Внешний вид диалогового окна программы TortoiseHg

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

Программа для работы и управления базой данных HeidiSQL.

HeidiSQL является бесплатной графической (Рис. 9) оболочкой для управления базами данных MSSQL и MySQL. Позволяет создавать, редактировать, удалять таблицы, триггеры, процедуры, представления. Поддерживает подключение к нескольким серверам одновременно (Рис. 10) позволяет экспортировать выбранные в таблице строки в различные форматы: CSV, XML, SQL, HTML и массивы PHP. В данной дипломной работе HeidiSQL применялась для удобства тестирования и проверки корректности работы разрабатываемой АИС.

внешний вид графической оболочки heidisql

Рис. 9 -- Внешний вид графической оболочки HeidiSQL

пример подключения heidisql к нескольким серверам одновременно

Рис. 10 -- Пример подключения HeidiSQL к нескольким серверам одновременно

Инструмент слияния и сравнения для Windows - WinMerge.

WinMerge является инструментом, предназначенным для сравнения файлов в ОС Windows. Имеет прекрасный графический интерфейс (Рис. 11) и обладает широкими возможностями при сравнении файлов:

Ѕ имеет визуальную подсветку при наличии различий в файлах;

Ѕ обнаруживает перемещенные строки;

Ѕ позволяет создавать фалы с патчами в различных форматах;

Ѕ имеет готовое HTML -- руководство.

Программа WinMerge, также как и HeidiSQL использовалась при тестировании разрабатываемой АИС.

Рис. 11 -- Пример работы программы WinMerge 2.0.14

Похожие статьи




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

Предыдущая | Следующая