Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП лекции Раздел 5.doc
Скачиваний:
19
Добавлен:
28.09.2019
Размер:
522.24 Кб
Скачать

5.1.2. Ручной контроль по.

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

Различают статический и динамический подходы к ручному контролю. При статическом подходе анализируют структуру, управляющие и инфор­мационные связи программы, ее входные и выходные данные. При динами­ческом - выполняют ручное тестирование, т. е. вручную моделируют про­цесс выполнения программы на заданных исходных данных.

Исходными данными для таких проверок являются: техническое зада­ние, спецификации, структурная и функциональная схемы программного продукта, схемы отдельных компонентов и т. д., а для более поздних этапов - алгоритмы и тексты программ, а также тестовые наборы.

Доказано, что ручной контроль способствует существенному увеличе­нию производительности и повышению надежности программ и с его помо­щью можно находить от 3.0-до 70 % ошибок логического проектирования и кодирования. Следовательно, один или несколько из методов ручного кон­троля обязательно должны использоваться в каждом программном проекте.

Основными методами ручного контроля являются:

  • инспекции исходного текста,

  • сквозные просмотры,

  • проверка за столом,

  • оценки программ.

Инспекции исходного текста. Инспекции исходного текста представ­ляют собой набор процедур и приемов обнаружения ошибок при изучении текста группой специалистов. В эту группу входят: автор программы, проек­тировщик, специалист по тестированию и координатор - компетентный про­граммист, но не автор программы. Общая процедура инспекции предполага­ет следующие операции:

  • участникам группы заранее выдается листинг программы и специфи­кация на нее;

  • программист рассказывает о логике работы программы и отвечает на вопросы инспекторов;

  • программа анализируется по списку вопросов для выявления истори­чески сложившихся общих ошибок программирования.

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

1. Контроль обращений к данным

  • Все ли переменные инициализированы?

  • Не превышены ли максимальные (или реальные) размеры массивов и строк?

  • Не перепутаны ли строки со столбцами при работе с матрицами?

  • Присутствуют ли переменные со сходными именами?

  • Используются ли файлы? Если да, то при вводе из файла проверяется ли за­вершение файла?

  • Соответствуют ли типы записываемых и читаемых значений?

  • Использованы ли нетипизированные переменные, открытые массивы, дина­мическая память? Если да, то соответствуют ли типы переменных при «наложении» формата? Не выходят ли индексы за границы массивов?