Полученные совокупности объектов объединяются в подсистемы с учетом таких требований:
1) каждая создаваемая подсистема должна ассоциироваться с определенными элементами продукта инженерии требований (как, например, актер, сценарий, объект и т.п.);
2) необязательные функции или часто изменяемые функции выделятся в подсистемы так, чтобы каждая функция, для которой прогнозируются изменения требований, была как отдельная подсистема, связанная с одним актером (изменения вызывают актером);
3) интерфейс подсистемы понятен и имеет взаимосвязи с другими подсистемами. Каждая подсистема должна выполнять минимум услуг или функций и иметь фиксированное множество параметров интерфейса.
После отделения изменяемых и производных подсистемы проводится анализ связей и зависимостей, которые существуют между объектами с целью образования подсистем с внутренними связями и прозрачными внешними интерфейсами.
К способам объединения объектов в подсистему можно отнести:
– . сборка объектов в подсистему, которые ничем не связаны между собой;
– логическое объединение объектов в подсистему, которые являются функционально независимыми, имеют общее свойство, для которых можно установить определенное логическое отношение (например, одна и та же функция реализована для разных сред, как ввод данных для дисков и порта сети);
– объединение по времени, т.е. сборка объектов в подсистему, которые активизируются в общий промежуток времени;
– коммуникативное объединение, т.е. собираются объекты, которые имеют общий источник данных;
– процедурное объединение, т.е. в подсистему собираются объекты, которые последовательно передают друг другу управление;
– функциональное объединение объектов, каждый из которых входит в подсистему, выполняет часть работ для выполнения общей функции, которую выполняет подсистема.