- •Вопросы трпп экз
- •1Основные понятия и определения программных продуктов.
- •2Классификация программных продуктов.
- •3Особенности создания программного продукта.
- •4Понятие и основные модели жизненного цикла программного продукта. Понятие модели жизненного цикла разработки программного продукта.
- •1.3.4. Обзор существующих моделей Модели жизненного цикла разработки программного продукта
- •5Процессы жизненного цикла программного продукта.
- •6Каскадная модель жизненного цикла программного продукта. Ее достоинство и недостатки. Каскадная модель жизненного цикла разработки по
- •7. Модель быстрой разработки приложений (rao-модель), область применения, достоинства и недостатки.
- •8Спиральная модель жизненного цикла программного продукта, ее достоинства и недостатки. Спиральная модель жизненного цикла разработки по
- •9Модель зрелости компании cmm.
- •10. Система стандартов iso 9001.
- •11Роль метрик в процессе разработки программного продукта
- •12Размерно-ориентированные метрики
- •13Функционально-ориентированные метрики
- •14Планирование работ по созданию программного продукта
- •Другие задачи проектирования
- •Составление временного графика выполнения пп
- •15Основные принципы структурного подхода к программированию
- •16Основные принципы объектно-ориентированного проектирования программных продуктов.
- •17Этап разработки программного продукта. Модульное тестирование.
- •1.1. Основные этапы технологического процесса разработки программ.
- •18Модульное программирование. Сущность. Основные характеристики.
- •19 Разработка справочной системы программного продукта.
- •20. Разработка дистрибутивов и управление версиями программного продукта. Разработка дистрибутивов и управление версиями программного продукта
- •Управление созданием версий и поставками пп.
- •Идентификация версий.
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •21Общая характеристика этапа тестирования программного продукта. Цикл тестирования.
- •Модульное тестирование
- •22Программные ошибки. Категории программных ошибок.
- •23Методы борьбы с ошибками по.
- •24Основные принципы разработки тестов для программных продуктов
- •25Сопровождение программных продуктов.
- •26Управление поставками программных продуктов. Общие сведения об управлении поставками
- •Классификация поставляемых программных продуктов
- •Классификация доставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •27Основные понятия о надежности программного продукта и методах ее обеспечения.
- •28Инструментальные средства разработки программных продуктов.
- •29Защита программных продуктов от несанкционированного использования.
- •30Правовые методы защиты пп.
- •31Криптографические методы защиты информации.
- •32Аппаратная защита программного обеспечения.
- •1. Драйвер ключа.
- •2. Встраиваемый модуль.
- •3. Реализация.
- •34Принципы, виды и методы отладки программных продуктов.
- •Комплексная отладка программного средства.
- •Программные ошибки. Категории программных ошибок
- •Наиболее распространенные категории программных ошибок:
- •35Эффективность и оптимизация программ.
- •Обеспечение качества программного продукта
- •36Коллективная разработка программных средств.
- •Ролевой состав коллектива разработчиков, взаимодействие между ролями в различных технологических процессах
Программные ошибки. Категории программных ошибок
Программная ошибка — это расхождение между программой и ее спецификацией, причем тогда и только тогда, когда спецификация существует и она правильна;
Программная ошибка — это ситуация, когда программа не делает того, чего пользователь от нее вполне обоснованно ожидает.
Наиболее распространенные категории программных ошибок:
Функциональные недостатки. Данные недостатки присущи программе, если она не делает того, что должна; выполняет одну из своих функций плохо или не полностью.
Недостатки пользовательского интерфейса. Оценить удобство и правильность работы пользовательского интерфейса можно только в процессе работы с ним. Желательно, чтобы в этой работе принимал участие сам пользователь. Этого можно добиться с помощью разработки прототипа ПП, на котором проводятся обкатка и согласование всех требований к пользовательскому интерфейсу с дальнейшей фиксацией их в спецификации требований.
Недостаточная производительность. При разработке некоторого ПП очень важной его характеристикой может оказаться скорость работы, иногда этот критерий задается в требованиях заказчика к ПП. Плохо, если у пользователя создается впечатление, что программа работает медленно, особенно если конкурирующие программы работают ощутимо быстрее, но еще хуже, если программа не удовлетворяет заданным в спецификации требований характеристикам. Это уже ошибка, которая должна быть устранена.
Некорректная обработка ошибок. Процедуры обработки ошибок — очень важная часть программы. Правильно определив ошибку, программа должна выдать о ней сообщение. Отсутствие такого сообщения является ошибкой в работе программы.
Некорректная обработка граничных условий. Существует много различных граничных ситуаций. Любой аспект работы программы, к которому применимы понятия «больше» или «меньше», «раньше» или «позже», «первый» или «последний», «короче» или «длиннее», обязательно должен быть проверен на границах диапазона.
Ошибки вычислений. К ошибкам вычислений относятся ошибки, вызванные неправильным выбором алгоритма вычислений, неправильными формулами, формулами, неприменимыми к обрабатываемым данным.
Ошибки управления потоком. По логике работы программы вслед за первым действием должно быть выполнено второе. Если вместо этого выполняется третье или четвертое действие, значит, в управлении потоком допущена ошибка.
Ситуация гонок. Предположим, в системе ожидаются два события: А и Б. Если первым наступит событие А, то выполнение программы продолжится, а если событие Б, то в работе программы произойдет сбой.
Перегрузки. Сбои в работе программы могут происходить из-за нехватки памяти или отсутствия других необходимых системных ресурсов.
Некорректная работа с аппаратурой компьютера. Программы могут посылать аппаратным устройствам неверные данные, игнорировать их сообщения об ошибках, пытаться использовать устройства, которые заняты или вообще отсутствуют. Даже если нужное устройство просто сломано, программа должна понять это, а не «зависать» при попытке к нему обратиться.
