Разработка программного модуля. Технологии программирования

Содержание

Слайд 2

09/02/2023 Содержание Порядок разработки программного модуля Структурное программирование Понятие псевдокода ООП

09/02/2023

Содержание

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

Слайд 3

09/02/2023 Общий порядок разработки программного модуля Изучение и проверка спецификации Выбор

09/02/2023

Общий порядок разработки программного модуля

Изучение и проверка спецификации
Выбор языка программирования, алгоритма

и структур данных
Кодирование
Проверка модуля
Компиляция
Слайд 4

09/02/2023 Изучение и проверка спецификации Выполняется смежным контролем – изучением спецификации

09/02/2023

Изучение и проверка спецификации

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

и кодировщиком модуля
Этап предполагает уточнение спецификации и решения задачи
Слайд 5

09/02/2023 Выбор ЯП, алгоритма и структур данных Начинается с выбора алгоритма

09/02/2023

Выбор ЯП, алгоритма и структур данных

Начинается с выбора алгоритма решения задачи
Выделяются

основные сущности и отношения между ними – структуры данных
Анализируются готовые решения в виде библиотек или конструкций языка
Слайд 6

09/02/2023 Кодирование Построение текста программы на выбранном языке Требует использования определенной

09/02/2023

Кодирование

Построение текста программы на выбранном языке
Требует использования определенной дисциплины программирования –

набора правил и устойчивых конструкций
Управляется стандартами кодирования
Слайд 7

09/02/2023 Проверка и компиляция Внутренняя проверка логики модуля и его соответствия

09/02/2023

Проверка и компиляция

Внутренняя проверка логики модуля и его соответствия спецификации
Документирование модуля

в соответствии со стандартами оформления (комментарии, описание входов-выходов и др.)
Компиляция является завершающим этапом для перехода к отладке
Слайд 8

09/02/2023 Структурное программирование Первая систематизированная дисциплина программирования Предложена Дейкстрой в 1975

09/02/2023

Структурное программирование

Первая систематизированная дисциплина программирования
Предложена Дейкстрой в 1975 г.
Программа состоит из

ограниченного множества математических объектов - структур
Слайд 9

09/02/2023 Основные конструкции структурного программирования Следование Ветвление Повторение

09/02/2023

Основные конструкции структурного программирования

Следование

Ветвление

Повторение

Слайд 10

09/02/2023 Преимущества структурного программирования Формализм – все элементы являются математическими объектами

09/02/2023

Преимущества структурного программирования

Формализм – все элементы являются математическими объектами
Для каждой неструктурированной

программы можно построить функционально эквивалентную структурную
Можно доказывать свойства программ
Слайд 11

09/02/2023 Свойства программ Триады Хоара – запись вида {P}S{Q} Сильные условия

09/02/2023

Свойства программ

Триады Хоара – запись вида {P}S{Q}
Сильные условия
{x=1} x := x+3

{x=4}
Слабые условия
{x>0} x := x+3 {x>3}
Доказанные свойства могут использоваться для автоматизированного синтеза программ
Слайд 12

09/02/2023 Расширения структурного программирования Введены в связи с усложнением программ Расширение

09/02/2023

Расширения структурного программирования

Введены в связи с усложнением программ
Расширение 1 – переходы

из тела цикла
Расширение 2 – возврат из функции
Расширение 3 – переход на обработчик исключения
Слайд 13

09/02/2023 Понятие псевдокода Псевдокод – язык и метод построения алгоритма Введен

09/02/2023

Понятие псевдокода

Псевдокод – язык и метод построения алгоритма
Введен вместе с технологией

пошаговой детализации
Позволяет частичную формализацию алгоритма
Основан на конструкциях структурного программирования
Слайд 14

09/02/2023 Конструкции псевдокода Следование: Оператор1; Оператор2 … Ветвление ЕСЛИ условие ТО

09/02/2023

Конструкции псевдокода

Следование:
Оператор1; Оператор2 …
Ветвление
ЕСЛИ условие ТО Оператор1
ИНАЧЕ Оператор2 ВСЕ
Повторение
ПОКА условие ДЕЛАТЬ

Оператор ВСЕ
Слайд 15

09/02/2023 Пример псевдокода Уровень 1 : ПОКА список файлов не пуст

09/02/2023

Пример псевдокода

Уровень 1 :
ПОКА список файлов не пуст ДЕЛАТЬ
обработать файл;
ВСЕ
Уровень 2

:
ПОКА список файлов не пуст ДЕЛАТЬ
открыть файл;
ПОКА есть записи в файле ДЕЛАТЬ
обработать запись;
ВСЕ
закрыть файл;
ВСЕ
Слайд 16

