Программная реализация B+-дерева
Курсовая работа, 23 Декабря 2012, автор: пользователь скрыл имя
Описание работы
Целью создания программного продукта данной курсовой работы является изучение структуры данных B+ - дерево.
В данной курсовой работе реализуется программный комплекс "Информационно-поисковая система банка на основе B+-дерева".
Основания для разработки
Данный программный продукт разрабатывается как задание на курсовую работу по дисциплине "Структуры и алгоритмы обработки данных".
Содержание
1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 5
1.1 Введение 5
1.2 Основания для разработки 6
1.3 Назначение разработки 6
1.3.1 Функциональное и эксплуатационное назначение изделия 6
1.3.2 Перечень требований пользователя к программному продукту 6
1.3.3 Рассмотренные альтернативы 6
1.4 Требования к программе или программному изделию 7
1.4.1 Стандарты 7
1.4.2 Требования к составу и параметрам технических средств 7
1.4.3 Требования к информационной и программной совместимости 7
1.4.4 Требования к функциональным характеристикам 8
1.4.5 Результирующие компоненты изделия 8
1.4.6 Носители информации 8
1.4.7 Безопасность и секретность 8
1.4.8 Удобства эксплуатации 8
1.4.9 Мобильность 9
1.5 Требования к программной документации 9
1.6 Стадии и этапы разработки 9
1.7 Порядок контроля и приемки 10
2 ТЕХНИЧЕСКИЙ ПРОЕКТ 11
2.1 Анализ области 11
2.2 Структура программы 11
2.2.1 Класс TFormMain 11
2.2.2 Класс CBTree 12
2.2.3 Методические ограничения 13
2.2.4 Аппаратные ограничения 13
3 РАБОЧИЙ ПРОЕКТ 14
3.1 Введение 14
3.2 Назначение разработки 14
3.3 Требования к программе или программному изделию 14
3.3.1 Стандарты 14
3.3.2 Требования к составу и параметрам технических средств 14
3.3.3 Требования к информационной и программной совместимости 15
3.3.4 Результирующие компоненты изделия 15
3.3.5 Безопасность и секретность 15
3.3.6 Рестарт 15
3.4 Описание модулей Form.h и Form.cpp 16
3.4.1 Диаграммы классов 16
3.4.2 Описание структуры Bus 17
3.4.3 Описание класса TFormMain 17
3.4.4 Описание констант и макроопределений 17
3.4.5 Описание подпрограмм 18
3.5 Описание модуля Bstar.h 22
3.5.1 Диаграммы классов 22
3.5.2 Описание структуры CBTree<Data,T>::Node 23
3.5.3 Описание класса template <class Data, short T=2> class CBTree 23
3.5.4 Описание констант и макроопределений 24
3.5.5 Описание подпрограмм 24
3.6 Тестирование 34
3.6.1 Цель испытаний 34
3.6.2 Тесты 34
Список использованных источников 41
Приложение А. 42
Приложение Б 54
Работа содержит 1 файл
B+ дерево.doc
— 421.50 Кб (Скачать)Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
«Юго-западный государственный университет»
Кафедра ПО ВТ
КУРСОВАЯ РАБОТА
по дисциплине «Структуры и алгоритмы обработки данных»
на тему «Программная реализация B+-дерева»
Специальность (направление
подготовки) ПО ВТ
______________________________
Автор работы (проекта) Клыков А.В. ___________________
Группа ПО-92
Руководитель работы (проекта) Белова Т.М. __________________
Работа (проект) защищена ____________________
Оценка ____________________
Председатель комиссии ____________________ ___________________
Члены комиссии: ____________________ ___________________
____________________ ___________________
Курск, 2011 г.
Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
«Юго-западный государственный университет»
Кафедра ПО ВТ
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Студент Клыков А.В. шифр 349014 группа ПО-92
1.Тема Программная реализация B+-дерева
2. Срок предоставления работы (проекта) к защите « » 2011 г.
3. Исходные данные (для проектирования, для научного исследования):
Данные, введенные пользователем; файл данных.
4. Содержание пояснительной записки курсовой работы (проекта):
4.1. Содержание
4.3. Техническое задание
4.4. Технический проект
4.5. Рабочий проект
4.6. Список использованных источников
4.7. Приложение
5. Перечень графического материала:
______________________________
______________________________
Руководитель работы (проекта) Белова Т.М.
Задание принял
к исполнению
Содержание
- ТЕХНИЧЕСКОЕ ЗАДАНИЕ
- Введение
Программное обеспечение – это один из самых важных компонентов успешного функционирования всей компьютерной деятельности. В настоящее время существует огромное число прикладных программ, написанных на самых разных языках программирования, как на низкоуровневых, так и на современных, более удобных – высокоуровневых.
Для программного продукта данной курсовой работы операционной средой является система Microsoft Windows XP. Для создания использовалась среда программирования Microsoft Visual Studio 9 и язык программирования C++.
Язык C++ является одним из наиболее мощных современных языков программирования. Он поддерживает большинство перспективных технологий разработки программ, включая структурное программирование, модульное построение программ, объектную декомпозицию. С его использованием разработаны такие программные комплексы, как, например, операционные системы семейства Windows.
Целью создания программного продукта данной курсовой работы является изучение структуры данных B+ - дерево.
В данной курсовой работе реализуется программный комплекс "Информационно-поисковая система банка на основе B+-дерева".
- Основания для разработки
Данный программный продукт разрабатывается как задание на курсовую работу по дисциплине "Структуры и алгоритмы обработки данных".
- Назначение разработки
- Функциональное и эксплуатационное назначение изделия
В соответствии с заданием данное программное изделие должно представлять собой приложение, позволяющее просматривать, искать, удалять и добавлять информацию о банковских клиентах и их вкладах, использующее структуру данных «B+ - дерево».
- Перечень требований пользователя к программному продукту
Данный программный продукт должен представлять собой простой графический интерфейс, состоящий из одного окна, на котором располагаются поля ввода данных, функциональные кнопки («добавить», «найти», «удалить») и компонент, внутри которого отображается структура дерева.
- Рассмотренные альтернативы
При постановке задачи на разработку данного программного изделия в качестве альтернативы рассматривались структуры данных «B – дерево» и «B* - дерево». Была выбрана структура «B+ - дерево» как наиболее экономичная по времени исполнения.
- Требования к программе или про
граммному изделию
- Стандарты
Разработка программной
- Требования к составу и парамет
рам технических средств
Программное изделие должно работать на компьютере под управлением операционной системы Windows XP с частотой процессора не ниже 2 ГГц, ОЗУ не менее 1024Мбайт. Для переноса программы не должны требоваться специальные программные и аппаратные средства.
- Требования к информационной и программной совместимости
Программное изделие должно быть написано на языке C++ и работать под управлением операционной системы Windows XP.
- Требования к функциональным характеристикам
Программное изделие должно выдавать корректную информацию на запросы пользователя, в том числе в случае ввода пользователем неподходящих данных выводить сообщение об ошибке.
- Результирующие компоненты изделия
В комплект поставки программного изделия входит исполняемый файл «B+ Tree.exe», а также файл данных «schedule.txt», содержащий информацию о клиентах банка.
- Носители информации
Программное изделие будет размещено в виде файлов на компакт-диске.
- Безопасность и секретность
Информация, содержащаяся в программном изделии, не является секретной. Программный продукт может свободно копироваться и распространяться и не требует специальных средств защиты от копирования или хранения информации.
- Удобства эксплуатации
Графический интерфейс программы должен быть выполнен таким образом, чтобы обеспечивать простоту и удобство эксплуатации программы.
- Мобильность
Программный продукт не требует наличия дополнительных средств для переноса. Процесс переноса состоит в копировании исполняемых файлов на электронный носитель информации, переносе их на другой компьютер и копирования с носителя в отдельную папку на постоянном внешнем запоминающем устройстве ЭВМ.
- Требования к программной докум
ентации
Программная документация должна включать следующие документы:
- техническое задание;
- технический проект;
- рабочий проект,
- тесты.
В приложении к документу "Рабочий проект" должен быть приведен листинг исходных текстов программного изделия.
- Стадии и этапы разработки
Выполнение разработки должно включать три стадии:
- техническое задание;
- технический проект;
- рабочий проект.
На стадии "Техническое задание" проводится постановка задачи, разработка требований к программному изделию, изучение литературы по задаче и оформление документа "Техническое задание".
На стадии "Технический проект" проводится анализ данной предметной области, выделение основных взаимодействий между пользователем, выяснение структуры программного комплекса. В заключение данного этапа оформляется документ "Технический проект".
На стадии "Рабочий проект" проводится разработка схем алгоритмов для каждого из функциональных модулей, физическое проектирование программного изделия, разработка тестов, тестирование и отладка программных модулей. В заключение данного этапа оформляется документ "Рабочий проект".
- Порядок контроля и приемки
Приемка программного изделия осуществляется
при сдаче документально
- ТЕХНИЧЕСКИЙ ПРОЕКТ
- Анализ области
Стандартное использование программного продукта состоит в следующей последовательности действий пользователя:
- запуск файла «B+ Tree.exe»
- добавление данных к существующему дереву, удаление и поиск посредством использования соответствующих компонент в окне;
- закрытие окна программы;
- Структура программы
Программа состоит из двух модулей: файлы Form.cpp + Form.h, в которых описан класс TFormMain и BTree.h, где содержатся методы, описывающие алгоритмы работы с B+-деревом, а также методы для внешнего взаимодействия с этой структурой данных.
- Класс TFormMain
В этом классе описаны следующие функции:
- Отрисовка дерева;
- Чтение данных из файла;
- Поиск узла дерева, на который нажал пользователь;
- Обработка вводимых пользователем данных для поиска/удаления/добавления записи в дерево.
- Входные данные
При нажатии одной из трех кнопок («добавить», «удалить» или «найти») входными данными являются значения четырех полей: «Номер счета», «ФИО», «Сумма вклада», «Длительность (мес - %) ». При нажатии левой кнопки мыши на области вывода дерева в графическом представлении входными данными являются координаты курсора мыши.
- Выходные данные
При нажатии кнопки «найти» или щелчке мыши на области вывода дерева выходными данными могут являться строки «Номер счета», «ФИО», «Сумма вклада», «Длительность (мес - %) », а также сообщение об ошибке ввода или поиска. При нажатии на другие кнопки происходит перерисовка дерева или вывод сообщения об ошибке в случае неудачи при выполнении операции.
- Процессы обработки модуля
- создание графического интерфейса, запуск приложения;
- отрисовка окна приложения;
- обработка действий пользователя.
- Класс CB_PLUS_Tree
В этом классе описаны следующие функции:
- добавление записи в дерево;
- поиск записи в дереве по первичному ключу;
- удаление записи по первичному ключу.
- Входные данные
Запись, включающая в себя номер счета (первичный ключ), ФИО, сумма вклада и длительность (мес - %).
- Выходные данные
Результат совершения операции. В случае выполнения поиска выходными данными являются переменные, определяющие местоположение записи в дереве.
- Методические ограничения
В модулях не используется методологически сложных операций
- Аппаратные ограничения
Для корректной работы программ необходимо дисковое пространство в размере не менее 1 КБ, свободная оперативная память в размере не менее 15МБ.
- РАБОЧИЙ ПРОЕКТ
- Введение
В данном программном изделии
- Назначение разработки
Данный программный продукт наглядно демонстрирует структуру B+ - дерева.
- Требования к программе или про
граммному изделию