Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна 33-34.doc
Скачиваний:
2
Добавлен:
06.09.2019
Размер:
128 Кб
Скачать
☆

Хід виконання роботи

Создайте подсистему CourseCatalogSystem.

Структура и диаграммы пакета (подсистемы) CourseCatalogSystem (диаграммы классов и взаимодействия, описывающие данную подсистему и ее интерфейс), приведены на рис. 33.1 – 33.4. Классы DBCourseOfferring и CourseOfferringList отвечают за взаимодействие с БД каталога курсов в рамках JDBC.

Объект CourseCatalogSystem Client на рис. 33.4 может принадлежать либо классу CloseRegistrationController, либо классу RegistrationController, в зависимости от того, в каком из вариантов использования запрашивается каталог курсов.

Рис. 33.1. Структура пакета CourseCatalogSystem

Рис. 33.2. Контекст подсистемы CourseCatalogSystem с точки зрения архитектора

Рис. 33.3. Диаграмма классов подсистемы CourseCatalogSystem с точки зрения проектировщика

Формирование архитектурных уровней

В процессе анализа принимается предварительное решение о выделении архитектурных уровней. В процессе проектирования все элементы системы должны быть распределены по данным уровням. С точки зрения модели это означает распределение проектных классов по пакетам, соответствующим архитектурным уровням (пакетам со стереотипом <<layer>>). В ложной системе архитектурные уровни могут разбиваться на подуровни, количество и структура которых, как было сказано выше, зависят от сложности предметной области и среды реализации.

Подуровни могут формироваться, исходя из следующих критериев:

• группировка элементов с максимальной связанностью;

• распределение в соответствии со структурой организации (обычно это касается верхних уровней архитектуры);

• распределение в соответствии с различными областями компетенции разработчиков (предметная область, сети, коммуникации, базы данных, безопасность и др.);

• группировка отдельных компонентов распределенной системы;

• распределение в соответствии с различной степенью безопасности и секретности.

Пример выделения архитектурных уровней и объединения элементов модели в пакеты для системы регистрации приведен на рис. 33.5

Рис. 33.4. Кооперативная диаграмма, описывающая реализацию операции интерфейса getCourseOfferings

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

Данное представление отражает следующие решения, принимаемые архитектором:

  • выделены три архитектурных уровня (созданы три пакета со стереотипом <<layer>>);

  • в пакете Application создан пакет Registration, куда включены граничные и управляющие классы;

  • граничные классы BillingSystem и CourseCatalogSystem преобразованы в подсистемы;

  • в пакет Business Services, помимо подсистем, включены еще два пакета: пакет External System Interfaces включает интерфейсы подсистем (классы со стереотипом <Interface>>), а пакет University Artifacts – все классы-сущности.

№34. Моделювання розподіленої конфігурації системи