Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
30 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
238.50 kB
Просмотров:
66
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Разработка структуры](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img0.jpg)
Содержание слайда: Разработка структуры программы. Модульное программирование.
Отвагин Алексей Владимирович, доцент каф. ЭВМ, к.т.н., а. 505-5
№2 слайд![Содержание Понятие модульного](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img1.jpg)
Содержание слайда: Содержание
Понятие модульного программирования
Основные характеристики модуля
Методы разработки структуры программы
Контроль структуры
№3 слайд![Цель модульного](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img2.jpg)
Содержание слайда: Цель модульного программирования
Упрощение структуры ПС
Отображение архитектуры ПС
Повышение качества разработки
Сокращение пространства поиска ошибок
№4 слайд![Понятие модульного](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img3.jpg)
Содержание слайда: Понятие модульного программирования
Модуль – любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт
Модуль может входить во многие процессы, если он должным образом документирован
Модульное программирование – разработка ПС в виде совокупности модулей
№5 слайд![Процессы модульного](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img4.jpg)
Содержание слайда: Процессы модульного программирования
Разделение – выделение отдельных модулей на основе их характеристик (отношения между элементами, интенсивности взаимодействия и т.д.)
Программирование – разработка модулей индивидуальными программистами или группами (проходит параллельно)
Интеграция – проверка взаимодействия модулей в реальной среде
№6 слайд![Схема модульного](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img5.jpg)
Содержание слайда: Схема модульного программирования
№7 слайд![Схема реализации модуля](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img6.jpg)
Содержание слайда: Схема реализации модуля
№8 слайд![Свойства модулей Являются](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img7.jpg)
Содержание слайда: Свойства модулей
Являются критериями оценки качества модуля
Часто выражаются количественно
Основные свойства:
Размер
Прочность
Сцепление
Рутинность
№9 слайд![Размер модулей Измеряется](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img8.jpg)
Содержание слайда: Размер модулей
Измеряется числом содержащихся операторов или строк (в зависимости от языка)
Маленький модуль – большие потери на документирование
Большой модуль – неудобно изменять и повторно транслировать
№10 слайд![Прочность модулей Определяет](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img9.jpg)
Содержание слайда: Прочность модулей
Определяет меру внутренних связей между элементами модуля
Различают несколько степеней прочности
Прочность по совпадению – модуль, между элементами которого нет осмысленных связей
№11 слайд![Прочность модулей](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img10.jpg)
Содержание слайда: Прочность модулей
Функционально прочный модуль – выполняет одну определенную функцию
Может содержать вспомогательные функции
Рекомендуется к использованию в структурном проектировании
№12 слайд![Прочность модулей](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img11.jpg)
Содержание слайда: Прочность модулей
Информационно прочный модуль – выполняет операции над определенной структурой данных, известной только внутри модуля
Высшая степень прочности
Рекомендуется к использованию в ООП
№13 слайд![Сцепление модулей Определяет](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img12.jpg)
Содержание слайда: Сцепление модулей
Определяет меру зависимости по данным от других модулей и характеризует способ передачи данных
Сцепление по содержимому – прямые ссылки на содержимое другого модуля (константы)
Сцепление по общей области – использование общей области памяти для взаимодействия
Параметрическое сцепление – передача данных или их возврат в виде параметров при обращении
№14 слайд![Рутинность Определяет](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img13.jpg)
Содержание слайда: Рутинность
Определяет независимость модуля от предыстории обращений к нему
Рутинный модуль – эффект обращения зависит только от переданных параметров
Зависящий от предыстории модуль – эффект обращения определяется внутренним состоянием модуля
№15 слайд![Рекомендации по обеспечению](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img14.jpg)
Содержание слайда: Рекомендации по обеспечению рутинности
Желательно использовать только рутинные модули
Зависящие от предыстории модули используются только для обеспечения параметрического сцепления
Зависимости от предыстории должны четко отражаться в спецификации
№16 слайд![Метрики IEEE для оценки](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img15.jpg)
Содержание слайда: Метрики IEEE для оценки модуля
Пусть s – это число отдельных операторов в программе (например, *,+,-)
Пусть v – число отдельных операндов в программе
S – общее число операторов, V – общее число операндов
Оценки:
Предполагаемая длина программы
s*(log S) + v*(log V)
Сложность программы
s*V/(2*v)
№17 слайд![Цикломатическая метрика Пусть](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img16.jpg)
Содержание слайда: Цикломатическая метрика
Пусть N – это число операторов в программе
Пусть E – число переходов между операторами
Цикломатическая сложность: E-N+1
№18 слайд![Разработка структуры](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img17.jpg)
Содержание слайда: Разработка структуры программы
Структура представляется в виде дерева, где каждый модуль может использовать или использоваться другими
Деревья могут иметь сросшиеся ветви
№19 слайд![Пример структуры программы](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img18.jpg)
Содержание слайда: Пример структуры программы
№20 слайд![Спецификация модуля](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img19.jpg)
Содержание слайда: Спецификация модуля
Синтаксическая
Функциональная или семантическая
Представляет модуль законченной единицей
Может быть формализована
№21 слайд![Методы разработки структуры](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img20.jpg)
Содержание слайда: Методы разработки структуры ПС
Определяются направлением и способом обхода дерева
Восходящая и нисходящая разработка
Комбинированный метод
Направленная разработка
№22 слайд![Восходящая разработка](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img21.jpg)
Содержание слайда: Восходящая разработка
Строится структура в виде дерева
Движение начинается от наименьших модулей
Тестирование в том же порядке
Порядок разработки кажется естественным
№23 слайд![Недостатки восходящей](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img22.jpg)
Содержание слайда: Недостатки восходящей разработки
Для программирования модуля не обязательна готовность всех используемых им модулей (можно заменить заглушками)
Часто возникает проблема перепроектирования модулей высшего уровня
Для отладки модуля создается специальный стенд (программа, моделирующая внешнюю среду)
№24 слайд![Нисходящая разработка](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img23.jpg)
Содержание слайда: Нисходящая разработка
Строится структура в виде дерева
Движение начинается от головного модуля
Модуль начинает разрабатываться, если уже готов модуль, обращающийся к нему
Тестирование в том же порядке
№25 слайд![Преимущества нисходящей](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img24.jpg)
Содержание слайда: Преимущества нисходящей разработки
Использование имитаторов или заглушек
Естественное формирование внешней среды
Возможность реализовать сложные тесты
Меньшая вероятность перепроектирования
№26 слайд![Другие подходы Восходящая и](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img25.jpg)
Содержание слайда: Другие подходы
Восходящая и нисходящая разработка – классические подходы, требующие наличия готовой структуры программы
Структура может формироваться в ходе разработки:
Конструктивный подход
Архитектурный подход
№27 слайд![Конструктивный подход](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img26.jpg)
Содержание слайда: Конструктивный подход
Является модификацией нисходящей разработки
Выделяются направления разработки и формируются ветви дерева
Отсутствующие модули и ветви заменяются имитаторами
№28 слайд![Архитектурный подход Является](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img27.jpg)
Содержание слайда: Архитектурный подход
Является модификацией восходящей разработки
Основная цель – повышение уровня языка разработки за счет создания крупных абстракций
Готовые модули параметризуются и допускают повторное использование
№29 слайд![Комбинированный метод сэндвич](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img28.jpg)
Содержание слайда: Комбинированный метод (сэндвич)
Дерево обходят в двух направлениях – сверху и снизу
Сочетает достоинства и недостатки классических подходов
Достаточно широко применяется
№30 слайд![Классификация методов](/documents_5/ef0a9dfb4ffdfb3d663c9be559cc8895/img29.jpg)
Содержание слайда: Классификация методов разработки структуры