Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Определение отношений между объектами системы



 

       Стратегии определения отношений между объектами в основном базируются на поиске объектов, обменивающихся между собой сообщениями.

       В случае с системой управления лифтом результат поиска объектов, обменивающихся сообщениями, представлен в табл. 3.5.

 

Табл. 3.5. Источники и получатели сообщений в системе лифта

Источник сообщения Получатель сообщения Характер сообщения
Контроллер лифта Лифт Запрос статуса
Лифт Группа обслуживания Статус
Датчик натяжения троса Группа обслуживания Тревога
Датчик натяжения троса Зажимы Захватить
Группа обслуживания Зажимы Отпустить
Кнопка тревоги Группа обслуживания Тревога
Кнопка Пуск/стоп Лифт Пуск/стоп
Кнопка Пуск/стоп Группа обслуживания Пуск/стоп
Кнопка вызова лифта Контроллер лифта Запрос лифта
Контроллер лифта Лифт Добавить запрос
Кнопка запроса этажа Контроллеру Добавить запрос
Датчик препятствий Дверь Открыть
Контроллер лифта Индикатор Положение

 

       Совокупность объектов и их отношений позволяет построить диаграмму объектов системы лифта. Диаграмма представлена на рис. 3.5.

 

 

 

 


Рис. 3.5. Диаграмма объектов системы лифта

 

 


Определение атрибутов объектов

 

       Для определения наиболее важных атрибутов объекта в случаях, когда это не совсем очевидно, рекомендуется ответить на ряд вопросов:

 

1. Каковы функции объекта?

2. Какая информация необходима объекту для выполнения этих функций?

3. Над какой информацией выполняет объект свои операции?

4. Какой информацией о самом себе должен владеть объект?

5. Не являются ли идентифицированные атрибуты сами объектами?

 

Попробуем ответить на такие вопросы применительно к лифту.

 

1. Каковы функции объекта?

Основная функция лифта перевозить пассажиров с одного этажа на другой.

 

2. Какая информация необходима объекту для выполнения этих функций?

Для этого необходима информация о положении лифта в шахте, о состоянии (остановлен, двигается, занят, свободен), о направлении (если двигается), список запросов.

 

3. Над какой информацией выполняет объект свои операции?

Лифт выполняет операции над той же самой информацией, которая перечислена в ответе на вопрос 2.

 

4. Какой информацией о самом себе должен владеть объект?

Лифт должен знать свое положение, состояние (остановлен, двигается, занят, свободен), направление движения.

 

5. Не являются ли идентифицированные атрибуты сами объектами?

Лифт имеет дверь, которая имеет состояние (открыта, закрыта, открывается, закрывается), связана с дверью этажа, и имеет набор операций. Поэтому наиболее целесообразно определить дверь как объект.

То же самое можно сказать об объекте «Кнопка».

 

       Таким образом, лифт, как объект, обладает следующими атрибутами:

1. Состояние движения (двигается, остановлен);

2. Состояние заполнения (занят, свободен);

3. Положение в шахте;

4. Направление движения (если состояние движения – двигается);

5. Список запросов.

 

 

Определение классов

 

Среди объектов, определенных в описании проблемы, обычно существует много идентичных объектов.

В случае лифта, например, существует множество кнопок, но они все идентичны. Каждая кнопка активизируется при отпускании, прием запроса подтверждается подсветкой. Двери лифта и всех этажей также идентичны по своей структуре и поведению.

Объекты, которые идентичны по структуре и поведению, должны быть объединены в классы.

В системе лифта могут быть выделены следующие классы:

 

1. Шахта;

2. Лифт;

3. Контроллер;

4. Группа обслуживания;

5. Этаж;

6. Индикаторы;

7. Двери.

8. Кнопки;

9. Датчики;

10. Зажим.

 

Для первой группы перечисленных классов будет создан единственный экземпляр:

 

1. Шахта;

2. Лифт;

3. Контроллер;

4. Группа обслуживания.

 

Для второй группы будут отсутствовать классы-наследники:

 

1. Этаж;

2. Индикаторы;

3. Двери.

4. Зажим.

 

Для третьей группы будут существовать классы-наследники. Диаграммы классов «Кнопки» и «Датчики» представлены на рис. 3.6 и рис. 3.7.

 

 

 


Рис. 3.6. Диаграмма классов «Кнопки»

 

 

 

 

 


Рис. 3.7. Диаграмма классов «Датчики»

 

       Первый вариант диаграммы классов системы лифта показан на рис. 3.8. Диаграмма показывает основные классы и их отношения. Вследствие ограниченных возможностей графического представления диаграммы классов, типы отношений и их множественность охарактеризованы словесно.

 

1. Отношение «Шахта – Зажим» - зажим находится в шахте (композиция, 1 - 1);

2. Отношение «Шахта – Датчик» - экземпляр класса «Датчик» – датчик натяжения троса находится в шахте (композиция, 1 - 1);

3. Отношение «Зажим – Контроллер» - зажим управляется контроллером (ассоциация, 1 - 1);

4. Отношение «Контроллер – Группа обслуживания» – контроллер передает информацию группе обслуживания, группа обслуживания управляет системой лифта через контроллер (ассоциация, 1 - 1);

5. Отношение «Датчик – Контроллер» - экземпляры класса «Датчик» передают информацию контроллеру (ассоциация, Много-к-одному);

6. Отношение «Датчик – Лифт» - экземпляры класса «Датчик» находятся в лифте (композиция, Много-к-одному);

7. Отношение «Контроллер – Лифт» - контроллер управляет лифтом (ассоциация, 1 - 1);

8. Отношение «Дверь – Лифт» - экземпляры класса «Дверь» находятся в лифте (композиция, 1 - 1);

9. Отношение «Датчик – Этаж» - экземпляры класса «Датчик» находятся на этаже (композиция, Много-к-одному);

10. Отношение «Дверь – Контроллер» - экземпляры класса «Дверь» управляются контроллером (ассоциация, Много-к-одному);

11. Отношение «Дверь – Этаж» - экземпляр класса «Дверь» находится на этаже (композиция, 1 - 1);

12. Отношение «Кнопка – Лифт» - экземпляры класса «Кнопка» находятся в лифте (композиция, Много-к-одному);

13. Отношение «Кнопка – Этаж» - экземпляры класса «Кнопка» находятся на этаже (композиция, Много-к-одному);

14. Отношение «Индикатор – Лифт» - индикатор положения лифта находится в лифте (композиция, 1 - 1);

15. Отношение «Индикатор – Этаж» - индикатор положения лифта находится на этаже (композиция, 1 - 1);

16. Отношение «Кнопка – Контроллер» - экземпляры класса «Кнопка» передают нажатия контроллеру, а контроллер передает команду «подсветить» кнопкам (ассоциация, Много-к-одному);

17. Отношение «Индикатор - Контроллер» - индикаторы получают информацию от контроллера (ассоциация, Много-к-одному).

 

 

 

 


Рис. 3.8. Первый вариант диаграммы классов лифта

 




Выводы

 

       В подразделе 3.2 выполнен этап анализа, заключающийся в определении объектов, классов и отношений в системе. Для определения объектов системы была использована стратегия «подчеркивания существительных». Затем объекты, близкие по структуре и поведению были обобщены в классы. А затем между классами описаны отношения. Отношения классифицированы и определена их множественность. Итоговым результатом подраздела является диаграмма классов.

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

 

 


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 319; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.031 с.)
Главная | Случайная страница | Обратная связь