194 Глава 8. Выявление классов анализа
8.4.4. Выявление классов из других источников
Помимо анализа существительное/глагол, CRCанализа и стереотипов
RUP существует множество других потенциальных источников клас
сов, которые необходимо учитывать. Мы ищем четкие абстракции, ко
торые проецируются на реальные сущности предметной области. По
добным же образом можно найти классы и в реальном мире.
• Все физические объекты, такие как самолет, люди и гостиницы,
могут обозначать класс.
• Документооборот – еще один богатый источник классов. Такие ве
щи, как счета, заказы и сберегательные книжки, могут указывать
на возможные классы. Однако при рассмотрении системы докумен
тооборота необходимо быть очень осторожными. Во многих компа
ниях она развивалась в течение многих лет с сохранением поддерж
ки устаревших и неиспользуемых бизнеспроцессов, которые новая
система, возможно, пытается заменить! Самая неприятная работа
для ОО аналитика/проектировщика – автоматизация устаревшей
бумажной системы.
• Известные внешние интерфейсы, такие как экраны, клавиатуры,
периферийные устройства и другие системы, также могут быть ис
точником предполагаемых классов, особенно в случае встроенных
систем.
• Концептуальные сущности – это сущности, важные для функцио
нирования предприятия, но не являющиеся конкретными сущно
стями. Примером такой сущности может быть LoyaltyProgram (про
грамма лояльности), например призовая карта. Конечно, сама про
грамма не является конкретной сущностью (ее нельзя пощупать!),
но это связная абстракция, поэтому ее можно смоделировать как
класс.
8.4.4.1. Базовые шаблоны
Базовые шаблоны могут предоставить готовые компоненты аналитиче
ской модели.
В нашей книге «Enterprise Patterns and MDA» [Arlow 1] описывалось по
нятие, названное нами базовые шаблоны (archetype patterns). Это шаб
лоны бизнеспонятий, настолько распространенных в бизнессистемах,
что мы решили считать их понастоящему базовыми. То есть их можно
смоделировать один раз и затем использовать повторно, а не моделиро
вать вновь и вновь в каждой новой бизнессистеме. Основная мысль
книги состоит в том, что шаблоны можно использовать в исходном или
измененном виде, создавая аналитическую модель из компонентов мо+
дели (model components). Эта техника называется компонентно+ориен+
тированным моделированием (component+based modeling).