
- •Министерство образования и науки рф
- •1. Назначение и область применения
- •1.1. Описание предметной области
- •1.2. Постановка задачи, анализ и формулирование требований к программному продукту
- •2. Анализ процесса обработки информации и разработка структур данных для ее хранения
- •3. Описание логической структуры
- •3.1. Выбор технологии, языка и среды программирования
- •3.2. Описание используемых визуальных компонентов
- •3.3. Описание используемых методов и обоснование
- •3.4. Состав и логическая структура программы
- •3.4.1. Структура программного комплекса
- •3.4.2. Описание алгоритмов
- •3.4.2.1. Описание алгоритма добавления
- •3.4.2.2. Описание алгоритма редактирования
- •3.4.2.3. Описание алгоритма удаления
- •3.4.2.4. Описание алгоритма сортировки
- •3.4.2.5. Описание алгоритма поиска
- •4. Проектирование интерфейса пользователя
- •4.1. Построение графа диалога
- •4.2. Разработка форм ввода-вывода информации
- •4. 2.1. Форма ввода/редактирования информации о рабочем
- •4. 2.3. Форма поиска информации
- •4.2.4. Форма поиска информации
- •5. Характеристика программы
- •6. Описание входных данных
- •7. Описание выходных данных
- •8. Выбор стратегии тестирования и разработка тестов
- •9. Инструкция пользователя
- •9.1. Руководство по инсталляции
- •9.2. Главное окно системы
- •9.3. Добавление новой записи
- •9.7. Поиск
- •10. Список использованной литературы
3.4.2. Описание алгоритмов
Главным в программе является модуль отображения информации и выбора пунктов меню – MainUnit.pas. С помощью данного модуля пользователь может производить все необходимые действия по вызову других форм и просмотру данных. Данный модуль позволяет пользователю просматривать информацию, содержащуюся в каждом из используемых файлов с учетом связей в файлах. Для каждого файла предусмотрены процедуры добавления, изменения и удаления данных.
Процедуры добавления, удаления и изменения информации реализованы в отдельных модулях, различных для каждого файла. Для реализации процедуры поиска информации используется отдельный модуль.
3.4.2.1. Описание алгоритма добавления
При выборе действия добавления записи открывается окно для ввода информации. После того как пользователь заполнит все необходимые поля, в файл будет внесена новая запись.
Структурограмма алгоритма добавления представлена на рисунке 4.
Обязательными полями в записи файла рабочих являются:
Код рабочего;
ФИО;
Для записей файла заявок обязательны для ввода:
Код должности;
Название;
Зарплата
3.4.2.2. Описание алгоритма редактирования
При выборе действия редактирования записи пользователю предоставляется возможность редактировать ранее введенную информацию.
Некоторые поля в записях служат для реализации связей между файлами, поэтому если редактируемая запись имеет связь с другим файлом, то поля, реализующие эту связь, становятся недоступными для редактирования.
Структурограмма алгоритма редактирования представлена на рисунке 5.
Нахождение связей с другими файлами происходит после нахождения интересующей пользователя записи, методом поиска совпадений ключевых полей с ключевыми полями записей в других файлах. Если совпадения найдены, то делается вывод, что связь существует. Нахождение связей крайне необходимо для корректного выполнения операции редактирования. Если связь с другими файлами существует, то для записей файлов товаров и заявок следует поля, влияющие на связь файлов, сделать недоступными для редактирования.
3.4.2.3. Описание алгоритма удаления
Разработанная система предоставляет пользователю возможность удалить выбранную им запись. При этом пользователь должен подтвердить намеренность своих действий.
Удаление записи из файла происходит за счет замещения подлежащей удалению записи следующими за ней записями, перемещением ее таким образом на последнюю позицию в файле и последующим усечением файла на одну запись.
Структурограмма алгоритма удаления записи из файла представлена на рисунке 6.
3.4.2.4. Описание алгоритма сортировки
Пользователю информация, хранящаяся в файлах, выдается в отсортированном виде. Сортировка необходима для осуществления процедуры поиска. Используемый метод сортировки - сортировка стандартным обменом [2]. Метод основан на попарном сравнении ключей соседних записей. Если порядок следования записей в очередной паре неправилен, то эти элементы обмениваются местами. При первом просмотре ключ 1-й записи сравнивается с ключом 2-й записи и, если 2-й меньше, то они меняются местами. Затем ключ, расположенный во 2-й позиции, сравнивается с ключом из 3-й позиции. Обмен происходит, если меньший из них находится в 3-й позиции. После этого позиция 3 сравнивается с позицией 4, позиция 4 - с позицией 5 и т.д. Когда позиция N-1 сравнивается с позицией N, просмотр заканчивается. После первого просмотра запись с наибольшим ключом займет N-ю позицию, а минимальный элемент переместится на одну позицию к началу последовательности.
Второй просмотр идентичен первому лишь с той разницей, что он заканчивается после сравнения ключей N-2-й и N-1-й записей.
Так как на каждом из проходов очередные наибольшие элементы занимают соответственно позиции N, N-1, N-2 и т.д., то не более как за N-1 проход исходная последовательность будет упорядочена.
Для ускорения работы алгоритма в процессе сортировки при каждом просмотре регистрируется факт наличия или отсутствия обмена. Просмотр, в результате которого не было произведено ни одного обмена, заканчивает сортировку.
Структурограмма алгоритма сортировки методом стандартного обмена приведена на рис. 7.
Рисунок 7 – Алгоритм сортировки методом линейного выбора с обменом