При моделировании системы с различных точек зрения вы фактически конструируете ее сразу в нескольких измерениях. Правильный выбор совокупности видов или представлений позволит задать нужные вопросы, касающиеся системы, и выявить риск, который необходимо учесть. Если же виды выбраны плохо или вы сосредоточились только на одном из них в ущерб остальным, то возрастает опасность не заметить или отложить на будущее такие вопросы, пренебрежение которыми рано или поздно поставит под угрозу весь проект.
Для моделирования системы с использованием различных представлений рекомендуется выполнить следующее:
1. Решите, какие именно виды лучше всего отражают архитектуру систем и возможный технический риск, связанный с проектом. При этом стоит начать с описанных выше пяти взглядов на архитектуру.
2. В отношении каждого из выбранных видов определите, какие артефакты необходимо создать для отражения его наиболее существенных деталей. Эти артефакты по большей части будут состоять из различных диаграмм UML.
3. В ходе планирования процесса решите, какие из диаграмм удобнее все превратить в инструмент контроля (формального или неформального) разработкой системы. Эти диаграммы вы будете периодически корректировать и сохранять в составе проектной документации.
4. На всякий случай сохраните место для диаграмм, которые пока не задействованы.
Допустим, если вы моделируете клиентское приложение, выполняемое на одном компьютере, могут потребоваться только нижеперечисленные диаграммы:
- вид с точки зрения вариантов использования - диаграммы прецедентов;
- вид с точки зрения проектирования - диаграммы классов (для структурного моделирования) и диаграммы взаимодействия (для моделирования поведения);
- вид с точки зрения процессов - не требуется;
- вид с точки зрения реализации - не требуется; вид с точки зрения развертывания - также не требуется.
Если же разрабатываемая система относится к управлению рабочим процессом, то для моделирования ее поведения понадобятся соответственно диаграммы состояний и действий.
Если система построена на архитектуре "клиент/сервер", например, автоматизирующее работу инфокоммуникационной системы учебного центра то стоит включать в работу диаграммы компонентов и развертывания для моделирования конкретных физических деталей реализации.
Наконец, моделируя сложную распределенную систему, используйте все имеющиеся в UML диаграммы. Они позволят выразить ее архитектуру и связанный с проектом технический риск. Вам потребуется следующее:
- вид с точки зрения прецедентов - диаграммы прецедентов и диаграммы действий (для моделирования поведения);
- вид с точки зрения проектирования - диаграммы классов (структурное моделирование), диаграммы взаимодействия (моделирование поведения), диаграммы состояния (моделирование поведения);
- вид с точки зрения процессов - снова диаграммы классов (структурное моделирование) и диаграммы взаимодействия (моделирование поведения);
- вид с точки зрения реализации - диаграммы компонентов;
- вид с точки зрения развертывания - диаграммы развертывания.