-
Технология программирования. Основные понятия и определения.
-
Этапы развития технологии программирования.
-
Проблемы развития сложных программных систем.
-
Жизненный цикл программного обеспечения.
-
Этапы разработки программного обеспечения.
-
Эволюция моделей жизненного цикла программного обеспечения.
-
Основные понятия о CASE-технологии.
-
Ускорение разработки программного обеспечения. Технология RAD.
-
Оценка качества процессов создания программного обеспечения.
-
Понятие технологичности программного обеспечения.
-
Модули и их свойства.
-
Сцепление модулей.
-
Связанность модулей.
-
Нисходящая и восходящая разработка программного обеспечения.
-
Структурное программирование.
-
Описание алгоритма с помощью схем, псевдокодов, FLOW – форм, диаграмм Насси – Шнейдермана.
-
Стиль оформления программ. Правила именования объектов программы. Правила оформления модулей. Стиль оформления текстов.
-
Комментарии в программах. Виды комментариев и их расположение.
-
Эффективность и технологичность. Способы экономии памяти. Способы уменьшения времени выполнения.
-
Классификация программных продуктов по функциональному признаку.
-
Основные эксплуатационные требования к программным продуктам.
-
Разработка технического задания.
-
Принципиальные решения начальных этапов проектирования. Выбор архитектуры программного обеспечения. Выбор типа пользовательского интерфейса. Выбор языка программирования. Выбор среды программирования. Выбор или формирование стандартов разработки.
-
Анализ требований и определение спецификаций при структурном подходе.
-
Диаграммы переходов состояний.
-
Функциональные диаграммы.
-
Диаграммы потоков данных.
-
Структуры данных и диаграммы отношений компонентов данных.
-
Разработка структурной и функциональной схем.
-
Анализ требований и определение спецификаций при программного обеспечения при объектном подходе.
-
UML – стандартный язык описания разработки программных продуктов с использованием объектного подхода.
-
Диаграммы вариантов использования.
-
Построение концептуальной модели предметной области.
-
Описание поведения системы. Системные события и операции. Диаграммы последовательностей системы.
-
Диаграммы деятельностей.
-
Разработка структуры программного обеспечения при объектном подходе.
-
Определение отношений между объектами.
-
Диаграммы последовательностей этапа проектирования.
-
Диаграммы кооперации.
-
Уточнение отношений между классами.
-
Интерфейсы в UML.
-
Проектирование классов.
-
Диаграммы состояний объекта.
-
Проектирование методов класса.
-
Компоновка программных компонентов.
-
Проектирование размещения программных компонентов.
-
Разработка пользовательских интерфейсов. Типы пользовательских интерфейсов и этапы их разработки.
-
Пользовательская и программная модели интерфейса.
-
Классификация диалогов и общие принципы их разработки.
-
Формы диалога.
-
Основные компоненты графических пользовательских интерфейсов и их реализация.
-
Тестирование программных продуктов. Виды контроля качества разрабатываемого программного обеспечения. Виды тестирования.
-
Структурное тестирование. Понятия: граф программы, упакованная матрица смежности, область тестовых данных. Способы формирования тестовых наборов данных.
-
Функциональное тестирование.
-
Тестирование модулей и комплексное тестирование. Восходящее и нисходящее тестирование. Комбинированный подход. Критерии завершения тестирования.
-
Отладка программного обеспечения. Классификация ошибок.
-
Методы отладки: метод ручного тестирования, метод индукции, метод дедукции, метод обратного отслеживания.
-
Методы и средства получения дополнительной информации. Отладочный вывод. Интегрированные средства отладки.
-
Общая методика отладки.
-
Составление программной документации. Виды программных документов.
-
Пояснительная записка.
-
Руководство пользователя.
-
Руководство системного программиста.
-
Основные правила оформления программной документации.