Достоинства и недостатки процедурных систем

Каковы достоинства процедурной системы?

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

- Во-вторых, как только появляется возможность формализовать предписание, управляющее работой системы, человека можно сразу же заменять автоматом (как, например, автоматическая проверка диска в Windows).

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

Недостатки процедурной системы.

- Один из них уже упоминался: подавление инициативы. Кроме всего прочего, человеку может быть некомфортно работать в условиях, когда по своей воле он ничего ровным счетом сделать не в состоянии.

- К тому же подмена знаний о внутреннем устройстве системы легендой влечет за собой необратимость всякого воздействия: (к примеру, команды вставка и удаление) - после их поочередного применения исходный объект уже не получится. Скорее всего, он будет нести в себе следы прежнего объекта, а также и "прямого", и "обратного" изменений. Тут-то и приходит на помощь кнопочка Undo, которая не оперирует обратным воздействием, а работает с архивом версий объекта, выбирая оттуда предыдущую его копию.

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

- Наконец, чем дальше задача от типовой (для которой имеется готовое решение), тем сложнее ее такой системе решить и тем сложнее предсказать качество продукта, который получится в результате использования не вполне подходящих процедур.

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

Идеальной была бы такая процедурная система, в которой интерфейс был бы нагляден, набор готовых решений охватывал бы все мыслимые задачи, и не было бы понятно, как на самом деле все устроено. Словом, система должна быть очень большой, у всех ее частей должен быть один разработчик и она сама должна "понимать", что человеку нужно, предлагая в разных ситуациях воспользоваться той или иной своей частью.

В завершении рассмотрения философии операционных систем приведем таблицу, в которой сравниваются проективные и процедурные ОС. (*** слайд 44).

 
Проективная ОС Процедурная ОС
Информационная открытость
  • Вся информация должна быть доступна
  • Без документации пользоваться системой нельзя
  • Открытые исходные тексты программ
  • Необходимо осваивать
Ограниченная осведомленность
  • «Меньше знаешь – крепче спишь»
  • Дополнительная информация бесполезна
  • Торговля информацией
  • Можно немедленно приступать к работе
Минимизация затрат
  • Решение мыслительных задач
  • Ориентация на профессионала
Гарантированные навыки
  • Выполнение простых действий
  • Ориентация на новичка
Умопостижимость контекста
  • Среда постановки и решения задач
  • «Читабельность» и «понимаемость»
Перекрытие процедур
  • Комбинация решений типовых подзадач
  • Подстройка задачи под решение
Персональная ответственность
  • Медленная, но управляемая «сходимость» чернового решения к «идеальному»
  • «Захотел – получил»
  • Творческий подход
Делегирование ответственности
  • Необратимость изменений (возможно, скрытых)
  • «Вы действительно хотите отменить последнюю отмену?»
  • Производственный подход
Инструментарии
  • Активность человека, можно самому построить новое решение или переделать чужое
Готовые решения
  • Активность среды, «мастера»

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

Так что оставим процедурный подход в стороне и займемся системами проективными. С ними дело обстоит иначе: они как раз требуют изучения; информационная поддержка - неотъемлемая их часть, и без этого с ними работать невозможно. В качестве примера проективной системы возьмем операционную систему UNIX со всеми достоинствами и недостатками, проистекающими из ее проективности. Мы будем рассматривать UNIX в первую очередь с точки зрения пользователя, т. е. изучать, что представляет собой UNIX как операционная система (операционная среда - термин для пользователя).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: