Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
book_05_SADT.doc
Скачиваний:
5
Добавлен:
04.05.2019
Размер:
5.17 Mб
Скачать

17.2. Прекращение декомпозиции

Мы рекомендуем прекращать моделирование, когда уровень детализации модели удовлетворяет ее цель. Другими словами, вы должны закончить моделирование, когда почувствуете, что дальнейшее продвижение не будет удовлетворять информационные потребности проекта или вступит с ними в противоречие. Хотя интуитивно это правило понятно, ему трудно следовать, не оценив модель. В первое десятилетие использования SADT для создания моделей в различных прикладных областях были разработаны некоторые критерии для определения момента завершения моделирования. Этот опыт показал, что для отдельной модели, которая создается независимо от какой-либо другой модели, декомпозиция одного из ее блоков должна прекращаться, если:

1) блок содержит достаточно деталей;

2) необходимо изменить уровень абстракции., чтобы достичь большей детализации, блока;

3) необходимо изменить точку зрения, чтобы детализировать блок;

4) блок очень похож на другой блок той же модели;

5) блок очень похож на блок другой модели;

6) блок представляет тривиальную функцию. 

Эти правила подчеркивают практические аспекты применения SADT для описания систем реального мира с конкретной целью (например, понять работу телефонной станции, чтобы определить требования к ее программному обеспечению). Предполагая, что большинство наших читателей будут применять SADT именно так, мы далее обсудим более подробно каждый из этих пунктов для иллюстрации приведенных правил и их важных моментов. Мы будем использовать диаграмму рис. 17-1, поскольку эта диаграмма находится на самом "дне" модели экспериментального механического цеха.

17.3. Достаточная детализированность

Одна из типичных ситуаций, встречающихся в конце моделирования, - это блок, который описывает систему с нужным уровнем подробности. Проверить достаточность деталей обычно совсем легко. Просто спросите себя, отвечает ли блок на все или на часть вопросов, составляющих цель модели. Если блок помогает ответить на один или более вопросов, то дальнейшая декомпозиция может не понадобиться.

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

Чтобы разложить ручные инструменты вначале просмотрите детали технических операций, чтобы определить, какие именно операции будут выполнены. Разложите ручные инструменты в порядке, соответствующем порядку выполнения операций. Учтите местоположение станка в цехе, чтобы инструменты оказались под рукой во время каждой операции.

Рис. 17-1. Блоки, для которых нет необходимости в дальнейшей декомпозиции. Поскольку это описание, по-видимому, вполне удовлетворяет цели модели экспериментального механического цеха, мы не будем дальше декомпозировать блок разложить ручные инструменты. Текст является прекрасной заменой дальнейшей декомпозиции.

Если бы это была наша первая попытка закончить модель экспериментального механического цеха, мы бы использовали блок разложить ручные инструменты, его дуги и их метки как образец достаточной детализации. Затем мы бы оценили другие блоки на этой или будущих диаграммах, чтобы узнать, соответствуют ли они этому образцу. Если да, то они сразу рассматривались бы как кандидаты для параграфа текста, а не для декомпозиции. Например, блоки выбрать станок и наладить станок, по-видимому, имеют тот же уровень простоты, что и блок разложить ручные инструменты. Таким образом, SADT-автор создает набор критериев, позволяющих определить момент завершения конкретной модели, по мере того, как блоки нижних уровней начинают удовлетворять цели модели.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]