Cтраница 3
Две первые главы должны были дать представление о проблеме надежности программного обеспечения. По мере проникновения ЭВМ во все сферы нашей жизни последствия недостаточной надежности становятся все серьезнее. К счастью, решения многих аспектов проблемы надежности существуют; им и посвящен весь остальной материал книги. [31]
Эта тенденция изменения отношения стоимость / производительность благотворно скажется на надежности программного обеспечения, сделав эффективность программы менее существенным фактором. [32]
Для оценки эффективности систем защиты производства необходимо прежде всего оценить надежность программного обеспечения и управляющей техники. Особенность этих оценок заключается в том, что требуется рассматривать иерархические системы защиты. [33]
Основная причина, по которой производители вычислительной техники отказываются оценивать надежность программного обеспечения, состоит в том, что, как указывалось в гл. Несмотря на тенденцию, популярную в настоящее время среди производителей, утверждать, что вновь разработанное программное обеспечение по своему качеству превосходит известное ранее, производителям следовало бы прийти к взаимопониманию с пользователями в отношении приемлемого уровня и улучшения надежности, чтобы пользователи по крайней мере могли соответственно планировать свою работу или в лучшем случае производителей нельзя было бы обвинить в искажении оценок. С учетом этих замечаний ниже приводятся оценки надежности программного обеспечения, причем они даны хотя и не для всего разнообразия ошибок, зависящих от того, как с точки зрения пользователя будет вест; себя программное обеспечение, но дают возможность относительно легко Предсказывать надежность системы в целом. [34]
Теперь читатель должен быть уже готов уловить такую тонкую особенность надежности программного обеспечения: ошибки в программном обеспечении не являются внутренним его свойством. Это значит, что, как бы долго и пристально мы ни разглядывали ( или тестировали, или доказывали) программу ( либо программу и ее спецификации), мы никогда не сможем найти в ней все ошибки. [35]
Должно быть очевидно, что предупреждение ошибок - оптимальный путь к достижению надежности программного обеспечения. [36]
В учебнике использованы результаты, полученные отечественными и зарубежными специалистами в области надежности программного обеспечения систем обработки данных. [37]
При проектировании внешних сопряжений системы разработчик интересуется тремя областями, имеющими отношение к надежности программного обеспечения: минимизацией ошибок пользователя, обнаружением ошибок пользователя, когда они все же возникают, и минимизацией сложности. Книга Мартина [10] является блестящим введением в эту область. [38]
Для возможности квалифицирова-ния кратковременной отказовой ситуации как сбоя, не влияющего на характеристики надежности программного обеспечения, на этом этапе необходимо оперативно обнаруживать аномалии вычислительного процесса или искажения данных, вырабатывать решения по их ликвидации и реализовывать подготовленные решения. [39]
![]() |
Распределение знаний в 70 - е годы. [40] |
О тестировании говорить довольно трудно, поскольку, хотя оно и способствует повышению надежности программного обеспечения, его значение ограниченно. Надежность невозможно внести в программу в результате тестирования, она определяется правильностью этапов проектирования. [41]
Из всех аспектов руководства проектом, вероятно, самым важным с точки зрения надежности программного обеспечения является ответственность руководства. Многие программисты считают, что руководители только на словах интересуются надежностью программного обеспечения и единственное, что действительно заботит руководителя - как уложиться в график и бюджет. К сожалению, это мнение часто справедливо. Обычно руководитель проекта оценивается в первую очередь по тому, как выдержан график и бюджет, и редко - по числу ошибок в окончательном продукте. Если ситуация именно такова, руководителю ничего не остается, как перенести эти же критерии на оценку своих сотрудников. [42]
Предлагаемая далее модель переходных вероятностей Маркова была разработана с целью обеспечения расчета показателей надежности программного обеспечения ЭВМ. Рассматривается достаточно большая система ПО, насчитывающая около 105 кодов, что позволяет надеяться на значимость статистических выводов. [43]
Хотя ключом к надежности служит четкость проектирования, тестирование играет важную роль в обеспечении надежности программного обеспечения. В книге рассматривается целый ряд проверенных принципов и методов тестирования. [44]
Интересно, что по данному вопросу имеется больше литературы, чем по любому другому аспекту надежности программного обеспечения. Настоящая глава представляет собой только частичный обзор этой области; более полную картину можно найти в литературе, перечисленной в конце главы, а также в книгах и статьях, на которые там есть ссылки. В этих работах имеется много доказательств правильности программ, включая алгоритмы сортировки и поиска, простейшие компиляторы, подпрограммы численного анализа, ядра операционных систем и программы редактирования. [45]