Разделы презентаций


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

Содержание

08/13/2019СодержаниеПонятие модульного программированияОсновные характеристики модуляМетоды разработки структуры программыКонтроль структуры

Слайды и текст этой презентации

Слайд 1Разработка структуры программы. Модульное программирование.
Отвагин Алексей Владимирович, доцент каф. ЭВМ,

к.т.н., а. 505-5

Разработка структуры программы. Модульное программирование.Отвагин Алексей Владимирович, доцент каф. ЭВМ, к.т.н., а. 505-5

Слайд 208/13/2019
Содержание
Понятие модульного программирования
Основные характеристики модуля
Методы разработки структуры программы
Контроль структуры

08/13/2019СодержаниеПонятие модульного программированияОсновные характеристики модуляМетоды разработки структуры программыКонтроль структуры

Слайд 308/13/2019
Цель модульного программирования
Упрощение структуры ПС
Отображение архитектуры ПС
Повышение качества разработки
Сокращение пространства

поиска ошибок

08/13/2019Цель модульного программированияУпрощение структуры ПСОтображение архитектуры ПСПовышение качества разработкиСокращение пространства поиска ошибок

Слайд 408/13/2019
Понятие модульного программирования
Модуль – любой фрагмент описания процесса, оформляемый как

самостоятельный программный продукт
Модуль может входить во многие процессы, если он

должным образом документирован
Модульное программирование – разработка ПС в виде совокупности модулей
08/13/2019Понятие модульного программированияМодуль – любой фрагмент описания процесса, оформляемый как самостоятельный программный продуктМодуль может входить во многие

Слайд 508/13/2019
Процессы модульного программирования
Разделение – выделение отдельных модулей на основе их

характеристик (отношения между элементами, интенсивности взаимодействия и т.д.)
Программирование – разработка

