Читаем Технологии программирования полностью

Бета-тестирование — это следующая фаза общего тестирования, при которой программное обеспечение поставляется ограниченному кругу конечных пользователей для более жесткого тестирования. Хорошо известно, что пользователи иногда используют программное обеспечение не совсем для тех целей, для которых оно предназначалось. Поэтому они часто могут находить ошибки в тех местах программы, над которыми в течение данного времени проводились лабораторные испытания, не нашедшие никаких нарушений. Это необходимо ожидать и не отрицать возможности возврата к предыдущей фазе — лабораторному тестированию. В данных случаях часто помогают протоколы обнаруженных и фиксированных ошибок.

<p>12.12. ПРИЕМОЧНЫЙ ТЕСТ</p>

Приемочный тест. Приемочный тест становится простой формальностью, если предыдущие стадии тестирования успешно завершены. Используя информацию о том, что все обнаруженные ошибки уже исправлены, приемочный тест просто подтверждает, что никаких новых проблем не обнаружено и программное обеспечение готово для выпуска. Очевидно, что чем больше существует реальных или потенциальных пользователей вашего продукта, тем более важным является приемочный тест. Когда производится промышленное тиражирование и рассылка более трех сотен тысяч дисков, хочется вдвойне удостовериться, что программа написана без ошибок и все явные и неявные проблемы были решены. Конечно, если предыдущие стадии не прошли успешно, то приемочный тест является единственной возможностью предотвратить затраты на изменение и дополнение поставляемого продукта.

<p>12.13. ПОСЛЕРЕАЛИЗАЦИОННЫЙ ОБЗОР</p>

Данный этап — наилучшая возможность осуществить обзор созданного программного обеспечения, прежде чем будет начат новый проект. Типичные вопросы, возникающие после сдачи программного проекта пользователю-заказчику:

• Что мы делали правильно?

• Что мы делали неправильно?

• Какие этапы были наиболее полезными, а какие ненужными?

• Отсутствовало ли что-нибудь на каком-либо этапе разработки, что бы помогло усовершенствовать программный продукт?

<p>12.14. СОПРОВОЖДЕНИЕ ПРОГРАММ</p>

Сопровождение программ — "ложка дегтя" для каждого программиста. Это всегда помеха при начале разработки какого-либо нового проекта, заставляющая отвлекаться от разработки проекта и возвращаться к старым программам и старым проблемам. Ничто не делает сопровождение настолько непривлекательным, как плохо документированный код, недостаточно полное начальное проектирование и отсутствие внешней документации.

Если большинство шагов разработки выполнено правильно, то сопровождение не будет вызывать серьезных проблем, а будет элементарной технической поддержкой и модификацией программного обеспечения.

ВЫВОДЫ

• Разработка программных систем — сложное мероприятие. Можно выделить следующие общие процессы по управлению разработкой ПО: составление плана-проспекта по разработке ПО — планирование и составление расписаний по разработке ПО; управление издержками по разработке ПО; текущий контроль и документирование деятельности коллектива по разработке ПО; подбор и оценка персонала коллектива разработчиков ПО.

• Обычно в организации одновременно разрабатывается несколько программных проектов. Для оптимального качества и скорости работы необходимо верно структурировать управление организацией.

• Каждая разработка проекта собирает вокруг себя команду специалистов (команду проекта), состоящую из конечного пользователя; разработчиков; начальника отдела; начальника отдела информационных систем; ответственного за гарантию качества; группы, ответственной за бета-тестирование.

• Необходимо соблюдать методологию управления проектом, которая делится на составляющие: предварительный анализ; четкую формулировку цели; составленные модели данных и словари; выходные формы; безопасность системы и данных; платформу и окружение; контингент будущих пользователей.

• Разница между понятиями "желание заказчика" и "конечный продукт" обычно очень велика. Мостом для их соединения должен быть первичный этап обследования проекта и составление технического задания на данный проект. Эта задача делится на три стадии: изучение требований заказчика, уточнение функциональной специфики задачи и техническое проектирование задачи. Если говорить о требованиях пользователя, то их необходимо соблюдать неукоснительно.

• Техническое проектирование — своего рода мост между функциональной спецификацией и фактической стадией кодирования. Это крайне важная стадия и халатно к ней относиться нельзя.

• Системное тестирование может состоять из трех отдельных фаз: системный тест или лабораторные испытания; опытная эксплуатация; приемочный тест.

• Сопровождение — нелюбимая программистами, но необходимая часть, дающая возможность для усовершенствования продукта.

Контрольные вопросы

1. Что такое программный проект?

2. Что включает в себя составление плана-проспекта по разработке ПО?

3. Назовите основные источники издержек при разработке ПО.

Перейти на страницу:

Похожие книги