Статическая модель надежности Миллса
Использование этой модели предполагает необходимость перед началом тестирования искусственно вносить в программу (засорять) некоторое количество известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества ошибок, ни характера внесенных ошибок до момента оценки показателей надежности. По модели Миллса. Предполагается, что все ошибки (как естественные, так и искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования. Тестируя программу в течение некоторого времени, собирается статистика об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Модель надежности Миллса образуется двумя связанными между собой по смыслу соотношениями. Первое соотношение предсказывает первоначальное количество ошибок N = S×n/V N - первоначальное количество ошибок в программе. В данном соотношении, которое называется формулой Миллса, S - количество искусственно внесенных ошибок, n - число найденных собственных ошибок, V - число обнаруженных к моменту оценки искусственных ошибок.
Предположим, что в программе имеется К собственных ошибок, и внесем в нее еще S ошибок. Если в процессе тестирования были обнаружены все S внесенных ошибок и n собственных ошибок, то по формуле Миллса мы предполагаем, что первоначально в программе было Ν = n ошибок. Второе соотношение используется для установления доверительного уровня прогноза С (вероятности, с которой можно высказать предположение об Ν). Величина С является мерой доверия к модели. Если обнаружены все искусственно рассеянные ошибки (V = N) вероятность того, что значение N найдено правильно, можно рассчитать по следующему соотношению: C = S / (S + K + 1) В случае, когда оценка надежности производится до момента обнаружения всех S рассеянных ошибок, величина С рассчитывается по модифицируемой формуле где числитель и знаменатель формулы являются биноминальными коэффициентами вида Например, если утверждается, что в программе нет ошибок, а к моменту оценки надежности обнаружено 5 из 10 рассеянных ошибок и не обнаружено ни одной собственной ошибки, то вероятность того, что в программе действительно нет ошибок, будет равна Если при тех же исходных условиях оценка надежности производится в момент, когда обнаружены 8 из 10 искусственных ошибок, то вероятность того, что в программе не было ошибок, увеличивается до 0,73. В действительности модель Миллса можно использовать для оценки N после каждой найденной ошибки. Предлагается во время всего периода тестирования отмечать на графике число найденных ошибок и текущее значение для N. Достоинством модели является простота применения математического аппарата, наглядность и возможность использования в процессе тестироваия. Однако модель не лишена и ряда недостатков, самые существенные из которых - это необходимость внесения искусственных ошибок (этот процесс плохо формализуется) и достаточно вольное допущение величины К, которое основывается исключительно на интуиции и опыте человека, проводящего оценку, т.е. допускается большое влияние субъективного фактора. 57. Лицензирование программных средств. Лицензирование — процесс выдачи специального разрешения (лицензии). Лицензия — разрешение на право либо право на выполнение некоторых действий, которое может удостоверяться (подтверждаться) одноимённым документом. Лицензиар — одна из сторон лицензионного соглашения, предоставляющая другой стороне — лицензиату — право на использование объекта лицензии (изобретения, технологии, технического опыта и прочих форм промышленной собственности). Лицензиат — юридическое лицо или индивидуальный предприниматель, имеющие лицензию на осуществление конкретного вида деятельности. Лицензионные условия — условия, при соблюдении которых лицензия действительна. Лицензия на программное обеспечение — это правовой инструмент, определяющий использование и распространение программного обеспечения, защищённого авторским правом. Обычно лицензия на программное обеспечение разрешает получателю использовать одну или несколько копий программы, причём без лицензии такое использование рассматривалось бы в рамках закона как нарушение авторских прав издателя. Основным документом, который определяет права и обязанности пользователя программного обеспечения, является лицензионное соглашение (licence agreement), которое прилагается к приобретенному продукту либо в виде бумажного документа, либо в электронном виде. Именно это соглашение определяет правила использования данного экземпляра продукта..
Лицензии на программное обеспечение в целом делятся на две большие группы: несвободные и лицензии свободного и открытого ПО. Основной характеристикой проприетарных лицензий является то, что издатель ПО в лицензии даёт разрешение её получателю использовать одну или несколько копий программы, но при этом сам остаётся правообладателем всех этих копий. Одно из следствий такого подхода заключается в том, что практически все права на ПО остаются за издателем, а пользователю передаётся лишь очень ограниченный набор строго очерченных прав. Для проприетарных лицензий типично перечисление большого количества условий, запрещающих определённые варианты использования ПО, даже тех, которые без этого запрета были бы разрешены законом об авторском праве. Хорошим примером проприетарной лицензии может служить лицензия на Microsoft Windows, которая включает большой список запрещённых вариантов использования, таких как обратная разработка, одновременная работа с системой нескольких пользователей и распространение тестов её рабочих характеристик. Некоторые лицензии на ОС, имеют ограничения на мультипроцессорность. Лицензии на профессиональное ПО, могут иметь дополнительные ограничения. Так, лицензия SolidWorks, имеет региональные ограничения, предусматривает сбор сведений об использовании ПО, и возможность дистанционной блокировки. Большинство лицензий запрещают передачу ПО третьим лицам. В отличие от проприетарных, свободные и открытые лицензии не оставляют права на конкретную копию программы её издателю, а передают самые важные из них (составляющие 4 свободы по определению Фонда СПО, или попадающие под другое определение свободного или открытого ПО) конечному пользователю, который и становится владельцем. В результате пользователь по умолчанию получает важные права, которые закон об авторском праве по умолчанию даёт только владельцу копии, однако все авторские права на ПО по-прежнему остаются у издателя. Примером свободной лицензии является GNU General Public License (GPL), которая даёт пользователю право самому распространять ПО под этой лицензией, участвовать в его обратной разработке или изменять другими способами. Тем не менее, перечисленные права обязывают пользователя ПО под GPL подчиняться определённым правилам, например, любые изменения программы, сделанные пользователем и распространённые дальше, должны сопровождаться исходным кодом этих изменений (см. копилефт).
|