Хід виконання роботи
Создайте подсистему 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. Моделювання розподіленої конфігурації системи
