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

17.6. Сходные функции

Иногда встречается блок, чрезвычайно по­хожий на другой блок модели. Два блока похо­жи, если они выполняют примерно одну и ту же функцию и имеют почти одинаковые по типу и количеству входы, управления и выходы. Если второй блок уже декомпозирован, то разумно отложить декомпозицию и тщательно сравнить два блока. Если нужны ничтожные изменения для совпадения первого блока со вторым, то вне­сение этих изменений сократит усилия на деком­позицию и улучшит модульность модели (т.е. сходные функции уточняются согласованным образом).

Рассмотрите блок выбрать станокна рис. 17-1 и блоквыбрать инструментына рис. 16-3. Оба они связаны с некоторым выбором из заданного множества устройств. Блоквыбрать ин­струментыделает это, подчиняясь следующему шагу задания, а блоквыбрать станок -подчиня­ясь чертежу. Более подробное изучение этих двух функций может открыть сходство между испо­льзованием информации о следующем шаге зада­ния и чертежа. Если это произойдет, эти две функции могут быть далее декомпозированы как диаграммавыбрать инструменты.

Иногда такое изучение и модификация приводят к созданию функции более общего на­значения (именно так происходит при введении подпрограмм, создаваемых для улучшения мо­дульности программною обеспечения). Однако функции общего назначения часто трудно выде­лить, а модификации, необходимые для введения их в модель, требуют много времени. Поэтому мы, рекомендуя использовать при моделировании функции общего назначения, предупреждаем, что слишком высокая степень общности достигается с трудом и с большими затратами времени. Впрочем, мы надеемся, что в будущем автомати­зированные средства SADTпомогут аналитикам в решении этого и других важных вопросов, су­щественно улучшив качество моделей и сократив время их создания.

17.7. Тривиальные функции

Тривиальная функция - это такая функция понимание которой не требует никаких объясне­ний. В этом случае нам очевидна целесообраз­ность отказа от декомпозиции, потому что роль SADT заключается в превращении сложного во­проса в понятный, а не в педантичной разработ­ке очевидных деталей. Рассмотрим блок выбрать станокна рис. 17-1. Его свободно можно считать тривиальной функцией, потому что рабочие пре­красно знают, какой станок больше подходит для определенного рода обработки металла. Поэтому этот "тривиальный" блок не следует декомпози­ровать, чтобы не обидеть рабочих. Разумно избе­гать декомпозиции тривиальных блоков, особен­но в организациях, имеющих доступ к государ­ственным секретам. В таких случаях декомпози­ция определенных блоков может принести боль­ше вреда, чем пользы. Тривиальные функции лучше всего описываются небольшим объемом текста.

Следует заметить, что "тривиальный" не означает "бесполезный". Тривиальные функции выполняют очень важную роль, поясняя работу более сложных функций, а иногда и соединяя вместе основные подсистемы. Поэтому при ана­лизе не следует пропускать тривиальные функ­ции. Наоборот, их существование должно быть зафиксировано и они должны быть детализиро­ваны, как и любые другие функции. Однако мы хотим предостеречь читателя от больших затрат времени на анализ тривиальных функций систе­мы. Усиленное внимание к мелочам может при­вести к созданию модели, которой будет недоста­вать абстракции, что сделает ее трудной для по­нимания и использования.

Соседние файлы в папке Методология SADT