ЧЕЛОВЕЧЕСКИЙ ФАКТОР

ЭКРАННЫЕ ТЕРМИНАЛЫ

Альтернативные способы представления сложной информации

До сих пор обсуждение проблемы документирования програм­много обеспечения было связано с документами на естественном языке. Обычный текст не является, однако, единственно возмож­ной формой представления спецификаций систем и программ, равно как и проектных решений. Для тех же целей успешно ис­пользуются и многие иные формы, дополняющие или заменяю­щие собой текстовое представление. Ниже будет кратко описан достаточно характерный набор таких документов. Язык проектирования программ. Этот язык, часто называемый структурированным английским, есть не что иное, как сокращен­ная форма обычного языка, удобная для описания работы про­грамм. Язык проектирования программ PDL базируется на уп­равляющих конструкциях типа IF... THEN и DO... ENDDO [5]. Однако в настоящее время существует множество вариан­тов этого языка, так как указанный принцип его построения легко применим в структуре многих других языков программи­рования.

PDL весьма полезен уже по той простой причине, что он одинаково удобен для представления проектных решений как в рамках технического проекта, так и в рамках рабочего проек­тирования. Он в равной степени подходит и к методам структур­ной декомпозиции, и к методам пошаговой детализации (рис. 5 2).

Блок-схемы. Блок-схема — удобное графическое средство пред­ставления управляющих структур, при использовании которого информация о процессах, выбираемых решениях, аппаратуре, начальных и конечных точках представляется стандартным на-

Стратегия обработки накладных

Если сумма по накладной превышает 500 долл,

Если на счету имеются накладные, просроченные более чем иа 60 дней,

Задержать оформление до погашения долга Иначе (счет в порядке) выдать подтверждение и накладную Иначе (накладная на 500 и менее долл),

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

Рис. 5 2. Задача, выраженная на языке проектирования программ [7]. (Пе­репечатано с разрешения) Copyright © 1978, 1979 By Yourdon Inc

Бором символов. Символы соединяются стрелками, показываю­щими порядок выполнения операций, которые реализуются по очереди, начиная с верха страницы. На рис. 5.3 показана блок - схема для примера, отображенного на рис 5 2. Диаграммы Несси — Шнейдермана. Диаграмма Несси — Шней­дермана [24] представляет собой изобразительное средство, альтернативное блок-схеме. Внутри прямоугольной рамки быва­ет полностью заключен один целостный процесс. «Начинка» это­го прямоугольника служит для указания иерархических связей между блоками программы. Существуют три основных элемен­та диаграмм Несси — Шнейдермана:

1.Обычный прямоугольник используется для представления операции присваивания, например 1 = 1+1

2. Прямоугольник, поделенный на три треугольника, соответ­ствует блоку принятия решения по типу «Да — Нет» или «Исти­на (Т)—Ложь (F)».

ЭКРАННЫЕ ТЕРМИНАЛЫ

Рис 5 3. Блок-схема для задачи, показанной иа рис. 5.2.

3. Прямоугольник, заключенный внутри большего прямо­угольника и расположенный в нижнем правом углу, обозначает процедуру повторения, т. е. итерацию (рис. 5.4). На рис. 5 5 по­казана схема Несси — Шнейдермана для примера на рис. 5.2. Таблица решений. Таблица решений — это специальное средст­во представления сложных логических связей [23, 29]. Основу таблицы составляет перечень исходных условий. В клетках таблицы отмечается наличие или отсутствие действия для каж­дого условия (рис. 5.6).

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

Повторить для I=)~N

STORE STORE+1

Выполнения алгоритма; в таблице решений невозможно пока­зать эти изменения [10].

Дерево решений. Дерево решений —это альтернативный способ представления информации, содержащейся в таблице решений (рис. 5.7).

Рис. 5.4. Итерация на диаграмме Несси — Шнейдермана.

Схемы информационных потоков. Это графическое средство предназначено для представления потоков данных в системе. Оно является одним из средств реализации структурно-аналити­ческого подхода, рекомендованного ДеМарко [7], и содержит четыре основных элемента:

Сумма по накладной

> 500 долл. ^^

— Нет

^N^Просрочка плате - у/ М > 60 ^^ Ідней

Да / Hem

~*^Просрочка плате - ^s жа > 60

— дней у Да Нет

Задержать

Дать подтвержде­ние

Сделать запись в отчете

Оформление

Оформить накладную

Дать подтверждение

Оформить накладную

Возврат

Рис. 5.5. Диаграмма Несси — Шнейдермана для задачи, показанной на рис. 5.2.

1) круги, или «пузырьки», — обозначают процессы;

2) векторы — обозначают потоки данных;

3) прямые линии — представляют файлы;

4) прямоугольники — показывают внешние источники и при­емники (стоки) информации (рис. 5.8).

