Выпускная квалификационная работа Автоматизированная система генерации запросов в тестовую базу данных Выполнил: студент гр.1152 Фоменко К.С. Научный руководитель: Некрасов М.Н. Автоматизированная система генерации запросов в тестовую базу данных. Введение. При разработке системы, использующей реляционные базы данных, разработчик, для демонстрации своей работы, сталкивается с проблемой траты времени на заполнение баз данных тестовой информацией. Зачастую информация однотипна и требует реалистичности, для усиления эффективности демонстрации проекта заказчику. 2 Автоматизированная система генерации запросов в тестовую базу данных. Цель. Целью данной работы является разработка системы для автоматизации работы контент-менеджера, помогая создавать запросы таблиц баз данных на основе таких сведений как: − имя и размеры таблицы заполняемой базы данных, а также спецификации СУБД; − категории классификаторов и типов полей; − требований к содержанию списка классификаторов; − данных подключения к удаленной БД, таких как адрес и имя БД, а также учётных данных для исполнения запроса. 3 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Задачи. − − − − − Исследования объекта автоматизации. Анализ существующих аналогов. Разработка структуры базы данных. Реализация системы. Подсчёт экономической эффективности. 4 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Исследования объекта автоматизации. Система должна решить следующие задачи разработчика: − установка, настройка приложения для доступа к удаленной БД; − проектирование структуры таблиц БД; − настройка и определение типов полей таблицы БД; − формирование и выполнение запроса к удаленной БД. 5 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Исследования объекта автоматизации. Наличие разрабатываемого продукта позволит увеличить эффективность работы программиста, что проявится в следующем: − отсутствие специальных знаний в области управления СУБД для начинающих пользователей; − наличие базы классификаторов(таких как имена, города, страны и т.д.); − возможность расширение баз классификаторов; − упрощение и ускорение процесса формирования запросов; − соблюдение спецификаций СУБД. 6 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Выбор средств разработки. Среда разработки Adobe Dreamweaver CS3. Язык разметки HTML 4.0 и каскадные таблицы стилей CSS 2.1 СУБД MySQL 5.0.77. Языки программирования: PHP 5.2.13, JavaScript 1.9 Framework jQuery. Веб-сервер Apache 2.0. 7 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Анализ существующих аналогов. Фреймворки Zendframework, CodeIgniter, CakePHP, Kohana и т.д. Достоинства: • свободное распространение по лицензии GNU; • поддержка разработчиков и сообщества пользователей данных систем; • позволяет создать собственное веб-приложение. Недостатки: • необходимо продвинутое знание в сфере веб-программирования; • необходимо установить и сконфигурировать веб-приложение для использования функции генерации базы данных; • невозможно увидеть запрос к БД, что приводит к тому, что нельзя применить запрос к собственному приложению; • требуется время для установки и конфигурации фреймворка. 8 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Разработка базы данных. Из-за специфики системы таблицы базы данных не имеют отношений. Так как по сути в процессе генерации запроса учавствует пополняемая база данных классификаторов и общая база с описанием классификаторов. Общая таблица всех баз классификаторов(klassifiers), участвующих в системе содержит поля: − id(INT, PK, autoincrement) – идентификационный номер ; − name(varchar(10)) – имя базы классификаторов, участвующая в форме при выборе категории классификатора; − table-name(varchar(10)) – имя таблице в СУБД MySQL; − n_field(varchar(10)) – имя поля, в которой содержатся классификаторы. Пример: 9 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Разработка базы данных. Помимо этого БД должна содержать базы классификаторов, структура её может быть различной, а количество баз классификаторов растёт в течении жизни системы. Пример: 10 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. DFD-диаграмма USED AT : AUT HOR: Фоме нко К.С. DAT E: 03. 06.201 0 WORKING PROJECT : Си с тема ген ераци и за прос о в к тес тируе мой базе данн ых REV: 03. 06.201 0 DRAFT NOTES: 1 2 3 4 5 6 7 8 9 10 READER DAT E CONT EXT: TOP RECOMMENDED PUBLICAT ION Специф икации СУБД 0р. Информаци я о прое кти руемо й БД NODE: T ITLE: A-0 0 Система генерац ии запросов к тестируемой базе данных Система генерации запросов к тестируемой базе данных Сгене рирован ный зап рос NUMBER: 11 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. DFD-диаграмма USED AT: AUTHOR: Фоменко К.С. DATE: 03.06.2010 WORKING PROJECT: Система генерации запросов к тестиру емой базе данных REV: DRAFT 03.06.2010 READER DATE CONTEXT: RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATI ON A-0 Спецификации СУБД Информация о проектиру емой БД 0р. 1 Данные о таблице Вв од данных о размерах и имени таблицы, выбор спецификации СУБД 0р. 2 Выбор категорий полей, корректировка количества Категории полей Категории полей 2 0р. 3 Выбор у словий фильтрации данных таблицы по каждому полю. Базы классификаторов Значения классификаторов Имена баз классификаторов 1 Данные о су ществ у ющих базах классификаторов Наименование таблиц классификаторов Наименования полей классификаторов Условия фильтрации 0р. 4 Предпросмотр таблицы, редактирование данных 0р. 5 Генерация запроса Значения таблиц Сгенериров анный запрос NODE: TITLE: A0 Система генерации запросов к тестируемой базе данных NUMBER: 12 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Структура приложения. Web-приложение состоит из четырёх частей: − index.php – исполняемый файл, содержит в себе разметку сайта, первоначальную форму, контейнер для внедрения последующих форм, а также ссылки на описания js-скриптов и на CSS(каскадные таблицы стилей); − набор js-скриптов, в него входит script.js(обрабатывает отправление формы на обработчик backend.php), библиотека jQuery, а также плагины к ней для работы с формами; − style.css – каскадная таблица стилей, содержит в себе стили тегов и классов html-разметки, позволяет придать особенный стиль дизайну сайта; − backend.php – обрабатывает полученные с помощью асинхронной передачи данные, после чего пересылает обратно ответ. 13 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Главная форма. 14 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Форма выбора полей. 15 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Форма дополнительных параметров значений. 16 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Форма дополнительных параметров значений. 17 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Форма дополнительных параметров значений. 18 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Оценка затрат и предварительный расчет ожидаемой эффективности АСОИУ Затраты в человеко-месяцах: E = 6,1 чел.-мес. Общее время разработки: D = 5 мес. Затраты уменьшаются за счёт экономии на квалификации контент-менеджера. 19 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Заключение − − − − − − Проведен анализ объекта автоматизации. Проведен анализ существующих аналогов. Анализ средств и технологий разработки. Разработано техническое задание. Разработана система генерации запросов Подсчитана экономическая эффективность. 20 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Перспективы проекта В дальнейшем возможно расширение поддерживаемых спецификаций БД, увеличение количества классификаторов, интегрирование системы в виде компонентов к различным CMS, увеличение критерий отбора информации, а также разработка клиентских приложений для работы с системой. 21 Проектирование веб-приложения для автоматизации генерации тестовых запросов в базы данных. Спасибо за внимание! Слайд 2 – Введение; Слайды 3-4 – Цели и задачи; Слайды 5-6 – Исследования объекта автоматизации; Слайд 7 – Выбор средств разработки; Слайд 8 – Анализ существующих аналогов; Слайды 9-10 – Разработка баз данных; Слайды 11-12 – DFD-диаграмма; Слайд 13 – Структура приложения; Слайды 14-18 – Формы приложения; Слайд 19 – Экономическое обоснование; Слайд 20 – Заключение; Слайд 21 – Перспективы проекта.