Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Нисходящее проектирование

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

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

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

 

Отметим, что здесь термин "модуль" употребляется в несколько ином смысле, нежели в языках программирования (например, в ТурбоПаскале). Рассматриваемое здесь понятие модуля правильнее ассоциировать с понятием подпрограммы в языках программирования.

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

 

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

Детальное проектирование требуемой программы представляется в виде следующей схемы иерархии.

 

Модуль первого уровня

A. Выдача формулировки задачи:
Укажите операцию со сводной экзаменационной ведомостью группы:
1. Ввести заново ведомость группы студентов.
2. Добавить сведения о новых студентах.
3. Прочитать сохраненную ведомость группы.
4. Сохранить ведомость.
5. Выдать полную информацию о группе.
6. Подсчитать неудовлетворительные оценки.
7. Найти предмете минимумом неудовлетворительных оценок.
8. Завершить обработку.

B. Запрос номера операции.

C. Выбор операции и исполнение ее с использованием подпрограмм.

D. Повторение пунктов А - С бесконечное число раз

 

Модули второго уровня (подпрограммы, используемые модулем первого уровня)

1,2

3

4

5

6

7

 

2.1 Ввод
сведений в
ведомость

 

 

 

2.2 Чтение ведомости
из файла

 

 

2.3 Запись ведомости
в файл

 

 

2.4 Выдача
сведений
о группе

 

 

2.5 Число неудовлетво-рительных оценок
по всем
предметам

 

 

2.6 Предмет с минимумом
неудовлетво-рительных
оценок

 

Модули третьего уровня (подпрограммы, используемые модулями второго уровня)

 

2.1

2.1

2.2, 2.4

2.5, 2.6

 

3.1 Является введенная строка фамилией?

 

3.2 Содержит ведомость эту фамилию?

 

3.3 Печать ведомости

 

3.4 Число неудовлетворительных оценок по данному предмету

 

Модули четвертого уровня (подпрограммы, используемые модулями третьего уровня)

 

3.3

3.3

4.1. Печать заголовка ведомости

4.2. Печать сведений об
одном студенте




 

Комментарии:


Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru