Анализ защищенности программного обеспечения
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ента.)
-Идентифицируемость. (содержит всю информацию о полном наименовании документа, дате завершения его разработки и о его разработчике)
Удобство эксплуатации и обслуживания - это соответствие процесса обработки данных и форм представления результатов характеру решаемых задач. Трудно поддается формализации оценке, поэтому оценивается при помощи методов экспертной оценки и бета-тестирования.
.4.4 Показатели эффективности программного обеспечения
Показатели эффективности характеризуют степень удовлетворения потребности пользователя в обработке данных с учетом экономических, вычислительных и людских ресурсов. Включает следующее:
Уровень автоматизации - степень автоматизации функций процесса обработки данных с учетом рациональности функциональной структуры программы с точки зрения взаимодействия с ней пользователя и использования вычислительных ресурсов.
Временная эффективность ПО - способность ПО выполнять заданные действия в интервал времени, отвечающий указанным требованиям. Данный показатель особенно важен для систем реального времени и ПО, применяемого для управлениями особо ответственными объектами.
Ресурсоемкость ПО - минимально возможные вычислительные ресурсы и число обслуживающего персонала для эксплуатации данного ПО. Оценивается путем практических испытаний ПО в условиях, близких к реальной эксплуатации, или в течение пробного периода эксплуатации.
1.4.5 Показатели универсальности программного обеспечения
Эти показатели характеризуют адаптируемость ПО к новым функциональным требованиям, возникающим вследствие изменения области применения, или других условий функционирования. Включает следующее:
Гибкость. Характеризует возможности использования ПО в различных областях применения.
Мобильность. Характеризует возможность применения ПО на ЭВМ аналогичного класса. Примером такого ПО является ПО, написанное для операционных систем (ОС) UNIX-клона, например, Linux, FreeBSD, Solaris. Подавляющее большинство ПО для этих ОС распространяется в виде исходных текстов на языках С, Perl, Python, LISP и компилируется только при инсталляции на конкретную ЭВМ.
Модифицируемость ПО характеризует простоту внесений необходимых изменений и доработок в программу в процессе ее эксплуатации.
1.4.6 Показатели корректности программного обеспечения
Показатели корректности ПО характеризуют степень соответствия ПО требованиям, установленным в техническом задании (ТЗ), требованиям к обработке данных и общесистемным требованиям. Включает следующее:
Логическая корректность
Полнота реализации
Согласованность
Проверенность
Рассмотрим подробнее все эти показатели.
Логическая корректность ПО - функциональное и программное соответствие процесса обработки данных общесистемным требованиям. Характеризует неидеальность реализации алгоритма из-за ограниченности возможностей аппаратных средств, для которых написано ПО. Самой точной и надежной оценкой корректности является полная верификация - перебор всех возможных наборов данных и сравнение результатов работы программы на каждом наборе данных с эталоном.[16] Однако, при большом наборе данных такой подход требует огромных временных и денежных затрат. Поэтому для особо ответственного ПО применяют частичную верификацию. Ведется создание автоматических верификаторов. Здесь возникает еще одна проблема - создание эталонных результатов, с которыми будут сравниваться результаты работы верифицируемого ПО и проверка его корректности. Для оценки корректности также применяются выработанные практикой эвристические методы. Кратко их проанализируем.
Метод Миллса. В программу специально вводится некоторое количество ошибок для последующей отладки специалистами. После отладки количество найденных введенных ошибок сопоставляется с количеством найденных собственных ошибок программы, и делается вывод о количестве еще оставшихся ошибок.
Метод штурма. Для отладки одного из модулей ПО привлекается весь коллектив разработчиков, все найденные ошибки учитываются. Таким образом, после такой отладки данный модуль станет практически безошибочным. Интенсивность ошибок по длине тестируемого модуля вычисляется по формуле:
где:В - число обнаруженных ошибок;
N - длина тестируемого модуля.
Тогда, коэффициент тестированности модуля равен:
где:- число ошибок, обнаруженных в модуле до начала совместной отладки.
Оценка общего количества ошибок во всем ПО равна:
Полнота реализации. Характеризует полноту реализации заданных функций ПО и достаточность их описания в программной документации. Точно оценить полноту реализации алгоритма невозможно, так как всегда существует возможность того, что на некотором наборе данных программа не выполнит заданного алгоритма. Оценивается практическими испытаниями. Для особо ответственного ПО данный показатель может оцениваться частичной верификацией.
Также, существует оценка полноты реализации заданного алгоритма обработки данных в процессе разработки ПО, :
где: - количество реализованных модулей,
- количество еще не реализованных модулей (модулей-заглушек).
Согласованность. Согласованность ПО - однозначное, непротиворечивое описанию использование тождественных объектов, функций, терминов, опреде?/p>