09/02/2023 Достоинства псевдокода Частично формализован – может применяться для автоматизации построения

09/02/2023

Достоинства псевдокода

Частично формализован – может применяться для автоматизации построения кода
Наглядно представляет

алгоритм
Детализируется до уровня основных операторов выбранного языка
Слайд 17

09/02/2023 ООП Построение систем на основе объектов и их классов Включает

09/02/2023

ООП

Построение систем на основе объектов и их классов
Включает в себя стадии:
Анализа

– построения модели предметной области
Дизайна – разработки абстракций для выражения модели
Программирования – реализации дизайна на языке ООП
Слайд 18

09/02/2023 Характеристики ООП Объекты представляют собой сущности реального мира Объекты независимы

09/02/2023

Характеристики ООП

Объекты представляют собой сущности реального мира
Объекты независимы и содержат информацию

о состоянии
Отсутствует разделение данных – объекты общаются через сообщения
Объекты могут быть распределенными и функционировать параллельно
Слайд 19

09/02/2023 Преимущества ООП Простота сопровождения программы из-за инкапсуляции поведения в объекте

09/02/2023

Преимущества ООП

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

отображение модели реального мира в объектное представление
Слайд 20

09/02/2023 Разновидности объектов в ПС Пассивные - фрагмент информационной среды, который

09/02/2023

Разновидности объектов в ПС

Пассивные - фрагмент информационной среды, который способен хранить

разные данные определенного типа (представляющие разные состояния этого объекта) и с которым связан некоторый набор операций (применимых к этому объекту)
Активные - расширение пассивного объекта, в котором фрагмент информационной среды способен также хранить и программные фрагменты, способные находиться в процессе выполнения (в активном состоянии)
Слайд 21

09/02/2023 Особенности ООП Определение требований выражается в описании модельного мира Повышается

09/02/2023

Особенности ООП

Определение требований выражается в описании модельного мира
Повышается роль прототипирования
Расширяется этап

внешнего описания
Для описания ПС используются различные модели
Слайд 22

09/02/2023 Компонентный подход Конструирование программ из готовых компонентов Компонент имеет информационную,

09/02/2023

Компонентный подход

Конструирование программ из готовых компонентов
Компонент имеет информационную, внешнюю и внутреннюю

структуру
Модель эволюции компонентов
Слайд 23

09/02/2023 Отличия ООП и КОП КОП основано на интерфейсах, ООП на

09/02/2023

Отличия ООП и КОП

КОП основано на интерфейсах, ООП на объектах.
КОП

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

09/02/2023 Структура компонента

09/02/2023

Структура компонента

Слайд 25

09/02/2023 Элементы компонента Спецификация компонента – определяет спецификацию программного объекта, описывающую

09/02/2023

Элементы компонента

Спецификация компонента – определяет спецификацию программного объекта, описывающую его

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

09/02/2023 Инфраструктура компонентов Модель компонентов – определяет, что является компонентом и

09/02/2023

Инфраструктура компонентов

Модель компонентов – определяет, что является компонентом и как

создать новый компонент;
Модель соединений – определяет способы и средства соединения компонентов в программах;
Модель развертывания – определяет процесс размещения и интеграции компонентов в среду выполнения.
Слайд 27

09/02/2023 Параллельное программирование Процесс решения задач, в которых в один и

09/02/2023

Параллельное программирование

Процесс решения задач, в которых в один и тот же

момент времени могут выполняться одновременно несколько вычислительных операций
Разработано для решения сложных вычислительных задач
Ориентировано на высокопроизводительные вычислительные системы
Слайд 28

09/02/2023 Модель массового параллелизма

09/02/2023

Модель массового параллелизма

Слайд 29

09/02/2023 Модель главный-подчиненный

09/02/2023

Модель главный-подчиненный

Слайд 30

09/02/2023 Модель равноправного взаимодействия

09/02/2023

Модель равноправного взаимодействия

Слайд 31

09/02/2023 Параллельные платформы Определяют интерфейс взаимодействия и механизмы синхронизации процессов Реализуются

09/02/2023

Параллельные платформы

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

машин на разных уровнях ОС
Примеры: MPI, PVM, OpenMP
Слайд 32

09/02/2023 Агентное программирование Агент – это сущность, которая находится в некоторой

09/02/2023

Агентное программирование

Агент – это сущность, которая находится в некоторой среде. От

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

09/02/2023 Структура агентной платформы

09/02/2023

Структура агентной платформы