Чаще всего артефакты используются для моделирования физических частей, составляющих реализацию. Сюда же относится моделирование вспомогательных элементов развернутой системы: таблиц, файлов и документов. Другое назначение артефактов - моделирование конфигурации всех файлов, содержащих исходный код, из которых с помощью средств разработки были созданы исполняемые части. Это файлы, являющиеся рабочими продуктами (артефактами) процесса разработки.
Графическое моделирование исходного кода особенно полезно для визуализации зависимостей между различными файлами при компиляции, а также для управления разбиением файлов на относительно независимые группы и последующим их объединением в ходе ветвления процесса разработки. Таким образом, артефакты UML можно использовать в качестве графического интерфейса к средствам контроля версий и управления конфигурацией.
Для большинства систем состав файлов с исходным кодом диктуется требуемыми средой разработки решениями, которые вы приняли относительно структурирования файлов. В этих файлах хранятся детали реализации классов, интерфейсов, коопераций и других логических элементов, которые впоследствии преобразуются в физические двоичные компоненты с помощью средств разработки. Как правило, средства разработки определяют способ организации исходного кода (например, для каждого класса обычно используется один или два файла), но необходимость в визуализации отношений между файлами все равно остается. Методы группировки файлов в пакеты и методы управления версиями диктуются решениями о стратегии внесения изменений в систему.
|
|
Моделирование исходного кода осуществляется следующим образом:
1. В зависимости от того, какие ограничения накладывают средства разработки, смоделируйте файлы, в которых будут храниться все логические элементы, а также зависимости между ними при компиляции.
2. Если требуется, чтобы модели были согласованы с инструментами разработки и управления конфигурацией, включите для каждого управляемого файла помеченные значения, такие как номер версии, имя автора и информацию о выборке и возврате файла в депозитарий.
3. По мере возможности оставляйте управление отношениями между файлами инструментам разработки, используя UML только для визуализации и документирования отношений.
Например, на рис. 2.28 показаны некоторые исходные файлы, из которых строится класс. Указан заголовочный файл (main.h), представляющий спецификацию класса, а также файл main. cpp, представляющий собой реализацию класса.
По мере увеличения размера модели вы обнаружите, что многие файлы с исходными текстами объединяются в концептуально и семантически связанные группы. Скорее всего, система разработки поместит эти группы файлов в отдельные каталоги. В UML для моделирования таких групп можно использовать пакеты.
UML позволяет визуализировать отношение между классом и соответствующим исходным файлом, а также отношение между исходным файлом и исполняемой программой или библиотекой. Для этого используются отношения трассировки. Однако такие детали требуется прорабатывать сравнительно редко.