Глубина модели.
Модели могут иметь разную глубину. Нельзя точно указать, сколько уровней декомпозиции должно быть построено в модели. Чаще всего, это не менее чем три уровня, иногда больше, до 5-6 уровней. Но на такую глубину могут декомпозироваться не все, а, например, один-два блока диаграммы A0. Такой уровень детализации может быть применен для наиболее важных функций, играющих ключевую роль в системе. Большие проекты обычно разбиваются на составляющие модели и каждая прорабатывается отдельно. Таким образом создается сеть небольших моделей, легких в прочтении и понимании. Прекращать декомпозицию следует, когда уровень детализации модели удовлетворяет ее цель. Обычно рекомендуется завершать декомпозицию, если:
- блок содержит достаточно деталей,
- необходимо изменить уровень абстракции, чтобы достичь большей детализации блока,
- необходимо изменить точку зрения, чтобы детализировать блок,
- блок имеет очень похожий на него в данной или другой модели,
- блок представляет тривиальную функцию.
Изменение уровня абстракции.
На каком-то этапе детализации, обычно когда модель уже имеет 2-3 уровня глубины, может произойти изменение уровня абстракции. Изменение уровня абстракции чаще всего обозначает выход за пределы цели модели и как следствие – необходимость прекращения декомпозиции. Например, если при декомпозиции функционального блока возникают функции, связанные с воздействием функциональный блок, которые лежат вне цели модели, то декомпозицию данного блока производить не следует.
Изменение точки зрения.
Изменение точки зрения может произойти в ситуации, когда точку зрения модели нельзя использовать для декомпозиции конкретного функционального блока. То есть блок можно декомпозировать только при условии, что можно рассмотреть его с другой точки зрения.
Например в ситуации, когда обьект, который играет в системе роль Управления, из управляющего преобразуется в обьект, который начинает подвергаться воздействию.
Тривиальные функции.
Не следует создавать декомпозицию функциональных блоков, содержание которых понятно и так, т.е. для блоков, отображающих тривиальные функции.
Это не означает, что блоки, содержащие тривиальные функции, следует исключать из модели. Наличие таких блоков может пояснять работу более сложных блоков и их взаимосвязь, но в декомпозиции они не нуждаются. Избыточная детализация может сделать модель громоздкой и недостаточно абстрактной.
Иерархичность SADT модели может приводить к тому, что размер модели может увеличиваться со скоростью геометрической прогрессии. Поэтому при разработке модели следует руководствоваться приведенными выше критериями для определения момента прекращения декомпозиции.
Дата добавления: 2015-09-28; просмотров: 828;