
- •Составные части технологии программирования (тп). Отличие тп от методологии программирования и программной инженерии.
- •Технология быстрой разработки приложений (rad). Основные принципы и особенности.
- •Иерархия понятий в технологии программирования.
- •Определение понятия «предметная область». В чем заключается принцип концептуализации предметной области.
- •Особенности современных программных систем как объектов разработки. Проблемы разработки сложных программных систем.
- •Общие принципы разработки сложных программных систем. Признаки сложных программных систем.
- •Показатели качества программных систем.
- •Основные подходы к созданию сложных программных систем (структурный и объектный).
- •Структурный подход к разработке программных систем.
- •2) Объектный подход к разработке программных систем.
- •Основные этапы жц: Требования к по.
- •Основные этапы жц: Проектирование по.
- •Основные этапы жц: Конструирование по.
- •Основные этапы жц: Тестирование по.
- •Основные этапы жц: Сопровождение по.
- •1. Технические вопросы:
- •Жизненный цикл (жц) программных систем: определение, стандарты и проблемы.
- •Основные процессы жизненного цикла по.
- •Модель жизненного цикла по: Каскадная модель разработки по.
- •Модель жизненного цикла по: Спиральная модель разработки по.
- •Другие типы моделей жизненного цикла (V-образная, инкрементная, быстрого прототипирования).
- •Модели организации команд: Административная модель. Модель хаоса. Модель открытой архитектуры.
- •Модель проектной группы msf for Agile Software Development: Основные принципы построения команды.
- •Модель проектной группы msf. Ролевые группы и роли.
Основные этапы жц: Конструирование по.
Конструирование ПО – это создание рабочего ПО с привлечением методов верификации, кодирования и тестирования компонентов.
(1) Основы конструирования.
1) Снижение сложности ПО:
Минимизация – определяется ограниченными возможностями исполнителей обрабатывать большие объёмы данных и достигается за счёт конструирования модулей и следования рекомендациям стандарта.
Уменьшение – достигается за счёт создания простого и читабельного кода.
Локализация сложностей конструирования – способ конструирования ПО с использованием объектно-ориентированного подхода, который лимитирует интерфейс объектов, упрощает их взаимодействие и облегчает проверку связей между ними.
2) Предупреждение отклонений от стиля.
При кодировании программы должен быть выдержан лингвистический стиль (именование идентификаторов, отступы и т.п.).
Должен быть выдержан формальный стиль – единообразный подход к определению компонентов системы.
Должен быть выдержан визуальный стиль – требование к унификации интерфейса пользователя.
Основные стандарты, применяемые при конструировании:
Коммуникационные стандарты – стандарты взаимодействия (стандарты форматов документов и стандарты содержания этих документов), например, стандарт СГАУ;
Языки программирования – определяют напрямую средства разработки;
Платформа – стандарты программных интерфейсов для взаимодействия с операционными системами (вызов API-функций);
Инструментальные средства конструирования (среды разработки наподобие Visual Studio).
(2) Управление процессом.
Управление процессом конструирования ПО, которое базируется на модели конструирования, планировании и внесении изменений.
Модель конструирования – это набор операций, последовательность действий и описание результата. Модель конструирования определяется моделями жизненного цикла.
Планирование состоит в определении порядка операций и проверке уровня выполнения задан-ных условий в процессе конструирования ПО.
Изменение связано с ошибками, выявленными путём разного рода проверок и тестирований. Оно проводится с целью сохранения функциональной целостности системы.
(3) Практические соображения.
Включают в себя: методы конструирования ПО, языки программирования, инструментальные средства, различные нотации (лингвистические, формальные и визуальные), процесс кодирования.
При кодировании используются следующие основные техники:
Написание структурированного кода на основании соглашений об именовании объектов и форматировании этого кода.
Использование классов абстрактных типов данных, перечисляемых типов, и т.д.
Обработка ошибочных условий и исключительных ситуаций.
Предотвращение возможных брешей в безопасности ПО.
Документирование кода.
Использование языковых конструкций для обеспечения параллельного доступа к ресурсам.
Тонкая настройка кода.
Тестирование при конструировании:
Модульное тестирование;
Интеграционное тестирование.
Для обеспечения надёжного программного обеспечения на этапе конструирования должны быть заложены возможности повторного использования кода.
Проверка качества конструирования осуществляется с помощью следующих техник:
Разработка с первичностью тестов;
Пошаговое кодирование;
Модульное и интеграционное тестирование;
Отладка (устранение ошибок);
Технические обзоры и оценки;
Статистический анализ найденных ошибок.