Разработка структуры программы и модульное программирование

Содержание

Слайд 2

7.1. Цель модульного программирования

Обычно программы ПС являются большими системами, поэтому их разрабатывают

7.1. Цель модульного программирования Обычно программы ПС являются большими системами, поэтому их
по частям – модулям.
Программный модуль – это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт.
Каждый программный модуль программируется, компилируется и отлаживается отдельно от других модулей программы.

Слайд 3

7.2. Основные характеристики программного модуля

Майерс предлагает использовать характеристики модуля:
А – размер модуля
Б

7.2. Основные характеристики программного модуля Майерс предлагает использовать характеристики модуля: А –
– прочность модуля
В – сцепление с другими модулями
Г – рутинность модуля

Слайд 4

Характеристики программного модуля
А – размер модуля
Измеряется числом содержащихся в нем операторов или

Характеристики программного модуля А – размер модуля Измеряется числом содержащихся в нем
строк.
//Рекомендуются программные модули размером от нескольких десятков до нескольких сотен операторов.
Б – прочность модуля – это мера его внутренних связей
Чем выше прочность модуля, тем больше связей он может спрятать от внешней по отношению к нему части программы, и, следовательно, тем больший вклад в упрощение программы он может внести.

Слайд 5

Характеристики программного модуля
Майерс предлагает упорядоченный по степени прочности набор из 7 классов

Характеристики программного модуля Майерс предлагает упорядоченный по степени прочности набор из 7
модулей:
Самая слабая степень прочности – у модуля «прочного по совпадению». Это такой модуль, между элементами которого нет осмысленных связей. Использовать не рекомендуется.
2-5) не рекомендуется
6) Функционально прочный модуль – модуль, выполняющий одну какую-либо определенную функции.
7) Информационно-прочный модуль – выполняется несколько операций или функций над одной и той же структурой данных (информационным объектом). Для каждой из этих операций в таком модуле имеется свой вход со своей формой обращения к нему. Такой модуль является модулем с наивысшей степенью прочности.

Слайд 6

Характеристики программного модуля
В – сцепление с другими модулями
Это мера его зависимости по

Характеристики программного модуля В – сцепление с другими модулями Это мера его
данным от других модулей. Характеризуется способом передачи данных.
Виды сцепления модулей:
Сцепление по содержимому – худший вариант
(один из модулей имеет прямые ссылки на содержимое другого модуля: например, на константу, содержащуюся в другом модуле; такое сцепление модулей недопустимо)
Сцепление по общей области
(не сколько модулей используют одну и ту же область памяти, не рекомендуется)
Параметрическое сцепление
(данные передаются модулю либо при обращении к нему как значения его параметров, либо как результат его обращения к другому модулю для вычисления некоторой функции).

Слайд 7

Характеристики программного модуля
Г – рутинность модуля – это его независимость от предыстории

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

Слайд 8

7.3. Методы разработки структуры программы

В качестве модульной структуры программы принято использовать древовидную

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

Слайд 9

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

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

Слайд 10

В процессе разработки программы ее модульная структура может по-разному формироваться и использоваться

В процессе разработки программы ее модульная структура может по-разному формироваться и использоваться
для определения порядка программирования и отладки и отладки модулей, указанных в структуре ПС.
Метод восходящей разработки
1. Строится модульная структура программы в виде дерева.
2. Поочередно программируются модули программы, начиная с модулей самого нижнего уровня (листья) таким образом, чтобы для каждого программируемого модуля были уже запрограммированы все модули, к которым он может обращаться.

Слайд 11

Метод нисходящей разработки
1. Строится модульная структура программы в виде дерева.
2. Поочередно программируются

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

Слайд 12

Особенность данных методов – требование, чтобы модульная структура программы была разработана до

Особенность данных методов – требование, чтобы модульная структура программы была разработана до
начала программирования модулей.
Это требование находится в полном соответствии с водопадным подходом к разработке ПС.
Недостатки: не всегда можно разработать структуру программы до начала программирования.

Слайд 13

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

Поэтому предлагаются конструктивный и архитектурный подходы к разработке программ, в которых модульная
структура формируется в процессе программирования модулей.
Конструктивный подход представляет собой модификацию нисходящей, при которой модульная древовидная структура программы формируется в процессе программирования модулей.
Разработка программы начинается с программирования головного модуля, исходя из спецификации программы в целом.
Если программа большая, то выделяют подзадачи.
Таким образом, на первом шаге разработки формируется верхняя часть дерева (рисунок 1.

Слайд 14

Рисунок 1. Первый шаг формирования модульной структуры программы
при конструктивном подходе.
7.1.

Рисунок 1. Первый шаг формирования модульной структуры программы при конструктивном подходе. 7.1.

Слайд 15

Аналогичные действия производятся при программировании любого другого модуля, который выбирается из текущего

Аналогичные действия производятся при программировании любого другого модуля, который выбирается из текущего
состояния дерева программы.
Рис.7.2. Второй шаг формирования
модульной структуры программы
при конструктивном подходе

Слайд 16

Архитектурный подход к разработке программы представляет собой модификацию восходящей разработки, при которой

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

Слайд 17

Рис.7.3. Классификация методов разработки структуры программ

Рис.7.3. Классификация методов разработки структуры программ
Имя файла: Разработка-структуры-программы-и-модульное-программирование.pptx
Количество просмотров: 76
Количество скачиваний: 2