Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПР12. Class diagram.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
337.41 Кб
Скачать

Шаг 2. «Раз ромашка, два ромашка…»

Выделим зоны функциональности и разделим их между соответствующими классами (и да поможет нам электронный словарь ABBY Lingvo 12):

  • Описание квадратного уравнения (класс TQuadraticEquation);

  • Алгоритм решения квадратного уравнения (класс TQuadraticSolution);

  • Получение данных для постройки графика (класс TQuadraticGraphData).

Класс TQuadraticEquation будет связан («ассоциирован») с классом TQuadraticSolution и с классом TQuadraticGraphData (Очевидно, что решить уравнение без самого уравнения или построить график функции без функции нельзя.). Классы TQuadraticSolution и TQuadraticGraphData на данном этапе между собой не связаны (решение и построение графика не зависят друг от друга). Считая само уравнение частью процесса решения и построения, получим:

  • TQuadraticSolution агрегирует TQuadraticEquation. Поскольку уравнение может иметь много способов решения, а «решение» может в один конкретный момент может решать только одно уравнение, то кратность связи будет «один» со стороны класса TQuadraticEquation и «много» со стороны класса TQuadraticSolution.

  • TQuadraticGraphData агрегирует TQuadraticEquation. Кратность см. пункт выше.

Таблица 2

Класс

Атрибуты/методы

Описание

TQuadraticEquation

TQuadraticEquation()

Конструктор умолчания

TQuadraticEquation(double a,

double b, double c)

Параметрический конструктор

Входные параметры:

Коэффициенты a, b, c квадратного уравнения

~ TQuadraticEquation()

Деструктор

TQuadraticSolution

TQuadraticEquation* Equation

Указатель на решаемое уравнение

TQuadraticSolution()

Конструктор умолчания

TQuadraticSolution(

TQuadraticEquation* E)

Параметрический конструктор

Входные параметры:

E – указатель на решаемое уравнение

~TQuadraticSolution()

Деструктор

TQuadraticGraphData

TQuadraticEquation* Equation

Указатель на уравнение

TQuadraticGraphData()

Конструктор умолчания

TQuadraticGraphData(

TQuadraticEquation* E)

Параметрический конструктор

Входные параметры:

E – указатель на уравнение для графика

~TQuadraticGraphData()

Деструктор

Примечания:

  1. Класс TQuadraticSolution на диаграмме не имеет поля TQuadraticEquation* Equation. Это поле указано на самой связи агрегации. CASE-средства, такие как StarUML, автоматически добавляют это поле в код класса для реализации механизма связи при автоматической генерации кода. На изображении класса TQuadraticGraphData это поле добавлено вручную в секции атрибутов. При этом на самой связи оно не указано. Допускается использовать любой из вариантов.

  2. Конструкторы выделены с помощью стереотипа «create», а деструкторы – «destroy». Это позволяет избежать добавления возвращаемого типа void для этих методов и не использовать для деструктора символ ~ (поскольку на диаграмме классов UML этот символ тоже используется).

Рис 2. Диаграмма классов на втором шаге.

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