
- •Экзаменационные вопросы Дисциплина: «Технология разработки программных продуктов»
- •Определение технологии конструирования программного обеспечения. Технология программирования. Программная инженерия.
- •Требования к программному средству.
- •Существенные черты программных средств как сложных систем.
- •Характеристики качества программного изделия.
- •Структура жизненного цикла. Большой жизненный цикл.
- •Структура жизненного цикла. Малый жизненный цикл.
- •Классический жизненный цикл пи. Водопадная модель. Классический жизненный цикл
- •Макетирование.
- •Стратегии конструирования по: инкрементная модель.
- •Стратегии конструирования по: быстрая разработка приложений.
- •Стратегии конструирования по: спиральная модель.
- •Руководство проектом. Планирование расписания работ.
- •Руководство проектом. Ввод, распределение ресурсов, анализ полученного расписания. Ввод и распределение ресурсов для выполнения проекта
- •Анализ полученного расписания
- •Руководство проектом. Контроль за исполнением проекта.
- •Особенности ценообразования программных продуктов.
- •Конструктивная модель стоимости: затратный подход.
- •Конструктивная модель стоимости: рыночный подход.
- •Конструктивная модель стоимости: доходный подход.
- •Проектирование программного изделия. Основные этапы.
- •Системный анализ. Требования при разработке технического задания. Техническое задание
- •Общие положения
- •Содержание разделов технического задания
- •Стадии разработки программ: эскизный проект.
- •Стадии разработки программ: технический проект.
- •Стадии разработки программ: рабочий проект.
- •Виды схем и их особенности.
- •Модульно – иерархическое построение программы. Основные принципы структурной методологии.
- •Типовая структура модуля.
- •Модуль. Виды связности.
- •Модуль. Виды сцепления.
- •Сцепление по управлению
- •Общие правила проектирования программного средства: связь по управлению.
- •Общие правила проектирования программного средства: связь по информации.
- •Стиль программирования
- •Стандарты структурного программирования.
- •Внешнее проектирование модулей.
- •Проектирование и кодирование логики модулей.
- •Проектирование программных средств: разработка архитектуры.
- •Проектирование программных средств: процедурная разработка.
- •Принципы объектно-ориентированного программирования: инкапсуляция.
- •Принципы объектно-ориентированного программирования: полиморфизм.
- •Принципы объектно-ориентированного программирования: наследование.
- •Объектно-ориентированный подход в программировании: области доступности элементов класса.
- •Сущность объектного подхода к разработке программных средств: классы, объекты, методы.
- •Основные принципы создания пользовательского интерфейса.
- •Типичные ошибки разработки интерфейса.
- •Современные компоненты интерфейса пользователя. Размещение информации на экране
- •Выделение элементов интерфейса яркостью
- •Использование цвета при проектировании эргономичного интерфейса
- •Непротиворечивость и стандартизация
- •Тексты и диалоги
- •Средства управления графического интерфейса пользователя.
- •Изображения (Иконки)
- •Ментальная модель пользовательского интерфейса.
- •Модель пользователя.
- •Модель программиста.
- •Основные принципы создания меню. Меню
- •Основные принципы создания меню
- •Предотвращение, обнаружение и исправление ошибок.
- •Обработка ошибок в формах ввода
- •Средства организации и работы с графикой.
- •Файлы проекта Delphi.
- •Структура модуля программы Delphi.
- •Окна программы Delphi.
- •Библиотека визуальных компонентов vcl и ее базовые классы.
- •Управление свойствами визуальных компонент в процессе выполнения.
- •Организация ветвлений при разработке программ.
- •Средства организации и обработки событий.
- •Средства организации и работы с файлами.
- •Подпрограммы работы с файлами
- •Компоненты tOpenDialog и tSaveDialog
- •Средства организации и работы с модулями.
Стандарты структурного программирования.
При проектировании программного средства необходимо руководствоваться стандартам структурного программирования:
Программа должна разделяться на независимые части, называемые модулями.
Модуль – это независимый блок, код которого физически и логически отделен от кода других модулей.
Модуль выполняет только одну логическую функцию.
Размер модуля не должен превышать 100 операторов.
Модуль имеет одну входную и одну выходную точку.
Взаимосвязи между модулями устанавливается по иерархической структуре.
Каждый модуль должен начинаться с комментария, объясняющего его назначение, назначение переменных, передаваемых в модуль и из него, модулей, которые его вызывают, и модулей, которые вызываются из него.
Избегать ненужных меток и использовать оператор go to только для переходов на входную или выходную точку модуля, или вообще не использовать.
Идентификаторы всех переменных и модулей должны быть смысловыми.
Родственные группы идентификаторов должны начинаться с одинакового префикса.
Использовать только стандартные управляющие конструкции (следование, ветвление, цикл).
В одной строке записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие строки записываются с отступами.
Не допускать вложенности операторов if более 3-х уровней.
Избегать использования языковых конструкций с неочевидной семантикой и программистских «трюков».
Внешнее проектирование модулей.
На этом этапе разрабатывается внешнее описание или внешняя спецификация модулей, которая необходима другим модулям, обращающимся к нему.
К внешнему описанию относятся:
Имя модуля.
Функции – описание назначения модуля.
Список параметров: их количество и порядок следования.
Описание входных данных: атрибутов, их формат, размер, единицы измерения, допустимый диапазон значений.
Описание выходных данных:
а) атрибутов, их формат, размер, единицы измерения, допустимый диапазон значений;
б) описание взаимосвязи между входными и выходными данными;
в) определение выходных данных в случае ошибочных входных.
Внешние эффекты. Описание внешних для системы событий, которые происходят при работе модуля: прием запросов, выдача сообщений об ошибках.
Проектирование и кодирование логики модулей.
Проектирование логики модулей – разработка алгоритма модулей.
Кодирование – перевод алгоритма на язык программирования.
Существуют графические и языковые средства описания алгоритма модуля Средства описания алгоритма модуля
Основные конструкции алгоритма |
Графические средства |
Языковые средства |
|
Схемы алгоритмов |
Диаграммы |
Псевдокоды |
|
Следование |
действие
1
действие
1
|
действие
1
действие
1 |
действие
1
действие
1 |
В |
|
|
If <условие> Then <действие1> Else <действие2> |
Цикл |
нет
|
|
While <условие> Do <действие> |
Схема была предложена для документирования программ. В условных графических изображениях отображались объекты и события. Это наиболее распространенная и наглядная форма представления алгоритма.
Преимущества:
простота и наглядность;
универсальность представления алгоритма на любом языке программирования.
Недостатки:
невозможность исполнения программы в такой форме.
Диаграммы. Основной особенностью является то, что для представлена их основной структурой являются прямоугольники (наглядность)
Функциональная область хорошо определена
Неразрешимы произвольные передачи управления
Легко определяются границы локальных и глобальных данных
Легко представлены рекурсивные свойства
Псевдокоды
Действия записываются на естественном языке с использованием кодовых вставок.
Псевдокоды удобны тем, что они могут редактироваться в текстовом редакторе.