- •Задание
- •Реферат
- •Содержание
- •1.1.Обоснование и выбор методов решения
- •1.2.Описание программы
- •1.2.1.Общие сведения
- •1.2.2.Функциональное назначение
- •1.2.3.Описание структур данных, используемых в программе
- •1.2.4.Описание логической структуры программы
- •1.2.4.1.Отношения между классами
- •1 Лошадь .2.4.2.Описание классов
- •1.2.5.Описание физической структуры программы
- •1.2.6.Описание основных алгоритмов программы
- •1.3.Руководство пользователя
- •1.4.Список использованных источников
- •1.5.Приложения
1.2.4.Описание логической структуры программы
1.2.4.1.Отношения между классами
На рис.2 изображена схема отношения между классами TreeNode и SolutionTree. Она показывает отношение агрегирования (т.е. отношение «целое-часть»), которое изображается линией с добавлением закрашенного кружка на конце, обозначающем агрегат.
Рис.2. Отношение между классами TreeNode и SolutionTree
На рис.3 изображена схема отношения между классами Form, Form1, Form2, Form3, Form4 и Form5. Это отношение является отношением наследования (т.е. отношением «общее-частное»), которое изображается стрелкой, направленной от класса потомка к классу-предку.
Рис.3.Отношение между классами Form, Form1, Form2, Form3, Form4 и Form5
1 Лошадь .2.4.2.Описание классов
Таблица 1-Спецификаци класса TreeNode
Спецификация класса TreeNode |
|
Имя: |
TreeNode |
Назначение: |
Узел дерева решений |
Суперкласс: |
нет |
Используемые классы: |
нет |
Поля: |
Yes,No–ссылки на левого и правого потомков |
|
Question–информационное поле узла |
Методы: |
TreeNode- конструктор |
Устойчивость: |
|
Таблица 2-Спецификация класса SolutionTree
Спецификация класса SolutionTree |
|
Имя: |
SolutionTree |
Назначение: |
Дерево решений |
Суперкласс: |
нет |
Используемые классы: |
нет |
Поля: |
Root-ссылка на корень дерева |
|
Prev,Current –ссылки на предыдущий и текущий узлы |
Методы: |
SolutionTree - конструктор |
|
Save – сохранить изменения |
|
Open – открыть файл |
Устойчивость: |
|
Таблица 3 – Описание полей и методов класса SolutionTree
Спецификация метода SolutionTree класса SolutionTree |
|
Имя: |
SolutionTree |
Назначение: |
Инициализация объекта класса SolutionTree |
Выполняемые действия: |
инициализация атрибутов объекта класса SolutionTree |
Исключительные ситуации: |
нет |
Спецификация метода Save класса SolutionTree |
|
Имя: |
Save |
Назначение: |
Сохранение изменений в структуре дерева в XML-файл |
Формат параметров: |
String filename- имя файла |
Выполняемые действия: |
Выполняет сериализацию данных, затем записывает информацию в текстовый поток |
Исключительные ситуации: |
нет |
Спецификация метода Open класса SolutionTree |
|
Имя: |
Open |
Назначение: |
Открывает XML-файл |
Формат параметров: |
String filename – имя файла |
Выполняемые действия: |
Выполняет десериализацию данных и чтение информации из файлового потока |
Исключительные ситуации: |
Чтение из файла, в котором еще нет информации |
Спецификация метода P класса SolutionTree |
|
Имя: |
P |
Назначение: |
Рисует структуру дерева решений |
Формат параметров: |
Int x,y – координаты объекта |
Font f – шрифт |
|
Graphics g – объект для рисования |
|
TreeNode root – узел дерева решений |
|
Выполняемые действия: |
Отображает на экран дерево решений |
Спецификация метода R класса SolutionTree |
|
Имя: |
R |
Назначение: |
Обработка узлов дерева |
Формат параметров: |
Int x – координата объекта |
Font f – шрифт |
|
Graphics g – объект для рисования |
|
TreeNode root – узел дерева решений |
|
Int k – длина нижнего скроллера |
|
Int n – высота нижнего скроллера |
|
Выполняемые действия: |
Перебор узлов дерева и отправление их в метод P |
Спецификация метода L класса SolutionTree |
|
Имя: |
L |
Назначение: |
Метод работы со скроллером |
|
TreeNode root – узел дерева решений |
Int k – длина нижнего скроллера |
|
Выполняемые действия: |
Устанавливает длину скроллера |