Схемы информационных потоков отличаются от обычных блок-схем тем, что информация об инициировании того или ино­го процесса и последовательности операций внутри его не да­ется. Тем не менее такие схемы полезны для контроля правиль­ности представляемой информации, поскольку отображают си­стему почти так, как ее видит пользователь [7J. Представления в виде НІРО-диаграмм. Диаграмма HIPO (Hierarchy Plus Input, Process, Output)—это форма графиче­ского представления отношений между процессами в рамках

Условия

Правила

1

2

3

4

1. Накладная >500 долл.

Д

Н

Д

Н

2 Просрочка более 60 дней

Д

Д

Н

Н

Действия

1. Выдать подтверждение

Н

Д

Д

Д

2. Выдать накладную

Н

Д

Д

Д

3 Запись в отчет

Н

Д

Н

Н

Рнс. 5.6. Таблица решений [7]. (Перепечано с разрешения.) Copyright © 1978, 1979 By Yourdon Inc.

Системы и способ описания их входов и выходов [38]. Каждо­му системному процессу в НІРО-диаграмме соответствует свой нумерованный блок и индивидуальное имя, указываемые в на­глядном оглавлении (рис. 5.9), а далее каждый отдельный про­цесс описывается с помощью схемы НІРО (рис. 5.10).

Сопутствующие исследования

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

. 1. Задержать оформление до погашения долга

_ 2 Видать подтверждение и накладную

Просрочка пла - . тема?60 дней

Сумма по накладной >500 доля

Счет в порядке

Вдрадотка накладных


Выдать

Подтверждение И накладную, сделать запись 8 отчете о кредит­ных операциях

Просрочка пла*^ Тчжа^днеИ"

Сумма по накладной. ■■ 500 долл.

Счет в порядке

. 4. Выдать подтверждение и накладную


ЭКРАННЫЕ ТЕРМИНАЛЫ

Рис. 5.7. Дерево решений [7]. (Перепечатано с разрешения.) Copyright © 1978, 1979 By Yourdon Inc.

V

Данные для аннулирования

Подтверждение

Файл клиентов

Файл семинаров

Файл клиентов Файл семинаров Файл платежей

/

Отмена

Деловое сообщение

Рис. 5.8. Схема информационных потоков [7]. (Перепечатано с разрешения.)

К трудным задачам была выявлена у древовидных схем. В ана­логичном исследовании [3] изучались в сравнении блок-схемы и короткие предложения как альтернативные способы представ­ления инструкций, выдаваемых на пульт управления. Для лег­ких задач участники эксперимента успешно использовали лю­бую форму представления, однако при решении сложных задач блок-схемы приводили к меньшему числу ошибок.

Кэммен [13] провел сравнение эффективности повествова­тельных описаний и двух разновидностей блок-схем в качестве средства представления инструкций, касающихся процедуры

ЭКРАННЫЕ ТЕРМИНАЛЫ

Рис. 5.9. Наглядное оглавление.

Z.0 Аннулирование Вход Процесс Выход

ЭКРАННЫЕ ТЕРМИНАЛЫ

Рис. 5.10. Диаграмма HIPO.

Набора телефонного номера. При этом в двух группах испытуе­мых, одна из которых состояла из домохозяек, а другая — из технических специалистов, блок-схемы оказались более эффек­тивными в плане обеспечения четкого соблюдения требуемой процедуры.

Миллер [21] предлагал неопытным пользователям ЭВМ, в роли которых выступали студенты, описать процедуру поиска информации в картотеке. Полученные в результате повествова­тельные инструкции были нечеткими, поскольку содержали мно­жество ссылок по контексту, а наличие предлогов в описании затрудняло определение объектов, к которым производилась отсылка. Отсюда автор сделал вывод, что использование слож­ных процедурных указаний оказывается весьма затруднитель­ным в условиях, которые не обеспечивают надлежащей структу­ризации самой проблемы и способов ее решения. Он высказал предположение, что применительно к реализации программируе­мых инструкций всегда более полезно использование некоторого подмножества естественного языка.

Проводились также исследования эффективности разнооб­разных форм программной документации. В частности, был про­веден эксперимент [30], в котором студентам старших курсов факультета вычислительной техники предлагалось представить свои проекты либо в форме блок-схем, либо на языке проекти­рования программ PDL. Хотя экспериментаторы не обнаружили существенных различий в качестве реализации проектируемых программ, по их мнению, проекты, выраженные на языке PDL, более высокого качества, чем проекты на языке блок-схем, так как первые содержат больше процедурных под­робностей.

Известен также целый ряд экспериментов, ориентированных на сравнительный анализ совокупности задач программирова­ния (постановка проблемы, кодирование, отладка и модифика­ция программ), решаемых с использованием четырех типов символического представления (естественного языка, подмноже­ства естественного языка, языка PDL и блок-схем) и трех вари­антов пространственных структур (горизонтальный или верти­кальный поток, разветвленная блок-схема и иерархическая дре­вовидная схема), что дало в сумме 12 типов форматов специфи­каций [31, 33]. В этих экспериментах со всей очевидностью проявились различия в эффективности всех четырех типов символики. Наихудшим качеством обладали естественноязыко­вые спецификации, выполненные с использованием языка PDL. Разница в эффективности проверявшихся пространственных структур была менее явной, однако разветвленные блок-схемы существенно превосходили все другие структуры в части умень­шения числа ошибок реализации алгоритма. Хорошую эффек­тивность продемонстрировали последовательные и разветвлен­ные информационные структуры на базе языка PDL, так как в обоих случаях удавалось получить сжатые формы четкого описания алгоритмических структур.

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

ЧЕЛОВЕЧЕСКИЙ ФАКТОР

Этапы проектирования программного обеспечения интерфейса человек — ЭВМ

Проектирование качественного программного обеспечения ин­терфейса человек —ЭВМ не является жестким, статическим процессом. Характер и содержание каждого интерфейса варьи­руются в соответствии с конкретной областью его использова­ния, и в группах разработчиков часто …

Оценка эффективности человеко-машинных систем

Существует целый ряд общих методов оценки эффективности для различных уровней характеристик человеко-машинных сис­тем, однако оценка эффективности распознавания речи в слож­ней задаче управления, связанной с отображением информации, представляется задачей более трудной …

Потребность в документации

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

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия
+38 050 512 11 94 — гл. инженер-менеджер (продажи всего оборудования)

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Оперативная связь

Укажите свой телефон или адрес эл. почты — наш менеджер перезвонит Вам в удобное для Вас время.