До UML 2.0 я прекрасно видел <<subsystem>>
как время разработки <<component>>
, которое в итоге стало бы <<component>>
. UML 1.4 определяет компонент как «модульную, развертываемую и заменяемую часть системы, которая инкапсулирует реализацию и предоставляет набор интерфейсов. Компонент обычно определяется одним или несколькими классификаторами (например, классами реализации) которые находятся на нем, и могут быть реализованы одним или несколькими артефактами (например, двоичными файлами, исполняемыми файлами или файлами сценариев). "
После того, как вышеупомянутая «нечеткость» была введена в UML (в UML 2.0), я более склонен использовать <<subsystem>>
в качестве большего <<component>>
, и вижу их обоих в качестве заменяемых и повторно используемых компонентов системы.