Проверка информационного согласования выявила, что действие 2 не может быть ранее действия 1 из соображений экономии газа. Чайник нельзя ставить на конфорку до зажигания газа из-за опасности закопчения донышка копотью спички. Аналогично проверялась последовательность остальных действий.
Действие 1 может быть декомпозировано еще одной ЦЕПОЧКОЙ СЛЕДОВАНИЙ, изображенной на рис. 5.11.
Рис. 5.8. Первоначальный вид листа 5
Рис. 5.9. Вид листа 5 после предварительного выявления сути действий
Действие 1 "Заполнение чайника водой" может быть декомпозировано еще одной ЦЕПОЧКОЙ СЛЕДОВАНИЙ, изображенной на рис. 5.11.
Действие 4 "Наполнение чайника водой", показанное на рис. 5.11, декомпозируется ПОВТОРЕНИЕМ, представленным на рис. 5.12.
Рис. 5.10. Окончательный вид листа
Декомпозиция цепочкой СЛЕДОВАНИЙ действия "Анализ процесса заполнения чайника на форс-мажорные обстоятельства" представлена на рис. 5.13.
Рис. 5.11. Детализация СЛЕДОВАНИЯ "Заполнение чайника водой", выявленного на рис. 5.10
Действие "Форс-мажорное завершение инструкции" представляет цепочку СЛЕДОВАНИЙ, показанной на рис. 5.14. Обратим внимание на то, что выходная информация аварийного завершения инструкции определяется входной информацией всей инструкции (см. рис. 5.7).
Рис. 5.12. Декомпозия ПОВТОРЕНИЕМ действия 4 "Наполнение чайника водой" (см. рис. 5.11)
Рис. 5.13. Декомпозиция ЦЕПОЧКОЙ СЛЕДОВАНИЙ действия "Анализа процесса заполнения чайника на форс-мажорные обстоятельства" (см. рис. 5.12)
Рис. 5.14. Декомпозиция действия "Форс-мажорное завершение инструкции" представляет цепочку СЛЕДОВАНИЙ
Действие 2 (см. рис. 5.10) "зажигание газовой горелки" декомпозируется циклом: пока не зажглась конфорка или не выявлены форс-мажорные обстоятельства, многократно выполнять действие "Зажигание конфорки". Дальнейшее развитие алгоритма позволило выявить структуры, изложенные далее.
Действие (СЛЕДОВАНИЕ) "Зажигание конфорки" представляет собой ЦЕПОЧКУ СЛЕДОВАНИЙ: "Зажигание спички", "Включение газа", "Поджигание газа", "Отключение газа при неудаче", "тушение спички", "выбрасывание спички". Форс-мажорными обстоятельствами является отсутствие газа или окончание спичек. Им соответствует логическая переменная.
Действие (СЛЕДОВАНИЕ) "Отключение газа при неудаче" представляет собой альтернативу: если газ не зажегся, а спичка прогорела, то необходимо закрыть газ.
Здесь выявлена предшествующая недоработка с выходными данными действия 2. Ведь по окончании действия 2 конфорка может быть как включена, так и не включена. Исправить ситуацию можно двумя способами. По первому способу за действием 2 можно вставить простейшую альтернативу с одним действием: если выявлены форс-мажорные обстоятельства, то аварийно завершить инструкцию. Согласно второму способу, действия 3, 4, 5 могут быть представлены одним СЛЕДОВАНИЕМ, внутри которого должна находиться ЦЕПОЧКА АЛЬТЕРНАТИВ последовательного выполнения каждого из прежних действий 3, 4, 5 при условии отсутствия выявления форс-мажорных обстоятельств.
5.6. ПРИМЕР ОПИСАНИЯ ПРОГРАММЫ "РЕДАКТОР ТЕКСТОВ"
Ниже приведен пример описания программы "Редактор текстов", составленный одним из обучаемых. В примере приводится сначала внешняя функциональная спецификация, а затем внутренняя спецификация.
Программа "Редактор текстов" предназначена для создания новых и корректировки существующих текстовых файлов MS DOS в диалоговом (пользователь-ЭВМ) режиме работы. ЭВМ формирует экран с окном, в котором отображен участок текста из текстового файла (макет экрана соответствует внутреннему редактору программы Norton Commander). Пользователю обеспечивается возможность вставки в текст в окне экрана любого символа клавиатуры за символом, отмеченным на экране курсором. Исключение составляет ряд символов, которые являются признаками команд управления или незадействованными символами (приводится список символов). После подачи пользователем команды записи все изменения текста, осуществленные пользователем, записываются в файл.
Читать дальше