Файл: В подобной ситуации я считаю актуальным создание программы для обучения основам синтаксиса и семантики языка.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 77
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1.2.2Выбор средств и технологии разработки
1.2.3.1 Краткая характеристика PHP
Для реализации приложения пользователя выбран язык программирования PHP.
PHP — это язык программирования для динамической генерации HTML кода со стороны сервера. В нём имеется встроенная поддержка базы данных MySQL, что позволяет считать выбранную связку MySQL-PHP наиболее оптимальной. PHP-скрипты интерпретируется и выполняются на сервере.
Предпочтение PHP было отдано по следующим характеристикам:
-
в модулях PHP все запускается в области памяти, выделенной программе операционной системой. ASP загружает для различных действий соответствующие СОМ-модули, чем сильно загружает оперативную память и процессор; -
интеграция PHP с выбранной СУБД MySQL значительно более полная, чем у ASP. Существует множество утилит на PHP для работы с базами данных MySQL, где реализуется набор свойств наиболее полный в сравнении с другими базами данных. Есть очень полезные встроенные функции, недоступные для других баз данных. Одним из значительных преимуществ PHP является поддержка широкого круга баз данных: Oracle, Microsoft SQL server, MySQL; -
несомненное достоинство PHP — это отсутствие временных проблем с исправлением внутренних ошибок, что позволяет оперативно реагировать и исправлять недоработки.
1.2.2.1Краткая характеристика Javascript
JavaScript — прототипно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.[2]
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.
JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.
Несмотря на схожий с Си синтаксис, JavaScript по сравнению с языком Си имеет коренные отличия:
-
объекты, с возможностью интроспекции; -
функции как объекты первого класса; -
автоматическое приведение типов; -
автоматическая сборка мусора; -
анонимные функции.
В языке отсутствуют такие полезные вещи[26], как:
-
модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости; -
стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных; -
стандартные интерфейсы к веб-серверам и базам данных; -
система управления пакетами[3], которая бы отслеживала зависимости и автоматически устанавливала их.
1.2.2.2Краткая характеристика MySQL
Выбор системы управления баз данных (СУБД) представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям предприятия, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды.
Наиболее простой подход при выборе СУБД основан на оценке того, в какой мере существующие системы удовлетворяют основным требованиям создаваемого проекта информационной системы. Более сложным и дорогостоящим вариантом является создание испытательного проекта на основе нескольких СУБД и последующий выбор наиболее подходящего из кандидатов. Но и в этом случае необходимо ограничивать круг возможных систем, опираясь на некие критерии отбора. В данном случае можно выделить несколько групп критериев:
-
моделирование данных; -
особенности архитектуры и функциональные возможности; -
контроль работы системы; -
особенности разработки приложений; -
производительность; -
надежность; -
требования к рабочей среде; -
смешанные критерии.
Основным принципом выбора СУБД следует считать определение программного продукта, в наибольшей мере соответствующего предъявляемым требованиям. Эту задачу решить не очень просто. Во-первых, к СУБД предъявляется большое число требований, которые с течением времени изменяются, во-вторых, СУБД имеют большое число параметров, что затрудняет их сравнение. Кроме того, информация о СУБД часто носит рекламный характер, не позволяющий сделать правильное суждение.
Процедуру выбора СУБД следует проводить в три этапа:
-
На качественном уровне оценить предлагаемые программные продукты на предмет пригодности. -
Оценка технических характеристик отобранных систем. -
Оценка производительности программных продуктов.
К числу основных показателей пригодности программных продуктов относятся:
-
Вид программного продукта. -
Категории пользователей:
-
профессиональные программисты; -
администраторы БД; -
квалифицированные пользователи; -
разрабатывающие приложения; -
конечные пользователи.
-
Удобство и простота использования (понятные процедуры установки программных продуктов, удобный и унифицированный интерфейс конечного пользователя, простота выполнения обычных операций: создания БД, навигации, модификации, подготовки данных, выполнения запросов и отчетов и ряда других; наличие интеллектуальных подсистем подсказок, помощи в процессе работы и обучения, включая примеры). -
Модель представления данных (наиболее распространенной является реляционная модель данных). Перспективными являются модели с объектной ориентацией, поскольку они обладают большими возможностями отражения семантики предметной области. -
Качество средств разработки. При оценке качества средств разработки учитывается следующее: возможности создания пользовательских интерфейсов, мощность языка создания программ, автоматизация разработки различных объектов: экранных форм, отчетов, запросов. Предпочтение отдается системам, имеющим полнофункциональные генераторы и обеспечивающим удобство работы пользователя. -
Качество средств защиты и контроля корректности базы данных. Доступ к функциям защиты должен предусматриваться на уровне средств разработки программ и на уровне пользователя. К важнейшим функциям контроля корректности относятся: обеспечение уникальности записей БД по первичному ключу, автоматический контроль целостности связей между таблицами во время выполнения операций обновления, вставки и удаления записей, проверка корректности значений в БД. -
Качество коммуникационных средств. При оценке качества коммуникационных средств обращают внимание на следующие свойства программных продуктов:
-
поддержку сетевых протоколов; -
поддержку стандартных интерфейсов с БД; -
наличие средств групповой работы с информацией БД; -
способность использовать и модифицировать БД других форматов без импортирования или преобразования.
-
фирма — разработчик. Солидность фирмы-разработчика пакета, как правило, дает следующие преимущества:
-
высокое качество продукта; -
наличие документации и методических материалов; -
наличие «горячей линии» для консультаций по возникающим проблемам.
Для рассматриваемого проекта наиболее приемлема СУБД My SQL. В настоящее время актуальной версией данной СУБД является 5.6.
Преимущества MySQL:
-
наилучшая скорость обработки данных на объеме до 500000 записей; -
бесплатные открытые лицензии; -
простота использования; -
поддержка большинством хостинговых компаний; -
возможность использования на различных платформах (Unix, Windows, др.).
2 Специальная часть
2.1 Описание архитектуры системы
2.1.1 Описание базы данных
Анализатор языка SQL разработан в виде web-приложения, что позволяет вести обучение в группе учащихся не устанавливая его на каждую рабочую станцию, а получая доступ к ней через обыкновенный браузер, например Internet Explorer или Mozilla Firefox.
В основе работы модуля Синтаксического анализа лежит метод рекурсивного спуска – наиболее эффективный метод синтаксического анализа. В связи с этим язык SQL формализован с помощью БНФ-подобного языка, понятного для анализатора. Данный модуль является универсальным и может использоваться не только для анализа SQL, но и других КС-языков (контекстно-свободных языков).
Модуль формирования интерфейса отвечает за вывод информации пользователю.
Назначения модуля справки, очевидно. Он необходим для формирования справочной системы. Хотя его выделение как отдельного элемента весьма условно, так как, по сути, он является частью модуля формирования интерфейса.
Модуль работы с БД предназначен для настройки соединения с различными серверами Баз данных, отправки им (предварительно проверенных) SQL-запросов и возврата результата.
В качестве языка программирования был выбран PHP. Этот язык обладает достаточными возможностями для реализации синтаксического анализатора и имеет возможность работы с множеством видов серверов баз данных. Данный программный продукт обладает следующими возможностями:
-
Вывод подробного текста возможной ошибки -
Подробная справка по синтаксису и семантики языка -
Набор задач и примеров для самообучения -
Работа с множеством видов серверов баз данных
2.1.2 Описание аналитического блока
Модули делятся на: пользовательские, административные, и системные. Опишем основные конфигурационные модули.
Конфигурационный файл (conf.php).
В файле хранится информация с реквизитами БД, такие как: хост (адрес) сервера БД, название БД, логин/ пароль для подключения к БД, а так же префикс (неизменная составляющая первой части названия) таблиц системы.
Конфигурационный файл (init.php).
В этом файле подключаются файлы с функциями, которые отвечают за информацию о состоянии подключения к базе данных (состоялось или нет), функции необходимых для работы с системой