
- •1. Технология программирования. Понятие технологии программирования. Методология процедурно-ориентированного программирования. Абстракция и декомпозиция.
- •Абстракция и декомпозиция
- •Технология программирования. Методология объектно-ориентированного программирования. Основные принципы ооп: наследование, инкапсуляция, полиморфизм.
- •Технология программирования. Методология объектно-ориентированного анализа и проектирования.
- •2 Важные вещи:
- •Технология программирования. Методология системного анализа и системного моделирования.
- •2 Важные вещи:
- •6 Документирование по. Ескд, естд, еспд. Основные документы. Техническое задание.
- •7 Документирование по. Основные документы. Программа и методика испытаний. Руководство оператора. Руководство системного программиста. Руководство программиста.
- •Шаблоны (template).
- •Параметризованные функции.
- •Взаимозаменяемость параметризованных функций.
- •Параметризованные классы.
- •Реализация стека.
- •Особенности реализации класса.
- •24 Stl. Контейнеры. Вектор (vector), список (list), дек (deque). Множество (set), словарь (map), стек (stack).
- •Контейнеры.
- •Множество(set)
- •Map(словарь)
- •Стек (адаптивный контейнер).
- •25 Stl. Итераторы. Алгоритмы: поиск, сортировка, суммирование.
- •Алгоритмы
- •26 Stl. Аллокаторы. Функциональные объекты. Строки. Аллокаторы.
- •Функциональные объекты.
- •Строки.
- •27 Uml. Общие сведения. Принципы построения модели сложной системы. Общая структура языка.
- •Общие сведения.
- •Принципы построения сложной системы.
- •Общая структура языка uml.
- •28 Uml. Специфика описания метамодели языка uml. Виды диаграмм.
- •Принципы построения сложной системы:
- •Общая структура языка uml.
- •Специфика описания метамодели языка uml. Виды диаграмм.
- •29 Uml. Базовые отношения: отношение зависимости, отношение ассоциации, отношение обобщения, отношение реализации.
- •30 Uml. Дополнительные отношения: отношение расширения, отношение включения, отношение агрегации, отношение композиции.
- •31 Uml. Диаграмма вариантов использования. Актер, вариант использования, интерфейс, примечание.
- •Принципы построения сложной системы:
- •Общая структура языка uml.
- •32 Uml. Диаграмма классов. Класс, объект, шаблон.
- •Принципы построения сложной системы:
- •Общая структура языка uml.
- •33 Uml. Диаграмма состояний. Автомат, состояние (начальное, конечное, составное, подсостояние: последовательное, параллельное), переход (простой, сложный), синхронизирующие состояния.
- •34 Uml. Диаграмма деятельности. Состояние действия, переходы, дорожки, объекты.
- •35 Uml. Диаграмма последовательности. Объекты, сообщения.
1. Технология программирования. Понятие технологии программирования. Методология процедурно-ориентированного программирования. Абстракция и декомпозиция.
Технология программирования – набор правил, методик и инструментов предопределяющих процесс разработки программного продукта, процесс разработки включает 5 этапов:
Анализ требований к программе.
Проектирование.
Кодирование.
Тестирование.
Документирование.
Все 5 этапов тесно связаны между собой, и их реализация напрямую зависит от выбранной методологии программирования.
Методология программирования
С момента появления 1-х программ (нач.60-х – сер.70-х) не существует каких-либо определенных подходов к процессу разработки ПО. Этот этап называется Rou Your Own.
1. Методология процедурно-ориентированного программирования ПОП.
В середине 70-х Дейкстра (галланд.ученый) предложил идею структурного программирования. Далее идею развили Николас Мирт и Демарто.
В основе структурного программирования лежит представление программы в виде иерархической структуры блоков. С этого момента начинает развиваться методология программирования, которая называется методологией ПОП.
Процедурно-ориентированное программирование - это совокупность принципов, технологий и инструментальных средств для создания программных систем на основе процедурной или алгоритмической организации структуры программного кода (процедуры - методы, функции, программы).
Процедуры содержат последовательность шагов для выполнения, в ходе выполнения программы, любая процедура может быть вызвана из любой точки программы, включая саму процедуру (рекурсивный вызов).
Исходным понятием методологии является понятие алгоритма или процесса, под которым в общем случае понимается некоторое предписание выполнить точно определенную последовательность действий, направленных на достижение заданной цели или решения поставленной задачи.
Basic Fortran
Pascal Pl/1
C
Преимущества:
Возможность повторного использования одного и того же кода из нескольких мест программы, без его копирования.
Легче отследить порядок выполнения программы, чем в случае использования инструкции go to или jump.
Возможность поддержки модульности и структурированности.
Структуризация программного кода – использование отступов в начале каждой строки с целью выделения вложенных циклов, условных операторов, переключателей и т.д. Структуризация позволяет повысить читабельность и понимание кода программы.
int func()
{
int a;
if (a= =10) {
a=a+1;
}
a=a-1;
}
На сегодняшний день структуризация поддерживается всеми инструментальными средствами.
Абстракция и декомпозиция
Абстракция – уход от деталей реализации конкретного множества функций.
Декомпозиция – метод решения одной большой задачи путем разбиения ее на серию меньших подзадач, каждая подзадача должна быть на столько независима, что ее реализация возможно отдельна от других задач. Целью декомпозиции является разделение труда
Процесс декомпозиции напрямую связан с используемой методологией программирования
Декомпозиция в ПОП – это разбиение всей задачи на совокупность процедур и функций.
Декомпозиция в ООП – разбиение всей задачи на совокупность классов и объектов, с соответствующими свойствами и методами.
Декомпозиция в системном анализе и системном моделировании – это разбиение всей задачи на совокупность подсистем.