Я хотел бы спросить, в чем разница между подсистемой и компонентом в смысле UML?
Разница между подсистемой и компонентом
Ответ 1
Я должен согласиться с Preet, но практически подсистема больше, чем компонент. Я использую компоненты для библиотек (купленные, грабимые или построенные) и подсистемы для части всей системы, которая выполняет заданную интегрированную функцию. Например, в устройстве для обработки крови в качестве компонента будет использоваться драйвер центрифуги и управление. Интегрированная регулировка всасывания крови (которая включает в себя механизмы безопасности, управление двигателем, пользовательское управление и связь) будет подсистемой.
Ответ 2
До UML 2.0 я мог отлично видеть <<subsystem>>
как время разработки <<component>>
, которое, наконец, станет <<component>>
. UML 1.4 определяет компонент как "модульную, развертываемую и заменяемую часть системы, которая инкапсулирует реализацию и предоставляет набор интерфейсов. Компонент обычно задается одним или несколькими классификаторами (например, классы реализации), которые находятся на нем и могут быть реализованы одним или несколькими артефактами (например, двоичными, исполняемыми или script файлами)."
После того, как вышеупомянутая "нечеткость" была введена в UML (в UML 2.0), я более склонен использовать <<subsystem>>
как более крупный <<component>>
и видеть их как сменные и многоразовые составляющие системы.
Ответ 3
От IBM developerWorks - Основы UML: Диаграмма компонентов
Спецификация UML 2 довольно неопределенная о том, как подсистема отличается от компонент. Спецификация не обрабатывать компонент или подсистему в отличие от моделирования перспектива. По сравнению с UML 1.x, эта неоднозначность моделирования UML 2 является новой. Но есть причина. В UML 1.x, a подсистема считалась пакетом, и это обозначение пакета было запутанной для многих практикующих UML; следовательно, UML 2 выровнены подсистемы как специализированный компонент, поскольку это как это понимают большинство пользователей UML 1.x. Это изменение действительно привело к нечеткости в картину, но эта нечеткость является скорее отражением реальности против ошибки в UML 2 спецификация.
Короче говоря.
Ответ 4
В моделях UML подсистемы представляют собой тип стереотипного компонента, который представляет независимые поведенческие единицы в системе. Подсистемы используются в диаграммах классов, компонентов и вариантов использования для представления крупномасштабных компонентов в моделируемой вами системе.
Вы можете смоделировать всю систему как иерархию подсистем. Вы также можете определить поведение, которое представляет каждая подсистема, указав интерфейсы для подсистем и операции, которые поддерживают интерфейсы.
На диаграммах отсеки отображают информацию об атрибутах, операциях, предоставляемых интерфейсах, требуемых интерфейсах, реализациях и внутренней структуре подсистемы.
Как правило, у подсистемы есть имя, которое описывает ее содержимое и роль в системе.
Как показано на следующем рисунке, подсистема отображается в виде прямоangularьника, содержащего имя подсистемы. Он также содержит ключевое слово "Подсистема" и значок подсистемы.