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