Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zapiska.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
733 Кб
Скачать
☆

3 Разработка программы

    1. Диаграмма классов

Диаграмма классов – диаграмма, демонстрирующая классы системы, их атрибуты, методы и взаимосвязи между ними [6]. Существует два вида диаграмм классов:

–  статический вид диаграммы рассматривает логические взаимосвязи классов между собой;

– аналитический вид диаграммы рассматривает общий вид и взаимосвязи классов, входящих в систему.

Взаимосвязь – это особый тип логических отношений между сущностями, показанных на диаграммах классов и объектов.

Ассоциация – вид отношений между сущностями, показывающий, что объекты одной сущности (класса) связаны с объектами другой сущности.

Рисунок 3.1 – Иерархический вид диаграммы классов

    1. Проектирование интерфейса программы

Для начала необходимо сделать некий макет, по которому будет строится дальнейший интерфейс, а также придумать какими элементами управления будет осуществляться то или иное действие. Макет интерфейса представлен на рисунке 3.2.

Рисунок 3.2 – Макет интерфейса программы

Область 1 для просмотра информации и выполняемых пользоветелем операций, мы использовали компонент DataGridView.

Область 2,3,4 для управления таблицей (добавления, удаления, замены элементов и т.д.) можно воспользоваться компонентом Button. Это кнопка, нажатие на которую будет приводить к соответствующему названию кнопки действию.

Область 5 предназначена для расположения компонента TextBox для предостовления информации для пользователя.

Для поиска элементов в дереве можно воспользоваться компонентом TextBox. Он представляет из себя строковое поле для ввода данных и расположен, он будет в области 3.

Кнопки переключения вкладок будут расположены в области 4. Область 5 служит для компонента MenuStrip. В нем будут продублированы основные действия для управления таблицами.

    1. Описание программных модулей

Модуль System.IO – используется в основном для работы с файлами (создания, копирования, удаления и т.д.). Для работы с файлами используется такой класс как File.

Модуль System.Collections.Generic – подключен для использования интерфейса IEnumerable, а также типа данных List<>, который в свою очередь поддерживает интерфейс IEnumerable.

Модуль System.Linq – используется для работы с множествами: сортировки, выборки и тому подобных действий. Например, метод OrderBy(Func<T,TKey>) сортирует множество по возрастанию по ключу TKey объекта T.

Модуль System.Drawing – используется для визуализации бинарного дерева. Данный модуль содержит такой полезный метода, как DrawCurve(Pen pen, Points[] points). Данный метод рисует кривую по заданному массиву точек от одной к другой последовательно. Он использовался для рисования ветвей бинарного дерева [7].

    1. Разработка, тестирование методов

«public void Output()» – данный метод осуществляет считывание данных из файла. Для его вызова необходимо сначала вызвать диалоговое окно, которое открывается по нажатии на кнопку «Добавить», после заполнения всехпунктов находящихся в всплывшем делоговом окне мы сможем увидеть нашу вписаную информацию на рисунке 3.3.

Рисунок 3.3 – Главное меню, вызов метода Output()

После того, как информаци была заполнена, метод Output() формирует бинарное дерево из полученных данных, отсеивая неправильно оформленные и выводит их в компонент DataGridView как показано на рисунке 3.4.

Рисунок 3.4 – Результат выполнения метода

«public void Add» – метод, осуществляющий добавление узла в дерево. Для его вызова необходимо сначала нажать на кнопку «Добавить». После чего появится форма для добавления нового узла на рисунке 3.5.

Рисунок 3.5 – Форма добавления элемента

После того, как все поля заполнены следует нажать кнопку «Сохранить». После нажатия на кнопку сохранить, элемент будет сохранен в файл и добавлен в DataGridView на hисункt 3.6.

Рисунок 3.6 – Результат добавления нового элемента

«public static Delete» – метод-расширение, осуществляющий преобразование дерева tree в множество значений его узлов. Используется данный метод для удаления и замены узлов из дерева. Для того, чтобы удалить узел, под название грейпфрут на рисунке 3.7, необходимо нажать на кнопку «Удалить», после чегопоивится диалоговое окноотом с наименованием удоляемого элемента на рисунке 3.8 производится удаление выбранного элемента на рисунке 3.9.

Рисунок 3.7 – Удаление элемента «Грейпфрут»

Рисунок 3.8 – Наименование удоляемого элемента

Рисунок 3.9 – Результат удаление элемента

Метод public List<Агроном> Search(string q) – осуществляет поиск элемента в таблице по культуре, названию удобрения., стоимости, еденицы измирения. Результат выводится в тот же момент, когда набирается слово для поиска. Таблица с данными представленна на рисуноке 3.10.

Рисунок 3.10 – Вся таблица с данными на символ “С”

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]