- •Базовые принципы разработки программ (их описание)
- •Программный модуль, программный продукт, система, нотация
- •Основные процессы жизненного цикла (определения). Работы, из которых состоит процесс разработки
- •Вспомогательные процессы жизненного цикла. Организационные процессы жизненного цикла
- •Вспомогательные процессы жизненного цикла:
- •Базовые стратегии разработки по
- •Каскадная стратегия разработки программных средств и систем (понятие, достоинства и и недостатки)
- •Инкрементная стратегия разработки программных средств и систем (понятие, достоинства и недостатки)
- •Эволюционная стратегия разработки программных средств и систем (понятие, достоинства и недостатки)
- •Каскадная модель, варианты каскадной модели (рисунок справа)
- •Модели быстрой разработки приложений
- •Базовая модель быстрой разработки приложений. Достоинства, недостатки и области использования rad-моделей
- •Компонентно-ориентированная спиральная модель
- •Категории критериев классификации проектов по разработке программ
- •Стадии применения модели в конкретном проекте
- •Характеристики проекта (для решения задач процесса разработки)
- •Структурное программирование. Концепции структурного программирования
- •Базовые структуры программирования в соответствии с принципом Бома и Джакопини
- •Управляющие конструкции структурного программирования
- •Метод Дамке. Основные конструкции структурного программирования по методу Дамке.
- •Схемы Насси–Шнейдермана (структурограммы)
- •Обозначение конструкций структурированных алгоритмов в схемах Насси–Шнейдермана
- •Модульное проектирование программных средств
- •Признаки модульности программ. Достоинства модульного проектирования. Недостатки модульности
- •Методы нисходящего проектирования: суть метода.
- •Основные классические стратегии, на которых основана реализация метода нисходящего проектирования
- •Пошаговое уточнение. Способы реализации. Преимущества метода
- •Проектирование программных средств с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных. Анализ сообщений
- •Методы восходящего проектирования. Случаи применения.
- •Методы расширения ядра, подходы к реализации метода
- •Метод jsp ДжексонаОсновные конструкции данных метода jsp Джексона. Этапы метода jsp
- •Виды документов для создания структур
- •Создание структуры программы. Этапы создания
- •Связанность модуля. Сцепление модуля
- •Сущность, особенности сущности
- •Основные понятия idef0-модели
- •Синтаксис idef0-диаграмм.Дуги в idef0-моделиВзаимоотношения между блоками в idef0-модели
- •Представление блоков и дуг на диаграмме
- •Основной принципом методологии Варнье–Орра. Базовые конструкции диаграмм Варнье–Орра
- •Способы представления сущностей с атрибутами
- •Графическое представление сущностей. Текстовый способ представления сущностей. Табличный способ представления сущностей
- •Контекстная диаграмма и ее декомпозиция. Стратегии декомпозиции в idef0-модели
- •Методы структурного анализа и проектирования
- •Принципы объектно-ориентированного анализа и проектирования
- •Виды отношений между объектами
- •Виды диаграмм языка uml
- •Язык uml Модели языка uml
- •Уровни моделей языка uml
- •Диаграмма вариантов использования
- •Виды отношений между элементами на диаграммах вариантов использования
- •Технология разработки программ
- •Динамическое программирование
- •Поиск. Поиск в списках Деревья поиска
- •Стратегия распределения памяти Сопрограммы
- •Матричное управление проектом
- •Структура группы выпуска документации
- •Компонент. Характеристики компонента Разновидности компонентов
- •Интерфейс компонента. Компоненты реализации программной системы
- •Компонентная объектная модель com
Управляющие конструкции структурного программирования
Управляющие конструкции:
1) вызовы подпрограмм - любое допустимое на конкретном языке программирования обращение к замкнутой подпрограмме с одним входом н одним выходом;
2) вложенные на произвольную глубину операторы If-Then-Else;
3) циклические операторы (цикл с предусловием).
Расширения данных конструкций:
1) дополнительные конструкции организации цикла:
цикл с параметром
цикл с постусловием,
2) использование оператора Case
3) подпрограммы с несколькими входами или несколькими выходами
Метод Дамке. Основные конструкции структурного программирования по методу Дамке.
О
снован
на идеях нисходящего проектирования.
Основные конструкции структурного
программирования:
1 Функциональный блок, как обычно, обозначается прямоугольником
2. Конструкция If-Then-Else
3. Конструкция цикла с предусловием
4. Конструкция цикла с постусловием
Достоинства метода Дамке:
наглядность
используется при нисходящем проектировании
удобство при коллективной разработке ПС
Схемы Насси–Шнейдермана (структурограммы)
Схемы Нассн-Шнейдермана - это схемы, иллюстрирующие структуру передач управления внутри модуля с помощью вложенных друг в друга блоков (структурограмма)
Ф
ункциональный
блок
Блок следования
Блок решения
Блок выбора
Цикл с предусловием
Цикл с постусловием
Обозначение конструкций структурированных алгоритмов в схемах Насси–Шнейдермана
Диаграмма
Насси — Шнейдермана — это графический
способ представления структурированных
алгоритмов и программ, разработанный
в 1972 году американскими аспирантами
Беном Шнейдерманом и Айзеком Насси. Все
элементы диаграммы Насси — Шнейдермана
имеют прямоугольную форму и различаются
только внутренним содержимым. Простое
действие – прямоугольник с текстом,
Последовательность – последовательность
прямоугольников с текстом, простое
ветвление
,
многовариантный выбор Структура
многовариантного выбора изображается
похоже на структуру простого ветвления,
только основная ветвь и треугольник
над ней делятся на много частей
вертикальными линиями. В верхнем
треугольнике записывается
выражение-переключатель, над ветвями
записываются соответствующие значения
переключателя. Повтор с предусловием
. Повтор с постусловием повтор со
счётчиком Внутренний прямоугольник
рисуется в правой части и не касается
верха и низа внешнего прямоугольника.
Условие цикла записывается сверху.
Модульное проектирование программных средств
Признаки:
1) программа состоит из модулей;
2) модули являются независимыми.
3) условие «один вход - один выход».
Достоинства модульного проектирования:
1) упрощение разработки ПС;
2) исключение чрезмерной детализации обработки данных;
3) упрощение сопровождения ПС;
4) облегчение чтения и понимания программ;
5) облегчение работы с данными, имеющими сложную структуру.
Недостатки модульности:
1) требует большего времени работы центрального процессора (в среднем на 5 - 10 %) за счет време-ни обращения к модулям;
2) модульность программы приводит к увеличению ее объема (в среднем на 5 - 10 %);
3) требует дополнительной работы программиста и определенных навыков проектирования ПС.
