Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1. с 1- 7 исправленная (Восстановлен).docx
Скачиваний:
24
Добавлен:
18.03.2015
Размер:
4.88 Mб
Скачать

7. Консолидация диаграмм кооперации

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

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

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

Рис.9. Иерархическая диаграмма состояний объекта Управление Вентиляцией

Рис.10. Система управления вентиляцией: консолидированная диаграмма кооперации

8. Разбиение на подсистемы

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

На рис.11 показана общая структура разбиения. Подсистема вентиляции сбора данных, а подсистема Планировщик – координирующая. Структура Подсистемы Вентиляции представлена на рис.12, а Подсистемы Датчиков– на рис.13.

Дополнительно разрабатывается уточненная статическая модель, изображаемая на диаграмме классов. Эта диаграмма выводится из общей архитектуры подсистем и структуры каждой подсистемы. На диаграмме классов отражены все классы, из которых создаются объекты, представленные на диаграммах кооперации, а также отношения между этими классами, то есть сами кооперации. На рис.14 приведе­на уточненная статическая модель, в которой каждая подсистема предстает в виде составного класса. Становится очевидным, как программные понятия соответству­ют статической модели предметной области, созданной ранее (см. рис.3). Так, составной класс Подсистема Вентиляции включает несколько классов, в том числе клас­сы интерфейса устройств, например Интерфейс Системы Датчики, которые взаимодейству­ют с внешними классами, в частности Датчиком, представленными в статической мо­дели. Однако в класс Подсистема Вентиляции входят также и другие классы. Аналогичные наблюдения справедливы в отношении составного класса Подсистема Датчиков и его составляющих. Операции каждого класса опреде­лены в разделах 9.5 и 11, посвященных проектированию классов.

Рис.11. Разбиение на подсистемы

Рис.12. Структура подсистемы вентиляции

Рис.13. Структура подсистемы датчики