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