Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Статическая модель предметной области



В статической модели отражаются статические отношения, существующие в системе управления лифтами. Для начала рассмотрим физические классы предметной области (рис.3). Лифт – это составной класс, содержащий один Мотор, одну Дверь, n Кнопок Лифта и n Лампочек Лифта. Этаж – это тоже составной класс, включающий Кнопку Этажа и Лампочку Этажа. Обычно имеется по два экземпляра каждого объекта (для двух направлений), но на нижнем и верхнем этажах есть лишь по одной лампочке и кнопке.

 

Рис.3. Концептуальная статическая модель системы управления лифтами

 

Класс Лифт ассоциирован также с классом Датчик Прибытия, который изве­щает о приближении лифта к этажу, и с классом Лампочка Направления, кото­рую лифт включает и выключает. Класс Лампочка Направления ассоциирован с классом Этаж. На каждом этаже установлены одна или две лампочки направле­ния для каждого лифта.


Из диаграммы контекста системы видно, что, за исключением перечисленных составных классов, остальные классы на рис.3, представляющие объекты ре­ального мира, – это внешние устройства, то есть датчики или приводы. Поэтому они изображены в виде классов внешних устройств ввода или вывода, которые осуществляют интерфейс с системой управления лифтами (рис. 4).

 

  Рис.4. Диаграмма контекста классов для системы управления лифтами

Разбиение на объекты

Чтобы подготовиться к динамическому моделированию, рассмотрим программ­ные объекты в системе управления лифтами. Объект Лифт составлен из несколь­ких объектов. Поскольку он получает информацию от внешних объектов и управ­ляет внешними объектами, то некоторые его компоненты – это объекты интерфейса устройств ввода/вывода, а именно датчиков и приводов лифта.

Для каждого объекта внешнего устройства существует соответствующий объект программного интерфейса. Так, лифт получает вызовы от объектов Интерфейс Кнопки Лифта, расположенных на каждом этаже. В лифте есть также объекты Ин­терфейс Двери и Интерфейс Мотора, взаимодействующие соответственно с фи­зической дверью и мотором. Помимо этого, лифт посылает команды объектам Ин­терфейс Лампочки Лифта, которых имеется столько же, сколько этажей. Класс Этаж составлен из классов Интерфейс Кнопки Этажа и Интерфейс Лампочки Этажа. На каждом этаже находится по два экземпляра этих классов, а на первом и последнем – по одному. Существует также объект Интерфейс Датчика При­бытия, который посылает сообщения объекту Управление Лифтом, когда лифт приближается к этажу, и объект Интерфейс Лампочки Направления для взаи­модействия с физической лампочкой.

Помимо объектов интерфейса устройств, выявленных с помощью диаграммы контекста классов, нужны еще сущностные и управляющие объекты. Для каждо­го лифта необходим сущностный объект Состояние и План Движения Лифта. Под состоянием понимается информация о том, движется ли лифт вообще, в ка­ком направлении, на каком этаже он стоит или какой этаж только что проехал. Сюда же относят план движения лифта, включающий список этажей, которые лифт должен посетить.

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

 

Динамическая модель

Далее следует определить взаимодействия между объектами, соответствую­щие каждому прецеденту. В этом примере мы будем пользоваться диаграммами кооперации. Для каждого прецедента разрабатывается своя диаграмма кооперации, на которой изображены участвующие в нем объекты и последовательность их взаи­модействий. Кроме того, если в кооперацию вовлечен зависящий от состояния объект Управление Лифтом, то последовательность событий также изображается на диаграмме состояний. Ниже приводятся описания сообщений для каждого прецедента.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.