модулей индивидуальными программистами или группами (проходит параллельно)
Интеграция – проверка взаимодействия модулей в реальной среде
08/13/2019Процессы модульного программированияРазделение – выделение отдельных модулей на основе их характеристик (отношения между элементами, интенсивности взаимодействия и

Слайд 608/13/2019
Схема модульного программирования

08/13/2019Схема модульного программирования

Слайд 708/13/2019
Схема реализации модуля

08/13/2019Схема реализации модуля

Слайд 808/13/2019
Свойства модулей
Являются критериями оценки качества модуля
Часто выражаются количественно
Основные свойства:
Размер
Прочность
Сцепление
Рутинность

08/13/2019Свойства модулейЯвляются критериями оценки качества модуляЧасто выражаются количественноОсновные свойства:РазмерПрочностьСцеплениеРутинность

Слайд 908/13/2019
Размер модулей
Измеряется числом содержащихся операторов или строк (в зависимости от

языка)
Маленький модуль – большие потери на документирование
Большой модуль – неудобно

изменять и повторно транслировать
08/13/2019Размер модулейИзмеряется числом содержащихся операторов или строк (в зависимости от языка)Маленький модуль – большие потери на документированиеБольшой

Слайд 1008/13/2019
Прочность модулей
Определяет меру внутренних связей между элементами модуля
Различают несколько степеней

прочности
Прочность по совпадению – модуль, между элементами которого нет осмысленных

связей
08/13/2019Прочность модулейОпределяет меру внутренних связей между элементами модуляРазличают несколько степеней прочностиПрочность по совпадению – модуль, между элементами

Слайд 1108/13/2019
Прочность модулей
Функционально прочный модуль – выполняет одну определенную функцию
Может содержать

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

08/13/2019Прочность модулейФункционально прочный модуль – выполняет одну определенную функциюМожет содержать вспомогательные функцииРекомендуется к использованию в структурном проектировании

Слайд 1208/13/2019
Прочность модулей
Информационно прочный модуль – выполняет операции над определенной структурой

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

ООП
08/13/2019Прочность модулейИнформационно прочный модуль – выполняет операции над определенной структурой данных, известной только внутри модуляВысшая степень прочностиРекомендуется

Слайд 1308/13/2019
Сцепление модулей
Определяет меру зависимости по данным от других модулей и

характеризует способ передачи данных
Сцепление по содержимому – прямые ссылки на

содержимое другого модуля (константы)
Сцепление по общей области – использование общей области памяти для взаимодействия
Параметрическое сцепление – передача данных или их возврат в виде параметров при обращении
08/13/2019Сцепление модулейОпределяет меру зависимости по данным от других модулей и характеризует способ передачи данныхСцепление по содержимому –

Слайд 1408/13/2019
Рутинность
Определяет независимость модуля от предыстории обращений к нему
Рутинный модуль –

эффект обращения зависит только от переданных параметров
Зависящий от предыстории модуль

– эффект обращения определяется внутренним состоянием модуля
08/13/2019РутинностьОпределяет независимость модуля от предыстории обращений к немуРутинный модуль – эффект обращения зависит только от переданных параметровЗависящий

Слайд 1508/13/2019
Рекомендации по обеспечению рутинности
Желательно использовать только рутинные модули
Зависящие от предыстории

модули используются только для обеспечения параметрического сцепления
Зависимости от предыстории должны

четко отражаться в спецификации
08/13/2019Рекомендации по обеспечению рутинностиЖелательно использовать только рутинные модулиЗависящие от предыстории модули используются только для обеспечения параметрического сцепленияЗависимости

Слайд 1608/13/2019
Метрики IEEE для оценки модуля
Пусть s – это число отдельных

операторов в программе (например, *,+,-)
Пусть v – число отдельных операндов

в программе
S – общее число операторов, V – общее число операндов
Оценки:
Предполагаемая длина программы
s*(log S) + v*(log V)
Сложность программы
s*V/(2*v)
08/13/2019Метрики IEEE для оценки модуляПусть s – это число отдельных операторов в программе (например, *,+,-)Пусть v –

Слайд 1708/13/2019
Цикломатическая метрика
Пусть N – это число операторов в программе
Пусть E

– число переходов между операторами
Цикломатическая сложность: E-N+1

08/13/2019Цикломатическая метрикаПусть N – это число операторов в программеПусть E – число переходов между операторамиЦикломатическая сложность: E-N+1

Слайд 1808/13/2019
Разработка структуры программы
Структура представляется в виде дерева, где каждый модуль

может использовать или использоваться другими
Деревья могут иметь сросшиеся ветви

08/13/2019Разработка структуры программыСтруктура представляется в виде дерева, где каждый модуль может использовать или использоваться другимиДеревья могут иметь

Слайд 1908/13/2019
Пример структуры программы

08/13/2019Пример структуры программы

Слайд 2008/13/2019
Спецификация модуля
Синтаксическая
Функциональная или семантическая
Представляет модуль законченной единицей
Может быть формализована

08/13/2019Спецификация модуляСинтаксическаяФункциональная или семантическаяПредставляет модуль законченной единицейМожет быть формализована

Слайд 2108/13/2019
Методы разработки структуры ПС
Определяются направлением и способом обхода дерева
Восходящая и

нисходящая разработка
Комбинированный метод
Направленная разработка

08/13/2019Методы разработки структуры ПСОпределяются направлением и способом обхода дереваВосходящая и нисходящая разработкаКомбинированный методНаправленная разработка

Слайд 2208/13/2019
Восходящая разработка
Строится структура в виде дерева
Движение начинается от наименьших модулей
Тестирование

в том же порядке
Порядок разработки кажется естественным

08/13/2019Восходящая разработкаСтроится структура в виде дереваДвижение начинается от наименьших модулейТестирование в том же порядкеПорядок разработки кажется естественным

Слайд 2308/13/2019
Недостатки восходящей разработки
Для программирования модуля не обязательна готовность всех используемых

им модулей (можно заменить заглушками)
Часто возникает проблема перепроектирования модулей высшего

уровня
Для отладки модуля создается специальный стенд (программа, моделирующая внешнюю среду)
08/13/2019Недостатки восходящей разработкиДля программирования модуля не обязательна готовность всех используемых им модулей (можно заменить заглушками)Часто возникает проблема

Слайд 2408/13/2019
Нисходящая разработка
Строится структура в виде дерева
Движение начинается от головного модуля
Модуль

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

том же порядке
08/13/2019Нисходящая разработкаСтроится структура в виде дереваДвижение начинается от головного модуляМодуль начинает разрабатываться, если уже готов модуль, обращающийся

Слайд 2508/13/2019
Преимущества нисходящей разработки
Использование имитаторов или заглушек
Естественное формирование внешней среды
Возможность реализовать

сложные тесты
Меньшая вероятность перепроектирования

08/13/2019Преимущества нисходящей разработкиИспользование имитаторов или заглушекЕстественное формирование внешней средыВозможность реализовать сложные тестыМеньшая вероятность перепроектирования

Слайд 2608/13/2019
Другие подходы
Восходящая и нисходящая разработка – классические подходы, требующие наличия

готовой структуры программы
Структура может формироваться в ходе разработки:
Конструктивный подход
Архитектурный подход

08/13/2019Другие подходыВосходящая и нисходящая разработка – классические подходы, требующие наличия готовой структуры программыСтруктура может формироваться в ходе

Слайд 2708/13/2019
Конструктивный подход
Является модификацией нисходящей разработки
Выделяются направления разработки и формируются ветви

дерева
Отсутствующие модули и ветви заменяются имитаторами

08/13/2019Конструктивный подходЯвляется модификацией нисходящей разработкиВыделяются направления разработки и формируются ветви дереваОтсутствующие модули и ветви заменяются имитаторами

Слайд 2808/13/2019
Архитектурный подход
Является модификацией восходящей разработки
Основная цель – повышение уровня языка

разработки за счет создания крупных абстракций
Готовые модули параметризуются и допускают

повторное использование
08/13/2019Архитектурный подходЯвляется модификацией восходящей разработкиОсновная цель – повышение уровня языка разработки за счет создания крупных абстракцийГотовые модули

Слайд 2908/13/2019
Комбинированный метод (сэндвич)
Дерево обходят в двух направлениях – сверху и

снизу
Сочетает достоинства и недостатки классических подходов
Достаточно широко применяется

08/13/2019Комбинированный метод (сэндвич)Дерево обходят в двух направлениях – сверху и снизуСочетает достоинства и недостатки классических подходовДостаточно широко

Слайд 3008/13/2019
Классификация методов разработки структуры

08/13/2019Классификация методов разработки структуры

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика