Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Часть 9.doc
Скачиваний:
35
Добавлен:
02.05.2014
Размер:
5.57 Mб
Скачать

9.6. Классы, скрывающие алгоритмы

Такие классы скрывают алгоритмы, применяемые в предметной области; они типичны в системах реального времени, а также в научных и инженерных прило­жениях. Как правило, такой класс скрывает не только алгоритм, но и локальные данные, необходимые для его работы.

Пример скрывающего алгоритм класса – это класс Средняя Скорость (рис.9.6), который скрывает алгоритм вычисления средней скорости автомоби­ля в системе круиз-контроля и мониторинга. В нем есть операция сброс для об­нуления внутренних данных и операция вычислить для расчета средней скорос­ти движения. Обе эти операции вызывают операцию вывести объекта Интерфейс Маршрутного Дисплея, передавая среднюю Скорость в качестве параметра (рис.9.6б). Диаграмма класса изображена на рис.9.6в.

.

Рис.9.6. Пример класса-алгоритма: а – аналитическая модель (диаграмма кооперации); б – проектная модель (диаграмма кооперации); в –проектная модель (диаграмма классов)

9.7. Классы интерфейса пользователя

Класс интерфейса пользователя скрывает от других классов детали человеко-машинного интерфейса. В зависимости от приложения интерфейс пользователя может быть очень простым (например, в виде командной строки) или весьма сложным (графический интерфейс пользователя – ГИП). Чтобы реализовать ин­терфейс командной строки, достаточно одного класса, а для графического интер­фейса требуется, как правило, несколько. Низкоуровневые классы интерфейса пользователя – это элементы управления, находящиеся в библиотеках компонен­тов: окна, меню, кнопки и диалоги. Высокоуровневые классы пользовательского интерфейса часто составляются из таких классов.

В аналитической модели акцент делается на идентификации составных клас­сов пользовательского интерфейса и сборе информации о том, какие данные пользователь должен вводить, а какие ему надо показать. На этой же стадии мож­но проектировать выводимые формы. В проектной модели приложения с графи­ческим интерфейсом нужно определить классы для каждой экранной формы В качестве примера рассмотрим класс Интерфейс Клиента (рис.9.7а). Это основной интерфейс клиента банкомата. В классе Интерфейс Клиента есть опе­рации для каждого окна, используемого для диалога с пользователем: вывести ОкноПИН-кода, вывестиОкноСнятияДенёг, вывестиОкноПеревода Денег и вывестиОкноСправки – а также для вывода меню: вывестиМеню. Имеется опе­рация для работы с маленьким окном, предназначенным для вывода приглашений и сообщений пользователю, но не для ввода данных. Параметром такой операции служит идентификатор выводимого сообщения. Каждое окно показывает некото­рую информацию, а затем, возможно, ожидает ввода данных, которые возвраща­ются в виде выходного параметра.

Класс Интерфейс Клиента – это составной класс, включающий несколько низкоуровневых классов, как показано на рис.9.76. В него входят классы для каждого окна, необходимого при организации интерфейса с клиентом: окно Главного Меню, Окно ПИН-кода, Окно Снятия Денег, Окно Перевода Денег, Окно Справки и Окно Приглашения.

Рис.9.7. Пример класса интерфейса пользователя:

а – класс интерфейса пользователя с операциями;

б – структура составного класса пользовательского интерфейса

Соседние файлы в предмете Системы реального времени