5.5. ПРИМЕР РАЗРАБОТКИ ОПИСАНИЯ ПРОЦЕССА "КИПЯЧЕНИЕ ВОДЫ В ЧАЙНИКЕ"
5.5. ПРИМЕР РАЗРАБОТКИ ОПИСАНИЯ ПРОЦЕССА "КИПЯЧЕНИЕ ВОДЫ В ЧАЙНИКЕ"
Ниже показано пошаговое выполнение проектной процедуры на примере разработки описания процесса "Кипячение воды в чайнике". Дополните данное описание наглядными рисунками на листе 1 самостоятельно.
Лист 2. Анализ процесса как одного СЛЕДОВАНИЯ.
Первичное описание сути действия: "Кипячение воды в чайнике".
Выход: Чайник, заполненный кипятком до половины объема, находится на газовой плите. Конфорка выключена.
Вход: Чайник без воды находится на полке. Конфорка выключена. Требуемый объем кипятка — половина чайника.
Окончательное описание сути действия: "Получение чайника, заполненного кипятком до заданного объема".
Работаем с тестами. Из тестов выясняем, что получить кипяток невозможно без воды, спичек и газа. Спички могут закончиться в процессе зажигания газа. Может закончиться вода в процессе заполнения чайника. Также может закончиться газ в магистрали. Принимаем, что выявление данных фактов будет осуществлено в процессе выполнения инструкции, поэтому информацию о наличии спичек, воды и газа исключаем из состава входной информации.
Нами получено СЛЕДОВАНИЕ (рис. 5.7).
Лист 3 — содержит изображение процессов инструкции в наглядной форме. Разработайте его самостоятельно.
Лист 4 — может содержать описание процесса "Получение чайника, заполненного кипятком до заданного объема", выполненное любым доступным способом.
Рис. 5.7. Детализация с применением графического изображения "черного ящика"
Лист 5. Декомпозиция процесса "Получение чайника, заполненного кипятком до заданного объема".
Первоначально на лист переносим информацию предшествующей структуры СЛЕДОВАНИЕ, получаем макет листа, представленный на рис. 5.8.
Далее, исходя из соображений, что для этого процесса необходимо выполнить ряд последовательных действий, получаем макет листа с ЦЕПОЧКОЙ СЛЕДОВАНИЙ, представленный на рис. 5.9.
После детализации каждого из следований, проверки информационной согласованности и уточнения сути следований в цепочке получаем макет листа, изображенный на рис. 5.10.
Проверка информационного согласования выявила, что действие 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 при условии отсутствия выявления форс-мажорных обстоятельств.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Пример: защита процесса и его потоков
Пример: защита процесса и его потоков В документации по функции OpenProcess представлена подробная градация прав доступа, соответствующих самым разнообразным функциям, выполнение которых требует применения дескриптора процесса.Так, значение PROCESS_TERMINATE параметра доступа
Пример кода родительского процесса
Пример кода родительского процесса #include <stdio.h>#include <stdlib.h>#include <string.h>#include <process.h>#include <sys/neutrino.h>#include <sys/netmgr.h>#include <spawn.h>#include <errno.h>#include <unistd.h>#include <sys/wait.h>#include <locale.h>int main(int argc, char **argv) { int nid; // Дескриптор удаленного узла int PChanid; //
Пример кода порожденного процесса
Пример кода порожденного процесса #include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <string.h>#include <process.h>#include <sys/netmgr.h>#include <sys/neutrino.h>#include <errno.h>#include <locale.h>int main(int argc, char **argv) { int nid; // Дескриптор текущего узла int CChanid; // Идентификатор созданного канала int
Отслеживание процесса разработки ПО с принятием корректирующих мер в сравнении с управлением ходом работ
Отслеживание процесса разработки ПО с принятием корректирующих мер в сравнении с управлением ходом работ В разделе «Отслеживание хода проекта и контроль над ним» на втором уровне многие ключевые практики содержат следующие выражения: «…процесс
Пример разработки проекта дома
Пример разработки проекта дома Проектом в программе называется завершенная модель здания или группы зданий, включающая внутреннюю обстановку, элементы окружения (рельеф, объекты экстерьера), настроенное освещение и т. д. В зависимости от требований заказчика
Пример разработки модели одноэтажного коттеджа
Пример разработки модели одноэтажного коттеджа Начать работу необходимо с создания нового проекта. Выполните команду File ? New (Файл ? Новый) или воспользуйтесь комбинацией клавиш Ctrl+N.Переведите систему в метрическую систему измерений (команда меню Design ? Unit of Measure
Пример разработки дизайна комнат
Пример разработки дизайна комнат Программа Professional Home Design – Platinum предназначена скорее для дизайна, чем для построения модели здания, поэтому в качестве примера рассмотрим оформление интерьера двух комнат – кухни и спальни. Примечание С программой поставляются примеры
С защитой от воды
С защитой от воды Автор: Олег ВолошинНечасто бывает, что названия некоторых ноутбуков ассоциируются с прочностью. Серия Panasonic Toughbook - как раз тот самый случай, благо большинство из нас слышало про защищенные модели ноутбуков этой уважаемой фирмы. Посему я чрезвычайно
Съемка движущейся воды
Съемка движущейся воды Воду, как и любое движение, фотографировать сложно. На снимке она то представляется осколками стекла, то размывается и становится похожей на вату. Казалось бы, что тут сложного? Установи длинную выдержку – и получишь эффект движения. Но мягких,
5.6. ПРИМЕР ОПИСАНИЯ ПРОГРАММЫ "РЕДАКТОР ТЕКСТОВ"
5.6. ПРИМЕР ОПИСАНИЯ ПРОГРАММЫ "РЕДАКТОР ТЕКСТОВ" Ниже приведен пример описания программы "Редактор текстов", составленный одним из обучаемых. В примере приводится сначала внешняя функциональная спецификация, а затем внутренняя спецификация.Программа "Редактор текстов"
8.10. ПРИМЕР РЕТРОСПЕКТИВНОЙ РАЗРАБОТКИ ИЕРАРХИИ КЛАССОВ БИБЛИОТЕКИ ВИЗУАЛЬНЫХ КОМПОНЕНТ DELPHI И C++ BUILDER
8.10. ПРИМЕР РЕТРОСПЕКТИВНОЙ РАЗРАБОТКИ ИЕРАРХИИ КЛАССОВ БИБЛИОТЕКИ ВИЗУАЛЬНЫХ КОМПОНЕНТ DELPHI И C++ BUILDER Delphi и C++ Builder представляет собой визуальное средство разработки корпоративных информационных систем. В C++ Builder используется язык объектно-ориентированного