43
некоторый компонент реализует отдельные классы, то для обозначения
компонентa используется расширенный символ прямоугольника. При этом
прямоугольник компонентa делится на две секции горизонтальной линией.
Верхняя секция служит для записи имени компонентa и, возможно,
дополнительной информации, а нижняя секция – для указания реализуемых
данным компонентом классов.
В случае если компонент является экземпляром и реализует три
отдельных объекта, он изображается в форме компонентa уровня экземпляров.
Объекты, которые находятся в отдельном компоненте-экземпляре,
изображаются вложенными в символ данного компонента. Подобная
вложенность означает, что выполнение компонентa влечет за собой
выполнение операций соответствующих объектов. При этом существование
компонентa в течение времени исполнения программы обеспечивает
функциональность всех вложенных в него объектов. Что касается доступа к
этим объектам, то он может быть дополнительно специфицирован с помощью
видимости, подобно видимости пакетов.
По моему мнению разработка диаграммы компонентов предполагает
использование информации не только о логическом представлении модели
системы, но и об особенностях ее физической реализации. В первую очередь,
необходимо решить, из каких физических частей или файлов будет состоять
программная система. На этом этапе следует обратить внимание на такую
реализацию системы, которая обеспечивала бы возможность повторного
использования кода за счет рациональной декомпозиции компонентов, а также
создание объектов только при их необходимости.
Общая производительность программной системы существенно зависит
от рационального использования вычислительных ресурсов. Для этой цели
необходимо большую часть описаний классов, их операций и методов вынести
в динамические библиотеки, оставив в исполняемых компонентах только самые
необходимые для инициализации программы фрагменты программного кода.