Главная страница Анализ эмпирических данных 4.7.1. Методы разработки систем программного обеспечения Тот факт, что сначала рассматриваются методы, а дотом уже средства программного обеспечения, объясняется тем, что, согласно количественным резуль-.*гатам, именно методы играют важную роль в усовершенствовании систем программного обеспечения. В основу нашего анализа были положены 4519 Уведомлений о проблемах, поступивших в период между передачей программ независимой группе испытаний и завершением демонстрации программных средств в !действии непосредственно перед передачей их заказ-,чику. Как уже отмечалось, собранные данные были ргруппированы в соответствии с типами ошибок в 20 основных классов, причем последние были разбиты на 165 более мелких категорий. Впоследствии объем выборки был существенно сокращен, так как все УППО, которые не приводили к изменению текста программ, были исключены из рассмотрения. В результате осталось 2019 документов, которые и были йснользованы для проведения настоящего исследования. После этого была предпринята попытка опреде-;ить, ошибки какого типа могут быть выявлены с помощью предупредительных и обнаружительных ме-5годов. Следует, однако, заметить, что такие методы Не гарантируют вылавливания ошибок, а позволя-от всего лишь сделать их более видимыми и тем рамым предупреждать или обнаруживать. Термины предупредительный и обнаружительный используются нами достаточно свободно, поскольку ;йюбой метод (или любое средство), который прнме-iJHHM до проведения испытаний в какой-либо форме, ; !ложет быть назван предупредительным. Методы ил1Г средства, связанные с проведением испытаний, назы-траются обнаружительными. Сводка основных классов Ьшибок и процент ошибок каждого класса, а также оля общего числа ошибок (по основным классам), рторые могут быть выявлены с помощью указанных методов даются соответственно в табл. 4.12 и табл. 4.13. реобходимо иметь в виду, что такие методы не является избирательными с точки зрения их возможно- СТИ выявлять ошибки; так, например, стандарты про* ектирования и методы проверки проектных решений позволяют предупреждать (в указанном выше смысле) ошибки одного и того же класса. Рассмотрим каждый из этих методов более подробно. Стандарты проектирования. Применение стандартов проектирования оказывается особенно целесообразным в условиях, аналогичных условиям Проекта 3, т. е. когда мы- располагаем необходимыми сведениями относительно подлежащей решению задачи, требований к ее решению и потребностей пользователя. Результаты исследования показали, что до 28,7% ошибок, вызвавших изменения в программе, из числа обнаруженных при испытаниях подсистем и систем могут быть предупреждены с помощью тех или иных стандартов проектирования. В классе оисибок вычис Лений такими являются ошибки следующих категорий: - неверно вычислен физический или логический номер элемента; - ошибки в вычислении индекса; - ошибки в вычислении и преобразовании временных параметров; - ошибки в преобразовании единиц измерений. В классе логических ошибок с помощью стандартов проектирования могут быть предупреждены ошибки следующих категорий: - зацикливание программы; - пропуск логического или проверяемого условия; - не проверяется значение флажка или конкретного данного. Использование аналогичных стандартов проектирования позволяет в той или иной степени иредотера щать ошибки ввода-вывода, обработки данных и сопряжения. Конкретные категории таких ошибок пере-нисляются ниже. Ошибки ввода-вывода: - ошибки в указании формата данных, выводимых на магнитную ленту или перфокарты; - ошибки при выводе отладочной информации [присутствующей в проектной документации); = искаженное сообщение об ошибках. Ошибки манипулирования данными: - ошибки в описании, установке значения или использовании промежуточной переменной; - ошибки при формировании цепочки данных; i - неверное завершение обработки данных. Ошибки сопряжения: - ошибки в вызывающей последовательности или в операциях инициализации интерфейсов; - связь программ осуществляется не через тот блок данных. Стандарты программирования. Применение существующих стандартов программирования позволило предупредить в Проекте 3 26,37о ошибок, требующих изменения программ, причем наибольшую долю составляли ошибки манипулирования данными, логические ошибки, ошибки, ввода-вывода и ошибки сопряжения. Как и следовало ожидать, использование системы COMPOOL и существующих стандартов программирования привело к значительному сокращению ошибок типа неправильного определения глобальных и локальных переменных (они составили менее 0,1% от общего их числа). Ниже приводится более полный перечень ошибок, которые могут быть предупреждены, если использовать стандарты программирования. Ошибки манипулирования данными: - значение данного флажка или индекса не установлено или установлено неверно; - ошибки при манипулировании с битами данных; - ошибки в описании, установке значения или использовании промежуточной переменной; - ошибки упаковки/распаковки. Логические ошибки: - ошибки в определении границ; - неверный цикл; - не проверяется значение флажка илн конкретного данного. Ошибки ввода-вывода: - искаженное сообщение об ошибках; - неверные размеры выводимых полей данных; - ошибки при выводе заголовка;
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |