- •Восходящее и нисходящее программирование
- •1 Методы программирования
- •1.2 Восходящее программирование
- •1.2 Нисходящее программирование
- •Уровень II
- •Управляющая
- •Заглушка 1
- •Заглушка 2
- •1.3 Повышение качества проектирования программ
- •2 Организация выполнения курсовго проекта
- •2.1 Этапы выполнения курсового проекта
- •2.2 Требования к пояснительной записке
- •3 Задания на курсовое проектирование
- •3.1 Числовые задачи
- •3.2 Создание и введение баз данных. Справочники
- •3.3 Контролирующие и обучающие программы
- •3.4 Звукогенерация, графика, движение, мультипликация
- •3.5 Помехоустойчивое кодирование
- •3.7. Игровые задачи
- •3.8. Психологическое тестирование
- •3.8 Моделирование арифметических операций
- •3.9 Олимпиадные задачи
- •Курсовой проект
- •Задание
- •Студент Панова Александра Николаевна группа в-115
- •Разработка алгоритмов кодирования – декодирования двоичных данных кодом с проверкой на четность
- •1 Анализ задания и формулировка задач на проектирование
- •2 Разработка алгоритмов для контроля передачи данных
- •2.1 Кодирование двоичных данных кодом с проверкой на четность
- •2.2 Декодирование данных
- •2.3. Универсальный алгоритм кодирования-декодирования
- •3 Особенности разработки программы
- •4 Инструкция пользователя
- •5 Результаты тестирования
1.2 Нисходящее программирование
Нисходящий подход предполагает проектирование программы “сверху вниз” (top – down programming), когда, на каждом шаге детализации для каждой задачи составляется программа в терминах выделенных в ней подзадач 5, 8. Данный метод применяется при разработке сложных алгоритмов и программ, а также их комплексов.
Для проектирования алгоритма функционирования основной программы определяются видимые “сверху” относительно самостоятельные задачи. Разрабатывается структура основной программы (или программного комплекса), в которой отдельные программные модули (или программы) решают свою задачу. Далее производится детализация алгоритмов решения задач с выделением в них подзадач. В процессе кодирования (программирования) алгоритма программные модули нижнего уровня, для которых еще не спроектированы алгоритмы, заменяются «заглушками» в виде текстовых сообщений.
Таким образом, отладка программного комплекса начинается с основной программы или главного модуля и в любой момент разработки имеется действующий вариант. Тестирование и отладка отдельных программных модулей и комплекса в целом ведется по ходу его проектирования [6, 7].
Одним из средств реализации модульной структуры в языках программирования являются процедуры и функции, каждой из которых отведена роль решения конкретной подзадачи. Для удобства работы рекомендуется их делать небольшими. Это позволит легче модифицировать программные комплексы и эффективнее тестировать. Программный модуль (или подпрограмма) должен решать самостоятельную задачу; иметь собственную спецификацию (формализованное описание свойств, характеристик и функций 9); иметь один вход и один выход; возвращать управление тому программному модулю, который его вызвал.
Проектирование структуры программы удобно выполнять с помощью схем алгоритмов: сначала разработать схему основного алгоритма, а затем уже его программировать и детализировать.
При реализации курсового проекта можно выделить три части:
проектирование графической заставки; решение математических задач; разработка игровой программы. Кроме того, должны выдаваться сведения о разработке, разработчике и меню пользователя, что можно предусмотреть в основной программе.
Р
азработка
программного комплекса начинается с
главной программы. Примером проектирования
такого комплекса является разработка
программы для курсового проекта по
дисциплине «Программирование» в
соответствии со схемой алгоритма
рис.1.1. В ней пока не отражено, сколько
математических задач решается.
Иначе
Рисунок 1.1– Схема основного алгоритма
Пусть задач будет две, тогда структуру проектируемого программного комплекса можно изобразить схемой рис.1.2.
У
ровень
I
Уровень II
Уровень III
Рисунок 1.2 – Схема программного комплекса для курсового проекта
Для тестирования и отладки основной программы необходимо иметь программные модули второго уровня, но так как они еще не спроектированы, то вместо них используются имитаторы – заглушки. Назначение заглушек – это возможность реализации (выполнения) программного модуля верхнего уровня, поэтому они должны быть достаточно простыми (возможно лишь выдавать сообщение о функциях подключаемого в данном месте программного модуля).
Таким образом, при тестировании главного программного модуля, схема отладки программного комплекса преобразуется в вид рис.1.3, т.е. тестируется только управляющая программа, а схема алгоритма для отлаживаемой программы примет вид рис 1.4.
Рисунок 1.3 – Схема отладки программы I уровня
После того, как главный программный модуль “управляющий алгоритм” протестирован и программа для него отлажена, программируется графическая заставка. Программные модули при этом для решения математических задач и игровой программы, по-прежнему, остаются замененными заглушками. В результате на данном этапе схема тестирования преобразуется в рис.1.5,а.
